Code is not a foreign language, and high schools shouldn't treat it that way - <AUTHOR> https://www.nytimes.com/2019/03/17/opinion/code-foreign-language.html <comment><USER2> 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 that science and technology education should take precedence over subjects like English, history and foreign languages.

As a professor of languages and literatures, I am naturally skeptical of such a position"

Of course a professor would refer to this as a mistaken belief, but what evidence is there for it? CS has a much better chance of helping one find gainful employment and a future with many paths over high school history, english, and foreign languages.

<comment><USER3> It makes me sad how little we value education beyond gainful employment.

<comment> B-Con The fine arts are great, after you've put food on the table and a roof over your head. Most people are much happier to have stable employment than esoteric knowledge. The economy and society are better for it too.

School's primary purpose is to prepare people to be functioning members of society.

<comment><USER4> It's sad that people equate employment to being "functioning members of society." Your job is just one thing you do in society.

Education is about teaching children how to think, communicate, and act as much as giving them specific tools for future careers. Never mind the plethora of studies that have found links between arts education and performance in other educational/vocational areas. It's hardly esoteric.

<comment><USER5> > Education is about teaching children how to think, communicate, and act

CS is incredible to teach how to think. Algorithms, using logic to solve problems, decomposing a problem, etc... Theses are all skills that make you think, that push you to UNDERSTANDS better. Personally I never seen my college classes as nothing else than learning to learn, because that's computer science. More often than not, the lack of information given by the teacher wasn't a proof of incompetence but a way to test our capacity to search and discover by our self.

Sure I learned a bit in my french classes, sure I learned a bit in my history classes, but I never ever learned to think in any of theses classes except CS. I only learned to apply theses skills.

</comment></comment></comment></comment></comment><comment><USER6> 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.

<comment><USER7> 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-apply course for my child, I'd push them towards the foreign language.

<comment><USER8> 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 never really programs in the future.

<comment><USER7> 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 otherwise good teacher who was just poorly trained, and it was a huge setback for me. I really enjoyed programming, until I took a course in high school. This lead me to pursuing chemistry in college until I learned to program again on my own (after which, I flipped to CS).

I think it would be better to add discrete logic to math courses. That way, students learn the fundamentals that they can apply independently, or in college.

<comment><USER9> 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 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 remember him saying "If you're a professional programmer, there's a good chance you'll have a manager who isn't a programmer and they'll be reviewing your work!" I think he took his brother-in-laws advice too much to heart, because he really felt like he was giving us all a real taste of what being a "real" programmer was like. 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)

Any programming classes taught to minors should favor core fundamentals, exploration and creativity and avoid dwelling on industry practices which often have a shelf-life measured in years.

