• daisy
    ·
    10 months ago

    I'm still trying to figure out why anyone would start a brand new web service project in PHP of all languages in 2021.

      • silent_water [she/her]
        ·
        10 months ago

        ngl, I hate writing go because they managed to design a language that learned nothing from 30 years of development on programming languages. the structure of the code is invariably obscured by the never ending boilerplate, it's impossible to abstract over common patterns or even to write parameterized data structures, and a modern programming language with nulls is inexcusable.

        • sovietknuckles [they/them]
          ·
          10 months ago

          "The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."

          • silent_water [she/her]
            ·
            10 months ago

            it's such a deeply reductive and patronizing view of the capacities of other human beings. one of the languages they're referring to is Haskell, so using it as an example, someone took it to a primary school near where they lived and taught it as a summer school program to said primary school students (I believe in Brazil). they picked it up readily. conversely, adults who all ready know how to code struggle with the language.

            that is, it's precisely because we presuppose that these languages are "too complicated" and don't teach them that creates the circumstances where people struggle to learn. if you expect that people can learn and change and give them support, it's feasible in most cases. if you presuppose that they can't, well by golly what do you know, they can't.

            in other news I hate Rob Pike.

            • Mardoniush [she/her]
              ·
              10 months ago

              I'm not really competent at Haskell, but having my first language be FORTRAN of all things certainly flattened the learning curve. It's not all that hard you just have to approach it without preconceptions.

        • daisy
          ·
          10 months ago

          I feel that discussing Go is very much a "a vote for Bart is a vote for anarchy" situation. All those are perfectly valid points. But in the end do they really matter in day-to-day situations?

          Personally I'm willing to forgive a lot of interesting design choices for all the other benefits the language has. Super-fast compile times, massive standard library that's automatically multithreaded, the elegant simple beauty that is the channel system, one enforced style that helps readability of others' code, easy cross-compilation, memory safety, C-like syntax that's easy to pick up, etc etc etc.

          • silent_water [she/her]
            ·
            10 months ago

            personally the tedium of writing the same code over and over again + the inability to express invariants to the compiler so it can check my work for me is just plain worth more to me. I'm too dumb and ADHD for it.

      • daisy
        ·
        10 months ago

        That said, I’ve been starting hobby projects with Go+HTMX for about a month and that’s been pretty fun

        Amen to that! Go is easily my favourite language for writing web backends. 95% of what one needs for the average web project is part of the standard library, including that really nice automatically-multithreaded web server. And the html templating is wonderful to work with. Most of what I write has to work javascript-free in a default-settings Tor browser. Go's templating makes it really simple to do server-side rendering of complex pages.

        A nice bonus is that the very C-like syntax meshes well with my grew-up-on-C brain. For me PHP's syntax is downright Lovecraftian.