3 ms·
> The language semantics are trivial to pick up once you have a good foundation Eh, I disagree. It may be trivial to "roughly know" the semantics of most langu
by zodiac 9y ago
> The language semantics are trivial to pick up once you have a good foundation
Eh, I disagree. It may be trivial to "roughly know" the semantics of most languages, but some languages have rigorous semantics that are complex enough as to prevent beginners (or even most programmers) from learning the full rigorous semantics; this means they're forced to rely on the "rough semantics". For example, many gotchas listed at https://stackoverflow.com/questions/530530/python-2-x-gotchas-and-landmines https://stackoverflow.com/questions/530530/python-2-x-gotcha... come from the "rough semantics" most people have in mind not being an accurate reflection of reality. (Not picking on python, I still think it's a great teaching language). In contrast I took a course designed to be a first CS course, taught in Racket, and while beginners will of course spend most of their time learning the "intuitive skill" of programming and knowing what a program means, it is nice to have something to fall back on when those skills fail.
- banachtarski 9y agoI think the reason we disagree is because we have different definitions of the term "good foundation." I will also say that compared to grasping the overall picture, dealing with "gotchas" in various languages (while annoying!) are pretty easy in practice... You encounter something unexpected, reason why it's unexpected (convincing yourself of it takes time inversely proportional to your grounding), look it up, and move on.