[No PHPun Intended] A Brief History of Web Development
-
Yep, PHP is turning 30 this year! Wondering if "PHP is still relevant?" Ever since we have been hearing that PHP is dead. It was “dead” 10 years ago, 5 years ago, and “is dead” today. But somehow - it isn’t. Anyway... happy birthday!
Js is dead use php!
-
Everyone in this thread: PHP sucks because it was bad when I last used it 20 years ago.
wrote on last edited by [email protected]Backend devs: JS sucks because I never learned it actually
-
I mean it does suck, but it sucks less than anything else we have.
wrote on last edited by [email protected]PHP is far from "least bad language". Nowadays it is an ok language, one of many. You can also write ok code in it. The main issue is that it's really easy to write horrible shit that just barely works and will break when you look at it wrong. In fact without a lot of knowledge and experience that is the code you will probably write.
There are much better languages for any webdev niche you can think of, and some that are just better for webdev overall (e.g. Elixir). The reason PHP is still relevant is mostly huge legacy codebases that require a lot of engineering power to maintain (because PHP is not a good language for maintenance).
The way I look at it is that PHP is the C++ of webdev (but slightly worse).
-
The only reason php is still alive is Facebook
WordPress?
-
So why did Facebook build that whole system of converting C++ to PHP or whatever they did? Was it because they didn’t understand the savings? Or when you scale that high, the savings really are significant? Were there savings?
Edit to subtract: https://en.wikipedia.org/wiki/HHVM is what it eventually turned into, and apparently it showed significant improvements even above the previous system.
Probably because someone said it was a good idea in a meeting.
-
Array_filter and array_map having the arguments swapped pisses me of so much.!
This person phps
-
Javascript is living proof that your language doesn't need to be good to be used.
I tripped over this one in Delphi the other day.
function AnsiStartsText(const ASubText, AText: string): Boolean; function AnsiEndsText(const ASubText, AText: string): Boolean; function AnsiContainsText(const AText, ASubText: string): Boolean;
Too late to change it now
-
In PHPs defense, it keeps evolving in positive, meaningful ways. If you are up to date with it, it’s quite sophisticated and enjoyable. Doubly so if you use a framework like Laravel.
Yeah last time I used it was with a laravel monolith and actually it wasn't that bad.
-
I think I agree with you, and I also think you probably know better than me, but - Python couldn't become what Python became without doing this exact thing very deliberately, bordering on obnoxious at times. Fundamentals or "initial state" define the characteristic strengths and weaknesses for a language, but what to add and what not to, as well as "why" and "how", over time determine the true shape and user experience (lacking a better word there) of a language.
Despite its reputation, in my view Python has always been far more opinionated about how to do things than most give it credit for.
Yeah, I don't take exception with most of their choices, and to be perfectly honest PHP has historically made a number of really bad choices and refused to fix horrible bugs.
I just feel that providing the handful of tools that have been available since C and keeping them with the same name and the same argument position only makes sense.
If people aren't cloning Python commands for their design sensibilities. When they ask for a creature comfort that doesn't affect performance, It should be more strongly considered.
-
FastAPI ftw, fight me! Lol jk Django is cool and useful and serves a different need, quite well from what I understand.
Lol I've used both, FastAPI is nice too! I think my ideal situation would be FastAPI's endpoints/routing, combined with Django's ORM and DRF's automagic serializers/viewsets.
-
Probably because someone said it was a good idea in a meeting.
There is absolutely no way that’s true lol
-
There is absolutely no way that’s true lol
Its the most true thing you'll read all day.
-
PHP will never die. As long as code is written there will be PHP developers there to claim it's good now.
Just like COBOL
-
Its the most true thing you'll read all day.
You should look into it. Apparently it was quite a performance increase. I don’t understand all the technical details, but it is very cool to see what large enterprises do at scale.
-
Early Kotlin and early Swift were good.
Early Swift was very slow to compile and start. The debugger was nonfunctional.
Otherwise it was pretty usable. Especially since it got to leverage the huge libraries written for Objective-C.
Which meant it lacked some basic collection types. A Swift native Set was introduced with Swift 3 IIRC. Before that you had to bridge back and forth between Swift and Objective-C. Sometimes leading to unexpected behavior at runtime.
In Objective-C if an object reference was nil, you could send it messages (call methods) without a problem. Swift however did away with this. Optionals had to be explicitly unwrapped. So if the annotations weren’t correct, Swift code would crash at runtime where Objective-C would have been fine. Lots of bugs related to that existed.
Swift peaked around version 4. Since then, they have been adding kitchen sink features and lots of complexity to feel smart.
I still would have preferred an Objective-C 3.0. Chris Lattner was a C++ guy and never really understood Objective-C culture and strengths.
-
Lol I've used both, FastAPI is nice too! I think my ideal situation would be FastAPI's endpoints/routing, combined with Django's ORM and DRF's automagic serializers/viewsets.
You may like Django Ninja with a dash of FastAPI-HTMX or Fasthx.
-
I agree. A lot of people who mock PHP know almost nothing about it but they know they're supposed to hate it because all the cool kids do.
"What's the best tool"
"LINUX!!!!"
"Weird because I haven't told you what I'm trying to build yet"
-
Java is a better fit. It hasn't fallen in popularity the way PHP has. But, I'm not convinced that serious backend services mostly use Java. It's one of the languages used, sure. But, I don't know if it beats C/C++ or Go. Apache's C. Nginx is C. Kubernetes is Go. Docker is Go.
I think Java has a niche with certain kinds of business logic applications, and those are pretty common. I would guess that in a typical set of interactions with a Google product, or a Meta product, or an AWS product, some parts of the traffic will be handled by services written in Java. But, others will be C/C++ or Go. There will probably also be some parts of the process that are PHP or Ruby or Python, and a lot of Javascript.
Java has been running serious server software since the mid 1990s. Think WebObjects running on Solaris. Lots of business stuff with big databases still run infrastructure like that.
Java still has the big advantage of being machine agnostic. No need to recompile for ARM or Intel.
-
Java has been running serious server software since the mid 1990s. Think WebObjects running on Solaris. Lots of business stuff with big databases still run infrastructure like that.
Java still has the big advantage of being machine agnostic. No need to recompile for ARM or Intel.
Yes, and?
-
"What's the best tool"
"LINUX!!!!"
"Weird because I haven't told you what I'm trying to build yet"
I would have gone with hammer.