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?

  • l3mming@lemmy.fmhy.ml
    link
    fedilink
    arrow-up
    6
    ·
    1 year ago

    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.

    • WatTyler@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      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.

    • scarcer@kbin.social
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      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 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.

      • l3mming@lemmy.fmhy.ml
        link
        fedilink
        arrow-up
        1
        ·
        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.