I have met a couple of them in real life, and a few I have met online. The sample is not significant enough to draw any conclusions about their point of view and background.
I am more than interested in your opinions about the personality and political makeup of people who express this type of pro-C bigotry.
gray hairs, mostly
They are wrong. The correct answer is Rust. Have a great day.
I’d like stuff to still compile next year
Rust has strong backwards compatibility guarantees so it definitely should.
Rust has certain backwards compability, always.
Doesn’t language editions solve that problem? (I am not a Rust expert so please correct me if I am wrong.)
Pascal is super fast in that regard 😄
Many programmers that work in Low level languages like Assembly or C regard high level languages as easy or slow and thus tended to dis them.
John Carmack (Doom, Quake engine, considered an amazing programmer) Best Programming Language has a wider appreciation of IDEs and Languages.
In my opinion, C purists are people who REALLY need to wash their fucking dishes, touch grass and get some sunlight. They get too worked up because “all the important things are written in C”, the important things being drivers, kernel and most basic stuff that OS needs.
Whenever one talks about performance, just reply with “use Assembly” and their argument is immediately invalidated. You can also mention networking, fault tolerance and how Erlang does a much better job than C or C++ could do, which is why “real adults with real jobs” created it in the early 90s
But mostly, it’s ironic that they’re becoming C-Conservatives, blaming the “hot new language” for bringing “the kids”. You can read the same kind of logic and disdain for C programmers, from LISP programmers, in the Unix Hater’s Handbook (1994)
Nah, I like using C for low level stuff, it balances that it’s reasonably high level and procedural with pretty great performance, size and flexibility. ASM is faster, but you are slower when it comes to understanding someone else’s work.
For projects that aren’t size or performance sensitive, write it in python or whatever the fuck you like, idgaf.
disdain for C programmers, from LISP programmers, in the Unix Hater’s Handbook (1994)
I’m definitely looking that up.
But we can all agree that JavaScript was a mistake right?
Not using a derivative of Scheme as originally planned was a mistake.
Its BASIC with big boy pants on.
They see the scale of high-level to low-level languages. They see that C is on the human-practical low end of this scale. They ascribe value to being on the low end of the scale. Tada! C is now objectively™ the best language!
My hammer has solved every problem I’ve thrown at it.
Be language agnostic and use the correct tool for the job.
It’s crazy to me that people don’t do this, once you’ve learned a few languages you can basically just pick up new ones straight away (assuming they don’t use entirely foreign concepts like Rust does)
Rust can be picked up the same way. I was in the situation you describe. Knew a dozen languages. Picked up rust and really enjoy it. It added a dimension to my thinking (ownership). I feel closer to the metal yet safe. That said, it still gets tricky with system design. That’s where it’s a lot harder due to ownership stuff. Just syntax wise it’s not bad tho
It might be because I’d never used C but I really struggled to pick up rust for a month or so until it stopped feeling like
Which foreign concepts do Rust use? The borrow checker/ownership is new but that’s really the only thing that doesn’t already exist in some other language.
The borrow checker checks literally that you don’t take foreign things, so there is that.
The borrow checker, the way it handles exceptions and nulls, the way it handles stack/heap (possibly foreign to me because I’ve never done much on C), composition pattern instead of oop, probably more I’m forgetting
The borrow checker
This is indeed pretty unique.
the way it handles exceptions and nulls
This is really just the fact that Rust has sum types - but those kinds of types have been used in many functional languages (Haskell for example) for a long time.
the way it handles stack/heap
This is just the same as C and C++ and any other low-level language that requires you to distinguish between the stack and heap.
composition pattern instead of oop
I mean if you’re only looking at OOP languages then this will be new, but functional languages have done this for a long time.
So yea, I think a big part of what makes Rust great is that it has managed to take these really, really good ideas from functional programming languages and made them work in a language that is not entirely functional. This leads to a perfect blend/best of both worlds with regards to OOP and functional programming :)
Yeah it’s just the borrow checker and ownership stuff that throws you for a loop. Particularly with large system design
The best way to engage them is to ask them about their projects. I usually find them to be very knowledgeable, have a lot to learn from, that you can mix in with your more recent languages.
Win/win beats calling eachother bigot :)
Feel free to tell us about your project then.
I’m working on a minesweeper inspired rogue like, in javascript