I don't find it inconvenient to write PHP or JS syntax, it's completely trivial for a professional.
I don't find it inconvenient to write PHP or JS syntax, it's completely trivial for a professional.
"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
"I used to think that PHP was the biggest, stinkiest dump that the computer industry had taken on my life in a decade. Then I started needing to do things that could only be accomplished in AppleScript." -Jamie Zawinski
"From what I've seen, PHP isn't so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory. Bear in mind this is coming from a guy who was weaned on BASIC, a language that gets about as much respect as Rodney Dangerfield. So I am not unfamiliar with the genre." -Jeff Atwood
https://blog.codinghorror.com/the-php-singularity/
On the other hand, Anders Hejlsberg is a highly skilled, careful, conscientious, 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 in many languages 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 carelessly hacked together fractals of bad design like PHP.
PHP: a fractal of bad design:
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
And you're still 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 and using many other vastly superior and more powerful programming languages and tools 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.
You've got be more flexible than this, come on.
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!)
"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.
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.