Hacker News new | ask | show | jobs
by Bulk70 3840 days ago
Often the problem being solved by this sort of thing isn't directly about making it easier to work with a language, but making it easier to hire developers. The hiring pool for developers who are very good with PHP is much much larger than a lot of other languages simply by virtue of it being an easy language to get started with.

This is also why Facebook has spent so much time and effort on things like HHVM and Hack.

2 comments

2 counterpoints:

* Would you hire somebody who wasn't able to learn a new language in a reasonable amount of time?

* Would you let somebody who just started with PHP (by virtue of it being an easy language to start with) work on your backend?

Not counterpoints. The comment above states that the pool of very good PHP developers is larger. This implies easier hiring (capacity to learn a new language is not relevant, because it works both ways), which, among other reasons, would be because they'll be applying first to PHP positions; and secondly, a very good PHP developer is far from somebody who just started.
Let me rephrase. I am proposing that (barring very specific requirements which webdev doesn't justify) there's no such thing as a "good PHP developer". A good developer is a good developer, period.

A good developer will learn a new language in a reasonable amount of time and will be able to be productive and write good code in it.

A PHP-only (or X-only for that matter) developer is, by the definition above, not a good developer.

So why restrict oneself to some random pool of X-only people?

In general, I agree. But getting to mastery level takes time even for really good developers. Certain jobs require master-level application of that language's constructs for efficiency, security, or other reasons.
What would you call a good developer who knew PHP?
A good developer :)
IIRC, one of Facebook's motivations for sticking with PHP was that it was the easiest language for everybody new to learn, meaning that they don't have to consider language expertise when hiring.

FWIW, they have released cool open source projects on Haskell and ocaml, so it's not like they've never considered any alternatives.

My understanding is that Facebook also had a MASSIVE amount of PHP code written. They then ported the performance bits to C++ and then realized they still had a huge amount invested in PHP, such that it wasn't worth it to switch off it entirely.

I also have a small suspicion that they wanted to stick to their roots a bit. But thats just me.

Imo: the only hard thing in webdev are handling the complexity of scaling and legacy.

In many cases the latter forces you to compromises in what you pick and the first one in compromises when you pick it.

I fully understand when people try to make work what they have.

Eg PHP by itself is a very fast powerful language. The tooling and several aspects (dynamic type etc) are exhausting for larger code bases but this is something which people inhouse can solve without requesting the full company to switch.