this post was submitted on 16 Jun 2023
72 points (100.0% liked)

Programming

13383 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I don't know if it's due to over-exposure to programming memes but I certainly believed that no one was starting new PHP projects in 2023 (or 2020, or 2018, or 2012...). I was under the impression we only still discussed it at all because WordPress is still around.

Would a PHP evangelist like to disabuse me of my notions and make an argument for using PHP for projects such as Kbin in this day and age?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 29 points 1 year ago (3 children)

I'm a web developer of 25+ years. These days python, php, react, vue stack. Formerly, C, C++, perl and assorted other oddities.

Forget what you once heard about PHP. Modern php is nothing like its early days. Modern php has some great constructs that give language expressiveness and fluidity, and that really lends itself to concise and beautiful code.
PHP also has some brilliant web frameworks (eg: Symfony) that make build web apps (be it REST APIs or frontend backends) just a pleasant experience all around. It's dead simple yet extremely powerful. This makes makes development and maintenance using PHP cheap. PHP's testing suite is also ridiculously powerful.

By comparison, I find python web frameworks (Django, flask etc), fiddly and finnicky to use. I also find Python a much less expressive language. By that I mean it will often take me several lines of code to do something that is otherwise a 1 liner in php. It just feels clunky and awkward.

Don't get me wrong. I once hated and laughed at PHP with the rest of them. But PHP has really evolved over the past 10 years, much more so than python has. I look forward to the day Python has a good hard look at itself.

In the meantime, if I need a backend for a website and I'm given the choice between PHP or Python, I'll choose PHP (symfony) every time.

Besides, PHP devs are cheaper.

[โ€“] [email protected] 4 points 1 year ago

Thank you for the detailed response and don't worry: you don't have to pull punches on Python on my account ๐Ÿ˜‚ I'm a former Django dev and I have no intention of working with Python ever again. I see why it's so popular for data analysis etc.: it's a phenomenal language for non-programmers.

[โ€“] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

I don't really focus on Web development (though I've done a little in various languages when it became necessary to solve specific problems), but over the years, for software development, I've become pretty conservative about adopting new programming languages, frameworks, libraries, and so forth when they come out. I have seen a very large number of things that were new and trendy vanish in the wind after people put a lot of effort into coming up to speed on them.

Once there's a large installed base, though, they're gonna be around for a long time to come, because software projects have committed to them.

None of this is to ding Rust, which Lemmy uses. I've never written a line of Rust myself, don't know the ecosystem. But I don't think that PHP is bad just because it's pretty mature.

Also, related side note: Reddit was originally implemented in some Lisp variant, probably in part because Paul Graham, who was involved in some early funding, is a huge Lisp fan. There isn't that much web dev happening in Lisp, and Team Reddit later had to go back and reimplement it in the more-widely-used Python, on the Pylons framework. That doubtless cost them a lot of dev time.

[โ€“] [email protected] 3 points 1 year ago

PHP isn't bad because it's mature. It's bad because it's PHP.

Still, it's good for the right jobs.

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago) (2 children)

While I haven't tried symphony, my annoyance with PHP in general is that parsing any kind of data is tacky. In the end you end you have just as many lines as python but less readable.

Cleaner functions or cleaner data? Both languages have their strengths and can (now) be typed.

[โ€“] [email protected] 2 points 1 year ago

Well, this is true. It's all about the right tool for the job. The PHP hammer is good at some things and bad at others. It is good for web development, it is bad for parsing [thanks to its truly awful regex functions], and it is way too bloated to be any kind of scripting language. Python is much better for parsing and transforming data, but its regex implementations are still pretty awful when compared to something like Perl. In fact, I still reach for Perl when I have to parse complex and unstructured text. Haven't yet reached for Perl 6 though.

[โ€“] [email protected] 1 points 1 year ago

Use the right tool for the job. If you need extensive data parsing and handling, it might be better queuing that off to another service. Even python libraries are usually written in C...