Live data from Hacker News

Should every programmer learn C as their first programming language?

guidena2codes.com

1–10 of 67 posts

Re: Should every programmer learn C as their first programming language?

#2
The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else.

In my experience, the best course of action is to learn whatever you need first.

For those considering programming as a hobby/occupation, being told to learn a relatively complex and unpractical language would raise the bar of entry.

Re: Should every programmer learn C as their first programming language?

#3

The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else. In my experience, the best course of action is to learn whatever you need first. For those considering programming as a hobby/occupation, being told to learn a relatively complex and unpractical language would raise the bar of entry.

C is a very simple language. much simpler than js

you can write a C compiler in just a few thousand lines.

Re: Should every programmer learn C as their first programming language?

#4
If you don't get a sense of achievement and progress when you're learning you'll quickly get frustrated. Starting with a "simple" language like Scratch might teach you things more slowly but you're less likely to quit so it's a much better choice.

Re: Should every programmer learn C as their first programming language?

#6
i learnt most about computers programming C and assembly, its very interesting and helps me every day not only in programming but in any computer related issues or quetions. It was a tip to learn it someone gave me a long time ago and i am still grateful they did it. It has also taught me a lot about debugging and memory inspecting due to the issus you will surely encounter :D (fun fun!)

The fact that learning C is good, isnt the same as 'C is good or C is better', i do realise it has it's applications and that certain programming patterns are just much easier and safer to implement in languages better optimized for that pattern.

That being said you can program and make any pattern in C and C will force you to understand these pattenrs thoroughly. (your code litteraly won't run if you dont , and if it does, it's probarbly not doing what you expect!)

Re: Should every programmer learn C as their first programming language?

#7
I agree with meatbundragon's comment "learn whatever you need first", but for a computer science degree program, I've held the opinion for a decade that students should learn Python first to get a feel of how humans should think and then C in their second year to learn how computers think.

Assembly is too niche for all students to learn it, and Java/C# are each too isolated from other environments, whereas C is behind most everything we use and teaches you about linking/compiling more than any other environment. After students are comfortable with Python and C, they or their program can choose whatever they find fit for their goals.

Re: Should every programmer learn C as their first programming language?

#8

The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else. In my experience, the best course of action is to learn whatever you need first. For those considering programming as a hobby/occupation, being told to learn a relatively complex and unpractical language would raise the bar of entry.

C is a very simple language. much simpler than js you can write a C compiler in just a few thousand lines.

C with its unsafe pointers, unsafe memory management and unsafe types is the worst language to learn for the beginning. It's good to know and learn as 2nd language, but for the beginning you need to learn proper concepts, not broken concepts.

Lisp is still the best language to learn, but any proper scripting language will do also.

PS: "proper scripting language" of course excludes PHP and JavaScript. Dart is fine.

Re: Should every programmer learn C as their first programming language?

#9

The article's main point is that learning C first makes it easier to learn the language a programmer will actually use, be it Javascript or something else. In my experience, the best course of action is to learn whatever you need first. For those considering programming as a hobby/occupation, being told to learn a relatively complex and unpractical language would raise the bar of entry.

C is a very simple language. much simpler than js you can write a C compiler in just a few thousand lines.

C is also a terrible learning language, much harder to reach the "get things done" stage than most other languages.

You can spend weeks segfaulting in C before you get things actually working, and for a beginner — especially self-teaching/unsupervised — it's extremely easy to rely on compiler-specific behaviour in the face of UBs.

When learning, if the only choice were C or assembly I'd actually recommend assembly.

Re: Should every programmer learn C as their first programming language?

#10
I'd say learn C if you need to think on that abstraction level. For a lot of things, you don't need to think of a computer as much more than a bunch of names that are either data or functions. Some GC will clean up after you.

If you're working on a problem where it actually matters where the data is and when it's deleted, start looking at C.

For me this is a pretty sharp distinction. If you're not used to messing about with pointers, you'll need a bit of time to learn this.

Post reply on HN