There's a worrying trend in modern web development, where developers are throwing away decades of carefully wrought systems for a bit of perceived convenience. Tools such as Tailwind CSS seem to be spreading like wildfire, with very few people ever willing to acknowledge the regression they bring to our field. And I'm getting tired of it
> I’ve seen people, lead and principal engineers, who refuse to learn modern JS, insisting that since it was bad in 2006 its bad today.
It’s still bad, though. That’s not the reason why, but it still is. All the frameworks and things like TypeScript try to work around and hide the uglyness and stupidity of JavaScript, but they neither remove nor fix it. The way HTML was initially designed is the exact opposite of how it is used. It was intended to present data in a standardized way and leave the rendering and styling to the client application. People tried to create pixel-perfect designs with it. The entire resulting technology stack was created by idiots for idiots. And JavaScript is consistent in the misguidedness of the endeavor. All the marketing talk about platform independence is bullshit. It is easier to write platform independent GUI applications in C than in HTML + CSS + JavaScript. All the frameworks and languages transpiling to JavaScript trying to belie that just lead to a breeding ground of incompetent GUI developers doing esotheric coding (“doing it the way it is done” while understanding zilch about the fundament). The resulting developers are useless outside of their steaming pile of web GUI shit. The least worse of them are the ones promoting and perpetuating this failed technology stack by adding further layers of abstraction to try and hide that it is build on and from shit, creating even more esoteric developers in the process - by idiots, for idiots. Web GUI developers are paid less than any other branch of developers and it is completely justified.
You forgot to read the very small fineprint after the rant hyperbole: *) true for desktop applications.
You could go with C++ and QT. Though, writing C++ code is never easy/fun (still better than JavaScript, though). Any argument about natively compiled multi platform GUI applications regarding mobile is moot either way for multiple reasons. The angle I’m going to push here is: Everybody and his mother tries to push their custom iOS and Android apps, relegating web sites to the desktop. Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript. And don’t get me wrong: I’m not really suggesting that websites have no place. And there are good reasons to want websites. I’m trying to paint a picture what a horrible absolute clusterfuck the web GUI technology stack is.
> Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript.
Hundreds of companies have tried to solve this exact problem for years and already did the cost/benefit analysis. It turns out that writing almost all of your code exactly once is cheaper than doing it in the multiple stacks that would be required with whatever your dream architecture is. They are not idiots just because you want them to be.
You sound like someone with zero practical experience in this area who just wants to rant about code purity. The rest of us are trying to get shit done while you pine for a perfect technology stack that will never exist.
> Hundreds of companies have tried to solve this exact problem for years and already did the cost/benefit analysis. It turns out that writing almost all of your code exactly once is cheaper than doing it in the multiple stacks that would be required with whatever your dream architecture is.
Right … that must be why no website ever is trying push their mobile app on me, and why all complex software for developing, video and graphics editing, CAD, … is implemented on web stacks.
> You sound like someone with zero practical experience in this area […]
You sound like someone who’s replacable by ChatGPT.
> […] who just wants to rant about code purity.
At least you got that (partially) right.
> The rest of us are trying to get shit done […]
Exactly my point: all you get done in web stacks is shit. And the trying is spot on: what do you really expect to come out the other end when the input is shit?
> […] while you pine for a perfect technology stack that will never exist.
I don’t even have to do that, though improvements never hurt. Just take any C-Style language other than JavaScript or any other dynamically typed abomination of a scripting language, and you’re bound to be happier and more productive.
Complex software for developing, video and graphics editing, and CAD all have very capable web stack counterparts to the usual desktop applications. vscode, Canva, photopea, onshape, etc
Sounds like something a web developer would say. Don’t kid yourself; none of these play in the same ballpark as proper desktop applications they try to imitate. Saying otherwise is as cringe and sad as linux fanboys suggesting GIMP was a fully featured alternative to and on par with Photoshop. And I say that as a linux user who loves to use GIMP for hobby graphics editing since ~25 years.
>You forgot to read the very small fineprint after the rant hyperbole: *) true for desktop applications.
Ignoring phones in 2023 is patent nonsense.
>You could go with C++ and QT. Though, writing C++ code is never easy/fun
It’s also ludicrously expensive, so as far as I’m concerned, it doesn’t exist.
>Everybody and his mother tries to push their custom iOS and Android apps, relegating web sites to the desktop.
Madness. I’m not going to develop and maintain three completely different versions of the same app in perpetuity.
>Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript.
Maybe it would if one existed.
>I’m trying to paint a picture what a horrible absolute clusterfuck the web GUI technology stack is.
I don’t disagree, but I also don’t see any viable alternative.
Little add-on re viable alternative: Silverlight could have been nice, hadn’t Microsoft fucked it up and implemented it as a Windows-only ActiveX control.
With .NET Core/.NET 5+ being open source and platform independent, that idea/concept could be revisited. A trimmed down .NET framework in a sandbox with proper DOM integration would be a massive upgrade over all the JavaScript garbage.
That only helps if there’s a viable FOSS toolchain for .NET, including editor and debugger, which as far as I know is still proprietary. Using proprietary development tools is to be avoided if at all possible, not only because of principles but also because they will create problems that you are powerless to solve.
There is the fully open source debugger from Samsung, the Red Hat derivate/extension for eclipse and others are in the works. I’m happily debugging .NET applications with JetBrains’ debugger on linux. One tool by Microsoft for the ecosystem not being open source, doesn’t change .NET (Core/5+) being open source. Embedding a stripped down .NET Framework in browsers as a replacement/alternative to JavaScript, even if not required, would likely lead to the development of one or more new debuggers anyways, to have an in-browser development experience similar to how it is now with JavaScript.
> It’s also ludicrously expensive, so as far as I’m concerned, it doesn’t exist.
QT, writing C++, or both? Paying for a good technology can be cheaper in the long run if you save development time. And sure, developing in C++ is more expensive than JavaScript, because you can’t let cheap web code monkeys do it.
> Madness
Indeed. But, very common madness.
> Maybe it would if one existed.
I think I made it quite clear, that I set the scope for the desktop. There are several. At least QT even includes mobile.
> I don’t disagree, but I also don’t see any viable alternative.
>Paying for a good technology can be cheaper in the long run if you save development time.
Only until the price gets jacked up beyond what you can afford, and then you’re scrambling to rewrite your entire application to use something else that’s still affordable.
>And sure, developing in C++ is more expensive than JavaScript, because you can’t let cheap web code monkeys do it.
An awful lot of code is written in C++, so I’m not sure that was ever a serious constraint.
>I think I made it quite clear, that I set the scope for the desktop. There are several.
Sure, if we’re targeting desktop only, then there are lots of options: GTK, wxWidgets, Swing…
But what does it matter? You can’t ignore mobile in 2023.
Lol so you’re one of the devs the author is talking about. Imagine getting this worked up over a topic you clearly don’t understand. “Failed technology stack” – that’s right everyone, the most widely used stack on the planet is a failure because this guy doesn’t like javascript. Everyone else in the world is obviously a stupid moron for not seeing things his way.
If you program in anything other than machine code you are an idiot. Remember that next time you use a failed abstraction like C.
Can’t believe this nonsense actually got upvoted. You never even identify any real issues with modern JS or HTML. It’s just a bunch of run-on whining. “HTML was meant to provide a standardized way for presenting data” – lol so literally how it’s still used today.
At least C has a working equals operator. Go on, tell me about ===, invite the ridicule. I bet I know more about JavaScript than you do. I hate it because I am intimately familiar with it.
console.log(null==0)
console.log(null>0)
console.log(null>=0)
console.log(0==[])
console.log(0=='0')
console.log('0'==[])
// no equality comparison, but that shit is funnyconsole.log("2"+"2"-"2")
Any proper programming language wouldn’t even compile any of that nonsense.
And something being widespread doesn’t mean it’s either right or good - look at religions.
> I’ve seen people, lead and principal engineers, who refuse to learn modern JS, insisting that since it was bad in 2006 its bad today.
It’s still bad, though. That’s not the reason why, but it still is. All the frameworks and things like TypeScript try to work around and hide the uglyness and stupidity of JavaScript, but they neither remove nor fix it. The way HTML was initially designed is the exact opposite of how it is used. It was intended to present data in a standardized way and leave the rendering and styling to the client application. People tried to create pixel-perfect designs with it. The entire resulting technology stack was created by idiots for idiots. And JavaScript is consistent in the misguidedness of the endeavor. All the marketing talk about platform independence is bullshit. It is easier to write platform independent GUI applications in C than in HTML + CSS + JavaScript. All the frameworks and languages transpiling to JavaScript trying to belie that just lead to a breeding ground of incompetent GUI developers doing esotheric coding (“doing it the way it is done” while understanding zilch about the fundament). The resulting developers are useless outside of their steaming pile of web GUI shit. The least worse of them are the ones promoting and perpetuating this failed technology stack by adding further layers of abstraction to try and hide that it is build on and from shit, creating even more esoteric developers in the process - by idiots, for idiots. Web GUI developers are paid less than any other branch of developers and it is completely justified.
>It is easier to write platform independent GUI applications in C than in HTML + CSS + JavaScript.
Um, what? There are very few GUI toolkits targeting both desktops and phones, and none of them are reasonably usable from C.
You forgot to read the very small fineprint after the rant hyperbole: *) true for desktop applications. You could go with C++ and QT. Though, writing C++ code is never easy/fun (still better than JavaScript, though). Any argument about natively compiled multi platform GUI applications regarding mobile is moot either way for multiple reasons. The angle I’m going to push here is: Everybody and his mother tries to push their custom iOS and Android apps, relegating web sites to the desktop. Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript. And don’t get me wrong: I’m not really suggesting that websites have no place. And there are good reasons to want websites. I’m trying to paint a picture what a horrible absolute clusterfuck the web GUI technology stack is.
> Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript.
Hundreds of companies have tried to solve this exact problem for years and already did the cost/benefit analysis. It turns out that writing almost all of your code exactly once is cheaper than doing it in the multiple stacks that would be required with whatever your dream architecture is. They are not idiots just because you want them to be.
You sound like someone with zero practical experience in this area who just wants to rant about code purity. The rest of us are trying to get shit done while you pine for a perfect technology stack that will never exist.
> Hundreds of companies have tried to solve this exact problem for years and already did the cost/benefit analysis. It turns out that writing almost all of your code exactly once is cheaper than doing it in the multiple stacks that would be required with whatever your dream architecture is.
Right … that must be why no website ever is trying push their mobile app on me, and why all complex software for developing, video and graphics editing, CAD, … is implemented on web stacks.
> You sound like someone with zero practical experience in this area […]
You sound like someone who’s replacable by ChatGPT.
> […] who just wants to rant
about code purity.At least you got that (partially) right.
> The rest of us are trying to get shit done […]
Exactly my point: all you get done in web stacks is shit. And the trying is spot on: what do you really expect to come out the other end when the input is shit?
> […] while you pine for a perfect technology stack that will never exist.
I don’t even have to do that, though improvements never hurt. Just take any C-Style language other than JavaScript or any other dynamically typed abomination of a scripting language, and you’re bound to be happier and more productive.
Complex software for developing, video and graphics editing, and CAD all have very capable web stack counterparts to the usual desktop applications. vscode, Canva, photopea, onshape, etc
Sounds like something a web developer would say. Don’t kid yourself; none of these play in the same ballpark as proper desktop applications they try to imitate. Saying otherwise is as cringe and sad as linux fanboys suggesting GIMP was a fully featured alternative to and on par with Photoshop. And I say that as a linux user who loves to use GIMP for hobby graphics editing since ~25 years.
>You forgot to read the very small fineprint after the rant hyperbole: *) true for desktop applications.
Ignoring phones in 2023 is patent nonsense.
>You could go with C++ and QT. Though, writing C++ code is never easy/fun
It’s also ludicrously expensive, so as far as I’m concerned, it doesn’t exist.
>Everybody and his mother tries to push their custom iOS and Android apps, relegating web sites to the desktop.
Madness. I’m not going to develop and maintain three completely different versions of the same app in perpetuity.
>Any multi platform GUI toolkit with a cross-compilable language will give you twice the functionality in half the development time over HTML+CSS+JavaScript.
Maybe it would if one existed.
>I’m trying to paint a picture what a horrible absolute clusterfuck the web GUI technology stack is.
I don’t disagree, but I also don’t see any viable alternative.
Little add-on re viable alternative: Silverlight could have been nice, hadn’t Microsoft fucked it up and implemented it as a Windows-only ActiveX control.
With .NET Core/.NET 5+ being open source and platform independent, that idea/concept could be revisited. A trimmed down .NET framework in a sandbox with proper DOM integration would be a massive upgrade over all the JavaScript garbage.
That only helps if there’s a viable FOSS toolchain for .NET, including editor and debugger, which as far as I know is still proprietary. Using proprietary development tools is to be avoided if at all possible, not only because of principles but also because they will create problems that you are powerless to solve.
There is the fully open source debugger from Samsung, the Red Hat derivate/extension for eclipse and others are in the works. I’m happily debugging .NET applications with JetBrains’ debugger on linux. One tool by Microsoft for the ecosystem not being open source, doesn’t change .NET (Core/5+) being open source. Embedding a stripped down .NET Framework in browsers as a replacement/alternative to JavaScript, even if not required, would likely lead to the development of one or more new debuggers anyways, to have an in-browser development experience similar to how it is now with JavaScript.
> It’s also ludicrously expensive, so as far as I’m concerned, it doesn’t exist.
QT, writing C++, or both? Paying for a good technology can be cheaper in the long run if you save development time. And sure, developing in C++ is more expensive than JavaScript, because you can’t let cheap web code monkeys do it.
> Madness
Indeed. But, very common madness.
> Maybe it would if one existed.
I think I made it quite clear, that I set the scope for the desktop. There are several. At least QT even includes mobile.
> I don’t disagree, but I also don’t see any viable alternative.
It’s nice to “agree to agree” sometimes ;-)
>QT, writing C++, or both?
Qt.
>Paying for a good technology can be cheaper in the long run if you save development time.
Only until the price gets jacked up beyond what you can afford, and then you’re scrambling to rewrite your entire application to use something else that’s still affordable.
>And sure, developing in C++ is more expensive than JavaScript, because you can’t let cheap web code monkeys do it.
An awful lot of code is written in C++, so I’m not sure that was ever a serious constraint.
>I think I made it quite clear, that I set the scope for the desktop. There are several.
Sure, if we’re targeting desktop only, then there are lots of options: GTK, wxWidgets, Swing…
But what does it matter? You can’t ignore mobile in 2023.
Lol so you’re one of the devs the author is talking about. Imagine getting this worked up over a topic you clearly don’t understand. “Failed technology stack” – that’s right everyone, the most widely used stack on the planet is a failure because this guy doesn’t like javascript. Everyone else in the world is obviously a stupid moron for not seeing things his way.
If you program in anything other than machine code you are an idiot. Remember that next time you use a failed abstraction like C.
Can’t believe this nonsense actually got upvoted. You never even identify any real issues with modern JS or HTML. It’s just a bunch of run-on whining. “HTML was meant to provide a standardized way for presenting data” – lol so literally how it’s still used today.
At least C has a working equals operator. Go on, tell me about ===, invite the ridicule. I bet I know more about JavaScript than you do. I hate it because I am intimately familiar with it.
console.log(null==0) console.log(null>0) console.log(null>=0) console.log(0==[]) console.log(0=='0') console.log('0'==[]) // no equality comparison, but that shit is funny console.log("2"+"2"-"2")
Any proper programming language wouldn’t even compile any of that nonsense.
And something being widespread doesn’t mean it’s either right or good - look at religions.