Ask HN: Does learning C really help you develop better software?
2 comments
C allows you to interact directly with your OS (especially true for unix
OSes). This in turn helps you to understand how a specific higher-level feature
is implemented, how can it be used, how and when can it fail, and how to debug
it in all the other programming languages, like `subprocess' module in Python,
polling descriptors (any language), or ports in Erlang.
C gives you a behind the scenes look at most abstractions you use in terms of data structures. You create and destroy things such as lists, trees and such. You manage your memory manually and that let's you appreciate the work people put by making languages that do those things for you but you also learn a lot in terms of abstraction.
There are surely languages you use or will use which implementations are in C ( Python for example )
I think it's somewhat similar to a question with JVM languages. Do you have to learn a bit of Java to get a deeper understanding of Scala of Clojure?
Do you have to learn a bit of Latin to express yourself in English or Italian a bit more fluently?
There are surely languages you use or will use which implementations are in C ( Python for example )
I think it's somewhat similar to a question with JVM languages. Do you have to learn a bit of Java to get a deeper understanding of Scala of Clojure?
Do you have to learn a bit of Latin to express yourself in English or Italian a bit more fluently?
The other part of the same question I would want to know is, whether C improves our expertise and geat intuition of problem-solving in data structures and algorithms.
It could be in any domain, be it web development, or any other.