Programming languages, much like the jackass in the middle, are tools. Different tools are for different things. The right tool for the job can make your day. The wrong tool can make you question your entire career.
That is, like, genuinely an advantage, though. At $ DAYJOB, we have a project that spans embedded, backend, web frontend and CLI, and for all of these, Rust is decent.
Like, I can see why a frontend dev would want to use HTML+CSS+JS/TS (rather than HTML+CSS+Rust), mainly because the massive ecosystem of JS components makes you more productive.
But you pretty much won’t ever develop a web frontend without an accompanying backend, and then being able to use the same language-expertise, libraries, utility functions and model types, that is also a big boost to productivity, especially if you won’t have a dedicated frontend dev anyways.
Realizing that also made me understand why people subject themselves to NodeJS for their backend, which has the same advantage, just with the big ecosystem in the frontend and the small ecosystem in the backend.
because the massive ecosystem of JS components makes you more productive.
Slightly less ironic: I question even this right now (as I have to suffer from endless “hot”-reloading and browser-crashes because of Next.js bloat).
I think the massive ecosystem has fewer high quality libraries than Rust at this point.
I use both JS/TS in frontend and Rust (either frontend more as a hobby and backend) extensively, and I very often check the dependencies-source, and even more often rewrite it (unfortunately not in Rust), because of low-quality.
And it’s sooo slow… the tooling and the frontend (albeit I think that has a very lot to do with next.js… and with how easy it is to make it slow for someone not that experienced or someone not being extremely careful).
Frontend is not yet as matured as JS/TS (whatever matured is, but the count of frontend frameworks is at least a magnitude higher in JS/TS), but I think when I would start a new company I would default to Rust now as frontend indeed, the language itself is for me reason. And I think vanilla-js (or Rust?) is not that much worse (time/effort-wise, sanity etc.) for more complex applications than what the Next.js ecosystem has produced so far.
A tool of a person is a fool who is being used by someone else. They might not be useful to you, but to who ever makes the koolaid they’re drinking, they’re a very good tool.
I seem to remember hearing this story: Back in the 2000s, Google did all their back-end stuff in C++ to make sure it was performant, and when they acquired Youtube they found it was made in Python, slow to run, fast to develop.
Look at the amount of data that goes through their servers every millisecond. It’s ridiculous. All things considered, YouTube is lightning fast.
Maybe the UI isn’t as snappy as it could be, but the blame there lies solely on throwing more and more javascript at it to add “features” that end users don’t really want.
That’s just not terribly meaningful, though. Was JavaScript the “best tool” for client-side logic from the death of Flash until the advent of TypeScript? No, it was the only tool.
Programming languages, much like the jackass in the middle, are tools. Different tools are for different things. The right tool for the job can make your day. The wrong tool can make you question your entire career.
Right… And the best tool for every job is of course Rust.
Embedded? Rust!
Web Frontend? Rust!
Web Backend? Rust!
idk what orher kinds of programming exist…
Game dev? Just force Rust into it, despite being quite mediocre for the job, there’s so many engines written in Rust. ECS is the answer to everything!
That is, like, genuinely an advantage, though. At $ DAYJOB, we have a project that spans embedded, backend, web frontend and CLI, and for all of these, Rust is decent.
Like, I can see why a frontend dev would want to use HTML+CSS+JS/TS (rather than HTML+CSS+Rust), mainly because the massive ecosystem of JS components makes you more productive.
But you pretty much won’t ever develop a web frontend without an accompanying backend, and then being able to use the same language-expertise, libraries, utility functions and model types, that is also a big boost to productivity, especially if you won’t have a dedicated frontend dev anyways.
Realizing that also made me understand why people subject themselves to NodeJS for their backend, which has the same advantage, just with the big ecosystem in the frontend and the small ecosystem in the backend.
Slightly less ironic: I question even this right now (as I have to suffer from endless “hot”-reloading and browser-crashes because of Next.js bloat).
I think the massive ecosystem has fewer high quality libraries than Rust at this point. I use both JS/TS in frontend and Rust (either frontend more as a hobby and backend) extensively, and I very often check the dependencies-source, and even more often rewrite it (unfortunately not in Rust), because of low-quality. And it’s sooo slow… the tooling and the frontend (albeit I think that has a very lot to do with next.js… and with how easy it is to make it slow for someone not that experienced or someone not being extremely careful).
Frontend is not yet as matured as JS/TS (whatever matured is, but the count of frontend frameworks is at least a magnitude higher in JS/TS), but I think when I would start a new company I would default to Rust now as frontend indeed, the language itself is for me reason. And I think vanilla-js (or Rust?) is not that much worse (time/effort-wise, sanity etc.) for more complex applications than what the Next.js ecosystem has produced so far.
So, lisp?
Yes use a lisp family language for everything and you will be enlightened
Tbf racket has a stupid easy gui library.
Yeah, that’s the second option.
Funny how tools are useful. But a person who is a tool is not.
A tool of a person is a fool who is being used by someone else. They might not be useful to you, but to who ever makes the koolaid they’re drinking, they’re a very good tool.
I think that’s the basic idea, but in practice it’s used for people who are just generally dumb as well.
Well, when was the last time you looked at a hammer and thought “y’know, you’re pretty smart!”
Haha, true. But then again, I’ve definitely thought that about like, a self-loading rifle or a can opener that way.
Eh, people misuse terms all the time. It shouldn’t change what it’s meant to mean.
I guess, but neither kind of dashboard catches dash from your horses these days. And forget about all bears being “brown ones”. Language evolves.
Tools are always useful. If its a good thing to (ab)use said tool depends on the tool and if its human or not :p
… And the job for the tool ofc
I seem to remember hearing this story: Back in the 2000s, Google did all their back-end stuff in C++ to make sure it was performant, and when they acquired Youtube they found it was made in Python, slow to run, fast to develop.
Did they change it after the acquisition? Or is python why it’s still so freaking slow?
Things is you don’t crunch numbers in Python code, you do that in libraries called from Python.
It’s a few statements of orchestration and any heavy lifting is encapsulated compiled code.
You don’t do tight loops on Python, or if you do you’re using it wrong.
This was mostly tongue in cheek, probably not very clear 😅
But yeah, fully agree with you.
Lol @ YouTube being slow
Look at the amount of data that goes through their servers every millisecond. It’s ridiculous. All things considered, YouTube is lightning fast.
Maybe the UI isn’t as snappy as it could be, but the blame there lies solely on throwing more and more javascript at it to add “features” that end users don’t really want.
is it tho? Or youtub is just profitable enough to neglect the compute overhead cost?
YouTube is surprisingly not very profitable
Aaand artificially slowing down video loading by several seconds, last but not least.
Exactly. And what is the best tool? The best tool for the job
AI! (This message brought to you by The Microsoft Marketing Dept.)
No silly! It’s clearly a goat, possibly a whole farm of them
That’s just not terribly meaningful, though. Was JavaScript the “best tool” for client-side logic from the death of Flash until the advent of TypeScript? No, it was the only tool.
If it was the only tool it was both the best and the worst by definition.
You’re halfway there.
Yes, it was the best tool, in context
In that context, what was better?
Exactly, the hivemind is strong in this thread
Exactly! There is no best tool. There is, however, a worst tool. It’s bazel.
And what is the best tool for the job? The best tool for the job.
You mean js
/s
Sometimes I just want to use a particular tool, and care less what I’m making with it.
I rarely get this pleasure at work.