this post was submitted on 09 Sep 2024
263 points (97.5% liked)

196

16582 readers
2435 users here now

Be sure to follow the rule before you head out.

Rule: You must post before you leave.

^other^ ^rules^

founded 1 year ago
MODERATORS
 
top 22 comments
sorted by: hot top controversial new old
[–] [email protected] 38 points 2 months ago (2 children)

Frieren because arcane knowledge is required or Frieren because it takes years to master?

[–] [email protected] 11 points 2 months ago
[–] [email protected] 8 points 2 months ago

Frieren because odd spellbook.

[–] JusticeForPorygon 34 points 2 months ago (5 children)

Just started uni and theyre having us learn C

It's only been a couple weeks and it's not too bad, but every time I bring up to someone that I'm learning C they express sympathy, which makes me think I'm eventually gonna hit a brick wall of a learning curve.

[–] [email protected] 48 points 2 months ago* (last edited 2 months ago) (2 children)

It's mostly because C is notorious for not holding your hand and not telling you when you mess up. Write one past the array's length? Might do nothing, might crash, might mess up some other data, might crash later in somewhere completely different.

[–] JusticeForPorygon 14 points 2 months ago

I spent 30 minutes looking over my code because I forgot a semicolon after defining an integer :(

[–] [email protected] 14 points 2 months ago

Or in some cases might crash 8.5 million computers worldwide.

Yes the Crowdstrike crash was caused by going 1 past an array length, caused by a magic number index and a regex mistake, and wasn't caught because the tests didn't work.

The whole thing was a compound series of amateur mistakes, but with kernel access at boot time.

[–] ThePyroPython 26 points 2 months ago* (last edited 2 months ago) (1 children)

Oh yeah pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to pointers to a null.

Fig. 1 - Meanwhile your C programming lecturer.

[–] JusticeForPorygon 4 points 2 months ago

Literally lol.

[–] sandalbucket 25 points 2 months ago

It’s really not bad, you just have to rememb

Segmentation Fault - Core Dumped

[–] zib 14 points 2 months ago* (last edited 2 months ago)

C isn't all that bad once you understand the incredible power you can wield with it. It's more limited than C++ due to lack of proper OOP, but still very usable and nice to know as a foundation to C++ and other languages. I've been rocking both for the last 20 years and they're still my favorites to use.

[–] sabin 1 points 2 months ago

Honestly C imo is not that bad. It's actually a very small specification. There's not much to it. The actual amount of code you'd need to create a working C compiler is relatively tiny.

It stuck around all this time because concepts like null-terminated strings, arrays decaying to pointers, etc. are all very intuitive if your working in a language that's built to be as minimalistic and simple as possible.

If you understand these things I'd say you're already past the learning curve. Now just make sure you remember exactly how type definitions are parsed so that contrived type declarations don't cause you to lose marks on an exam.

The difficulty with C imo comes with people needing programming concepts abstracted away from them because they never actually learned how their computer represents or processes data.

[–] TallonMetroid 10 points 2 months ago

It figures that the one time Detect Mimic really was a false positive, she got a C textbook out of it.

[–] yogurtwrong 7 points 2 months ago
[–] [email protected] 5 points 2 months ago
[–] [email protected] 5 points 2 months ago (1 children)

Don't mind me, I'm just setting up the popcorn cart for when the programmer arguments start. I'll share.

[–] greedytacothief 6 points 2 months ago

I really want to make a joke about C, but I'm not a very good programmer. Maybe:

"A magical tome that makes you feel insecure."

[–] [email protected] 4 points 2 months ago
[–] hypertown 4 points 2 months ago
[–] TriflingToad 3 points 2 months ago* (last edited 2 months ago)

Wait. It gets better, there's LOADS of these. There's a whole ass GitHub repository of them. Ultra turbo nerd stuff https://github.com/cat-milk/Anime-Girls-Holding-Programming-Books

Also, it's over 5 years old and is still getting updates today (as content is commited)

[–] desertdruid 3 points 2 months ago

That book was a godsend for me in university

[–] frankgrimeszz 1 points 2 months ago

C is fine. C++ will make or break you.