寮 (ryo@social.076.moe)'s status on Wednesday, 01-Feb-2023 09:12:33 JST
寮It's getting even more confirmed now that Rust is yet another meme language that everyone will talk about like crazy for the rest of this year, and nobody will care anymore next year or the year later.
Even System76 is going Rust...
I never used it before, so I can't really comment on the specifics when it comes to the language itself.
But the fact it requires its own package manager (Cargo), like now in Python it's PIP and in Ruby it's Gem, is already a red flag (there's NPM for JS and Composer for PHP, but the use of these is optional at least).
And then there's issues with trademarks, which effectively makes it a non-free language: https://wiki.hyperbola.info/doku.php?id=en:philosophy:rust_trademark
And I heard from people who actually gave Rust a try that they're not as sold on the whole "type safety" part.
But what worries me more about using a meme language is that everyone jumps right in on using it, only to them regret it once it falls out of favor, but can't go back anymore because it's already far too late.
For example how the I2P team regretted using Java, but are stuck with it because they fell for the Java meme.
Or Discourse regretting using Ruby, but are stick with it because they fell for the Ruby meme.
And so many who used .NET in the past who now have to rewrite their stuff again now that more people decided to switch to Linux, BSD, or macOS even.
This is why I just stick with the old and trusted, because at least it just works.
C: "We took ALGOL and made it worse."
C++/Java: "We took C and made it worse, and also called it object-oriented to be trendy and ruined the actual concept forever to the point of being disowned by its creator."
Rust: "We took C++ and made it worse."
Every other language that looks even slightly like C: "We took C and made it worse and also slow."
Meanwhile our operating systems are still basically 70s mainframes and glorified typewriters and calculators, that can't do graphics to save their lives and can't even display a graphical interface without a few seconds of loading, even though those are about as old as C and existed when the Bell Labs people were still editing text in fucking ed. Also, our hardware is designed like shit and to run nothing but shit.
Anyway, at least GNU is working on a Rust implementation, so the corporations won't TOTALLY monopolize it. So it's actually getting less bad, technically.
@ryo To me, it seems like one of the many new languages that is trying to be that C/C++ replacement along with Go, Zig, D, and Jai. People want a replacement because C suffers from the problem of being too simple yet difficult to use effectively (need to grasp pointers, learn how data is managed, etc.), while C++ has too many features tacked on over the years that it's difficult to fully learn. So everyone is trying to create a replacement with varying degrees of success.
>And so many who used .NET in the past who now have to rewrite their stuff again now that more people decided to switch to Linux, BSD, or macOS even.
Mono and .NET Core exists. C# is probably the most popular programming language for indie games. Of course, it's supported on Linux. I used C# on Linux up until recently. Only problem is that it's heavily frowned upon in the Linux community for obvious reasons and that compiled Mono/.NET applications still have .exe extensions which makes it confusing if you also use Wine.
In my view, C is where re-inventing the wheel should have stopped.
The "easier" programming becomes, the more retards start writing soyware, and C was already easy enough.
I would actually split up C++ and Java, because C++ is "we took C and made it worse", but Java is "we took C++ and made it worse", as Java was made as a "let's make something like C++, but make it run on everything using 1 codebase", except what it became is "let's make it like C++, force an overly complex IDE down everybody's throat, make programming into an even bigger hell than C++ already was even though we added a layer of abstraction, and make sure it's a memory hog too by the way because fuck computers".
And then Steve Ballmer copied Java, fixed a few problems, made it Windblows-only, named it "C#", and danced like a monkey on stage while announcing it.
Mono yes, but .NET Core only released a few years ago, so I don't really count that.
> People want a replacement because C suffers from the problem of being too simple yet difficult to use effectively (need to grasp pointers, learn how data is managed, etc.)
And none of these are that difficult to learn honestly.
Like so many people fear the lack of a garbage collector, even though it's basically just making use of the "free" command, just don't forget to call it before the end of the program.
Correct PHP even requires you to unset (the PHP counterpart for "free") variables, close SQL connections, use fclose if you use files, and so on, but very few PHP devs do so, and then they wonder why the memory usage is growing, and why they get DDoS'd.
So instead of learning to code properly, they resort to bloat like Cuckflare/Fastly and frameworks like Laravel/Symphony/CakePHP/whatever.
Because PHP is technically just a C framework for web development, very few people realize this, so they often make frameworks inside of frameworks inside of frameworks inside of frameworks inside of frameworks inside of frameworks inside of frameworks, and then they wonder why PHP sucks...
Well, C doesn't really solve the problem considering that most programs are written in C (or maybe a little less than C++, I don't even know) and almost all of them have some major issue, and don't run nearly as well as they should. And that is pretty much any program that does not run in a terminal emulator, and even the terminal emulators are not all that fast. Why does xterm take a visible moment to open? How is that even possible?
How is it still almost impossible to have a GUI program that runs smoothly? Not to speak of UI design, it hasn't improved at all, it even moved backwards. The only programs that have the performance that you would expect and programs that just remove everything, to the point that people have developed an antidesign mindset, you see less user interface design than you saw on fucking DOS.
Like, I use programs like that, with no UI at all, because they are the only ones that work, or are just the best for me for some extensibility purpose or some feature, or they just perform so much better than I can't justify using say, a GTK equivalent.
Still, I look at what I'm doing, and it's absurd, it makes no sense for these things to perform so poorly when graphical interfaces have existed for 50 years. And all this shit is written in C. And I don't think it would be better if it was written in x86 assembly or Brainfuck.
Really, the entire computing paradigm is flawed, it's all a huge disaster and pretty much everything is to blame. I would say that it's the biggest clusterfuck that humanity has ever produced, but can it really beat civilization itself? Or just itself, humanity has made itself the way that it is now. The monkey instincts are to blame too, but at some point people have to take the blame for choosing not to get that shit under control.
More often than not it's not the language that's a clusterfuck, but rahter what people do to those language that turn it into a clusterfuck.
Just like what I already pointed out in my PHP example.
Well, it definitely adds to the clusterfuck when systems include a billion poorly-designed languages that just happened to find one niche, that are all incompatible with each other, most of which break on updates. And of course, that are not extensible, so they eventually get replaced as soon as someone has a single new idea for a language that happens to interest people. And those languages produce programs that are also very much like them. Need a new feature? Rewrite. Also, because of the lack of extensibility, programs better have every feature conceivable by a human just in case someone needs it, so you end up with a billion things that you don't need, written like shit, and still end up not having everything that you do, and adding them yourself would be a nightmare. Meanwhile, "extensible" programs are really not all that extensible, and use slow-ass scripting languages. Really, they are part of the mess. They are almost almost at the bottom of the shit pyramid. In a way the hardware is, though software and hardware kinda influence each other to be bad.