<comment><USER10> > 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](https://en.wikipedia.org/wiki/Unified_Modeling_Language)) and gantt charts wer in decline as agile became the hot new thing.

</comment></comment></comment></comment></comment></comment><comment><USER11> My experience with written/spoken languages vs programming languages has been vastly different.

In my early 20s I picked up enough Spanish working in a restaurant to have conversations about simple topics/small talk, including native speakers at family dinners. Not much effort.

In my late 20s using Anki (SRS) I learned enough Russian to mostly understand radio broadcasts and television, but I never practiced speaking.

In my mid-to-late 30s I started learning Korean also using Anki, and it has been a grinding and slow process. After many months of on again/off again studying, I can pick out some words and use context to maybe understand what is being spoken.

Obviously the curve has gotten a bit steeper with each language being further away from English, but definitely a salient reminder about the ability to learn new languages with age.

Programming languages on the other hand have been a much different experience, not nearly as difficult to pick up. I haven't considered exactly why it's so different until now.

<comment><USER12> It shouldn't be a surprise why programming languages are easier to learn. The grammer is highly regular and the vocabulary is absolutely tiny. Even complex computer languages are toys compared to any spoken language. Plus with computer languages you have a machine that can tell you if you're doing it right at your beck and call all day long. No need to bother a real life person to practice.

<comment><USER13> Plus computer code is always in Latin/English script.

Even if you just study a Western European language you'll end up with extra characters. A bit further afield and you end up with alternative alphabets or for example Chinese characters.

<comment><USER14> > computer code is always in Latin/English script

No it isn't.

I'm working on an application now where many of the variable names use Norwegian specific characters and the bulk of the comments that I write are in Norwegian. Now that we have Unicode there is no reason why non-keyword text should be in English or in a Latin or Latin derived alphabet unless you expect people who can't read that language to maintain the code.

<comment><USER13> You can always count on HN to find the exceptions.

Do you have Norwegian standard libs for your application? Or is it just your business logic that's in Norwegian?

Fact is most of the code you find anywhere uses English keywords like "while" or "except", and the standard libs will use English names like "socket". The occasional non English code language is an oddity.

</comment></comment></comment></comment></comment><comment><USER15> It's funny. In one of my first just-out-of-college jobs I worked at a company where "the IT guys" were definitely not at the forefront of the company. However research staff were awarded bonuses or pay differentials if they knew a foreign language even a little bit.

I argued, somewhat successfully, that the time and effort it takes to become "native" at a programming language was comparable to a human language...and even if it was say 30% as hard, everybody in the department knew 4 or 5 different languages pretty well and thus should be payed as if they had put the time into learning Spanish or French or whatnot.

The point that made it really sync in was when we had a series of tasks show up on a contract that required people with programming ability and the research staff wasn't able to "pick it up in a few months" despite huge training efforts and the IT staff was pressed into service to perform on the contract. Some of the research work was in French and most of us knew enough about Romance languages that we could usually produce a reasonable gist of the document before going to the researchers for a proper translation. We also often just used babelfish to try to figure out what was being said.

They ended up creating a technical and nontechnical staff tracks and migrated a number of the IT staff over into "Technical Researcher" roles. The difference was foreign language bonuses applied to the nontechnical staff and programming language proficiency resulted in a salary bump.

<comment><USER16> Learning a human language is not "hard" in the way that rocket science is "hard". Almost anyone can learn a language and many of the least smart people in the world are adept in at least one human language. That might be obvious. We all speak at least one language because we learned it in childhood.

What's less obvious is that learning a second language is _not_ "harder" than learning a first language -- at least in the way that learning rocket science is "harder" than learning a card game. Language is not difficult. It's has evolved in the way that it has precisely because _that 's the way we think already_.

However, learning a human language is "hard" in that human languages are _huge_. Normal adult proficiency for a college graduate is over 20,000 word families. There are about 1500 common grammatical structures. The combination of idiomatic phrases for a fluent speaker is mind boggling.

Learning a language is not complicated -- it's a grind. People fail to learn human languages not because they lack the ability to learn a language, but rather because they are unable or unwilling to simply put in the time and effort. It takes the average human child 12-18 years of full time study and practice to get to adult level proficiency and fluency in their first language. You can do it considerably faster for subsequent languages if you know how, but this is really the benchmark you should compare against.

Computer languages, in comparison, are "harder" to understand, but are orders of magnitude smaller. We're not talking 30% as big here, we're talking 0.01% as big. I don't think the task is in any way comparable.

</comment></comment><comment><USER17> 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.

<comment><USER18> 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 assumptions ...)

I suppose I'd compare natural language fish to... Most (all?) computer programming languages would be remorah following English the shark.

I wonder what a computer language that came out of a completely different world view would look like?

<comment><USER19> Just check out this Wikipedia page:

