

Ask HN: Java and PHP rant - shire

Why so much hate on Java and PHP? two very marketable and ubiquitous languages but everyone seems to hate them? what is wrong with these two languages.<p>Java personally seems to be a simple and pretty language to me I can see why the hate on PHP the thing is ugly but it still seems to get the job done fast and simple.<p>why do hackers seem to hate the most popular languages?
======
digitalzombie
It's a double edge sword.

I'm going to speak about my experiences with PHP (8 years worth).

Anybody can pick up PHP. I kid you not, not just programmers, so the labor
pool for PHP is huge so the wages are lower. Not only is it lower compare to
say Ruby but there are tons of bad self taught programmers.

I led a development team of 5 programmers and let me tell you, 3 of them were
self taught-- they were very very bad.

Needless to say, I tried apply to other places and all salaries they've
offered were slap in the face. When I asked them for 80k they would be like we
can hire 2 programmers with that salary (80k for 8 freaking years man, I'm
very confident with my skills). Hell you can just outsource it to another
country with that logic.

My last interview I was interviewed by a CTO PHP dev, it was bad. During the
interview he uses so many buzz words it was killing me inside. "We migrate our
code base from PHP4 to PHP5.3 and hydrate our code." Wtf does hydrate even
mean? Needless to say he can really sell himself to non technical people. He
asked a shit tons of technical questions from his ipad (design patterns, pdo &
prepared statement, etc..), I'm pretty sure he googled it, I asked him a few
until it dawn to me he was self taught. I asked to confirm it. Yup. Like if he
knows closure, traits, etc.. He would always right off the bat says of course
never really explaining it. I asked him if he was part of the old php
developers he said no. If he was the most senior, yup. What happen to the old
developers. He stopped, and you can see the gears in his head churning trying
to give a nice excuse. "They didn't work out and didn't meet project
deadlines. So we clean them out and now we me in charge we went from fixing 2
bugs to 20 bugs and from finishing 1 projects to 5 projects." Noticed how he
focus on output instead of code maintenance. Real hallmark of some dude that
backstab or suck up to a higher ladder rung position.

These people and people like this is the reason why I'm moving away from PHP.
I would like to be under someone that is at least knowledgeable and as
passionate as me in programming.

Most of these PHP shops offer horrible salary and they don't offer any good
incentive. If you're going to give horrible salary you should at least offer
learning opportunity (ruby, redis, nodejs, android, ios, anything). But nope,
you get stuck with PHP code from some self taught programmer, you don't grow
and advance you're just stuck at PHP among the huge labor pool.

------
mindcrime
Not everybody does. I'm relatively partial to Java, for example, although I
despise PHP.

That said, there are fair criticisms of both Java and PHP, and hackers can
sometimes run towards being obsessive over details and over analytical. So the
extent to which Java is verbose because of the required boilerplate for, say,
getters and setters, offends the aesthetic sense a lot of people have.
Likewise, Java is seen as "less powerful" because it lacks some features
(multiple inheritance, etc.)

My take on Java is this: I don't like the _language_ per-se as much as I like,
say, C++. But in pragmatic terms I can get a shit-ton more usable work done in
Java, because it had binary compatibility for libraries from day 1, which
meant that creating and distributing libraries in Java is dead simple, which
led to an ecosystem where Java has libraries for damn near everything. And the
JVM is nearly ubiquitous, running on almost every platform known to man. And
since I learned Java back when it was still fairly new, it just happens that
_I already know it_ , it does most everything I need, and has libraries for
everything under the sun and then some. Pragmatically speaking, it's a great
choice, at least for the kinds of problems I tend to find myself working on.

Of course, the great thing is, no one is limited to just one language. I can
fall back to C, C++ or Python if needed... and I actually do most of my coding
in Groovy these days - but I consider Groovy to just be "a better Java". All
of that said, I have an ambition to dive deeper into a number of other
languages (Erlang, Haskell, Go, Scala, Clojure, R among others) but just
rarely have time to go off and spend time with that stuff. That's the downside
to having a dayjob and a startup I guess... time to do purely exploratory,
"fun" stuff is a little limited.

 _why do hackers seem to hate the most popular languages?_

I'd argue that most don't, and that you're hearing from a vocal minority. The
people who find Java, PHP, COBOL, whatever perfectly usable, don't have a
reason to voice it to the world. They just quietly sit back and do what
they're doing. But the people with an axe to grind are the ones writing blog
posts, posting long rants on forums, etc., etc.

~~~
shire
Just curious what kind of work are you in to consider Java as a great choice?.
Anything Web related because Java seems like an overkill to do Web development
with.

~~~
mindcrime
I find Java to be perfectly reasonable (if not _great_ ) for some classes of
web based applications. I mean, I wouldn't use Java for a generic company
website that was mostly static HTML with no interactivity. But for a web based
application that requires talking to databases, pushing messages onto a
message queue, consuming web services, etc., I like it. Note that I'm not
saying it's _perfect_ , but that's half the point of what I was saying above.
A language doesn't need to be perfect, it just has to be "good enough" AND
meet a few other pragmatic criteria: availability of libraries, documentation,
compilation speed, whatever it might be.

That said, Java also strikes me as a good choice for things like text mining,
machine learning, data mining, etc. It also fits well where there's an
emphasis on integrations with other systems, but that is, again, partly down
to the availability of libraries. And just based on it's popularity for such
applications, I think it's safe to say that many people find Java a good fit
for building things like database engines, message queueing servers, etc.

~~~
shire
Is good to for once hear some positive things about Java on here. I'm getting
into Web development mainly and I've been learning Java and PHP of and on for
the past year. Is it possible to learn both at the same time? or is better to
stick to one and learn it for Web development. I like both Java and PHP. I
think Java looks better though and I use both eclipse and IntelliJ.

~~~
mindcrime
_Is it possible to learn both at the same time?_

Hard to say. My guess is that it depends on the individual. I'd probably try
to master one thing at least reasonably well, then move onto something else.
But that's just me.

------
Millennium
It's just like political debates, really. Java is a Franz Kafka-esque
dystopian bureaucracy, while PHP is a Monty Python-esque anarcho-syndicalist
commune.

------
mihn
Because most of big and horrendeous systems are written in them. And
maintaining such systems is a PITA.

And Ruby/Python are much more productive.

~~~
byoung2
_And Ruby /Python are much more productive_

Languages themselves are not productive. You could make the argument that they
allow developers to be more productive. Although a talented PHP developer with
years of experience could be much more productive than a novice Ruby/Python
developer.

~~~
shire
What languages are you more productive with?

~~~
claudiug
the one that you know better.

------
tlongren
Haters gon hate. It's what we do.

