4 ms·
A lot of people give theory a lot of crap. But that's normally because they are not comfortable with the material. If you are comfortable with the material, yo
by vbtemp 6y ago
A lot of people give theory a lot of crap. But that's normally because they are not comfortable with the material.
If you are comfortable with the material, you see applications for it all over the place, and use it all the time. Sure, you don't have to ground your system in some kind of formal model (you can just code-til-it-works), but when you do I've found it always ends up as a far simpler and more resilient product.
It's kind of like people who complain that math is useless in school and you'll never need it. Sure, if you never really master it, you'll never be able to use it, so you'll make things kinda work in ways that don't strictly require it, and then conclude it's useless. Meanwhile, if you are familiar with it, your prospects are broader, you may have to use it, and you'll see how it was absolutely relevant and important to know...
- chmod775 6y agoI found it also helps with the hardest problem in software development: naming things. Without knowledge of the theory it can be hard to come up with a descriptive name for some data structure/algorithm you created to solve your problem. With some knowledge of the theory you can more easily put a name to what you have created, making it easier for other people to understand and giving them something to Google if they're unfamiliar.
- m463 6y agoBut loop variables are always i, j and k.
- anthk 6y agoExcept in EE.
- noir_lord 6y agon for me for a long time but that’s BASIC showing through. > It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.” - Edsger Dijkstra
- commandlinefan 6y ago> naming things There are two hard problems in computer science: naming things, cache invalidation, and off-by-one errors.
- nanomonkey 6y ago>> naming things >There are two hard problems in computer science: naming concurrency >things, cache invalidation, and off-by-one errors.
- danielscrubs 6y agoWhat’s wrong with FactoryProducerProxy? /jk
- m463 6y agoI think people are ready for things at certain times. I think history class was wasted on me in high school because I was a kid and didn't have much life experience. But years later with a better grasp on human nature I think I would have had a better grasp. Another example is a foreign language class. I took it in middle school, in high school and later in college. I learned lots and lots of theory for many years. But only when I went to another country did I learn I hadn't learned. I think theory needs to be combined with: experience and practice.
- asdf21 6y agoAgreed. The reason its not that way is that schools are mostly state-run daycare programs, setup so that parents can work, not a genuine implementation of skill building.
- mehrdadn 6y agoIf you agree, the logical takeaway from > I history class was wasted on me in high school because I was a kid and didn't have much life experience. But years later with a better grasp on human nature I think I would have had a better grasp. would not be > Schools are mostly state-run daycare programs, setup so that parents can work, not a genuine implementation of skill building. This is due to the nature of the topic, not its pedagogy.
- de_watcher 6y agoNo, the reason is that the people who teach are naturally of greater experience and age. When you reach their age/experience they are starting to make sense.
- bcrosby95 6y agoI've always sort of wished I could go back and get my CS degree after I had a few years experience in industry, instead of getting it before. I feel like I would have appreciated what I was learning a lot more.
- Kalium 6y ago
- agumonkey 6y agoThere's often a gap in abstraction where you just don't see the point nor the value.. until you do. Follows the usual enlightened 'aah'
- Barrin92 6y agoE.S.S Schumacher described this very well with his concept of adequatio "What enables man to know anything at all about the world around him? … Nothing can be known without there being an appropriate “instrument” in the makeup of the knower. This is the Great Truth of “adaequatio” (adequateness), which defines knowledge as adaequatio rei et intellectus — the understanding of the knower must be adequate to the thing to be known.[...] For every one of us only those facts and phenomena “exist” for which we posses adaequatio, and as we are not entitled to assume that we are necessarily adequate to everything, at all times, and in whatever condition we may find ourselves, so we are not entitled to insist that something inaccessible to us has no existence at all and is nothing but a phantom of other people’s imaginations.[...] There is nothing more difficult than to become critically aware of the presuppositions of one’s thought. Everything can be seen directly except the eye through which we see. Every thought can be scrutinized directly except the thought by which we scrutinize. A special effort, an effort of self-awareness, is needed: that almost impossible feat of thought recoiling upon itself — almost impossible but not quite. In fact, that is the power that makes man human and also capable of transcending his humanity."
- vbtemp 6y agoThis is a much more pithy and compressed way of saying what I tried to say above, thanks