Oddbean new post about | logout
 go vs rust:

go: easy to read, concise, many good texts on making use of good names, and consistent layout due to gofmt, and no macros because of how they complicate static analysis and symbol mappings

rust: hard to read, ugly, and no consistent layout enforcement or culture, and macros

go: uses a GC so for most small pieces of code it is not polluted with memory management annotations or allocation/free operations, no immutable types except the stupid strings, which should be abolished anyway, friction is low for your early stages of learning

rust: uses an arcane, hard to learn semi-automatic garbage collection scheme that requires you to pollute all your code with these annotations, that will prevent you from finishing a basic next-after-hello-world program before 2 months from starting with the language

go: designed by two of the most important people in the history of operating systems and programming language, Rob Pike, who invented Newsqueak that enabled concurrent programming and designing software as a production line and easy, lightweight threads, and Ken Thompson, who invented the language B and was heavily involved with the development of unix

rust: invented by Graydon Hoare, while he was working at Mozilla, who went on to sponsor it and fund an aggressive campaign of popularising it that seemed to really hit the spot getting shitcoin projects to adopt it, especially, and now is the most popular language for shitcoin devs, and mozilla, a company who in contrast to google, who is just as much a spook front (mozilla is netscape btw) do not shove DRM down the throats of users with a non-disableable nag for DRM widevine that literally stops you being able to screenshot your entire display when one of these pieces of shit is being painted on a window on your display, as opposed to chrome, which does not force this on you or nag you to enable it

Go is the product of the work of guys who have been doing production software development for 40 years, versus this new language from some rando sponsored by a company that doesn't see a problem with DRM

Rust is a product of the same people who brought us javascript in the browser and the dumpster fire of security that is the web-browser-as-app-runtime, and its compilation times nearly reach the heights of C++ as well as the compilation memory usage, and until they introduced cargo, which is basically the Go tool for rust that manages compiled object caches and source repositories... AND the cargo has a centralised registry that is under the control of Spookzilla whereas Go, google runs a proxy cache that is used by default, but the hosting of your code is only centralised by the DNS system, and requires no procedures or other complex namespace hoops to jump through

plus, Google doesn't try to push everyone else to use it, they more than sufficiently benefit from using it to develop much of their own infrastructure, and Docker and Kubernetes both are built on Go and run half the internet

lastly, rust users are rabid cult drones who are constantly bragging about how they built their thing in rust, a brazen vanity that you don't see anywhere near as much with Go devs

I hate rust, and i hate everyone who loves rust, you can all GFY

#goodvibesonly  #golang  #rust  #gfy 
 The good things about mozilla and firefox becomes everyday smaller. One I found is that the pdf reader doesnt respect the absurd restrictions that can be attached to a file, like "disable permission to copuly text". Firefox dont cope with this trash, chromium browser does. 
 i just hate mozilla and everything that spawns from it's motherfucking dirty asshole 
 You really stretched everything to fit your narrative. Rust didn't appear out of nowhere; it borrowed a lot from ML, and ML languages have periodically gained popularity before Rust and without any business involvement. 
 yeah, before, but mozilla definitely was throwing a lot into popularizing it

where is our Servo browser then? written in Rust? hah

nope, but it's added even more tooling you need to actually build mozilla browser from source

for me everything that has objects is already trash, that is a model that has been proven to only complicate compilation and cost a lot in development idle time

the fact i spent two months trying to learn it and could barely implement a microservice tells me that it's a waste of time piece of shit garbage that is overhyped and loved by shitcoiners

just the shitcoiner love alone turns me off it

and this is from someone who constantly bitches about btcd and lnd repos, which are a demonic hellscape

if i ran a software dev company and had loads of money to hire devs i'd be forking and fixing those dumpster fires, i've worked on the codebase for almost 3 years solid (btcd, a fork of it) and i fixed some things but it's just so bad 
 also i didn't even mention plan9, which heavily guides into Go's design, the first network native operating system that sadly got lost in the netscape/mosaic war 
 Rust learning curve negates any positives I can see. No thanks. 
 Mozilla is obsolete except maybe MDN 
 Spoken by someone who is clearly biased, cares nothing for performance, does not understand the importance of memory fundamentals, and couldn't care less about the actual history. You, sir, have just proven your opinion means very little to me. 
 TLDR, skill issue 
 Algebraic data types are really nice to work with. I choose Rust just because of this and the best bitcoin and lightning libraries are written in it. 

Gleam and Zig are promising but they lack a good ecosystem right now.
Kotlin if you don't mind using jvm and a heavy IDE. 
 readability is my most important requirement

complexity is cryptic, expressivity is idiosyncratic and has a cognitive burden for each new person looking at the code

reducing error is the only priority that matters, comfort is not relevant 
 Well shit. I sit down to learn rust today and now I think maybe I should do Go. Very little sunk cost at this point 
 rust is just massively promoted

go is a project that google funded in order to get better bang per buck for their internal dev shop that was previously using C++, and Rob Pike (plan nine and newsqueak and unix doc writer) and Ken Thompson (inventor of B, the predecessor of C) and Richard Griesemer (who built the chrome javascript engine to reduce their training costs and maintenance costs and shorten the edit/test cycle

they never bothered to advertise it very much

you can look up the history of rust, it is not as notable or effective, just a gigaton of bullshit shilling everywhere 
 Is Go used for IoT or single board hobbyists? These are the touch points that have gotten me interested in coding - gadgets live in my head but I want them in the world. 
 there is a variant called "tinygo" which has almost the same syntax but a few different elements... from what i gather of the embedded programming scene though, you are better off with C overall... C gives you absolute control, at the cost of absolute accountability 
 wow, nice

i just got pissed because i was screenshotting with this trash on my browser - not even on the browser window, and getting a repeating pattern of five colours in a line

at least they could have made the fake screenshot image explain what the fuck it was 
 nagging me to not disable it is the bug, i don't want it, at all at all, that the implementation is buggy?

https://i.nostr.build/nU0TndXFUje2UDlp.jpg