News for hackers. Stuff that matters.
Re:PHP Popularity: Is it decreasing and what to do about it? by boringuser2 on Friday April 21, 2023 @04:56PM (#35660003)
No, languages simply matter much less than they once did due to widespread adoption of best practices and good design.

The tooling around languages matters much more.

C++ isn't still popular because it's the best language.

Only real reason I'd always pick PHP over JS is not because I love PHP, but because Laravel is better than any node framework.

Re:PHP Popularity: Is it decreasing and what to do about it? by miohtama on Friday April 21, 2023 @05:02PM (#35660096)
While you may pick, most developers do not. You are not the most developers, as you are special and probably much more talented.

They pick JS because they know the language best and are more productive in it than in Laravel. There is nothing Laravel can do about it - being best is not going to change the direction, because the limiting factor is the knowledge of programming languages of most of developers.

Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Friday April 21, 2023 @05:11PM (#35660242)
They picked JS for the server because they have a choice in what languages they can run on the server, but they don't have a choice about what languages they can run in the browser, so JavaScript it is.

There are HUGE advantages and efficiencies to using the same language in the browser and the server.

Most developers are (rightfully) lazy and simply don't want to learn and juggle two different languages in two different places, when they can use simply one language everywhere.

For example, when switching between PHP and JavaScript, you have to remember that the ?: ternary conditional operator in PHP has idiotic left-associativity, so you have to use extra parenthesis to disambiguate it, while the identical looking ?: ternary operator in JavaScript and all other languages has sane right-associativity.

"I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say Yeah it works but you're leaking memory everywhere. Perhaps we should fix that. I'll just restart Apache every 10 requests." -Rausmu Lerdorf

"I don't know how to stop it, there was never any intent to write a programming language [...] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way." -Rasmus Lerdorf

"We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all." -Rasmus Lerdorf

Re:PHP Popularity: Is it decreasing and what to do about it? by boringuser2 on Friday April 21, 2023 @06:21PM (#35661010)
You don't have to remember that, any IDE will yell at you.

I don't find it inconvenient to write PHP or JS syntax, it's completely trivial for a professional.

Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Saturday April 22, 2023 @12:17AM (#35663286)
Don't be such an apologist for terrible careless programming language design, expecting professional programmers to tolerate IDE's "yelling at them" about pointless language design flaws and using terribly designed languages that were mindlessly thrown together by anti-intellectual amateurs like Rasmus Lerdorf, a self proclaimed "not a real programmer", who doesn't even know the difference between left and right associativity, or even "care about this crap at all".

"We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all." -Rasmus Lerdorf

"There are people who actually like programming. I don't understand why they like programming." -Rasmus Lerdorf

"I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say "Yeah it works but you're leaking memory everywhere. Perhaps we should fix that." I’ll just restart Apache every 10 requests." -Rasmus Lerdorf

"I don't know how to stop it, there was never any intent to write a programming language [...] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way." -Rasmus Lerdorf

"Using these toolkits is like trying to make a bookshelf out of mashed potatoes." - Jamie Zawinski

On the other hand, Anders Hejlsberg is a highly skilled and experienced professional programming language designer who actually knows what he's doing, and LIKES programming. And as a professional programmer who's been writing lots of code since the early 1980's, I much prefer and enjoy using his well designed IDEs and programming languages like Turbo Pascal, Delphi, C#, and TypeScript, to mindlessly hacked together pieces of shit like PHP.

And you're totally missing the point about the advantages of using one programming language on both the client an server side, sharing libraries, data, APIs, mental energy, and effort.

If you were really a professional programmer, you wouldn't be stuck in a rut using and apologizing for PHP, because you would be capable of learning so many other vastly superior and more powerful programming languages than PHP, and you wouldn't have to waste your time and mental effort rationalizing and making excuses, remembering to avoid so many unforced foot guns and idiotic bad design fractals, and carefully and defensively working around all of its flaws, while getting "yelled at by your IDE" all the time, instead of actually spending your finite time and energy solving problems.

PHP: a fractal of bad design:

https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Re:PHP Popularity: Is it decreasing and what to do about it? by boringuser2 on Saturday April 22, 2023 @12:30AM (#35663342)
You're probably a joy to work with, huh?

You've got be more flexible than this, come on.

Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Saturday April 22, 2023 @12:53AM (#35663441)
Why thank you for the complement! Speaking of the Joy of Programming:

Bill Joy’s Law: 2^(Year-1984) Million Instructions per Second

https://donhopkins.medium.com/bill-joys-law-2-year-1984-mill...

"The peak computer speed doubles each year and thus is given by a simple function of time. Specifically, S = 2^(Year-1984), in which S is the peak computer speed attained during each year, expressed in MIPS." -Wikipedia, Joy’s law (computing)

"C++++-= is the new language that is a little more than C++ and a lot less." -Bill Joy

"You can't prove anything about a program written in C or FORTRAN. C is PEEK and POKE with syntactic sugar." -Bill Joy

"You can drive a car by looking in the rear view mirror as long as nothing is ahead of you. Not enough software professionals are engaged in forward thinking." -Bill Joy

“Java is C++ without the guns, knives, and clubs.” -James Gosling

A Conversation with Language Creators: Guido, James, Anders and Larry [video]

https://news.ycombinator.com/item?id=19568378

https://www.youtube.com/watch?v=csL8DLXGNlU

"My favorite is always the billion dollar mistake of having null in the language. And since JavaScript has both null and undefined, it's the two billion dollar mistake." -Anders Hejlsberg

"It is by far the most problematic part of language design. And it's a single value that -- ha ha ha ha -- that if only that wasn't there, imagine all the problems we wouldn't have, right? If type systems were designed that way. And some type systems are, and some type systems are getting there, but boy, trying to retrofit that on top of a type system that has null in the first place is quite an undertaking." -Anders Hejlsberg

Andrew Hejlsberg:

>Maybe I'll just add, with language design, you know one of the things that's interesting, you look at all of us old geezers sitting up here, and we're proof positive that languages move slowly.

>A lot of people make the mistake of thinking that languages move at the same speed as hardware or all of the other technologies that we live with.

>But languages are much more like math and much more like the human brain, and they all have evolved slowly. And we're still programming in languages that were invented 50 years ago. All the the principles of functional programming were though of more than 50 years ago.

>I do think one of the things that is luckily happening is that, like as Larry says, everyone's borrowing from everyone, languages are becoming more multi-paradigm.

>I think it's wrong to talk about "Oh, I only like object oriented programming languages, or I only like imperative programming, or functional programming".

>It's important to look at where is the research, and where is the new thinking, and where are new paradigms that are interesting, and then try to incorporate them, but do so tastefully in a sense, and work them into whatever is there already.

>And I think we're all learning a lot from functional programming languages these days. I certainly feel like I am. Because a lot of interesting research has happened there. But functional programming is imperfect. And no one writes pure functional programs. I mean, because they don't exist.

>It's all about how can you tastefully sneak in mutation in ways that you can better reason about. As opposed to mutation and free threading for everyone. And that's like just a recipe for disaster.

"I have a feature that I am sort of jealous of because it's appearing in more and more other languages: pattern matching. And I cannot come up with the right keyword, because all the interesting keywords are already very popular method names for other forms of pattern matching." -Guido van Rossum

James Gosling wants to punch the "Real Men Use VI" people. "I think IDEs make language developers lazy." -Larry Wall

"IDEs let me get a lot more done a lot faster. I mean I'm not -- I -- I -- I -- I -- I'm really not into proving my manhood. I'm into getting things done." -James Gosling

https://news.ycombinator.com/item?id=19568860

>DonHopkins on April 4, 2019 | root | parent | next [–]

>Anders Hejlsberg also made the point that types are documentation.

>Programming language design is user interface design because programmers are programming language users.

>"East Coast" MacLisp tended to solve problems at a linguistic level that you could hack with text editors like Emacs, while "West Cost" Interlisp-D tended to solve the same problems with tooling like WYSIWYG DWIM IDEs.

>But if you start with a well designed linguistically sound language (Perl, PHP and C++ need not apply), then your IDE doesn't need to waste so much of its energy and complexity and coherence on papering over problems and making up for the deficiencies of the programming language design. (Like debugging mish-mashes of C++ templates and macros in header files!)

Re:PHP Popularity: Is it decreasing and what to do about it? by mixmastamyk on Saturday April 22, 2023 @01:18AM (#35663597)
We have an embarrassment of floss riches today. No need to support a poor design.
Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Saturday April 22, 2023 @01:50AM (#35663742)
That's exactly Jeff Atwood's point, which I quoted above (and will repeat here):

"From my perspective, the point of all these "PHP is broken" rants is not just to complain, but to help educate and potentially warn off new coders starting new codebases. Some fine, even historic work has been done in PHP despite the madness, unquestionably. But now we need to work together to fix what is broken. The best way to fix the PHP problem at this point is to make the alternatives so outstanding that the choice of the better hammer becomes obvious." -Jeff Atwood

https://blog.codinghorror.com/the-php-singularity/

Leaning hard into the IDE (or ChatGPT these days) because your language design is flawed is a hella/totally stereotypical "West Coast" thing to do, as described in "Evolution of Lisp", "Worse is Better", and "History of T", and exemplified by Interlisp and Warren Teitelman's "pervasive philosophy of user interface design" and implementation of "DWIM".

https://en.wikipedia.org/wiki/DWIM

https://www.techfak.uni-bielefeld.de/~joern/jargon/DWIM.HTML

https://escholarship.org/uc/item/6492j904

If your language isn't terribly designed, then your IDE doesn't have to be such a complex non-deterministic Rube Goldberg machine, papering over the languages flaws, haphazardly guessing about your intent, "yelling at you" all the time about potential foot-guns and misunderstandings.

As you might guess, I'm firmly in the "East Coast" MacLisp / Emacs camp, because that's what I learned to program in the 80's. I can't stand most IDEs (except for the original Lisp Machines, and Emacs of course), especially when they keep popping up hyperactive completion menus that steal the keyboard input focus and spew paragraphs of unexpected boilerplate diarrhea into my buffer whenever I dare to type ahead quickly and hit return.

But my point is that you can have and should demand the best of both coasts, unless you start off with a Shitty West Coast Programming Language or a Shitty East Coast IDE.

(Of course those philosophies are no longer bound to the geographical coasts they're named after, that's just how those papers describe their origin.)

Jeff Atwood's point an my point is that we should demand both well designed programming languages AND well designed IDEs, not make excuses for and paper over the flaws of shitty ones.

There are historic existence proofs, like Lisp Machines and Smalltalk, and we should be able to do much better now, instead of getting stuck in the past with Lisp or PHP.

I mentioned the East/West Coast dichotomy in the discussion about the conversation between Guido, James, Anders and Larry:

https://news.ycombinator.com/item?id=19568860

>DonHopkins on April 4, 2019 | parent | context | favorite | on: A Conversation with Language Creators: Guido, Jame...

>Anders Hejlsberg also made the point that types are documentation. Programming language design is user interface design because programmers are programming language users.

>"East Coast" MacLisp tended to solve problems at a linguistic level that you could hack with text editors like Emacs, while "West Cost" Interlisp-D tended to solve the same problems with tooling like WYSIWYG DWIM IDEs.

>But if you start with a well designed linguistically sound language (Perl, PHP and C++ need not apply), then your IDE doesn't need to waste so much of its energy and complexity and coherence on papering over problems and making up for the deficiencies of the programming language design. (Like debugging mish-mashes of C++ templates and macros in header files!)

More discussion of West Coast -vs- East Coast language design:

Evolution of Lisp:

https://redirect.cs.umbc.edu/courses/331/papers/Evolution-of...

Worse is Better:

https://dreamsongs.com/WorseIsBetter.html

History of T:

http://www.paulgraham.com/thist.html?viewfullsite=1

The Interlisp Programming Environment

http://www.ics.uci.edu/~andre/ics228s2006/teitelmanmasinter....

https://news.ycombinator.com/item?id=5966328

https://news.ycombinator.com/item?id=5966399

>gruseom on June 30, 2013 | parent | context | favorite | on: The Interlisp Programming Environment (1981) [pdf]

>Interlisp was the so-called "west coast" Lisp that emphasized an interactive programming environment and in retrospect looks more like a hybrid between Smalltalk and Lisp than modern Lisp implementations. It was developed at PARC for a while. I don't know if there was cross-pollination between Interlisp and Smalltalk or if the similarity was a zeitgeist thing.

>This article talks about the design values of the system and communicates the flavour of what a Smalltalkish Lisp would have been like.

>As someone who's only read about this, I'd be interested in hearing from people who actually used it.

Re:PHP Popularity: Is it decreasing and what to do about it? by frou_dh on Saturday April 22, 2023 @08:38AM (#35666018)
Evidently Lerdorf wants to be perceived as aloof and 2school4skool. The quotes sound rather performative.
Re:PHP Popularity: Is it decreasing and what to do about it? by stcroixx on Saturday April 22, 2023 @09:54PM (#35672636)
Professional programmers simply get paid to write code. Any further illusions one may have about them are personal and subjective.

Also, server side JS is an absolute hard no for many, many server side devs who became server side devs after suffering with JS as full stack devs.

Re:PHP Popularity: Is it decreasing and what to do about it? by boringuser2 on Friday April 21, 2023 @06:24PM (#35661039)
With GPT, I don't really find that I am more "productive" in one scripting language or another given that it has the ability to perfectly translate between them on the fly.
Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Saturday April 22, 2023 @01:32AM (#35663664)
Perfectly? Oh really? Have you tried actually reading the code you're copying and pasting from ChatGPT into production? Are you actually letting it do all your architectural design and security auditing for you, too?

If ChatGPT is already perfectly solving all of your programming problems, then you should learn a lot more about programing, design, architecture, and security, so you can take on more challenging projects, and actually design decent APIs and architectures, instead of just paint-by-number monkey coding, and produce better more thoughtful designs and code than an LLM, because your job is already obsolete.

Re:PHP Popularity: Is it decreasing and what to do about it? by latexr on Saturday April 22, 2023 @06:03AM (#35664946)
If you think the current crop of AI does the translation “perfectly”, you’re going to have a bad time. Or maybe not you, but your customers, client, or the poor chap that replaces you is going to have something blow up in their faces.
Re:PHP Popularity: Is it decreasing and what to do about it? by DonHopkins on Saturday April 22, 2023 @01:28AM (#35663643)
"From my perspective, the point of all these "PHP is broken" rants is not just to complain, but to help educate and potentially warn off new coders starting new codebases. Some fine, even historic work has been done in PHP despite the madness, unquestionably. But now we need to work together to fix what is broken. The best way to fix the PHP problem at this point is to make the alternatives so outstanding that the choice of the better hammer becomes obvious." -Jeff Atwood

https://blog.codinghorror.com/the-php-singularity/

Re:PHP Popularity: Is it decreasing and what to do about it? by paulryanrogers on Sunday April 23, 2023 @10:33AM (#35676567)
It's also possible PHP isn't a 'problem' any more. Perhaps even some alternatives that once were better are now worse.
Re:PHP Popularity: Is it decreasing and what to do about it? by happytiger on Friday April 21, 2023 @05:00PM (#35660065)
That's why I keep using PHP in my projects personally. Laravel is just so damn pleasant to work with.