I had a conversation the other day with a fellow Software Engineer about a web-based project I want to start. There are several advantages of these two technologies, and clearly either one would be sufficient to do the job. As a Software Engineer who is constantly striving to improve and up my skillset, I also have to think about what technologies are going to further my career. Developers, I would love to get a discussion going on this topic, so please leave comments. Oh, and I am purposely sticking to these technologies because I believe strongly in cross-platform tools, and these are the two top contenders in that arena. And we’re talking server-side options. So no whining from the .NET/Flex crowd.
Let’s look at the technical side:
|Pro Java||Pro PHP|
|Con Java||Con PHP|
As you can see, there are strong merits and problems on both sides. Clearly which one to go with depends on the pain points, size, and features of your project. OK, so far not that helpful. But your personality, coding style, and “battle scars” may lead you to prefer one or the other. The quick-and-dirty or the verbose-and-clean. The rugged or the agile. The instant gratification or the surer foot.
In a way, Java is a lower-level language than PHP. PHP has many functions to do common operations that take many separate instructions in Java. Why is there no single function in Java to read in a text file? Why are there so many factories and adapters needed? You lose nothing by providing the existing Java functions with their micromanaging of the process along with convenience functions that handle common variants with few parameters.
Personally, I’ve moved pretty solidly into the Java camp over the years, but I also believe strongly in using the right tool for the job, so I don’t discount any of them (except COBOL. Buy me a drink and ask me sometime.) However, I’ve written not one, but two posts on what I think is wrong with Java (here and here), so it’s not all sunshine and roses.
Now let’s look at the career side:
Recently someone showed me a really cool feature of the job hunting website Indeed (if you’re a data geek like me). You can do searches of job trends over time, and even do some pretty complicated AND/OR logic. Good times. here we go:
As you can see, there are over 3 times as many Java web development jobs as there are PHP jobs. We have a clear winner on this front, at least. Of course all jobs are not created equal. And then there’s salaries to consider.
Career-wise, Java is two-for-two, with a 13K bump in salary.
What do you think?
I’m still torn in what to use for my project (which I’ll describe in a separate post RSN). If it was just a matter of “I just want to throw together this functionality and get on with my life”, I would probably opt for PHP. But I’m also doing this to stay sharp, and to have a body of work to show off, so I am leaning a little towards Java at this point. I would love to hear other points of view, corrections, additions, or random knock-knock jokes.