Live data from Hacker News

Code is not a foreign language, and high schools shouldn't treat it that way

nytimes.com

151–160 of 191 posts

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#151
post #29

I don't think anyone seriously thinks that learning a computer language is in any way equivalent to learning a foreign language. But it is useful to pretend that it does, so that we don't have to ask the real question: Should everyone be required to study a foreign language in school? My answer is no. I took a year of Latin in high school and hated it, and have never thought about it since. It was a huge waste of tim…

I think it depends on the foreign language; some are more useful than others. I probably wouldn't use Latin all that much, whereas having a basic understanding of Spanish does come in handy (at least here in the US).

I'm by no means fluent in Spanish (even after taking two years of it in high school), but if at least some of it stuck then I'd say that's better than nothing. Not saying there ain't better ways of getting that education, but it's a start.

I've since found that I rather enjoy a lot of Spanish-language media (especially television and music); I'm - again - nowhere near sufficiently fluent to understand everything, but I know enough to be able to appreciate it instead of writing it off as gibberish.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#152
post #144

It is clearly not a foreign language, but it might honestly be a better substitute for most students' time. In the US, a foreign language can be a great thing to learn, but with our failing math and science teachings, perhaps shifting towards CS instead might be a good idea for helping many high school kids prepare for a STEM dominated job market. From the article: "It stems from a widely held but mistaken belief tha…

It's fashionable to dismiss the humanities today, but we're not talking about Latin here. Speaking Spanish or Mandarin or Hindi is tremendously practical and opens up a wider range of opportunity than learning to code. CS is great, but it's not for everyone, even those who do pursue CS can benefit from being able to communicate with more people.

I passed high school Spanish through the third year at a top-50 California public school. Later when visiting Argentina people found my speech near-incomprehensible, and I could barely get the gist of a typical newspaper story. That was a couple decades later and it's not nothing, but it was nowhere near worth the time it took.

If you're genuinely motivated to learn a language you can do a much better job (and I did, with French as an adult; yes, the Spanish long ago did accelerate that a bit).

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#153

No more than a jelly fish is a fish. Code is a mixture of logic, math, statistics and abstracted electronics diagrams. The typical programing language is a natural language only to the degree those others are. Which is to say it's not. At least in any normal definition of the term.

