3 ms·
Learning how to program is intellectually challenging actually. Not fully understanding all primitive operations while they teach you to try to execute programs
by mettamage 4y ago
Learning how to program is intellectually challenging actually. Not fully understanding all primitive operations while they teach you to try to execute programs in your mind (rather than using a debugger) is madness. It was to me anyway.
When you get past that point, yea, then I agree. The intellectual challenge for most programs is gone. Not for everyone though, I have a friend working for a HFT firm. The shit he encounters is hardcore.
- zozbot234 4y agoThe biggest obstacle is not grokking that programming is a formal system, just like math - that it is possible to understand programs in your mind in a well-defined way. Much intro-to-coding education tends to leave this unstated, and starting with supposedly "intuitive" but actually very complex, higher-level languages makes it even harder to point out. Imagine a world where all programming was done via heuristically-derived ChatGPT prompts spelling out what the system has to do in lawyer-like detail. That's what lots of non-coders have in mind when they think of what "coding" must be like. Of course that would be totally unworkable; coding only works because it's formal and 100% reliable.
- gbuk2013 4y ago> coding only works because it's formal and 100% reliable This is not true for distributed systems: clock skew that is unpredictably different on different devices and networks are inherently unreliable. Real word physics is messy. :)
- hbrn 4y ago> The biggest obstacle is not grokking that programming is a formal system, just like math I think there's danger in this mindset. Unlike math, programming is always directly tied to real-world problems. And those are defined by humans. Who, as we know, are not very good at being formal. In my experience, the biggest obstacle is actually not recognizing the informal part. Trying to stay in our own little world of formalities and treating the real world as a nuisance to our grand designs. Calling yourself a computer scientist might be pleasing to our egos, but at the end of the day most of us are software engineers. We are the conduit between formal and informal. There's no shame in that.
- zozbot234 4y ago> Unlike math, programming is always directly tied to real-world problems. Huh? You think that math is not tied to real-world problems? That it's not useful for modeling the real world? It's not like programming is doing something inherently different.
- spacemadness 4y agoThey didn’t say math is never tied. They said programming is always tied. Maybe that in itself is debatable but you’ve changed the argument.
- hinkley 4y agoApplying all of that knowledge is emotionally challenging though. On any given day I’m dealing with avoidant behavior. Every time I have to refactor code that shouldn’t have needed it at this point, I’m approaching something that has already been avoided once, by me or usually a few particular coworkers. Some of us saw a CS degree as a route to living in your own world of imagination and are disillusioned by finding out just how much that is wrong, or defensively cling to that illusion to the point of near fisticuffs if someone tries to burst that bubble.