3 ms·
Ask HN: Does learning C really help you develop better software?
The question encompasses for both Beginners and Professionals for building expertise and great intuition in building software.
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.
- gabluc 10y agoC 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?
- dozzie 10y agoC 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.