What is the communists/socialists/leftists programming language of choice?

No answer is wrong here, I'm just curious.

#Programming #SeriousQuestion

@afreytes I mean..... I really like Rust. Arguably probably not likely the best choice. But I'm a big fan of it
@queenofsquiggles @afreytes Rust Foundation should really distance itself from Rust events sponsored by the arms industry https://cafkafk.dev/p/eurorust-2024-helsing/
@afreytes I like python because it feels easier to learn and doesn't require compilers, but I assume everyone is different.

@afreytes oh I also forgot to add that from a dyslexia perspective, things like mandatory white space and pep8 guarantee a level of consistency that I can expect.

I can tell what I'm looking at by the shape of the code, and with syntax highlighting I can read python better than many other languages, because it's predictable in that way. For instance, I can tell that I'm looking at a function or a class with easy from a distance, which kind of bypasses the pain of my dyslexia.

That's not really an anarchist or socialist or leftist stance. I guess that's just a disabled take, but I think it's also important.

@domo That's VERY interesting!
@domo @afreytes Fortunately programming languages started paying more attention to the aspect you describe, and both Rust and Golang come with a linter as part of the language, which makes code look usually pretty consistent. I have a personal antipathy to Python, but this is definitely a great contribution to programming language culture it made. 
@afreytes every answer changes every 2 weeks because none of them can afford ritalin
@afreytes For years I was really fond of Ruby. I just thought it was beautiful, a pleasure to work with. And none of that stream of constant punctuation that so many languages are cluttered with
@afreytes Anarchists are against state, so it has to be functional. They also stress our mutual interdependency, so it has to support dependent types. Thus, the only acceptable language for anarchists to code in is Agda. 
@timorl oh wow, I've never heard of it, I think

@afreytes Yeah, no wonder, it’s usually used as a theorem prover more than a programming language, since programming anything practical in it is not a great idea. You would either not use any of its interesting features, in which case you are better off with Haskell, or you would have to get together a couple people with PhDs, make them work on this full-time, and you would very slowly build the most secure software to ever exist, with almost none of the features (whatever problem you would be trying to solve).  

And the fact that it’s that impractical was a bit of a self-dig at anarchists and how often our projects end up being overly ambitious. 

@timorl "impractical was a bit of a self-dig at anarchists" I kinda got the gist of it from looking at the wikipedia page

which also made me realize some of the implications of my question...

and if I were to do a redo of that question it would be more like:

"what programming language would workers prefer to use under socialism/communism?"

@afreytes

It's Python.

It's approachable, usable, runs well everywhere, and plenty fast enough for almost anything.

And there is a high likelihood that one's new comrades will see it the same way.

@afreytes I want to say Rust because I love writing Rust, but I think that R has a really good claim to being the leftists’ programming language, because it allows you to do statistical analysis without all of the cyberlibertarian hype that comes with Python (e.g. “AI”; “democratizing”; etc)

@afreytes I love Haskell in theory, but getting anything done in it (or getting people to use it) is a nightmare, making it similar to the Agda answer :p

In spite of it being run by MS, I do really like the dotnet environment, and think it would be a reasonable answer if MS was to really recommit to open source ideals (and restore the budget that they cut from it a couple of years ago).

C. No seriously. It has dirt cheap compilers. It runs on everything. It's fast to run and fast to compile. It can be used perfectly safely, and has an amazing debugger.

This is all important to communists/socialists/leftists because there's this cadre of "techbros" who believe that setting up a strong hierarchy of the wealthy few who can afford high end systems, data centers and intense training, and the grovelling masses whose only function is to build the machines for their masters. In that sense, a language that can compile and run on vintage, bargain basement, low spec, low end hardware is essential. A language that can be learned without spending 3 years twisting your brain around C++ templates, or rust... "rust" is essential. A language that doesn't police you, or prevent you from knowing what your computer is doing in the name of purity and safety. And a language that's fast to compile will encourage people to compile programs in it, whereas certain other languages will make it a huge pain, pressuring people to give up on compiling and just downloading untrusted binaries from their benevolent distrotorship, thinking themselves "open source."

So, yeah. C. And not python. Python doesn't run on anything outside of x86 or arm, and it's just a slow language interpreter on top of C, with invisible syntax so you can't even tell what your own code is.

if condition:
rsrc = resource()
while not rsrc.done():
rsrc.performOperation()
if rsrc.fancy():
print(rsrc.status)
if rsrc.gui:
rsrc.gui.setStatus(rsrc.status)
rsrc.nextStep()

@afreytes based entirely on observed patterns, uhhhh, probably Haskell. Haskell in thighhighs.

I vote OCaml, though, of course, if we’re planning to establish a Glorious Utopia. :P

@afreytes as long as it’s open source and there’s a free compiler, any language will do

@afreytes

C. If I care to, I can find a way to generate specific machine code, or at least corral it by concern, size, speed, etc.

It handles namespaces sorta well, C++ better (though limited).

There can be very tiny C compilers and binaries.

It has abstractions of data big enough to get "most" jobs done.

I can change style or idiom to adapt to the problem at hand.

It's fkn old aka mature. It's mostly boring in the right places.

I'm extremely biased and have no hesitation about being partial or erratic. I just don't care, C erupts from my cells and it makes hardware dance joyfully.

@afreytes I've been using C# since started to work with Unity in 2020, so I guess I'm pretty comfortable with that. Before that it was C++, and before that C. I also dabble in ASM, like 68k, but I am a bit of a weirdo.