PHP is often — no, almost always — considered the lousiest language by the computer science (CS) pundits. I agree with them on many counts. If you are a CS purist or pundit, you probably have a very low tolerance for PHP as a programming langauge. If you are new to programming — say you learned programming in the last five years, you probably didn’t get to learn PHP! If you did, ask your school for a refund! But, all kidding aside, I don’t blame anyone, including myself, for hating it. If you are developing machine learning (ML) algorithms, you probably love Python and another cool new generation language of the month. If you are developing cool smartphone apps and games, you probably love DART, Swift, Java, etc., depending on the platform from hell — Android — or the elitist iOS. If you are developing component-based web applications, you probably love node.js. Good for you! You also probably love Firebase, MONGO, or other NO SQL data stores.
It won’t probably be farfetched to think that you also use Kubernetes with Docker containers to manage your infrastructure orchestration needs. Congrats, you are the Silicon Valley programmer on the cutting edge, and you are working for a lottery ticket — winning the startup game! I get it; startup code — needs to be cutting edge. But most of the Web is boring — database, forms, API calls to third-parties, and email confirmations — aka Create, Read, Update, Delete (CRUD) applications. Yup, they are all still over the place — like it or not. And guess what? They make tons of money for not-so-cool developers who live with single-inheritance, non-functional programming, half-baked closures, 2nd class functions, etc., that purists complain about in PHP.
Programmers are elitists, bandwagon-lovers, or just trying to fit in! — Reddit
As a veteran of PHP programming who has even published books in PHP and PERL in the early-to-mid 90s, I can tell you that if you are picking on a pool language and that’s your beef — you are not a real Computer Science material at all.
CS is loaded with tradeoffs and trickeries. Starting with hardware design, software design, OS design, everywhere creators of tools, the software is making trade-offs that work for them. PHP is a trade-off. It started as something and became something else as the needle for the trade-offs changed.
I could care less what programming language is being used as long as the solution fits the problem and meets the scalability and timeliness requirements.
I won’t defend PHP. I defend a decision to use PHP for a specific use case where the business requirements do not dictate anything higher up! For example, once a VP of a customer asked me why can’t make something like Gmail for them. I politely said:
of course, we can. You just have to provide us with the same budget and talent.
If your project demands high caliber solution and you have the high talent to deliver that solution using the best of the class tools, you should go for it. Don’t cherry-pick a language. Let the solution pick the tools and infrastructure, not the other way around.
As human developers, we only know so many tools and so many languages that we are well versed in to be considered experts. So this is where our biases kick in, and we start fighting with each other about tools that we only know best, or sometimes we want to know, but we hardly know anyway.
I would take a developer who is most comfortable in a so-called inferior language than one that wishes they could work on the latest and greatest!
Programming language flame wars are so childish and a waste of time. I am amazed to see how much effort goes into the negative end of human efforts vs. moving us forward. Tools are time-sensitive. They work for a certain period of time, and then they fade away, but if these tools were in the foundation-level of a big move — like Web 2.0 — they will linger around for a long time as not everyone is ready to move or need to move to the latest and greatest.
Chill, startup dude! By the time your startup is worth a dime, I have retired!