6 ms·
As a non-C user, C was always too forboding. I wrote a bit of it, and read K&R, but places like HN bang into your head that you'll likely make a horrible screw-
by qwertyuiop924 10y ago
As a non-C user, C was always too forboding. I wrote a bit of it, and read K&R, but places like HN bang into your head that you'll likely make a horrible screw-up writing C, your code won't be secure, and it's better not to bother. Maybe I should spend some more time with it.
- sn9 10y agoIt's definitely a worthwhile educational experience, even if you never write in it professionally. If you can solve the problems in K&R, a good book to work through next is Computer Systems: A Programmer's Perspective [0]. Coursera used to have a course called The Hardware Software Interface [1] which covered the same material, but it doesn't seem to be availble right now. [0] http://csapp.cs.cmu.edu/ http://csapp.cs.cmu.edu/ [1] https://www.coursetalk.com/providers/coursera/courses/the-hardwaresoftware-interface https://www.coursetalk.com/providers/coursera/courses/the-ha...
- blt 10y agoYou might enjoy trying some embedded development. Memory management and object lifetimes are usually less complex, and security is not an issue unless the device talks to the internet. You rarely feel like you are "fighting" C; it feels like the right tool for the job.
- qwertyuiop924 10y agoWell, that's because it IS the right tool for the job. C was built for systems programming: kernels, filesystems, and the like. It really wasn't built for applications space programming.
- sdegutis 10y agoNo, C wasn't built for those things. Rather, it just so happens to be suitable for them. C was built as a higher-level alternative to assembly, for writing any kind of computer programs.
- qwertyuiop924 10y agoYou can say that, but Dennis and Ken were writing Unix. The language got its feature set from what they needed for that application. And that application was systems programming.
- sdegutis 10y agoRight, and Unix had things like calculator programs, spreadsheet programs, email programs.
- qwertyuiop924 10y agoYes, but those aren't the projects that dictated the featureset of C.
- atilaneves 10y agoYou _will_ make a horrible screw-up and your code _will_ be insecure. However, it's worth the bother as an educational experience. For anyone wondering, I write C for a living, learned C 22 years ago and I hate writing every line of it (now, I liked it in the beginning).