
#saynotorust #immutable #retarded #rust

#saynotorust #immutable #retarded #rust
I love rust and still find your dissing of it hilarious 😂
i have experience with programming dating back to 1986 and i learned m68k assembler and eventually got to try out C before failing my senior highschool certificate because the fuckers were treating me like a bad child because i was curious and top percentile fast at learning and found their shit boring and compulsively rebelled against their attempts to make me tolerate the retarded direction of people who were my intellectual inferiors
so i'll take all the rust love with this giant grain of salt, you tards are obedient little followers, you don't even know that rust actually does have a garbage collector taht's why you have to put all those shitty annotations on everything, the regarded unary use of the single quote is an abomination, and having to explicitly state implicit things all the time, why exactly isn't there an implicit mutable flag so you have to explicitly say it's mutable, or the other way around?
and 'mut' yeah, like a fucking low quality genetics dog with all of the good things from wolves removed and every bit of the worst features of the domesticated animal possible
honestly, i'm glad you find it funny but i have to face this ignorance all the time and as i say, i've been working with programming for nearly 40 years in total and i know what i'm talking about, memory management units and allocation tables, i could write a fucking kernel, i've written many of the components, the queues, the caches, all of it
so, have fun staying retarded
You are still a von neumann cuck though.
i see, and are these parallel processors in the room with us now?
oh yeah, that's right, i'm also a distributed systems programmer, i'm quite familiar with synchronisation locking and atomic access to data, because i use #golang
You'd be suprized how many things dont just shuffle words through logic units like a little bitch. But you do you, and stay a soft(ware)boy
Just to be clear. In rust everything is immutable be default. The flag is `mut` to make things mutable. So same thing really but making it the inverse vastly cuts down on how often you need to type it in.
Oh I see you addressed that below in the thread.
yes, immutable by default is dumb and forces you to do a lot more running around with the GC
that's the biggest mistake in Go, but only affects strings, in Rust it's everything
the adoption of this idiotic notion was the reason why i immediately did not want to try V either, and nostr:npub16c2fsg7fp3yxte9ugd9yhcdpa68h924asv5d6pvm5nc37a3nkzmqd2xaj2 made a language similar to V which also has this idiotic notion in it, unless i'm mistaken
wrong, wrong, wrong
this is why the only programmers who aren't gophers that i respect on nostr are C programmers, because in C you have to do things the same way, mutable by default for everything including strings
what i don't like about C is unions (same as Option in Rust) the backwards function signatures, and the ugly, shitty lack of a build system
my criticisms are based on what i know, i'm not so stupid as to assert i know something about another language that i've never used based on second hand opinions
Similar to V? What's V 😂
Enjoyed reading this
you'll see what i mean
it was one of the first "let's make it like go, but like rust" things
the dumbasses who follow the fashions
always are like the skateboard-rake meme... they invent some new complicated shit to end up being smacked in the face same as before. welcome to the real world. your eyes hurt because you never used them before
Okay, cool. T isn't that.
V is extremely fast to compile, its syntax is way simpler than rust and enables much of teh same things
i almost adopted it except it kinda put me off this mutable bullshit
my second programming language was assembler
i know the extra rigmerole required to fuck around with MMU shit and there is no reason to do it, except for fencing processes into the memory that they have permission to access
using it for write control is incredibly complex and failure prone and a lot of extra processing to protect you from what
dumbass peers?
i also have big problems with the whole "internal" "don't export it" thing, too many times in Go libraries some genius hides critical functionality inside something i can't access because internal
i now have a policy of hide it only if in really has no use, i understand the bugs you can get from permeable interfaces and reaching through interfaces into underlying stuff but those necessities actually indicate that the hidden shit should be a shared library not hidden
I'll enthusiastically agree with the hidden internals thing. I sarcastically LOVE writing wrapper classes for your library because you decided I don't deserve insight into critical internal state.
the number of times this has blocked me from achieving something i've lost count
If rust can have an "unsafe" keyword to allow poking at memory when nothing else will do the languages can introduce a 'sudo give me access to your private members' keyword.
go already has this, it's called "unsafe" and "reflect" and you can do a lot of cool things but actually you don't really want to do them most of the time
i'm a conniseur of programming languages, and i haven't gone to the full distance of building my own but i know the parts of these things intimately and i love it when i make an excuse to write a parser or tree walker or any of this fun language shit
locking memory with MMU is the dumbest bullshit ever, it's a waste of an important resource
much better is locking processes IN to their own allocated heaps, and locking them OUT of everything else
if you understand boolean logic you will see that making locks on internal stuff is extreme overhead and complexity and is a substitute for compiler security features
Hard disagree. Have you seen c++ code with const everywhere?
Also it has absolutely nothing to do with the garbage collector as you call it. Either a value is mutable or it is not. The declaration is strictly for the benefit of the programmer. I am old enough to remember John Carmack wishing he had const by default in c++.
The garbage collector in rust is merely a compile-time check to see if a value is out of scope. If so it inserts a free. This means you absolutely are not going to run into the same issues as a normal garbage collected language. There is no runtime garbage collector.
so, explain why to make this mutable by default makes for so much hand holding from the programmer it takes you 3 months to be able to do the most elementary shit, and takes at least 10 seconds to actually understand a piece of code when you lay eyes on it
i don't have that problem
i don't invent shit to solve problems that i don't have
"but it won't scale" bitch, if your shit was good enough to go to scale, you'd figure it out
seriously, there was such an infinity of memory management problems coming from the combination of a fully automated concurrent mark and sweep GC as used in go 1.22 that i was able to positively identify was rooted in the use of strings
THE ONLY IMMUTABLE SHIT IN GO
and i spent the next 3 months rewriting everything to use mutable byte strings
and guess what
my relay is now at least as fast as strfry, and i'd love to have someone test them side by side to compare because i made sure that memory management was done right
immutable memory requires a second level of abstraction to be implemented at the CPU level that is inherently complex and racy and is going to create more latency
what you do is what i do
you use interfaces
you expose at compile time teh things that you need to be mutable
everything else is private and the compiler won't allow you to write access code that will be able to read that memory
problem solved
without using an MMU
The handholding in rust doesn't come from mut or not. It is from the borrow checker. That is a completely orthogonal language choice to mut by default vs const by default.
I will admit I hate lifetimes and am annoyed that I can't have shared references without making them reference counted. That is where I struggle and time is wasted.
The biggest problem with rust is that while I am trying to make sure I code in a rust approved way, you are off getting things done. Maybe if I had more than a hour to code a week I'd get proficient enough to no longer be slogging through all the time.
The benefit of rust is that once you get it to compile you will absolutely be rewarded with better binaries. Can c give you binaries on par with or better than rust? In theory yes. In practice no. Even the best programmers make the kind of mistakes that rust prevents. Languages like go cannot create binaries on par even in theory. There will always need to be runtime checks for garbage collection.
The question I would pose to you boss is what problem is she trying to solve in switching to rust. If you need better binaries then go for it. If you need faster development then why are you even thinking about it instead of coding?
she's trying to thin out the number of languages we support
nobody else in the company is writing back end server/micrcoservice stuff, only me, and go is the easiest and fastest to get that kind of work done
i also am experienced enough that if we do get lucky and need to scale up to massive infrastructure i have enough clues how to move there when the time comes
here's some irony for you, the Rust devs are only using rust for smart contracts, which are basically dumb shit that can be expressed in BPF, as Solana originally did it, and the number of times that shitcoiners have reinvented the wheel on this is amazing, it was the one thing i found interesting about solana after all was said and done, they didn't invent a fucking new fucking language system, virtual machine
so, this rust, and then Move, which is basically rust cut down and then turned into a structural typed generics language like Go, even down to allowing tuple multiple assignment syntax, and minimising the use of Option, so that is rust, really, and then javascript, because everyone is building web apps
really, they have rust and javascript, and they are saying "for the task that you are the only one doing, and using a language you have 8 yeras experience with, we want to reduce the cost of maintaining devs who can do that"
my junior colleague is a dumbshit who can't say no to his parents or be honest with us about that, but he was able to swim in Go within days
it took him months to get good at working with rust
so if the question is "cost of maintaining staff" then Go is the answer, not fucking rust, not for backend, period, end of fucking story
Yeah not sure about that one. Too many tech stacks is a problem but a worse problem is too few. I have a bad tendency to get very judgemental of developers who want to do everything forever in the first language they ever encountered. "Look ma I hacked together some little JavaScript thing and now I insist that serious backends also be written in js." Or python people sticking with it long after their project has scaled out of making sense in python. "We'll throw hardware at it!"
My all-time most hated language I've been forced to deal with is coldfusion, brought to you by the people who's first "language" was html.
haha, coldfusion... fuck that shit! lol also fuck flash and actionscript as well
ah man that takes me back tho
Luckily I dodged the flash bullet. When I got my first programming job in 2010 and was still full of imposter syndrome trying to pick up the previous devs Ruby projects (also hate) my bosses wanted a second dev and asked my to talk to a candidate they really liked. He had a master's degree in cs and I was just self-taught. Guy only knew flash that was it. Just starting out after college and he had a master's degree in flash development.
I wrote a very long heartfelt email to my bosses saying that I would basically hate working with him and that flash was such a stupid technology that it would probably die in a few years. How wrong I was. Apple killed it a month later by dropping support on iOS and Safari. I often wonder what happened to that poor candidate and if he could get the money back that he paid for his degree.
yeah, i got a scholarship to do a certificate course and the most important thing was asp/vbscript and literally right as we were getting to the last part of that unit microsoft announces dot net
🤦♂️
so i learned how to make a basic web 2.0 app with forms and shit and database backend using ODBC and then POOF in a puff of smoke goes my future prospects acruing to my new knowledge
that was probably the act of Microsoft that blackpilled me the most, until i found out what an incredible piece of shit Gates was and learned even more about how microsoft was fucking my life up as i tried to get into tech support and the number of times windows bullshit led me to spending days doing a job that should have been done in 4 hours, and i only charged for 4 hours because it shouldn't have taken that long, but yay microsoft
Yay vbscript! Fun fact. The first production programming thing I did was as an soldering technician when I couldn't find engineering jobs out of college. They had me doing a tedious component testing process that took all week, the majority of time being spent on data entry. I decided to automate it, but they wouldn't let me install a c++ compiler on my workstation. So I proto-typed the whole thing in Excel using vbscript. Saved them three days of labor every time a new batch of sensors came in.
Didn't take long before they bought me a visual studio license, but accidentally got me c# instead of c++. And that, boys and girls, is how I learned c#.
oof delegates
i tried to learn Vala at one point hoping i would one day be able to write desktop apps with gtk3
the complexity of all the things not to do with writing the app kept me from getting anywhere with it and my regular work fixing computers or whatever it was at the time, cleaning classrooms maybe, took up too much time
yeah, for me, my programming career finally started when i tried Go
it was weird at first, and my first year or two with it were pretty bumpy but it was the first language that i was able to encompass a complete, large application, because it lowered the complexity of the parts so much
that's why i use Go, because i can't sit still long enough to decode the umpteen irrelevant shits and procedures that contribute nothing to the solution
that's why i'm so stubborn about it too, you would be if you had never been able to sit still long enough to learn how to IGNORE most of the shit in front of you to get the job done
Go doesn't make you deal with irrelevant shit nearly as much
you have to do that after you make it work, then it has bugs, and then you are really programming