|
|
|
|
|
by roosterdawn
2180 days ago
|
|
> None of ecosystem, long term ownership, iteration, or codebases at scale are relevant to a foundational language (i.e. one that is being taught in order to teach the concepts of programming.) I cannot agree with this. Embedded in this argument is the idea that syntactic specialization towards pedagogy is a worthwhile goal rather than ramping up a pupil towards where they'd be able to function independently as a software engineer by giving them a solid theoretical and applied foundation. Part of being an engineer is learning how the quirks of the language evolved, the history of how it got to be that way, and what it means in terms of the long term evolution of the language and ecosystem as collectively reasoned through by the eyes of skilled practitioners. You get to see the decision making process of language design, and how the plan became a prototype became a battle hardened tool that can adequately work in a variety of real situations, well enough to gain a significant plurality (or mindshare) for a specific real world use case. Just because studying Latin is useful for understanding English at a deeper level doesn't mean it's a good idea to learn Latin before learning english. It doesn't change the fact that a) immersion is the best way to build fluency, and b) fluency is the goal, does it? What makes programming languages any different? |
|
At this stage, keeping people away from excessive boilerplate ("public static void main" is confusing), libraries apart from something that makes the teaching process easier, version control, and so on all contributes to teaching the programming process, which is hard enough as it is.
By all means, introduce those things when they get to software engineering, but by that stage the need for a foundational language has passed and people should be able to pick and learn whatever languages or other tools suit their specific needs.
> Just because studying Latin is useful for understanding English at a deeper level doesn't mean it's a good idea to learn Latin before learning english.
The flaw with this analogy is that it's not about "at a deeper level", it's more like learning simple English and not getting bogged down with subjunctives and constructions like "I had had a hotdog", as those can come later and aren't important right now.