AlcoHoDL, my apologies for the accidental diversion from your nifty MATLAB thingie. I
was mulling that, writing a reply... Blame PHP for existing. Blame PHP for corrupting the world.
Now,
Wilhelm, look what
I got started you got started here:
There is no other language like PHP. It is undoubtedly the worst programming language that has ever achieved widespread usage.
If we were discussing, say, Javascript, I would acknowledge its strong points. Sure, the language has some flaws; sure, the Node ecosystem sucks and the browser ecosystem sucks worse; sure, a large proportion of Javascript “programmers” are clueless copypaste monkeys who should be forbidden from ever touching a computer. But Javascript is not a horrible language, in itself—at least, not in recent ES editions. I even admit that I sometimes enjoy writing Javascript code. And there are some Javascript experts who can do wizardry with it.
PHP is categorically horrible. PHP is an abomination. Next-door’s advocacy of PHP is like
Elon Musk’s claim that Dogecoin is superior to Bitcoin;
* well, it does show that Next-door is just like Elon Musk! Anyway—PHP is bad, bad, bad. End of story.
* Link that I dug up yesterday for other purposes not yet published... lol. (Analogy added with edits.)Typescript is a facade to hide
the awfulness that is called JavaScript.But yes typescript does make JavaScript look like a proper language.
It will eventually be well-known that on the rare occasions when I recommend a video, it is worthwhile to watch.
https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascriptHowever I dislike any language with dynamic types where a monkey abuses variables.
In principle, I tend to agree with you; and I have a deeper grudge against Javascript for other reasons, stated below. As to the types, however, I have seen D. Richard Hipp argue persuasively for dynamic typing (or rather,
lack of typing) in TCL, and for his beloved duck-typing in SQLite. He could handily wipe the floor with me for competence in my native language, C. Thus, I am in no position to lecture
him about the virtues of static typing.
As for the JS monster itself, I used to wonder why such a C god as Fabrice Bellard seems to have a longtime fetish for Javascript. OK,
he sometimes does weird things that break rules. Well, I tried JS—just a little bit. Mmmm. Tasty. Fun.
Seductive. Except for Typescript, IMO; I dislike Typescript. If I want a statically typed language, then I will use a
real statically typed language, as Real Programmers(TM)
almost always prefer!
Now, there
is out there somewhere a rapid-development, easy-to-use language with an excellent type system that combines the best aspects of static and dynamic typing (plus multiple dispatch—and by the way, it also has an almost LISP-tier powerful macro system). But this discussion is getting too far afield. Back to Javascript.
The real problem that you state is the monkey part.
Javascript is monkey-magnet. The browser ecosystem and the Node ecosystem both try to make it as easy as possible to become a so-called “coder” or “developer”. Their worldview is that
everyone should learn to code!What that means in practice is that teeming masses of incompetents with absolutely no grasp of basic concepts copy and paste code examples to mash together something that sort of works.
Ethereum and EVM clones have the same self-inflicted problem with Solidity. (And now you can see one reason why I was attracted to Solana, much though I loathe Rust; I spent days and sleepless nights reading rusty code, to learn enough of the undocumented aspects of the runtime to write useful programs in C. I’d heard that the ecosystem is corrupt; and now, I want to burn it to the ground. But I will not ask anyone’s permission to exercise my desire to do some on-chain programming in C.)
Call me old-fashioned. Call me elitist. Whatever. I firmly believe that before “learning to code”, one should do at least a tiny bit of something called “studying”. Learn the fundamentals. I don’t mean to require a university degree in computer science. I mean,
learn at least a little bit about how computers work. Similarly as for “blockchain”: People do NOT have a right to pronounce technical opinions about “blockchain”, unless they have studied at least a little bit about distributed consensus, database theory, the CAP Theorem, fault-tolerance and Byzantine fault-tolerance, etc., etc. If what I just said looks like alien gibberish, then STFU and DO NOT OPINE ABOUT “BLOCKCHAIN”. Not on a technical level. Don’t you dare. I have recently seen some stupid shills make
mathematically impossible claims about POS consensus (never mind its economics). Don’t you dare!
All that being said, my biggest grudge against Javascript is how it has completely destroyed all concepts of privacy and security. Please contemplate this solemnly for a full minute:
People are running network-loaded executable code from arbitrary sources—without even an audit trail preserving a postmortem record of what just got executed!Javascript has CORRUPTED THE INTERNET. Obviously. In so many ways, about which I could write a book. Worse, and more subtly: Javascript has also inflicted mass brain-damage. If I see even one more installation guide that uses
curl | sh (or worse,
curl | sudo sh), I will [GRAPHIC DESCRIPTION OF EXTREME ULTRAVIOLENCE REDACTED].
Javascript brainwashed people to think this way: To run network-loaded code straight off the wire from random strangers, without even keeping an audit trail that lets you figure out how you got pwned.Javascript has corrupted the security morals of an entire generation of youths.P.S., Wilhelm,
I wish that I could find more developers with the no-nonsense attitude that you hereby express. They seem rare. I link that less
to spam for my thread, and more
to suggest that perhaps this discussion of programming is more on-topic over there.That said languages like PHP and JavaScript have become the top in their domain even though they are flawed.
Just like VHS won from Betamax (because of p0rn).
And just like Bitcoin because it has been adopted by the majority...
Eh, the difference with Bitcoin is that
Core turned it into serious financial software—engineered for reliability, and made with security as a process. The amount of time I have recently spent lurking in smart-contract chain Githubs has given me a new, ever more profound appreciation for Bitcoin Core, a.k.a. “software that you can trust not to blow up and lose your money”.
You either must have been constipated for years to come up with so much bullshit or lost a PHP programming job to a far better programmer and you're very bitter.
A bad workman blames his tools!LOL. Did I say something that hit you close to home?
The way that you scream at me, you come off like a shitcoiner who is
furious at being told that no matter what you may wish, no matter what you believe, SHIB will not flip BTC.
Try reading
the eev.ee essay that I linked above, if you are capable of that. It answers the cliché non-argument that you parrot as an article of faith, and many others. Then, for the sake of all that is good and decent in this world, you should never again attempt to write a line of code in any language. Some good programmers started with PHP, due to circumstances; no one who is so ineducable as you could ever become a good programmer.