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.
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 :)
It’s no different from anyone else with arbitrary, narrow-minded views. People like that, whether they realize it or not, don’t believe in the intrinsic value of personhood.
This extends to their view of themselves and creates a need to feel valuable for some other reason. So they create a narrow idea of what it means to be good and valuable and it just so happens to align with their own traits, interests, and beliefs.
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.
I took an assembly language course once. You know those merge games where you eventually get to double or quadruple your producer’s output? Coding in assembly feels like being stuck on 1x, where you have to generate all the basic stuff first, and then build on it, then build on it some more. It takes forever.
I liked understanding the why behind it. But I appreciate other languages that are more accessible.
Yep, it can also be the answer to getting insane performance gains for extremely specific functions / calculations.
The reality of life is the higher level languages let you get more done with fewer errors but with less potential performance… You can only optimize python so much. Some newer languages like Rust try to balance the two but often make things more complex.
John Carmack
He’s great indeed. Thanks for the reference.
Also what he says about LISP reminds me of The Bipolar LISP Programmer article.
“First we get rid of strict typing. What’s next, setting a boolean variable equal to a string?!?”
If you look back at the arguments against interracial marriage, they mirror almost all of the arguments against gay marriage to the letter. Some people are convinced that their world as it exists when they come of age to participate in it is the way it should always be. So my bet is that their deal is they don’t want to learn anything new. Learning can be hard and it’s not always fun to learn and more importantly the global capitalist society constructed for us is not conducive to learning so people are greatly encouraged NOT to learn.
As an older coder, I’ve spent time commercially programming in a lot of languages (C, C++, C#, Python, TransactSQL, Javascript, and a few more - with many years of experience in each. I even spent time squeezing some forth code into a small programmable chip.
My first comment on this « attitude » expressed above is that you need to pick the language (and its libraries) that is best for your problem space - each will have advantages, including constructs and libraries to suit whatever domain you are working in. Hence forth for a microchip, TransactSQL for DB stored procs, python for general purpose command line work etc.
Having said that I do want to present one viewpoint which could give rise to this above expressed opinion. It’s an area that C is considered pretty strong - specifically language complexity. When coding in C, I really felt like I knew every nook and cranny of the language, exactly how every structure would be packed, what the assembly would probably look like.
Python (and perhaps C#) are currently my favorite languages - python only has 36 keywords and while I don’t have the same solid grasp of what’s happening under the hood, I do feel like there are very few surprises and corner cases to the language, even while supporting some complex programming methodologies.
The opposite of this is (IMHO) swift. What started as a really nice language with a clean syntax and solid libraries has morphed into a monster with 232 keywords. Does any swift programmer have a solid grasp of it all?
I would say that C++ is at the complicated end of the spectrum - spend some time inside Boost and their extreme use of templates/meta-programming and it will make your head spin. The Boost developers are super smart people, but its non-trivial to understand what is going on. Having said that, C++ does make you feel that you can code close to the machine and have a good handle on what is happening under the hood.
This level of control is probably one place where this « only C and C++ code is any good » attitude came from. Its not an attitude I support.
C++ is one if those languages where writing a library feels hugely different from using it. Boost is a case in point here: there are brilliant peiple behind it, but (error messages aside) the ergonomics of using thise libs in an application are usually pretty good.
(Scala felt similar to me. There are other languages where it feels much less like I’m swapping hats as I flip between parts of a codebase.)