5 ms·
I'm a novice just building my first 2k+ program and the thing that seems crazy to me is that based on what you learn in intro courses, thinks like namespaces an
by aaavl2821 9y ago
I'm a novice just building my first 2k+ program and the thing that seems crazy to me is that based on what you learn in intro courses, thinks like namespaces and organization and modularization not only aren't emphasized, but seem like unimportant distractions from the core task of programming
Based on all the blogs and HN comments and comments here, that couldn't be further from the truth. Are these just things you learn from experience / mentors?
- DougN7 9y agoYou learn them when you need them. They're just extra overhead on smaller projects so they're ignored... until the project grows and they can't be ignored any longer.
- phunehehe0 9y agoI suppose the courses were encouraging to start with something, anything, instead of trying to get everything perfect on first try. And then perhaps the "and then learn these next" part gets lost...
- user5994461 9y agoDepends what language you work is. Java for instance is very good at this and everything is always organized, whereas C has no notion of namespace or package.
- epicide 9y agoLearn to crawl before you walk. Learn to walk before you run. As far as where to learn these things: there are some books that talk about more broad topics than just how to use a particular tool/language. Those are more supplemental to experience/mentors, though.
- dahart 9y ago> thinks like namespaces and organization and modularization not only aren't emphasized, but seem like unimportant distractions from the core task of programming There's an analogy I've heard, and I can't remember where. It might be a Feynman quote I'm recalling... It'd be crazy to start design work on an airplane, if you're hungry and want to go to the corner store a block away for chips. It'd also be crazy to try to walk to China, since it's a long way, and also you might drown. The approach you take to solving the problem of getting from here to there depends completely on where here and there are, and what else you want to carry with you. I don't use namespaces and build modules for an Arduino project, or a simple command line tool. But for large projects, I literally can't live without namespacing and modularization. The core task of programming constitutes very different activities at different scales, as different as comparing walking to building jet engines.