Live data from Hacker News

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

nytimes.com

91–100 of 191 posts

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

#91
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…

Fair enough. Though, unfortunately, high school curriculums have to be more or less designed on the premise that individual study won't happen in many cases.

If you assume independent study, there's probably very little that has to be taught in high school and we'd probably do things very differently.

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

#92
I have to agree... now, if they wanted to treat programming languages as a higher than basic algebra math class, or possibly a science credit, that I might agree with, but not in place of lower level math or science.

Computer languages are definitely languages, but the rules and constructs are much closer to math than they are spoken language.

Even then, for a well rounded "language" course on programming, it would have to account for at least 2-4 different languages, and enough understanding over the course of a year to contrast and compare. In any case, I doubt much practical use would be gained from such a course.

Again, it might be a better fit for a Math or Science credit and could definitely see a vocational high school centered around Programming coursework for the elective structure.

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

#93

No, not any more than math or statistics are. Replacing a foreign language with a programming course is like replacing a music class with a math course; you may think it's a good idea, but it's not because it's replacing the same type of thing.

But how do we get law makers (or, more importantly, their constituents) to understand this? There's a huge push towards vocational education and parents thinks that "coding" is something their 10 year old can learn then apply to make buckets of money. Plus, you know, it's called a programming "language." If I personally had to chose between a foreign language course, or programming one as a learn-but-never-really-app…

I've talked about this for a few years on my programming channel with millions of views.

At least main stream news publications are now writing articles about it. This is a perfect example of just how clueless lawmakers can be. It's scary.

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

#94

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.

And yet, a vast component of code is communicating to developers. Some patterns (e.g. Java) try to minimize the expressiveness in favor of consistency, others (e.g. Perl, etc) focus on expressiveness (which makes the subsequent result highly dependent on the skill of the _expression_ of the original programmer). But either way, there's distinctly language going on. It just conveys in a different manner than the commo…

I have a challenge for you, or anyone really. Translate Gettysburg Address into your programming language of choice and present it here for determining of those fluent in your chosen language understand what you have translated. Constraints: You can't use print statements to echo the English text of the address. You can't use English or English-like identifiers.

I know of no programming language that can convey the meaning of these sentences, it's simply not what the languages are meant to do:

>But, in a larger sense, we can not dedicate—we can not consecrate—we can not hallow—this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract.

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

#95

It's true that taking a programming class isn't the same as taking a high school foreign language class, but it's also true that taking a high school foreign language class is unlikely to give you any meaningful proficiency in that language: https://www.econlib.org/archives/2012/08/the_marginal_pr.htm...

This Liberty Fund-supported libertarian op-ed is involuntarily a strong indictment of US high school education. In other countries, children learn foreign languages just fine in school.

Right now I am teaching an introductory chemistry course at a university somewhere in flyover country. The majority of the students does not know enough 8th grade math to calculate basic stoichiometric relations. Basic algebra is beyond their reach. Using libertarian logic, it follows that we should drop high school math altogether, because teaching it in school is a waste of time, the kids do not learn it.

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

#96

My understanding is that the younger you are the easier it is to pick up a foreign language. Whereas that doesn't appear to be the case for computer languages. Learning either creates opportunities for life changing opportunities for the better, but I think it would be a mistake for people to forego learning a foreign language at that age. If they want to learn programming languages as well they will, but I know lots…

The jury's still out on the Critical Period Hypothesis the last I checked. But in any case, you're right that there is a big difference between acquiring natural languages and learning a programming language. Language acquisition is a special kind of learning, an innate capacity we have for natural languages that mostly takes place without conscious effort. We certainly don't start learning our mother's programming languages while in the womb.

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

#97

Computer languages are called languages for a reason. They have syntax, grammar, vocabulary, and are used for communication. People who don't speak english for example but who read python can often read code you wrote and understand it. Math is a similar thing and sometimes called a universal language. These are different sorts of languages from day to day spoken and written languages for general communication, but t…

Communicate "Hello World!" in python without some sort of string that references another spoken language.

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

#98

It's true that taking a programming class isn't the same as taking a high school foreign language class, but it's also true that taking a high school foreign language class is unlikely to give you any meaningful proficiency in that language: https://www.econlib.org/archives/2012/08/the_marginal_pr.htm...

This Liberty Fund-supported libertarian op-ed is involuntarily a strong indictment of US high school education. In other countries, children learn foreign languages just fine in school. Right now I am teaching an introductory chemistry course at a university somewhere in flyover country. The majority of the students does not know enough 8th grade math to calculate basic stoichiometric relations. Basic algebra is beyo…

I think a lot of it is lowered overall expectations (from parents to schools), promoting kids that didn't complete the actual grade satisfactorily, etc. When I went to school, I knew 2 kids that were held back a grade in elementary school... neither were held back again.

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

#99
Is computer code a foreign language? Not for me.

Having grown up with multiple "natural" languages, as well as programming "languages" since age 8 or so, I consider computer code one of my native languages. Of course, I'm only truly familiar with a few dialects for daily use, but there's an underlying way of thinking (concepts, patterns) that applies to all programming languages.

The more "natural" and programming languages I'm immersed in and use in daily life, the more I see them as dialects of a single "language" - an unwritten, unspoken language of the mind, which gives birth to the various specific implementations of syntax, grammar, words.

Film, dance, painting, sculpture, music, mathematics, geometry.. Even JavaScript. These are also dialects of the language beyond languages. They're all different ways to "speak" and "think".

I agree with the article that learning a programming language or two should not fulfill a foreign language requirement. If anything they should be included in a "native languages requirement", in addition to a couple of natural languages.

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

#100
post #94

Earlier quoted context omitted.

And yet, a vast component of code is communicating to developers. Some patterns (e.g. Java) try to minimize the expressiveness in favor of consistency, others (e.g. Perl, etc) focus on expressiveness (which makes the subsequent result highly dependent on the skill of the _expression_ of the original programmer). But either way, there's distinctly language going on. It just conveys in a different manner than the commo…

I have a challenge for you, or anyone really. Translate Gettysburg Address into your programming language of choice and present it here for determining of those fluent in your chosen language understand what you have translated. Constraints: You can't use print statements to echo the English text of the address. You can't use English or English-like identifiers. I know of no programming language that can convey the m…

Eh, there are human languages that cannot convey meanings that other languages can. Those languages, by your definition, are not human languages (which is silly, because they are).
Post reply on HN