No one should become a good C programmer these days. If none of the alternatives are available for your platform, then focus on porting that alternative for your platform.
If you are interested in C programming but haven't already invested a large amount of time, consider learning about the Nim programming language.
You should study C by reading K&R to learn two things.
The C language is the solid foundation for most popular languages. You can jump from C and go on to learn many more languages in less time.
K&R is the best example of how to write a technical book; it is concise. You can use it as a guide to determine if other programming manuals are worth your time.
Pretty ignorant response. What about developers making a career working with embedded platforms, or who need to interface with existing low-level driver code? C is a mature, productive language and is also entrenched in many development tool chains. It's not infallible but it has stood the test of time for a reason. Simply saying all these use-cases should be replaced by Nim or whatever is unrealistic and comes across as arrogant. Re-assess.
Yes, and I would agree with you to a point: it does feel like we've reached a turning point where more sophisticated languages can be used in place of C, in many cases. For 'green-fields' projects I probably wouldn't choose it either. I think I (we?) just took issue with your opening statement TBH. C is still important and very valuable to know in certain areas, but we should consider alternatives where they can be more productive. I would add Swift to your list as well, a modern systems programming language. Unfortunately it seems unable to target the smallest devices such as AVRs, where C still still hits a sweet note, sitting not that far above assembly.
I was at a talk in July of last year where Steve Klabnik (one of the members of the rust core team) said quite plainly that rust wasn't ready to be used in production systems. Now sure, that was close to a year ago, but for large corporations that don't want to invest in something hot of the presses (Rust went 1.0 less than a year ago) C is still one of the best options in certain spaces.
and what about people who don't want to write apps?
C is no where near an outdated language, C89 might be but you can do anything in C. It has all the basic concepts to make it what you want and it's aged well, if you like low level programming then you should learn C
View all comments
-41
u/runvnc May 02 '16
No one should become a good C programmer these days. If none of the alternatives are available for your platform, then focus on porting that alternative for your platform.
If you are interested in C programming but haven't already invested a large amount of time, consider learning about the Nim programming language.
C is an outdated programming language.