The JavaScript community grew by an impressive four million users in the past 12 months, solidifying its status as the most widely-used programming language globally.
People dislike JS because it’s packed full of moronic footguns and technical debt.
Lol, no it’s not. The literal only footgun is the truthiness aspect of equality and using ===, and it’s really not hard to figure out and avoid. Especially given that linters will automatically flag it for you.
TypeScript is better, but at the end of the day it’s just an illusion. Add an any anywhere, which will happen, and you’re back to square one.
It is extremely easy to not let any slip into your code, you do this little thing called review code before merging. Crazy, I know, but by just following the most basic software development practices it turns out you can also avoid other basic junior mistakes! Wild right?
And lmao, oh my god the web ecosystem is ass because a framework for producing robust complex applications isn’t just an html and CSS file? Lmao bruh, tell me you’ve never coded in a different language without saying you’ve never coded in a different language. You think a .csproj or a .gradle file is simpler and more intuitive?
You’re mistaking basic junior programming mistakes for issues with the language.
Lmao bruh, tell me you’ve never coded in a different language without saying you’ve never coded in a different language.
I’ve been a software developer for over 10 years, on both on the front end and the back end.
I’ve worked with jQuery, React, plain old DOM manipulation, god damn PHP. I’m not new to web development.
Outside of web technologies, I’ve worked on nautical charts processing software and microcontroller firmware in C, C++ and Rust.
I’ve worked on native GUI applications with C++, Java and C# using JavaFX, WPF, GTK, Qt.
All under strict corporate standards.
I also work on compilers and rendering engines in my spare time.
So no, I’m not a “junior programmer” making “basic junior programming mistakes”. Your favourite language is ass.
You shouldn’t immediately jump to the conclusion that someone has never written a line of code only because they say so.
Sorry if it hurts your feelings, but even senior developers, web or otherwise, say it. I’m not the one swimming against the current, you are.
And lmao, oh my god the web ecosystem is ass because a framework for producing robust complex applications isn’t just an html and CSS file?
Alright, let’s do a little experiment, shall we? Let’s try and create an empty electron app with React and TypeScript.
A quick create-electron-app and some configuring TS, ESLint and WebPack later we reach a whopping 3_087_725 lines of code. 3 million lines. ~700MB.
This all requires a linting step, a pre-compilation step though tsc, multiple additional translation steps through webpack for older ES versions.
All of that for an empty page on a webview.
This is batshit crazy. And I come from fucking CMake for crying out loud.
There is nothing robust about this, the slightest misstep and your sourcemaps are fucked.
Whoops the author of left-pad decided to pull it from npm - half the JS ecosystem on its knees.
Whoops the author of is-even one day decides it’s a stupid package to need - half the JS ecosystem on its knees.
Web developers are standing on a crumbling, fermenting pile of shit. Get over it.
…
With that said, you can still enjoy JS and all the web stuff, there’s nothing wrong with that…
Sorry if it hurts your feelings, but even senior developers, web or otherwise, say it. I’m not the one swimming against the current, you are.
Lmao bro, I don’t think I’m the one with hurt feelings given your unhinged credential boasting and several paragraphs of unprompted bitching about electron.
You make basic JavaScript mistakes that should be caught by linters, and certainly by any intermediate to senior level reviewer. Get over it and learn to be better and not make basic mistakes.
You seem to confuse “people making mistakes” with “a language that is designed in such a way that those mistakes are not only common, but integral part of the experience.”
I’m not saying I make such mistakes, I say the design is crap. It’s not a skill issue, it’s a design issue.
People say null pointers were a mistake. I’m inclined to agree. Not because I get a null pointer exception every five minutes, but because there are better ways to handle cases like that.
You said I was a rookie, I proved you wrong.
You said there was nothing crazy about web application complexity, I provided you with a common, glaring example. There’s nothing unhinged in saying “look I installed Electron and React and not my project has 3 million lines of crap I have to worry about”.
Everything else was just emphasis for the sake of it.
But when you don’t have a valid argument, you resort to personal attacks. Maybe it’s you that should learn to be better.
Hi, I don’t really code besides computation stuff in Python. You seem to be really knowledgeable, could I ask, what does the future of the web look like? Is it Rust and WASM? Or will JS and TS always have a place even a decade from now?
The fairly unique thing about the web is that the tech stack is pretty much entirely dependent on what browsers are “winning” at any given time. There are web standards, but Chrome steamrolls them regularly (either by ignoring them or by pressuring the committee to standardize what they want). This is why browser monoculture is bad, and why people recommend Firefox and other non-Chrome (or really, non-WebKit) browsers, as a matter of principle.
So right now, with Chrome’s dominance, Mozilla’s struggles, and the extremely slow progress of WebAssembly and WASI, it definitely feels like JavaScript will remain dominant for a long while. But since Chrome does support WebAssembly and Google participates in WASI, and since there’s no fundamental reason why WASI can’t eventually provide everything that JS does today, there’s good reason to expect the JS stranglehold not to last forever.
And the great thing about WASM/WASI is that, since it’s designed as a compilation target rather than a language, there won’t be any remaining reason for a single language (such as Rust) to dominate. Rust got an early lead in WASM because they put the effort into making it a viable target platform for the compiler, and because it’s the kind of language that attracts people who dislike JavaScript (such as myself). But there’s no reason a different language couldn’t rapidly become the most commonly used WASM language if, say, a web framework in a previously-niche language becomes popular. (After all, Rails, a back-end framework, is what popularized Ruby.)
I’m not saying I make such mistakes, I say the design is crap. It’s not a skill issue, it’s a design issue.
That’s what people with skill issues tend to say.
You learned how to write == in every other language, but you can’t figure out === in typescript?
You’re bitching and whining about a tiny syntax issue that enables backwards compatibility for literally every web site ever created.
You said I was a rookie, I proved you wrong.
You apparently still bitch and whine like a rookie. Maybe work on your emotional maturity if you want to come across as an experienced senior and not just a Reddit-read edge lord.
You said there was nothing crazy about web application complexity, I provided you with a common, glaring example.
No, you didn’t.
There’s nothing unhinged in saying “look I installed Electron and React and not my project has 3 million lines of crap I have to worry about”.
Yes, there is, given that the vast majority of web applications run in this thing called a web browser, and you decided to instead choose the project example where you install a whole web browser alongside operating system shims into your project.
Not that’s what people who can recognize genuine architectural defects and aren’t blind fanboys say.
You apparently still bitch and whine like a rookie.
Only to your eyes since apparently pointing out genuine problems is whining. It’s okay for people not to like the stuff you like. And no, using a few swear words for emphasis doesn’t make someone immature, nor does listing what one has worked with for context.
You learned how to write == in every other language, but you can’t figure out === in typescript?
…you still haven’t realised that === is not what I have a problem with have you? It’s literally a non issue. In fact, equality in general is a non issue. It’s the wonky standard library, lack of proper support for binary operations, serialization and almost everything being an afterthought that I have a problem with.
Does it prevent me from using the language and write proper, stable software? No. But it’s not good.
you install a whole web browser alongside operating system shims into your project
Except that amounts to a mere ~180_000 lines of the 3 million. Did a plain create-react-app without Electron, still over 3 million.
Now, since it’s impossible to have a genuine conversation if the other party’s response is “haha you suck” to any genuine, documented criticism, are you gonna grow up or are you gonna keep acting like an offended 13 year old who can’t find a better retort?
Lol, no it’s not. The literal only footgun is the truthiness aspect of equality and using ===, and it’s really not hard to figure out and avoid. Especially given that linters will automatically flag it for you.
It is extremely easy to not let
any
slip into your code, you do this little thing called review code before merging. Crazy, I know, but by just following the most basic software development practices it turns out you can also avoid other basic junior mistakes! Wild right?And lmao, oh my god the web ecosystem is ass because a framework for producing robust complex applications isn’t just an html and CSS file? Lmao bruh, tell me you’ve never coded in a different language without saying you’ve never coded in a different language. You think a .csproj or a .gradle file is simpler and more intuitive?
You’re mistaking basic junior programming mistakes for issues with the language.
I’ve been a software developer for over 10 years, on both on the front end and the back end.
I’ve worked with jQuery, React, plain old DOM manipulation, god damn PHP. I’m not new to web development.
Outside of web technologies, I’ve worked on nautical charts processing software and microcontroller firmware in C, C++ and Rust.
I’ve worked on native GUI applications with C++, Java and C# using JavaFX, WPF, GTK, Qt.
All under strict corporate standards.
I also work on compilers and rendering engines in my spare time.
So no, I’m not a “junior programmer” making “basic junior programming mistakes”. Your favourite language is ass.
You shouldn’t immediately jump to the conclusion that someone has never written a line of code only because they say so.
Sorry if it hurts your feelings, but even senior developers, web or otherwise, say it. I’m not the one swimming against the current, you are.
Alright, let’s do a little experiment, shall we? Let’s try and create an empty electron app with React and TypeScript.
A quick
create-electron-app
and some configuring TS, ESLint and WebPack later we reach a whopping3_087_725
lines of code. 3 million lines. ~700MB.This all requires a linting step, a pre-compilation step though
tsc
, multiple additional translation steps throughwebpack
for older ES versions.All of that for an empty page on a webview.
This is batshit crazy. And I come from fucking CMake for crying out loud.
There is nothing robust about this, the slightest misstep and your sourcemaps are fucked.
Whoops the author of
left-pad
decided to pull it from npm - half the JS ecosystem on its knees.Whoops the author of
is-even
one day decides it’s a stupid package to need - half the JS ecosystem on its knees.Web developers are standing on a crumbling, fermenting pile of shit. Get over it.
…
With that said, you can still enjoy JS and all the web stuff, there’s nothing wrong with that…
Lmao bro, I don’t think I’m the one with hurt feelings given your unhinged credential boasting and several paragraphs of unprompted bitching about electron.
You make basic JavaScript mistakes that should be caught by linters, and certainly by any intermediate to senior level reviewer. Get over it and learn to be better and not make basic mistakes.
You seem to confuse “people making mistakes” with “a language that is designed in such a way that those mistakes are not only common, but integral part of the experience.”
I’m not saying I make such mistakes, I say the design is crap. It’s not a skill issue, it’s a design issue. People say null pointers were a mistake. I’m inclined to agree. Not because I get a null pointer exception every five minutes, but because there are better ways to handle cases like that.
You said I was a rookie, I proved you wrong.
You said there was nothing crazy about web application complexity, I provided you with a common, glaring example. There’s nothing unhinged in saying “look I installed Electron and React and not my project has 3 million lines of crap I have to worry about”.
Everything else was just emphasis for the sake of it.
But when you don’t have a valid argument, you resort to personal attacks. Maybe it’s you that should learn to be better.
Hi, I don’t really code besides computation stuff in Python. You seem to be really knowledgeable, could I ask, what does the future of the web look like? Is it Rust and WASM? Or will JS and TS always have a place even a decade from now?
The fairly unique thing about the web is that the tech stack is pretty much entirely dependent on what browsers are “winning” at any given time. There are web standards, but Chrome steamrolls them regularly (either by ignoring them or by pressuring the committee to standardize what they want). This is why browser monoculture is bad, and why people recommend Firefox and other non-Chrome (or really, non-WebKit) browsers, as a matter of principle.
So right now, with Chrome’s dominance, Mozilla’s struggles, and the extremely slow progress of WebAssembly and WASI, it definitely feels like JavaScript will remain dominant for a long while. But since Chrome does support WebAssembly and Google participates in WASI, and since there’s no fundamental reason why WASI can’t eventually provide everything that JS does today, there’s good reason to expect the JS stranglehold not to last forever.
And the great thing about WASM/WASI is that, since it’s designed as a compilation target rather than a language, there won’t be any remaining reason for a single language (such as Rust) to dominate. Rust got an early lead in WASM because they put the effort into making it a viable target platform for the compiler, and because it’s the kind of language that attracts people who dislike JavaScript (such as myself). But there’s no reason a different language couldn’t rapidly become the most commonly used WASM language if, say, a web framework in a previously-niche language becomes popular. (After all, Rails, a back-end framework, is what popularized Ruby.)
Edit to add: I say “fairly unique”, but in fact there’s a very analogous situation with C: https://faultlore.com/blah/c-isnt-a-language/
That’s what people with skill issues tend to say.
You learned how to write == in every other language, but you can’t figure out === in typescript?
You’re bitching and whining about a tiny syntax issue that enables backwards compatibility for literally every web site ever created.
You apparently still bitch and whine like a rookie. Maybe work on your emotional maturity if you want to come across as an experienced senior and not just a Reddit-read edge lord.
No, you didn’t.
Yes, there is, given that the vast majority of web applications run in this thing called a web browser, and you decided to instead choose the project example where you install a whole web browser alongside operating system shims into your project.
Not that’s what people who can recognize genuine architectural defects and aren’t blind fanboys say.
Only to your eyes since apparently pointing out genuine problems is whining. It’s okay for people not to like the stuff you like. And no, using a few swear words for emphasis doesn’t make someone immature, nor does listing what one has worked with for context.
…you still haven’t realised that === is not what I have a problem with have you? It’s literally a non issue. In fact, equality in general is a non issue. It’s the wonky standard library, lack of proper support for binary operations, serialization and almost everything being an afterthought that I have a problem with. Does it prevent me from using the language and write proper, stable software? No. But it’s not good.
Except that amounts to a mere ~180_000 lines of the 3 million. Did a plain create-react-app without Electron, still over 3 million.
Now, since it’s impossible to have a genuine conversation if the other party’s response is “haha you suck” to any genuine, documented criticism, are you gonna grow up or are you gonna keep acting like an offended 13 year old who can’t find a better retort?
THANK YOU