Hacker News new | ask | show | jobs
by Kednicma 2174 days ago
I like the bit at the end about studying the classics in Latin and Greek. It helps me see that "language" is not quite the right word for programming systems, and that this wrong word choice has led to writers falsely thinking that learning to program is like learning a second language.

But a language is tied to its execution context and semantics. This leads to either dividing up languages into "natlangs" and "conlangs" depending on usage patterns and style, or to studying programming solely from the systems perspective and ignoring linguistics altogether.

I wonder how things would have been different had we, as a community, rejected this terminology and stance. What if, even further, we had rejected the idea that computing can be made "simple" or "intuitive" or "mainstream", and instead forced folks to learn programming to APIs in order to even use computers.

2 comments

This is the "I like tinkering with cars therefore everyone should be a mechanic" argument.

There's no justification for it. Maybe 20% of the population - at best - is even capable of that kind of programming. [1] Most people simply don't do symbolic abstraction at that level, and forcing them to try would create resentment, not literacy.

And "conlangs" are indeed different to "natlangs." There's definitely a case to be made for teaching everyone at least one extra language. But the kind of abstract thinking required for conlangs is adequately covered by basic STEM.

There might be a case for some very basic experience with programming in schools. But expecting the entire population to be able to do it at a professional level makes no more sense than expecting the entire population to have the same skills as qualified doctors, lawyers, architects, or pilots.

[1] There are fewer than 30 million developers globally, out of a population of nearly 8 billion.

This is the "I like tinkering with cars therefore everyone should be a mechanic" argument.

Everyone shouldn't feel intimidated by trying to change their headlights though. You don't need to program at a professional level or have professional tools to "program" an excel spreadsheet to handle your monthly budget or to write a shell script that searches your photos folder for new files to copy to a back up drive periodically.

If one wants to pay for convenience, OK, but I do think there's real value in equipping the average person with more than some very basic experience with programming.

Yes, and to expand upon the magic word you used: Excel claimed 30mil users in the mid-1990s [0] and various estimates I've read put the current usage at somewhere between 500-600mil users. I think Excel is the most popular domain-specific programming language on the planet.

[0] https://news.microsoft.com/1996/05/20/more-than-30-million-u...

> There might be a case for some very basic experience with programming in schools.

The high school (mid 2010s) I went to somewhat recently had ZERO programming classes and about 4 AP classes. Middle schools had basic typing classes. I am unaware if this is changing at a rapid pace but I would hope we could improve computer literacy by making kids take a few basics classes about things they use every day.

> I like the bit at the end about studying the classics in Latin and Greek.

I did not see a reference to the Classics, Greek, or Latin in the article…

It wasn't explicit, you had to read into this statement (that studying Cicero was studying Latin):

> In fact, though Cicero could never compete with computer games when it comes to ''making learning fun,'' conquering the conjugations of his lost tongue probably makes a lot more sense when it comes to learning to learn than sifting through GOTO statements in Basic, unrelated to our living language.

Adding on, picking on this particular phrase "when it comes to learning to learn": I took Latin and Old English in college, two indispensable (/s) courses for my life (they were actually fun for me, but of greatly limited utility). The main thing I did learn in both (especially as languages and the classics were not my field of study) was how to study. Those were the courses where I finally picked up using flashcards properly, making good notes, etc. just out of necessity (versus my math and CS courses which were, generally, "easy" for me without much effort, I took to them more naturally).

Quoting the article:

> In fact, though Cicero could never compete with computer games when it comes to ''making learning fun,'' conquering the conjugations of his lost tongue probably makes a lot more sense when it comes to learning to learn than sifting through GOTO statements in Basic, unrelated to our living language.

Cicero wrote in Latin, and is generally considered one of the most influential writers to do so. He also was strongly trained in the Greek/Hellenistic traditions and copied many ideas from there into Latin. I think that the author is exhorting the reader to learn Latin rather than Basic, and more generally to learn the classics rather than modern mathematics. For what it's worth, I think we need to study both; we need more Pirsigs, Hofstadters, and Carrolls, who have studied both classical philosophy and also modern computer science.

> I think that the author is exhorting the reader to learn Latin rather than Basic, and more generally to learn the classics rather than modern mathematics. For what it's worth, I think we need to study both;

Agreed.

Thanks for pointing to Cicero as one of the Classics. I know this but completely glossed over the connection, too busy thinking about the then-nascent software industry.