Irony, thy name is PHP. Your name means "hypertext pre-processor" and was conceptualized first and foremost to be a web dev language. But you're now often being turned down in the web dev world in favor of general-purpose languages!
The web is used radically differently now than it was 22 years ago in 1995. Also, PHP wasn't designed to be the platform for large code bases maintained by multiple people. It wasn't really designed at all, as its creators have said publicly.
Re:What are the worst parts of PHP?
by justinzollars on Monday April 10, 2017 @02:29PM
(#14081232)
Thanks for the info! I may have an offer and I want to make sure I am aware of my unknowns.
Currently working as a full stack dev with PHP on the backend. Every language will have its pros and cons. If there was one language to rule them all then everyone would use it. Point is you should instead focus on how the company uses the language. Do they have standards, tests, deployment process, etc..? Every language can have projects that are a nightmare or a pleasure to work with. It really all comes down to the company.
Ask to see a code sample if possible.
Re:What are the worst parts of PHP?
by justinzollars on Monday April 10, 2017 @04:00PM
(#14082028)
nice points. Def know there is not a language to rule them all. I'm a ruby fan - its "good enough" but def full of faults. I just wanted know the pros and cons of PHP so I properly weigh my options.
What are you mostly working with these days? I really need to branch out from PHP...
If I could choose anything, I'd go with Rust, Clojure, or F#. I'm currently working with C#/.NET and enjoy C# well enough, but mostly hate .NET.
I had a fantastic experience writing a thoroughly-typed, functional-style REST API using TypeScript -> Node recently, and I'd highly recommend that for someone who is practically-minded.
Here are some of the reasons I don't use PHP anymore:
1. Code bases often written by near-amateurs, so almost always a headache to work on
2. Terrible type system (and unpredictable type coercion) mean that the code has to be written with great discipline or it's going to be buggy
3. Inconsistent signatures of built-in classes/methods/functions means that it's almost impossible to remember anything, so you need to consult documentation (or inline completion) constantly
4. Very generally, a community that likes magic (see: Laravel) -- ease/speed is prioritized over correctness/explicitness, which means maintaining large PHP projects is often a nightmare