Yes and no Code also contains the perspectives of the native language the coding system was written from - which for most code languages is English (and all too often USA centric). This may have indirect consequences, eg handling of date/time or spacial measurements or direct in terms of how code itself is organized. (the naming of functions has bias for instance - it directs the reader's attention towards assumption…

"Arrival"

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#154

Earlier quoted context omitted.

I feel like teaching coding is a waste of resources, for several reasons: there's a glut of material readily available for individual study; what's taught will be largely irrelevant when the student graduates; and importantly, it will likely be poorly taught. Good CS teachers can probably get jobs paying 3x as much, so only the most dedicated will stick with teaching. My opinions are probably biased because I had an…

I had a similar experience. My first programming teacher in high school was also my geometry teacher; a subject he taught extremely well (at least from my 15 year old point of view). His programming class however sucked all the fun out of it. His brother-in-law was a retired manager at Motorola and gave him a bunch of (even for the time) thoroughly obsolete suggestions: Everything started with being handed a specific…

> Everything started with being handed a specification. From there, you had to write a solution in pseudo code, which was a separate language from the one we were learning (TrueBasic I believe). Once your pseudo code was handed in and approved, you could begin programming; however, you had to document up-front all the variables you were going to be using and document their purposes. In addition, you had to explain in plain english what each subroutine did and what variables it would access and state whether it would simply read or read and write them (and then explain why).

I think that's good to start with, for a start it's mostly just the CS equivalent of "showing your work". It's also important to they develop the ability to break a problem down and to beginners doing this at the same time they're fighting the compiler can be overwhelming. I agree exploration and creativity are important, but they could make room for that as well, more so when they're more comfortable with everything else.

As an approach it's quite similar to literate programming, which still has it's champions.

> Sadly, this was 1998, and I suspect software development hadn't operated like that for a good 15-20 years (or if this was a weird practice localized to Motorola in the 70s)

I think we're about the same age, but when I entered the industry (05-ish) UML (https://en.wikipedia.org/wiki/Unified_Modeling_Language) and gantt charts wer in decline as agile became the hot new thing.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#155
post #144

It is clearly not a foreign language, but it might honestly be a better substitute for most students' time. In the US, a foreign language can be a great thing to learn, but with our failing math and science teachings, perhaps shifting towards CS instead might be a good idea for helping many high school kids prepare for a STEM dominated job market. From the article: "It stems from a widely held but mistaken belief tha…

It's fashionable to dismiss the humanities today, but we're not talking about Latin here. Speaking Spanish or Mandarin or Hindi is tremendously practical and opens up a wider range of opportunity than learning to code. CS is great, but it's not for everyone, even those who do pursue CS can benefit from being able to communicate with more people.

It is somewhat practical if there is no opportunity cost, but there is an opportunity cost. Four years of a normal class is nothing. If you devote 4 hours per day for a decade, sure... but that is a lot of time that could be better used for so many other things.

Then, OK, so you learned Mandarin but it turns out you need Hindi. Oops. All that time was wasted because you incorrectly guessed which language (of hundreds) might be useful many years later. Not that it matters of course, because by then you've forgotten the language you learned anyway.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#156

No more than a jelly fish is a fish. Code is a mixture of logic, math, statistics and abstracted electronics diagrams. The typical programing language is a natural language only to the degree those others are. Which is to say it's not. At least in any normal definition of the term.

Yes and no Code also contains the perspectives of the native language the coding system was written from - which for most code languages is English (and all too often USA centric). This may have indirect consequences, eg handling of date/time or spacial measurements or direct in terms of how code itself is organized. (the naming of functions has bias for instance - it directs the reader's attention towards assumption…

Beyond cultural influences, they also reflect a strange human conception of logic. We have an intuition of the concepts "AND", "OR" but not for "NAND" which would be much more convenient. We also merge implication with causation to create an idea of "if x the y".

If a jelly fish, remorah or shark built a programing language, I too wonder what it would like like. Maybe we can get an AI to make one someday and see what happens.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#157
post #144

Earlier quoted context omitted.

It's fashionable to dismiss the humanities today, but we're not talking about Latin here. Speaking Spanish or Mandarin or Hindi is tremendously practical and opens up a wider range of opportunity than learning to code. CS is great, but it's not for everyone, even those who do pursue CS can benefit from being able to communicate with more people.

I passed high school Spanish through the third year at a top-50 California public school. Later when visiting Argentina people found my speech near-incomprehensible, and I could barely get the gist of a typical newspaper story. That was a couple decades later and it's not nothing, but it was nowhere near worth the time it took. If you're genuinely motivated to learn a language you can do a much better job (and I did,…

You're correct, but the same thing can be said about any grade school subject.

Grade school and a lot of undergraduate work are often about breadth, and you'll never know where your interests lie and how you'll want to apply your knowledge to a career until you have some exposure.

Inevitably, some percentage of people taking math in high school will become engineers, mathematicians, or scientists. Some percentage of people taking English or Social Studies will become project managers, politicians, marketing professionals, etc. Some percentage of foreign language students will do business with a foreign country or otherwise continue their studies. And some percentage of computer science students will become programmers. Some percentage of students taking band, orchestra, choir, or drama club will pursue creative fields. Some percentage of shop and woodworking class students will become tradespeople.

But not every student in every one of those classes will become all of those things.

It doesn't mean that students taking these courses are wasting their time in any way. In an alternate reality you could have fallen in love with Spanish and studied it more rigorously, and you'd have used that knowledge to advance your career. But it didn't really benefit you, and that's okay.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#158
post #77

Earlier quoted context omitted.

I dunno. It's hard for me to see a year (say) of a foreign language that's never used outside of that class as having a lot of value. As I dimly remember my high school language classes, you didn't even really get into literature and culture associated with the language until later on. On the other hand, a year of a language like Python probably has some value in teaching logic and problem-solving even if the student…

I feel like teaching coding is a waste of resources, for several reasons: there's a glut of material readily available for individual study; what's taught will be largely irrelevant when the student graduates; and importantly, it will likely be poorly taught. Good CS teachers can probably get jobs paying 3x as much, so only the most dedicated will stick with teaching. My opinions are probably biased because I had an…

I took 2 years of HS programming from an excellent teacher, pascal one year then C++ the second. The second year was an AP class and every student got a 4 or 5 on the AP test.

10 years later, I taught myself to do web development but I started with a strong understanding of core concepts and how to read code to understand how a large code base worked. Even before then, the understanding of logic and the practice of procedural thinking was immensely valuable.

A year afterwards, this teacher requested to be allowed to work part time and only teach the programming classes and not the other math classes they wanted to schedule for him. He wanted to be able to do higher paying work on the side to supplement his modest teaching income. Instead the school district fired him and put the football coach in charge of the programming classes. My brother took those classes and they were a complete waste of his time.

So getting legislatures on board with teaching or requiring programming is not enough. We need enough trained quality teachers to teach these classes so we don't waste students time and turn them off to coding. We also need school boards and principles who value these teachers and understand the difficulty with simply slotting other teachers into these positions and giving them a text book to work from.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#159
> Is Computer Code a Foreign Language? No. And high schools shouldn’t treat it that way.

I'd go a step further and say that coding is not a subject and high schools shouldn't teach it, in the same sense that calculators aren't a subject they teach. There are so many opportunities for coding to integrate and enhance with other subjects that are being ignored.

Half of my high school physics classes and 90% of my maths ones were plotting graphs, repeating the same exercises over and over with the same memorized equations. That's pointless busy work we could eliminate with computers and focus on more fundamental things.

Re: Code is not a foreign language, and high schools shouldn't treat it that way

#160

It is clearly not a foreign language, but it might honestly be a better substitute for most students' time. In the US, a foreign language can be a great thing to learn, but with our failing math and science teachings, perhaps shifting towards CS instead might be a good idea for helping many high school kids prepare for a STEM dominated job market. From the article: "It stems from a widely held but mistaken belief tha…

I'm just exploring an idea here but I wonder if the point is that practicing language skills (writing, reading, presenting) are as important as practicing technical skills (computer science, chemistry, math). I might argue that in the business world, we call those language skills soft skills and that they are VERY important in the success of software developers. A great developer who can't communicate or express thei…

Yep, I (easily) spend less than half my time programming. The rest is writing and talking, sometimes to relate facts and sometimes to persuade. I think these skills are more important than just knowing how to write code after a relatively small number of years of experience (maybe 5 to 10). (Unfortunately we don't know how to interview for this and still give people at this level the same coding focused interviews, but that's a whole different discussion...)
Post reply on HN