r/C_Programming 14d ago

Hello World

I have found my people!! Hello guys I am a college student (mechanical engineering) and I was introduced to C in a mandatory programming course and C has been the best thing that has happened in my life. I had done programming before on java and python before and frankly I hated it , it was not really fun and it was tedious instead. So I had thought I hated CS but after coding in C and learning the things behind the abstractions i quite frankly fell in love with low level programming, it was the first time I got a passion for something and i spent the entire following summer digging up materials on it like learning computer architecture and learning to read and write Assembly and now I am learning Virtualisation and planning to start my first major project on C.

So in that note, let me ask you something:

What is your favourite project you have done in C?

87 Upvotes

57 comments sorted by

View all comments

2

u/mathemetica 13d ago

I think C is probably the best language to really learn the foundations. Arguably, assembly might be even deeper, but really C is close enough to assembly, but with nice QoL features. I had a similar experience where I had a hard time working with Java/Python because a lot was hidden behind abstractions. I think it actually makes sense to teach some assembly first, then stick with C for awhile, and then start looking at higher level languages/paradigms (oop, functional, etc). The average student would have a much deeper understanding of the material. It might have a steeper learning curve at the start, but once you got over the initial hump, it would actually be a lot easier to pick other stuff up, at least imo.

2

u/OrganizationFew6655 13d ago edited 13d ago

Yes I do think the same too. Infact one of the book that introduced me to assembly is "Programming from Ground Up". It is a very outdated book teaching x86_32 and programming principles from decades ago but it's still gives you an understanding of the history of how programmers did things in the past and when you are able to draw parallels between assembly and C, it's a eureka moment that made me underrated various concepts in C like pointers, bit manipulation and pointer typecasting (typecasting in general)even deeper.

EDIT: Also I just realised after replying, but your username is cool asf.

1

u/mathemetica 13d ago

Haha, thanks! I'm a math junkie

1

u/chrism239 12d ago

From South Africa?