this post was submitted on 29 Nov 2024
90 points (96.9% liked)

Asklemmy

44005 readers
1094 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 day ago

gray hairs, mostly

[–] [email protected] 4 points 2 days ago* (last edited 2 days ago)

Eh, depending on what you like to program, C, C++, and Rust are often the only languages that will let you do certain things.

If your specialty can't be done efficiently or effectively with other higher level languages, then you would be justified in thinking of those languages as BS.

Just as a data scientist who specializes in quickly sorting and comparing data with Python or R would consider C, C++, and Rust to be awful tools for the job.

[–] [email protected] 9 points 2 days ago (1 children)

If you are not using a magnetic needle and a steady hand, can you even call yourself a programmer?

[–] [email protected] 2 points 2 days ago

Real programmers use a butterfly.

[–] [email protected] 31 points 3 days ago (4 children)

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)

[–] [email protected] 3 points 2 days ago* (last edited 2 days ago)

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.

[–] [email protected] 1 points 3 days ago

Its BASIC with big boy pants on.

[–] [email protected] 5 points 3 days ago

disdain for C programmers, from LISP programmers, in the Unix Hater’s Handbook (1994)

I'm definitely looking that up.

[–] [email protected] 10 points 3 days ago (1 children)

But we can all agree that JavaScript was a mistake right?

[–] [email protected] 3 points 3 days ago (1 children)

Not using a derivative of Scheme as originally planned was a mistake.

[–] [email protected] 1 points 2 days ago

Have never heard of that, will have a goggle

[–] [email protected] 17 points 3 days ago* (last edited 3 days ago) (1 children)

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(TM) the best language!

[–] [email protected] 4 points 3 days ago (1 children)

My hammer has solved every problem I've thrown at it.

[–] [email protected] 2 points 3 days ago (1 children)

I thought you were supposed to throw the hammer at the nail

[–] [email protected] 0 points 2 days ago

When all you have is a hammer, everything is a nail.

[–] [email protected] 48 points 4 days ago (2 children)

Be language agnostic and use the correct tool for the job.

[–] [email protected] 9 points 3 days ago* (last edited 3 days ago) (3 children)

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 (assuming they don't use entirely foreign concepts like Rust does)

[–] [email protected] 1 points 1 day ago (1 children)

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

[–] [email protected] 1 points 22 hours ago* (last edited 22 hours ago)

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

[–] [email protected] 3 points 3 days ago (2 children)

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.

[–] [email protected] 1 points 1 day ago

The borrow checker checks literally that you don't take foreign things, so there is that.

[–] [email protected] 1 points 2 days ago (1 children)

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

[–] [email protected] 3 points 2 days ago (1 children)

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 :)

[–] [email protected] 1 points 1 day ago

Yeah it’s just the borrow checker and ownership stuff that throws you for a loop. Particularly with large system design

[–] [email protected] 17 points 3 days ago (1 children)
[–] [email protected] 3 points 3 days ago

I mean if you'll look after my kids for a couple of weeks I'm right with you.

[–] [email protected] 2 points 3 days ago

This is the way

[–] [email protected] 10 points 4 days ago (1 children)

I think some people really like iso/iec standards while others find standards "annoying".

[–] [email protected] 1 points 3 days ago

Honestly I don't trust these old, slow standards organizations to do well at designing programming languages.

load more comments
view more: next β€Ί