Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I decided to edit my question to hopefully make more sense: Going on salary rates alone, why is it more desirable for a company to hire a Java or C# web programmer than a PHP programmer? Their salaries tend to be higher than a PHP programmer, given equal levels of seniority, and it also implies that PHP programmers are less in demand. Granted, there are more PHP developers than in most other web languages, but it's not like C# and Java programmers are rare either.

To be more specific, PHP is not often marketed as a "enterprise" language and I want to know why that is. A lot of companies use it, yet most people don't usually think Fortune 100 when they talk about real-world uses of PHP, just smaller startups and web shops.

share|improve this question
    
So has there been a big influx of large companies that don't use PHP or were there large companies that switched or large companies that used PHP that went out of business? I'm not sure I agree with your trend. –  JeffO Sep 19 '11 at 18:55
6  
I don't think this is answerable unless you happen to be the CTO of one of these companies that's not using PHP. –  ChrisF Sep 19 '11 at 19:05
    
I disagree on the premise (of the newly edited question). There's a LOT of factors that go into salary, including region and industry (Banking industry in NYC probably pays better than ag in Kansas). Is it truly the language thats the difference, or just that Java, say, is used more in financial businesses, and financial businesses pay more? –  GrandmasterB Sep 19 '11 at 19:27
    
@GrandmasterB that's a possible answer to my question. Specifically, that different industries pay different salaries, and certain languages/web technologies are more commonly used in certain industries. –  JustChris Sep 19 '11 at 19:31
    
@ChrisF I don't doubt that many companies use PHP. But it often gets a reputation as a "small company" language. –  JustChris Sep 19 '11 at 19:42
add comment

3 Answers

In a word: options. C# and Java have more job opportunities (demand) and don't have a corresponding scaled increase in number of qualified candidates (supply). Basic econmics causes their price (salary) to be higher.

As accendotal evidence, my friend runs a small web development company. I've been with him as he has staffed up a new project and finding qualified junior and mid-level developers is no challenge for him. He just makes a few calls to friends and finds someone looking for more work. On the flip side, I've been struggling to get one mid-level C# developer to accept a position for four months (more than a half-dozen offers, all rejected). You just can't fight the market.

share|improve this answer
    
Why does the C# developer not accept the position? Just not enough money for the candidate? –  johnny Aug 25 '13 at 20:52
add comment

Simply put, PHP is designed for building web-applications, that follow a request -> response model.

C# and Java are general purpose languages, that at some time also moved into the web.
Off the top of my head, there's a number of things PHP was not designed for:

  • Low level data transmission (UDP, TCP) and thus streaming and pushing notifications to clients.
  • Persistent applications (if you want anything in PHP to persist, you have to write it somewhere)
  • Desktop applications

Add three major problems on top of that:

  • PHP has an awful standard API
  • many PHP developers do not leverage the newer features of PHP to write clean, modular, type-safe code.
  • PHP is slower than Java and C#. You may say: oh, that doesn't matter. Most of the time is spent doing database queries and disk I/O. Wrong:

    • you're assuming that all apps you will ever build heavily rely on database and disk I/O. That's wrong. You may think that, because all you ever can do with PHP are such applications and most of what you see in the web actually works like that. But what you know and what you see is far from being everything, that's there.
    • the fact that you do have a lot of I/O is actually based on the circumstance, that you're using a non-persistent application model. For every request you go and read your configs from some file or DB, and your session data from the disk and so on. A vast majority of these things can really just be in memory all the time.

So to summarize:

  • it's effortless to find developers, that write code, that's at least type safe (given that Java and C# force that on you) and who have actually compiled something in their life.
  • you have a developer at hand, who can use his language to write for other platforms than the web
  • you use a technology, that is more versatile and offers a lot of room for performance improvements
share|improve this answer
2  
You can store PHP session data in memcached. If PHP was really more difficult to program against well, wouldn't PHP developers earn higher salaries than Java developers? –  Joeri Sebrechts Sep 19 '11 at 20:06
    
@JoeriSebrechts: You can use memcached (and should as far as suitable). That of course will still use socket I/O. Also, my point wasn't that PHP is more difficult, I am saying in PHP invites you to write really crappy code. But even if it were a more difficult languege. Should I pay an airline above average, because it gets me where I want in planes that are harder to fly than average (and are also slower)? –  back2dos Sep 19 '11 at 20:19
    
SAP is a horrible platform, and SAP consultants earn more precisely because it's harder. If PHP really did invite crappy coding (I disagree, but regardless) then how could that affect wages? –  Joeri Sebrechts Sep 19 '11 at 21:17
    
There are benchmarks that put PHP and Perl ahead of Java and C#. I was surprised at this, and did some testing of my own to confirm this to be true, but it was also dependent on code being optimized and the version of PHP used. For the most part, PHP 5.3 benchmarked considerably faster processing times than Java. –  JasonMichael Sep 16 '13 at 19:05
    
"There are benchmarks" - where? –  back2dos Sep 17 '13 at 13:59
add comment

There are several reasons.

  1. PHP developers are usually less knowledgeable than Java or C# developers
  2. PHP is open source and doesn't have any company that provides LTS (long-term support) for it
  3. Web development, in general, tends to pay less than other development jobs
  4. There are lots more developers. There are 12 year old children programming PHP almost as well as the more experienced developers, because of all the easy-to-use frameworks and the reason it doesn't take a lot of knowledge to develop a conventional website.
  5. There are more options for websites developed in languages like Java or C#. You have JSF, Silverlight, etc. You can build your application and then only provide a web interface for it. PHP is strictly website-oriented and doesn't really help developers do more complex programs. At least it does that job a lot worse than other languages.
share|improve this answer
1  
True, PHP has an easier learning curve, but like any other language, mastery of it takes a very long time. Also, my web-development tag should let you know I am only talking about programming languages as applied in web development. eg. the demand for a C# or Java web app developer as opposed to a PHP web app developer –  JustChris Sep 19 '11 at 19:33
7  
-1 I don't even know where to begin other than to say, this is just wrong. –  JeffO Sep 19 '11 at 19:34
    
Give it a shot, you got me curious. By the way, mastering PHP, as long as it may take, doesn't take as long as mastering C# or C++. –  Yam Marcovic Sep 19 '11 at 19:41
3  
1. unproven. 2. zend.com/en 3. unproven 4. wrong: it takes a lot of experience to create any maintainable application in any language. 5. there's a grain of truth in that statement. But it's totally lost among the other false claims. –  back2dos Sep 19 '11 at 19:42
2  
That's not a fault at all. It's good when a language is inviting. On top of that, I don't have a problem with PHP, I've used it quite a lot. The point is this - you can see how people would be less willing to pay top dollar for something that people with no diploma or equivalent experience can do perfectly well enough. –  Yam Marcovic Sep 20 '11 at 17:07
show 7 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.