[https://en.wikipedia.org/wiki/Non-English- based_programming_...](https://en.wikipedia.org/wiki/Non-English- based_programming_languages)

Discussion:

[https://news.ycombinator.com/item?id=6315913](https://news.ycombinator.com/item?id=6315913)

<comment><USER18> Some of those are just "translations on top of" which keep the metaphorical constructs in place. A lot though ... very interesting.

Thank you!

</comment></comment></comment></comment><comment><USER20> 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 of people that regret not learning a 2nd language earlier in life.

<comment><USER21> > My understanding is that the younger you are the easier it is to pick up a > foreign language.

The latest research I've seen indicates that this is false. When you look at vocabulary in "words learned per hour of study", adults actually do much better than children. (I'm sure I've seen a study of this involving the U.S. State Department or some such, but I can't find it right now.) This isn't surprising to me: adults already know noun/verb/adjective/adverb, how [a] grammar works, a big pile of cognates/loanwords, etc.

The reason children _seem_ to learn quicker is because they're exposed to the language every hour of the day. They have no choice. If they want to do anything at all, it requires using the target language. They make up for lower efficiency by brute force.

Adults tend to do poorly at learning foreign languages because they only spend an hour or two a day with it. Learning a language feels like a lot of work, and adults usually fail because they have the resources to be able to avoid interacting with it. This is also why "full immersion" (living in a place where they speak that language) is fast and effective even for adults.

(Think you're going overboard by spending 3 hours a day studying French? That's less than 1/5 of your waking hours. Any child in Paris will learn French 5 times faster, not because they're younger but because they're putting in an extra _13+ hours a day_ exposed to French.)

> I know lots of people that regret not learning a 2nd language earlier in > life.

Sure, and I know people who regret not learning to dance, getting in shape, playing a musical instrument, etc. I also know people who started these things as adults and are just as accomplished as those who started young. And I know many people who started these things when they were young, and then gave them up -- and have basically lost all the effort they put into it. (After long enough, you can even forget your first language.) This fascination with youth needs to end.

<comment><USER22> >The reason children seem to learn quicker is because they're exposed to the language every hour of the day. They have no choice.

They also have an environment of understanding adults willing to explain their mistakes and teach how to say what they want.

If you're already an adult, this is hard to find. People will either switch to your language, ignore you, or find some common language (even ad hoc hand signs) to communicate.

<comment><USER23> This is sometimes the case. But in my experience, a lot of people (strangers even) are more than willing to help you out. They are excited that you are learning their native language and want to see you succeed.

A good portion of the time, what you're describing stems from the language learner defaulting to an easier version of communication or trying to avoid embarrassment.

</comment></comment></comment></comment><comment><USER24> 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 time. And if classifying computer languages as foreign languages can help some students opt-out, I'm all for it.

<comment><USER25> As someone who grew up bilingual, I think knowing another language has been invaluable to how I approach and understand the world. I disagree (fully acknowledging my bias) that learning another language is a waste of time.

However, I think high school is too late. Most people I knew in HS that started learning another language weren't super invested and didn't learn it. Not to mention that it's really hard to do at 14-18. I think kindergarden-5th grade should have the option and encouragement to be bilingual though. At that point it's remarkably easier to pick up, and I think it would increase cross- cultural awareness and empathy, a trait that seems in decline recently.

<comment><USER26> You grew up bilingual, though. For those of us speaking the same languages as our parents/community, we're not going to come even remotely close to fluency with a couple of low-level school courses.

<comment><USER25> True, though I think a mixed school where a substantial portion of the day is just held in that language (i.e. math is taught in spanish or something) can bridge it somewhat. I think I'm a bit idealistic in this area though.

Also I'd say that young kids usually pick up languages like they're nothing, and they may well communicate amongst themselves in the new language. That said, my brother and I mostly speak english to one another... so maybe not.

</comment></comment></comment></comment><comment><USER27> 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 they can be reasonably put in the same larger umbrella of language.

Whether they should be applied to a graduation second language requirement is certainly debatable. Some school systems may reasonably say yes, others no.

Of perhaps no doubt though is that at the present time, complete fluency/competency in a computer language is far more valuable to an individual than mastery of any language other than english.

Given this, perhaps schools should instead consider dropping the foreign language requirements entirely and replacing them with requirements for fluency in at least one computer language.

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

<comment><USER29>
        # assuming Python3
        print("\U0001F310\U0001F44B")

</comment></comment></comment><comment><USER30> I think people like to say that programming languages aren't in the same vein as natural languages. But from my personal experience in both fields, I can't help but feel that they're clearly related.

Natural languages are harder to learn, less regular and more general than programming languages, but whenever I study either, they bring to my mind the same sort of efforts and intuitions. Programming languages definitely don't replace foreign languages lessons in high schools, and so on. But the popular dismissal of "they have nothing to do with natural languages" is probably wrong, I think.

My sample set is... fluent in French and English, studied/studying Spanish, Korean and Vietnamese, and similarly for imperative/functional/wtv paradigm PLs. There's clearly ressemblance in learning one or the other.

</comment><comment><USER31> I remember in high school I tried to get them to count my Intro to Java class as a foreign language, to no avail.

In hindsight, I kind of agree with their decision. Obviously I love programming (hence why I'm always on HN), but I don't think about C/Haskell/Lisp/etc. in the same way that I think about English.

While I understand that there are semantics that are superficially similar, I feel programming is closer to mathematics than English, and I don't think anyone is suggesting that we count algebra as a foreign language.

<comment><USER32> Came here to say exactly this. Additionally, although someone who doesn't speak the same language as you (e.g. English) can potentially read your code and understand what it's supposed to do, I've never seen code used as purely a communication medium making me think that spoken/written languages are more complex and varied than programming languages.

</comment></comment><comment><USER33> 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...](https://www.econlib.org/archives/2012/08/the_marginal_pr.html)

<comment><USER34> 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.

<comment><USER28> 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.

</comment></comment></comment><comment><USER35> Spoiler for those tired of question-begging headlines:

The author's answer is "no."

<comment><USER36> In defense of this particular question-begging headline, the question itself is something the author wants us all to consider and answer. It's unlike question-begging headlines such as, "Can eating gummy bears twice a day cure cancer?"

</comment></comment><comment><USER37> Quite interesting that the reason I didn't like Scala was that it was like a natural language. There was interacting context that wasn't immediately visible at the use site. I wonder if linguists or Perl lovers like Scala more than others?

<comment><USER29> Being a Perl lover, I wonder if I should actually take a look at Scala? I've always been turned off it (and Clojure) because I don't care for the JVM, but maybe a good enough language can make dealing with the JVM tolerable?

I do already like Groovy (and have been using it for my day job, since it's one of the scripting options for Dell Boomi), so it wouldn't be the first case I've encountered of "I don't like the JVM, but this language makes it worthwhile".

<comment><USER37> The type signatures that look like line noise might be a turn off coming from scripting langs unless you appreciate static expressiveness.

<comment><USER29> Considering _everything_ looks like line noise in Perl, that might not be a problem for me :)

</comment></comment></comment></comment><comment><USER38> 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.

</comment><comment><USER39> I'm not sure that anyone would argue that programming languages are anywhere near human language.

Though the article is in response to allowing CS/programming classes to count towards foreign language credit in highschool, which is a potential way to get more kids involved with programming. Though given the efficacy of foreign language programs in highschool I'm not sure CS would do any better...

</comment><comment><USER28> 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.

</comment><comment><USER40> This takes me back to High School. My senior year (2002), the school decided to add a "computer programming" course (c++). Despite having a "computer science" department (a lab that taught pc repair skills), the course ended up under the Languages department, taught by the Latin teacher.

To be fair, the reasoning for this was that the Latin teacher was the only faculty member to hold a computer science degree (he also held number of other seemingly unrelated degrees, iirc).

</comment><comment><USER41> To make the counter argument, it is rather unfortunate that the way foreign languages are normally taught in U.S. schools (grammar first to make it painful) leads to the cliche of "I took 4 years of French in high school and I can only speak very little." On this line, make computer languages a foreign language, as schools do a poor job overall teaching a foreign language so that it can be truly acquired. The advantage of computer languages as a foreign language is that picking it up for the learner does not require the learner to deal with frustration and embarrassment in the context of interacting with other people, like they would learning to communicate in a foreign language.

> Within this subset of multilinguals who are well-versed in a non-English > language, 89% acquired these skills in the childhood home, compared with 7% > citing school as their main setting for language acquisition.

[http://www.pewresearch.org/fact-tank/2015/07/13/learning- a-f...](http://www.pewresearch.org/fact-tank/2015/07/13/learning-a-foreign- language-a-must-in-europe-not-so-in-america/)

<comment><USER42> Well four years of a language won't result in you being a very good speaker anyway. The key here is that foreign language classes also teach you about other cultures, which is definitely important.

<comment><USER8> Yes, that's probably the best justification for a high school curriculum that includes some number of years of foreign language. If classroom high school language isn't supplemented with more immersive or day-to-day use, you're probably not going to get to the point where you can write, speak, understand the language comfortably.

I had 4 years of high school French and I was even relatively good at it, albeit not quite top of class. Today, I'm more comfortable in a French- speaking country than someone who knows no French at all, but my skill level is really pretty low.

</comment></comment></comment><comment><USER43> Utah State University counts programming languages for the CS major language requirements.

</comment><comment><USER10> > 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.

</comment><comment><USER44> > It stems from a widely held but mistaken belief that science and technology > education should take precedence over subjects like English, history and > foreign languages.

As someone who lives in a foreign country, computer skills have been a lot more valuable to me than language skills. Some hotel staff here will speak multiple languages while I have managed to get employment in English fairly easily and I earn a fair bit more than what the multilingual hotel staff will earn.

</comment><comment><USER45> Who on Earth came up with calling computer science a forward language? By that logic, so is symbolic mathematics and logic, chemical equations, etc. Programming languages (more so some than others) have a lot in common with advanced math (ex lambda calculus) and almost nothing in common with foreign languages... not that both should not be taught.

</comment><comment><USER46> IMHO learning to code is quite similar to learning enough of a foreign language to be able to explain to a tourist how to get from point A to point B. Turn left, keep walking until you see the yellow building, then go right, etc. We just instead learn how to give instructions to computers in the language they can understand...

</comment><comment><USER47> Seriously? This was funny to _joke_ about in high school, but we shouldn't encode something obviously ridiculous into our legislation...

It's one thing if they want to make foreign language study optional or broaden the requirement to be less specific, but as-is this will just lead to needless confusion.

</comment><comment><USER48> As long as coding is optional and not compulsory. While attending primary and secondary school I was forced to learn certain subjects, this has resulted in an aversion towards certain subjects, which today I begin to find interesting. However I still have some of that old feeling.

</comment><comment><USER35> Sounds like the author's concerns could be addressed by allowing programming languages to sub in for foreign languages as long as the curriculum includes pair-programming.

</comment><comment><USER49> I can't read the whole article because paywall, but the initial paragraphs seem to miss the point of these laws. The intent is not to indicate that a programming language is an equivalent kind of skill to a foreign language. It's a pragmatic decision about how to fit programming, increasingly an important life skill, into a crowded curriculum. The core requirements (english, math, science, history), aren't going to budge, so it has to be slotted in somewhere if you want anyone other than the super-motivated to take progamming/CS classes.

Maybe the author addresses this pragmatic issue later on?

<comment><USER50> The author does not. And at least in the Maryland case you're correct (haven't looked up others, but they're probably similar). However, I think the author and others on their side have a point: Why is foreign language being singled out for substitution?

I get that there's only so much time in the day, so only a finite number of courses can be meaningfully conducted before a student graduates. This was an issue when I was a student at Georgia Tech. Most engineering students received some 130+ credit hours (1 credit hour = 1 hour lecture or 3 hour lab per week) over their degree. To complete this in 4 years (8 semesters) meant an average of 16 credits/semester which was very hard (especially when dealing with prerequisites, which meant you might have a 9-12 (core) + 3-6 (elective) credit semester followed by an 18 (core) credit semester, those latter ones could be brutal). At GT, compared to other GA universities, there were no language requirements and somewhat reduced general education requirements (still true?). And many (most? don't know the stats) students took 5 years (or 10 semesters) to complete their education. But GT didn't say, "CS 1301 will be a substitute for <Language> 101", they just said, "Everyone will take CS 1301, and <Language> 101 will be an elective."

If the people proposing these changes made more courses substitute for each other, then I think their argument would have more weight. Make foreign language an option along with technology education, advanced math (those that can be held concurrent to the core math courses), and other topical electives. Make the selection akin to selecting a "major" focus at university. Instead, the schools want to include something that seems to be useful (I would agree, programming skills are useful) but have no way to fit it in to the existing time available and are forcing one department to make a sacrifice.

<comment><USER51> The author does in fact mention it briefly which is worse than not mentioning it. By mentioning it he acknowledges that he understands the motivation for the law but then proceeds to make an argument against the law which completely ignores the purpose behind it.

It is unfortunate that he sees this as some sort of binary choice. As if the proposed law would eliminate foreign language study rather than offering students a choice of academic paths.

</comment></comment></comment><comment><USER52> Computer science should literally be the #1 most import subject in schools. Not only is the public's ignorance of technology exceedingly dangerous, it's also the only skill that could net you have 100k+ salary right out of high school. Computer science is also the study of solving problems. If you teach kids how to be good computer scientists, they are going to naturally progress in every other field of study.

</comment><comment><USER53> It is definitely not the equivalent of a foreign language, but it may be an equally beneficial use of time.

</comment><comment><USER54> As shown by the Dragon Book, a good programming course is actually mostly discrete mathematics.

</comment><comment><USER55> It depends which country you are from and what specific language you are talking about.

</comment><comment><USER56> Is algebra a foreign language?

</comment><comment><USER57> No. Go learn some real foreign language.

</comment><comment><USER58> Speak to Larry Wall about this.

</comment><comment><USER59> No, it is an alien language.

<comment><USER60> It's definitely not natural language.

<comment><USER61> What makes computer languages not "natural"? Like every other language, it was invented by animals(humans).

<comment><USER50> Computer languages are synthetic, like the human languages of Esperanto and Loglan.

The distinction is how they're formed and developed. Someone didn't sit down 1500 or so years ago and say, "I'm going to make English." It just grew. Specifically Old English grew from a combination of languages used by Germanic tribes (Angles, Saxons, and Jutes in particular). It also borrowed a fair amount of Latin, Old Norse, and perhaps some Celtic. Followed by the development of Middle English with the Norman conquest which brought in French and Latin influence. And then later developed into what we call English today via more borrowing or coinage of words and, later, standardizing spellings and some pronunciatoins.

It's perhaps a little fuzzy if your language has an academy that tries to preserve its essence and creates official dictionaries and bars certain types of word creation. But for most "natural" languages, what makes them natural is the organic growth and evolution that occurs over time. Compared to the artificial selection of elements that happens with synthetic languages.

<comment><USER61> Call me crazy, but the synthetic vs. natural distinction is still blurry to me. All language is the natural evolution of thought.

> But for most "natural" languages, what makes them natural is the organic > growth and evolution that occurs over time.

On this, we agree. This is the exact phenomena that I observe of computer languages.

As a small example, take the "if" statement as used in JavaScript. It wasn't invented by that language, it was borrowed from other languages like Java. But the word "if" came from English. Of course, English speakers didn't invent the concept either. As you describe, English evolved from other languages.

Computer languages are more modern, so we know more of their history. We know who drafted the first iteration of JavaScript, and we've closely tracked its evolution since then. We don't know who came up with the concept of "if", but I doubt that it was given to us humans by some divine god of language.. I think one of our ancestors invented it.

</comment></comment></comment></comment></comment><comment><USER62> The title is rather disappointing as it implies that nobody at the nytimes understands the difference between computer code and programming language. As an analogy, computer code to programming language is what a book is to a human language. Would you ask if a book is a foreign language? A programming language is what computer code is written in. Just like a human language is what a book is written in.

As for whether a programming language is a foreign language, the answer is an obvious no. Programming languages have mathematical/logical limitations of soundness, completeness, decidability, etc. If programming languages are a foreign languages, then so is algebra or calculus.</comment>


What was really happening in Crazy Rich Asians' pivotal mahjong scene - <AUTHOR> http://blog.angryasianman.com/2018/08/what-was-really-happening-in-crazy-rich.html <comment><AUTHOR> I don't usually post things like this, but I read this article all the way through and was engaged by it. If you've seen the film, maybe this will prompt you to see it again. If you haven't, it's your choice as to whether to watch first then read this for more depth, or read this, then decide whether or not to watch the film.

Regardless, I found it intriguing.</comment>


YouTube banned on HN? - <AUTHOR>

When I try to submit a YouTube video, I get a STOP SPAMMING message. Is YouTube banned?<p>The video I wanted to submit is of a selfmade drone with 2000kv (not mine). <comment><USER2> Googling "selfmade drone with 2000kv" turned up the video that appears to be banned based on your comment.

Googling "Quadmovr" which appears prominently in the video produces a lot of SEO'd results. It wouldn't surprise me if they'd hammered HN. Combined with the relative dormancy of your account, there's a good chance that the account and the specific video correlate with previous problematic accounts to trigger blocking.

That a link to the video was posted anyway despite the request to stop spamming suggests that the heuristic may not be out of line.

</comment><comment><USER3> YouTube doesn't seem to be banned

[https://news.ycombinator.com/item?id=9440832](https://news.ycombinator.com/item?id=9440832)

[https://news.ycombinator.com/item?id=9443733](https://news.ycombinator.com/item?id=9443733)

[https://hn.algolia.com/?query=www.youtube.com%2F&sort=byDate...](https://hn.algolia.com/?query=www.youtube.com%2F&sort=byDate&prefix=false&page=0&dateRange=all&type=story)

<comment><AUTHOR> Lets see if a comment works

[https://www.youtube.com/watch?v=8p5uDf9i_Yc&feature=youtu.be](https://www.youtube.com/watch?v=8p5uDf9i_Yc&feature=youtu.be)

<comment><AUTHOR> That works. Well, that is the video that gives me the STOP SPAMMING message.

</comment></comment></comment><comment><USER4> Please email email@example.com with any questions or issues.

</comment><comment><USER5> I don't know but I would be unsurprised were spammers plying their trade through youtube.

Is the video hosted anywhere else?</comment>


Localyser - Crowd Sourced Postcode Data - <AUTHOR> http://localyser.com/

<comment><USER2> It would be good to have some clarity on the licence for the data.

I also think crowdsourcing might be a good way to fill in gaps but I'd hope to see people reaching out to councils, large organisations or other sources of data to kick start this effort.

<comment><USER3> Thats a good point about license; I've added it to the site now. I'd guess creative commons is the best fit, but open to all non-spammy uses.

Other sources would be good, I'll be dropping a message to the people at <http://www.freeourdata.org.uk/> at lunch.

<comment><USER2> <http://openstreetmap.org> would probably also be interested in sharing address data.

Have you thought about generating the coarser data (country, county, city) from the location when possible? Or would having a half-filled form be confusing for users?

<comment><USER3> At the moment it's just a lookup to the database. It does have the ability to save and show more fields than whats on the signup form (see the demo - <http://localyser.com/demo.html>), that form is mainly tailored to match the how PAF data is returned for an easy drop in.

good call on open street map, i'll try and get in touch.

<comment><USER2> Just to be clear about what I thinking, because I'm not sure I expressed myself well:

If I type in a postcode and house number on a site using the Royal Mail PAF, then it goes and gets my address. Currently, your service won't. But if I enter my full address once on one site using it, it'll then be keyed against my postcode and house number and appear automatically on others.

That very first time I enter a new address you could probably do various clever things to make entering my address easier. It shouldn't be difficult to map any postcode to a country (Scotland, England etc.) and other larger regions. In cases where it's not 100% possible you could probably return a (potentially incomplete) list of nearby streetnames, towns etc. which could trigger an autocomplete when the user starts typing the first letter. Once they've chosen a streetname then that may in turn dictate the rest.

Most of this data could be extracted from OpenStreetmap or directly from the Ordnance Survey Open Data, particularly Code Point and OS Locator, meaning you'd only need users to confirm a street name, and enter a house name or number to get a full record.

(It would be nice to allow users to report errors in the OS Locator street names too. There's been a few errors found in both sets by comparing the OSM data against the OS.)

<comment><USER3> sorry, i was getting the wrong end of the stick on that.

That is a good idea but your original point might be right, empty fields could be a bit strange. I'll give it a try and see how how it looks (probably not till the weekend - client work to do).

<comment><USER2> Yeah, the interaction design is the hard bit and probably needs tested on "normal" people before you could be confident that it's actually helpful.

Maybe just having the autocomplete's available to save typing (and typos) and then only completing the rest of the form once you have the user enter enough that you're sure you can finish the rest of it (which sometimes might be the street, but other times the town/county) might work?

I've just realised that unless you know your data was 100% complete you'd not be able to do a guaranteed correct lookup from the post code and house number alone, since there may be clashes with houses on nearby streets you don't yet know about, and even if you present a dropdown list you still need a fallback form for new data entry. So that's a pretty tricky UI challenge regardless.

Do you have any example data that people can try to see how it works when your demo recognises postcodes?

<comment><USER3> Yes, from a front end point of view you can give the demo page a try - <http://localyser.com/demo.html> \- using B1 1BB

Is that what you mean (still tired, shouldn't drink on school nights!)?

<comment><USER2> What happens if someone else lives in "B1 1BB"? It's not obvious that they can click and then edit the current single entry that it returns.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> But ErnestMarples (the website, not the postmaster) says "the Government have released postcode data, and more besides, for free"...?

<http://www.ernestmarples.com/>

<comment><USER3> hi, that is postcode to coordinates, the campaign to get the royal mails PAF data for free failed - [http://www.guardian.co.uk/technology/2010/jan/22/postcode- pe...](http://www.guardian.co.uk/technology/2010/jan/22/postcode-petition- fails-blocked-number-ten)

</comment></comment><comment><USER5> The site crashes my ipad2 browser.

<comment><USER3> thats strange, we did have an issue with older versions of chrome so it might be a problem with certain webkit version, i'll check that out. thanks for letting me know.</comment></comment>


Snowden says Israel, U.S. created Stuxnet virus that attacked Iran - <AUTHOR> http://www.haaretz.com/news/diplomacy-defense/snowden-says-israel-u-s-created-stuxnet-virus-that-attacked-iran-1.534728 <comment><USER2> Does he know this himself independently, or is he answering based on the common knowledge of this?

I suspect it's the latter because he would have no reason to have anything to do with stuxnet, and I doubt the security is that bad that any employee anywhere can find out everything about every program.

</comment><comment><USER3> This would be more newsworthy if the Vice Chairman of the Joint Chiefs hadn't leaked it himself. But he did, so this isn't.

<comment><USER4> Quite right.

One wonders why he'd choose to mention this instead of some other bit of information--in his position, perhaps he'd want to leak something that is already verified but with sufficient detail to show he isn't bluffing.

<comment><USER5> It was in response to a direct question in an interview so the choice was that of the interviewer, Jacob Applebaum.

</comment></comment></comment><comment><USER6> I wonder if Snowden really has the ability to definitely answer this question. Someone should get fired if a guy like him, coming along after the fact, could really access definitive proof.

<comment><USER7> As a sysadmin he probably had root access to a ton of systems. Own the infrastructure, own the organization.

<comment><USER8> You can still tier access, even to users with root access by encrypting files at rest.

I find it highly concerning that a not-particularly-high-level employee was able to gain access to so much data. The amount of access and permission controls at Booz seem amateur from a distance.

<comment><USER9> People tend to imagine the wildest things with things as secretive as the NSA.

But remember this is just another $20B agency. Odds are their computer systems are as terrible as any other agency.

A random analyst was able to download millions of state embassy cables and they would still be looking for him today if he didn't trip up in private chats. Testimony in the Manning case indicates that _mIRC_ is mission critical software. The blunt face of reality quickly deflates all the sci-fi.

<comment><USER10> That's not an apt comparison, because Manning had access to the cables by design. He exceeded his authority by releasing the information, not by accessing it.

After 9/11, which the US had enough information to stop if not for that information being held by different agencies that did not share with each other, an effort was made to make sure analysts in different agencies and branches all had access to anything that might be relevant.

<comment><USER9> He had access to millions of cables in just a few days. Every porn site has better tracking and mass download detection.

</comment></comment></comment></comment></comment></comment><comment><USER11> Didn't we already know this?

<comment><USER12> Yeah, I thought so too. It looks like nytimes and wired ran the story on June 1, 2012 [0][1]. I think the only new piece of information is that the NSA specifically co-wrote it with Israel, according to Snowden.

[0] [http://www.nytimes.com/2012/06/01/world/middleeast/obama- ord...](http://www.nytimes.com/2012/06/01/world/middleeast/obama-ordered-wave- of-cyberattacks-against-iran.html?pagewanted=all)

[1] [http://www.wired.com/threatlevel/?p=42451](http://www.wired.com/threatlevel/?p=42451)

</comment></comment><comment><USER13> The problem I have is that media is going to basically make anything Snowden says as the truth, even if he doesn't have any proofs of this.

He could cause a lot of serious problems if he shares his thoughts and opinions as _facts_.

He should've stopped after the initial NSA leaks but now, he should just be quiet because the longer he does this, the more irrelevant and pointless the whole thing become. The moment he's proven as a liar because most of his statements can't be proven, the entire thing he was trying to do becomes moot.

</comment><comment><USER14> I'll be impressed with Snowden tells me something I didn't already assume to be true.

</comment><comment><USER15> Why can't he just dump everything at once, instead of a new revelation every other day?

<comment><USER8> Either because he thinks that the media cycle will make his whistle-blowing irrelevant, because he's worthless after he discloses everything, or because then he'll no longer be a celebrity. Take your pick depending on your opinion.

<comment><USER16> Right now he has been noticed by almost every politician in the world. Prime ministers and presidents mention him and everyone is wondering what will happen to him. Perhaps he wants to keep the focus on him until he is granted asylum.

It makes sense to produce a slow stream of information so that he doesn't become old news. If the media starts ignoring him the politicians may not care as much.</comment></comment></comment>