Slashdot Mirror


The Neuroscience of Computer Programming

Hugh Pickens DOT Com writes "Chris Parnin has an interesting read about an international team of scientists lead by Dr. Janet Siegmund using brain imaging with fMRI to understand the programmer's mind and to compare and contrast different cognitive tasks used in programming by analyzing differences in brain locations that are activated by different tasks. One recent debate illuminated by their studies is recent legislation that considers offering foreign-language credits for students learning programming languages. There have been many strong reactions across the software-developer community. Some developers consider the effort laudable but misguided and proclaim programming is not at all like human language and is much closer to mathematics. Siegmund observed 17 participants inside an fMRI scanner while they were comprehending short source-code snippets and found a clear, distinct activation pattern of five brain regions, which are related to language processing, working memory, and attention. The programmers in the study recruited parts of the brain typically associated with language processing and verbal oriented processing (ventral lateral prefrontal cortex). At least for the simple code snippets presented, programmers could use existing language regions of the brain to understand code without requiring more complex mental models to be constructed and manipulated." (Read on for more.) "Interestingly, even though there was code that involve mathematical operations, conditionals, and loop iteration, for these particular tasks, programming had less in common with mathematics and more in common with language (PDF)," writes Parnin. "Mathematical calculations typically take place in the intraparietal sulcus, mathematical reasoning in the right frontal pole, and logical reasoning in the left frontal pole. These areas were not strongly activated in comprehending source code." The new research results are a much needed, but only a first step in revealing the neuroscience of programming. Other questions remain including: Can we finally provide a neurological basis for a programmer's flow? How relevant is the mastery of language skills for programming? Are there certain programming activities that should never be mixed, due to higher chance of cognitive failure (and resulting bugs)? Do code visualizations or live programming environments really reduce mental load? "Programming involves a rich set of cognitive processes," concludes Parnin. "Although the study found a particular pathway that was strongly associated with language processing, there may be other pathways associated with other common activities related to programming (debugging, editing, refactoring, etc).""

161 comments

  1. Reading vs writing by Anonymous Coward · · Score: 5, Insightful

    In my experience, coding and reading other's code are two completely different tasks.

    1. Re:Reading vs writing by SunTzuWarmaster · · Score: 4, Insightful

      In this case, reading, writing, listening, and speaking a foreign language should all be different tasks. The neuroscience doesn't lie: the region of the language processing center lights up; portions of programming are similar to foreign languages.

    2. Re: Reading vs writing by Anonymous Coward · · Score: 0

      The article claimed that programming activated regions of the brain associated with language, not foreign language. Most programming languages they I've seen are in English. If you are a native English speaker, I don't see how this would count as a foreign language. If you are not a native English speaker, I suppose it could count as a really basic English credit.

    3. Re:Reading vs writing by Anonymous Coward · · Score: 0

      In my experience, coding and reading other's code are two completely different tasks.

      As, it would seem, is using punctuation.

    4. Re: Reading vs writing by Hognoxious · · Score: 1

      Most programming languages they I've seen are in English.

      I doubt you'd recognise it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re: Reading vs writing by aristotle-dude · · Score: 4, Insightful

      The article claimed that programming activated regions of the brain associated with language, not foreign language. Most programming languages they I've seen are in English. If you are a native English speaker, I don't see how this would count as a foreign language. If you are not a native English speaker, I suppose it could count as a really basic English credit.

      I think you are confused. Since I assume that you are a native english speaker and a monolingual one at that, I can understand how you have trouble with this concept. While most programming languages might have "keywords" written in english, they have a distinct syntax that is not exactly the same as natural english syntax which is why it is like thinking/reading in a different language than you are used to.

      --
      Jesus was a compassionate social conservative who called individuals to sin no more.
    6. Re:Reading vs writing by X10 · · Score: 1

      In this case, reading, writing, listening, and speaking a foreign language should all be different tasks.

      Not true. Reading a foreign language and speaking it has a lot in common. Otoh, reading code and creating code is very different. But I'm not a neuroscientist, I'm just a person who's capable of writing code, reading code, writing/speaking three foreign languages, and reading five foreign languages.

      --
      no, I don't have a sig
    7. Re:Reading vs writing by Anonymous Coward · · Score: 2, Insightful

      Stupid study.

      Hey guys! Reading written statements (code) uses language centres of the brain - well fuck-de-doo.

    8. Re: Reading vs writing by Immerman · · Score: 4, Interesting

      Indeed. Most Americans would probably find it straining to listen to someone speaking using English vocabulary but German grammar for extended periods. To say nothing of Latin. Even though the words are the same, the way they are organized to express concepts are quite different. I think most anyone who is both multilingual and accustomed to "watching" their own mind can attest to the fact that learning to truly think in a fundamentally different language doesn't just change the words you use, it also subtly changes the way you think about things.

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    9. Re:Reading vs writing by Hognoxious · · Score: 3, Insightful

      The good part is where the programmers just know that it can't be so.

      MRI? No idea what it is. But if it contradicts my preconceptions that:

      a) mathematicians are smarter than literature types
      and
      b) I'm really really smart
      so
      c) what I do must be more like the former
      . . .
      then it's phrenology by a different name.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:Reading vs writing by Anonymous Coward · · Score: 0

      You missed the point by an enormous margin. Writing code is absolutely nothing like writing words because the act of writing has relatively little to do with the act of constructing the things to be written (and the former takes up much less time than the latter in most cases).

    11. Re: Reading vs writing by Bengie · · Score: 1

      The article claimed that programming activated

      It made no such claim. It said that "reading" code activates language processing.. Wow, imagine that. It's nice to know this as a fact instead of assumption, but it was an obvious one. Who would have ever thought that reading used language processing?

    12. Re:Reading vs writing by Half-pint+HAL · · Score: 2

      You missed the point by an enormous margin. Writing code is absolutely nothing like writing words because the act of writing has relatively little to do with the act of constructing the things to be written (and the former takes up much less time than the latter in most cases).

      "Absolutely nothing" is a gross overstatement.

      I've been doing a lot of coding recently, and it just so happens that what I'm coding is language learning software (I have degrees both in Comp Sci and in modern languages).

      I would say that I reach what appears to be a "flow state" once I internally understand the logic of the task at hand completely. At that point, I am working linguistically -- I am expressing my thoughts in a codified form. The point where coding becomes non-linguistic is when I have to work out what the logic of the task is. That's a task that's carried out as I pace around in front of a window, as I chew on my lunch, as I soak in the bathtub....

      That coding is in part linguistic should come as no surprise (I can't be the only guy who mentally says to himself "is equal to" to remind myself to use a double-equals sign rather than a single one), but the problem seems to be that they're only measuring part of the process and avoiding the difficult bit. Here's one of their comprehension tasks:

      public static void main(String[] args) { String word = "Hello"; String result = new String(); for (int j = word.length() - 1; j >= 0; j--) result = result + word.charAt(j); System.out.println(result); }

      Now I'm not sure whether that's C++ or Java (or could it be C#?) but I understand it, even though I do not program in any of those languages. It uses the most common constructs of the language, with explicit naming conventions. It doesn't call for understanding of tail recursions or analysing structures or any of the stuff that actually makes for useful software.

      So they say this doesn't use the same bits of the brain that are involved in maths reasoning, but I doubt that they're comparing it with something as trivial as 2+2. Anyone who works with figures habitually doesn't have to "reason" or "calculate" 2+2 -- they know it automatically.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    13. Re:Reading vs writing by Half-pint+HAL · · Score: 1

      However, in this case, they have a point. Here's an analogy for you.

      Imagine they put a novelist in one of those machines when they were working. What would be the most active part of the brain? Probably the areas involved in language. Is this the area that is most important to writing a novel? It's certainly indispensable, but the unique skill involved in writing a book is the imagination, and the composition of events, consequences etc... you know, the story.

      Or to put it into physical terms: even if it takes less time to design a building than to build it, it's still the design that makes that building that building -- the labour just makes it a building.

      This may seem an abstract distinction, but in order to learn any type of language, you need to have something to say in it. With a human language, you already have the mental structures in place to conceptualise pretty much anything you want to say, but in order to express in computer code, you've got to learn the concepts of computing.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    14. Re:Reading vs writing by Darinbob · · Score: 1

      But this does not mean that learning a programming language should ever count towards a language requirement at a university. That's the cheezy way out, the university is about learning but everyone seems to want to minmax it.

    15. Re: Reading vs writing by gregor-e · · Score: 2

      I find that music interferes with reading either English or code, but it helps me focus when I'm writing code. To me this suggests language input processing shares some of the parts of my mind used for listening to music, but crafting new code does not.

    16. Re:Reading vs writing by Anonymous Coward · · Score: 0

      In my experience, coding and reading other's code are two completely different tasks.

      Reverse engineering is not very verbal orientied in my experience. But they need better samples. Test programmers reverse engineering an unknown system, binding 20+ data sources together, in at 20+ modules/services/operations, and have them answer what a method in the middle of one operation outputs, given some input.

    17. Re:Reading vs writing by smallfries · · Score: 1

      I'm not sure if Science is phrenology by another name, but they certainly look similar at your level of detail:

      a) Part of the task under study is definitely linguistic
      and
      b) No effort has been made to separate this linguistic part from the rest of the task
      so
      c) The study has not produced evidence because of a validity threat: namely the confounding factor that the task has been presented in a linguistic form.

      I wouldn't want the terminology to get in the way of the original point: the task has been phrased in textual form, areas of the brain used in text recognition lit up, the researchers concluded that programming was the same as language skills. Their conclusion was bogus because presenting a non-programming task to the participants would have provoked the same response if it was done in written form. Obviously this would be impossible to fix in the study design.... without replicating the results on a non-textual experiment, such as a graphical language.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    18. Re:Reading vs writing by Anonymous Coward · · Score: 0

      I was programming. I have a very direct interest in C++, as one of the incepters. I discovered the committe (scary) partially sabotaged my particular, tried and tested true, idioms. I started complaining in the groups. I went to one McDonalds to have a soda, again. I sipped my soda. I was in the middle of my discussion and programming after sipping the soda when... I felt a kind of BLACK BLANK happening somewhere under my right brow. One CHinese Indian with historical character features made a comment then and there... It was the LAST TIME I could spend my whole awake time programming and dedicated to programming, after more years programming than lived. Later I did fight my right eye from wanting to wander UP by its own accord, some effort to retrieve back and keep there... so now I am full of architectures, project, needs, classes... but have to make a real effor to want to program and feel it right. The last guys I found who would be interested in such EFFECTS are the ones from WhatsApp, but basically any African, Hindu, Chinese, Indian, Arab... would be interested in pretending they are not frauds and disabling a real programmer after stealing his code! This article verifies partially my own experiential finding and is giving them tools to... apply their cannibaly based tool. Be aware that reading this is DANGEROUS and you do not believe such species act AUTOMATICALLY when feeling threatened of being discovered as frauds. NO one noticed all those places where people go in and no one comes out and the police will do NOTHING because there is no ground for it and no judge s order? For years...

    19. Re:Reading vs writing by RadioElectric · · Score: 1

      The neuroscience doesn't lie: the region of the language processing center lights up; portions of programming are similar to foreign languages.

      Woah, hang on there! "The neuroscience" is NOT some fMRI data figure showing a bit of the brain being more active in one condition than it is in some other condition. Neuroscience is a set of theories, skills, and tools that allow us to ask and answer such questions as: "What conditions do we scan patients under in order to isolate the effect we are interested in?" "What does the strength and location of the BOLD signal we pick up in our fMRI scan actually mean?", and "How can these results be interpreted in a higher-level framework for how these cognitive tasks are performed?"

      Trying to pick faults in this study is part of "the neuroscience".

      You want to see bits of the brain "lighting up"? You're going to need to get some genetically modified mice. If you want to understand the brain it's not that simple.

    20. Re:Reading vs writing by MrKaos · · Score: 1

      You want to see bits of the brain "lighting up"? You're going to need to get some genetically modified mice. If you want to understand the brain it's not that simple.

      Well, we could use the genetically modified mice to program inside of an fMRI, then extropolate the results into a human brain using highly sophisticated neuro mathematical linguine anal isolation probes to produce results that prove, what were we talking about?

      --
      My ism, it's full of beliefs.
    21. Re:Reading vs writing by MrKaos · · Score: 1

      OMG!!! WE'RE all Gonna DIE!!!!!!!

      --
      My ism, it's full of beliefs.
  2. spiritual void being filled by spiritual vortex by Anonymous Coward · · Score: 1

    what comes around.... metaphysical disunabstraction week

  3. Balderdash by jamesl · · Score: 1

    Of all the fully employed programmers you know, how many of them have degrees in English, French, Japanese, Chinese, Literature, Journalism or creative writing? How many in mathematics or physics?

    1. Re:Balderdash by Anonymous Coward · · Score: 0

      Here, we have a lot of people having degrees in Agronomy, Gardening, Veterinary medicine, ... These are all related to manipulating a bunch of shit. I don't think this to be mere coincidence.

      Language degrees seems right in there place here. Language graduates are all saying a load crap. And most sane people think "BULLSHIT" when they open there mouth.

    2. Re:Balderdash by Anonymous Coward · · Score: 2, Interesting

      Well, I know myself. I believe the results in this study are obvious. Most of the time reading code involves parsing which is essentially a linguistic task. Mathematical thought might be more active in specific code sections but language will still account for 99.9% of your mental work. Writing code is probably the same or even more skewed towards language. Of course, I am assuming most people think before sitting down to write code.

    3. Re:Balderdash by oldhack · · Score: 1

      I came across couple with philosophy degrees, but they lean toward math/analytic - i.e., Russell, Wittgenstein rather than Kant, etc.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    4. Re:Balderdash by RabidReindeer · · Score: 1

      Well, I know myself.
      I believe the results in this study are obvious. Most of the time reading code involves parsing which is essentially a linguistic task.
      Mathematical thought might be more active in specific code sections but language will still account for 99.9% of your mental work.
      Writing code is probably the same or even more skewed towards language.
      Of course, I am assuming most people think before sitting down to write code.

      There are, I believe, a number of people responsible for the development of programming languages whose formal credentials are in linguistics.

      Nor does a connection with mathematics make computer languages unique - I would say that any communication system - including human languages - can be described at least in part in mathematical terms. Or perhaps even the reverse. Mathematics is as much about symbolic manipulation as it is about numbers, and symbolic manipulation is at the core of language.

      That doesn't mean that I'm personally in favor of granting skill in Ruby as an equivalent of Urdu (although perhaps Perl). Human linguistics requires a few extra skills, such as mastering idiom, pronunciation in its many forms, including accent and tonality, and the nuance and ambiguity that is essential to diplomatic communication but the bane of software.

    5. Re:Balderdash by BlackHawk-666 · · Score: 2

      Languages take time and effort to learn. Try to remember, C++, although complex by the standards of most computer languages is ridiculously easy compared to learning French. If the programmers spent a proportional amount of time on the foreign language, I think they would have the same level of mastery.

      --
      All those moments will be lost in time, like tears in rain.
    6. Re:Balderdash by aristotle-dude · · Score: 2
      One of my colleagues in the past had a degree in divinity, and the one who hired my had a psychological degree. You appear to assume that a background in physics or mathematics would give a distinct advantage over others in programming in all fields. While I'm sure those skills are a basic necessity in developing new physics engines and possibly a new sorting, compression or encryption algorithm, many fields do not require a developer to "reinvent" the wheel and they can simply use existing proven technologies. This is often called building on the "shoulders of giants".

      I think that the fact that I am multilingual and have a firm grasp of "logic" is far more useful than any mathematics that I might have learned in school. I view programming as more of an "art" than a science. It is a form of expression and the programming languages are analogous to human languages used in writing stories and prose. One could say that methods of a class are very much like prose on a conceptual level and the class is analogous to a chapter in a book.

      --
      Jesus was a compassionate social conservative who called individuals to sin no more.
    7. Re:Balderdash by Bryan+Ischo · · Score: 2

      I am a programmer and have a degree in Math/Computer Science, but I always scored better on language related aptitude tests than math ... did significantly better on my SAT and ACT tests (in 1989! I'm sure they've changed alot since then!) in language related areas than I ever did in math. Luckily I still got into a good computer science school, got my degree, and have had a pretty good career in software development. I never realized that my skew towards language skill may actually have been a boon for my career choice instead of the disadvantage that I thought it was ...

    8. Re:Balderdash by Half-pint+HAL · · Score: 1

      There are, I believe, a number of people responsible for the development of programming languages whose formal credentials are in linguistics.

      Sadly it's all Chomskian structuralists, though. Generative grammars (BNF etc) still plague modern linguistics to a very great extent (despite better models following about two years after Chomsky first published) and are still one of the first things a linguistics student will be introduced to (thus polluting their minds with out-of-date garbage).

      And I think it's misguided to suggest that linguistics led computer programming, because it was really computers that started it. Chosmkian grammars were a computationally-based model, born out of the assumption that the brain was like a digital computer. So the grammars they designed to try to map human language were really only efficient for parsing formal computer languages, which is why compilers are built on those principles to this day.

      What computer science needs is for someone to generate a parser based on modern linguistics. It wouldn't be efficient at compile time, but seriously -- I started coding C on computers that had 8 or 16 MB of RAM and processors at around 150MHz... I don't think compile-time efficiency is really as important as it was, compared to the amount of time wasted on having programming languages that aren't really human compatible.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    9. Re:Balderdash by MrKaos · · Score: 1

      Languages take time and effort to learn. Try to remember, C++, although complex by the standards of most computer languages is ridiculously easy compared to learning French. If the programmers spent a proportional amount of time on the foreign language, I think they would have the same level of mastery.

      Yes but telling jokes in a ridiculous C++ accent has no comedic value whatsoever. However if you said "I am a programmer, let me manipulate your objects" in a French accent, that's hilarious!

      --
      My ism, it's full of beliefs.
  4. understanding code != programming by Anonymous Coward · · Score: 0

    This study shows that understanding/reading code is related to reading : " What a surprise ! . Reading code, reading text book is more about pattern matching, memory (associative) than anything. Compare reading a math book and reading code probably results will probably be similar but this is not doing mathematics or programming, this is about reading/learning. Compare creating algorithms and demonstrating a theorem results will probably be similar.

    Three possibilities about the study :
    - Bad summary of the study
    - Propaganda
    - Wrong science

    1. Re:understanding code != programming by Anonymous Coward · · Score: 1

      PFC regions are involved in many different types f tasks. Claiming that PFC activation = language is ummm silly. PFC regions are involved in cognitive control type operations, from which language, LTM, STM, and working memory benefits...etc.

  5. It's not about comparing programming to speaking a by Anonymous Coward · · Score: 1

    The whole point is just an incentive to get more students to study programming.

    Like tax credits for charitable donations, nobody is claiming that the Salvation Army is akin to the government.

  6. I don't agree that coding is more like math by IgnorantMotherFucker · · Score: 5, Insightful

    For quite a long time now, I've been explaining to everyone who will sit still long enough to listen that the term "computer" is a bad name for what these boxen do.

    While strictly speaking they do carry out mathematical operations, that's not what most people use them for. They got the name "computer" because one of the earliest uses of computers was the numerical solution of differential equations. For example the Von Neumann architecture was developed by Dr. Von Neumann for use in designing hydrogen bombs. The Difference Engine was Charles Babbage's fat defense contract for the purpose of calculating firing tables, that is, how to aim a cannon, taking into account the wind and so on.

    Really these boxen are instruction following machines. I was able to finally explain to my mother what I really do, and what a programming language really is, by asking her to compare her applications that I might have written, to her writing down the recipe for chocolate chip cookies. That recipe could be written in English, or in German or what have you. English and German could then be taken to be recipe languages, much as Java and C++ can be considered programming languages.

    Why just the other day, I told a good friend that I wanted to return to graduate school to complete my Physics Doctorate, but had forgotten all my math. This because it is exceedingly uncommon for programmers to need to know much more than very basic arithmetic on the job. It is actually uncommon for me to use floating point on the job, or fractions. I cannot recall the last time I used a trigonometric function on the job.

    However coders do need very strong verbal reasoning skills. If you could win on the debating team, or you studied philosophy in college, I assert you could be a good coder.

    --
    Please mail me URLs of software employers.
    1. Re:I don't agree that coding is more like math by ebno-10db · · Score: 2

      Just because the skills and brain activity of reading and writing code is more akin to math, doesn't mean the required knowledge is identical to math.

    2. Re:I don't agree that coding is more like math by NapalmV · · Score: 2

      Why just the other day, I told a good friend that I wanted to return to graduate school to complete my Physics Doctorate, but had forgotten all my math. This because it is exceedingly uncommon for programmers to need to know much more than very basic arithmetic on the job. It is actually uncommon for me to use floating point on the job, or fractions. I cannot recall the last time I used a trigonometric function on the job.

      Oh well. You must have been in "enterprise computing". Where about any "application" is nothing but some sort of front end to one or more databases.

      But I have some good news for you. There are a few jobs in "scientific computing" where you would need all your math. Unfortunately they are rather scarce and don't pay that well either. But if you're after "intellectual challenge" they're pretty entertaining - they're definitely not "code monkey" style.

    3. Re:I don't agree that coding is more like math by Anonymous Coward · · Score: 0

      Some developers consider the effort laudable but misguided and proclaim programming is not at all like human language and is much closer to mathematics.

      No!!!!

      Programmers are the same either you get it and can write your own code, or you fall into the -clean up aisle-, maybe you assist, maybe you can roughly translate another programmers code. I see another comment [the top one], "coding and reading other's code are two completely different tasks".

      Math is pretty universal, and you have very few [very few] that can come up with anything ground breaking. It is pretty easy to break it down and automatically understand it for a majority. You show those same people the one program from about 30 different programmers and its like trying to read a 20 foreign languages, even to someone that's considered a top programmer.

    4. Re:I don't agree that coding is more like math by Ateocinico · · Score: 3, Interesting

      Perhaps they hold the name of their first use. In France and Spain computers are called sorters, "ordinateur" and "ordenador" respectively. In those countries they'r spread started with services like banking and accounting.

    5. Re:I don't agree that coding is more like math by Anonymous Coward · · Score: 0

      You misunderstand. What you are saying is that programming doesn't involve a lot of math. This is a widely acknowledged fact. Programming only involves math if the problem domain involves math. What people generally say is that programming is like math; it's about figuring out what data you have/state you are in, what data/state you need to get to, and how to go from this data/state to that data/state using a selection of possible operations.

    6. Re:I don't agree that coding is more like math by Capt.Albatross · · Score: 3, Insightful

      While strictly speaking [computers] do carry out mathematical operations, that's not what most people use them for.

      But calculation is not mathematics, either - or, more precisely, it is not mathematics as practiced by mathematicians doing mathematics. Calculation is what scientists, engineers, econometricians and so forth do when they apply the results of mathematics to issues in their own fields.

      I agree that the current practice of programming is not much like either of these things. Where mathematics (in the applied sense) plays an important part in the development of software (e.g. cryptography, signal processing), the mathematics is generally applied to the problem before coding starts.

    7. Re:I don't agree that coding is more like math by Hognoxious · · Score: 1

      For all your shitty sarcasm, all you're saying is that programming about highly mathematical subjects involves a lot of maths.

      Don't confuse programming per se with the problem domain, kid.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:I don't agree that coding is more like math by w_dragon · · Score: 2

      There aren't many fields that use more than 2-3 branches of math. Programming tends to use formal logic, lambda calculus, and graph theory. I never understood why people here think math ends at calculus and statistics.

    9. Re:I don't agree that coding is more like math by Anonymous Coward · · Score: 0

      because that's all they learned in high grad. you are lucky if they consider calculus, as usually mathematics == algebra for the unwashed masses.

    10. Re:I don't agree that coding is more like math by ranton · · Score: 3, Informative

      As another poster already mentioned, you are confusing your problem domain with programming. Your argument is little different than someone saying programming requires a significant amount of accounting knowledge just because they work for Intuit.

      Programming itself rarely includes more math than simple algebra. There are of course very specialized fields of software engineering that need quite a bit of math, such as data science or other research oriented fields. But at the risk of making up statistics, I doubt more than 5% of programmers use more than a 10th grade level of math in their entire career.

      And regardless of your young and naive view of the software development industry, writing line of business software is rarely just a front end to a database. That may be true for many SMB projects, but things are much different at the enterprise level. I have done research in academia and have helped design global software systems used by millions of users in almost a dozen countries, and I can say the level of complexity can be just as high in either specialty. One field does require a lot more math though.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    11. Re:I don't agree that coding is more like math by NapalmV · · Score: 2

      As another poster already mentioned, you are confusing your problem domain with programming. Your argument is little different than someone saying programming requires a significant amount of accounting knowledge just because they work for Intuit.

      You got it right, that's exactly what I was saying: if you want to use your advanced maths then find a domain that uses them in addition to using a programming language. Coming back to the actually unnecessary complexity of "enterprise" software, here's how we got there:

      - people with no knowledge of maths, programming and systems theory were put in charge to draft the specs (yes, I'm talking business analysts and managers of all sorts) from platform selection to the minute details of the UI
      - developers were treated by said management like disposable cattle, with a "my way or the highway" attitude, to make sure that no real feedback could ever occur

      In the end, we got the most extraordinary kludges on workarounds of hacks improvised late nights between coke cans and pizza boxes. At the limits of what mankind could ever do.

    12. Re:I don't agree that coding is more like math by kumanopuusan · · Score: 2

      I'm glad there are a few people here who recognize this. Mathematics requires computation, but since its inception in Greek geometry that has never been the focus of the subject. Writing proofs is almost exactly like writing code, and it's not a coincidence.

      --
      Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    13. Re:I don't agree that coding is more like math by Half-pint+HAL · · Score: 1

      Programming itself rarely includes more math than simple algebra. There are of course very specialized fields of software engineering that need quite a bit of math, such as data science or other research oriented fields. But at the risk of making up statistics, I doubt more than 5% of programmers use more than a 10th grade level of math in their entire career.

      If your definition of maths is "algebra + calculus", then this is true. If your definition of "programmers" is script kiddies, then this is true. But any non-trivial program will rely heavily on graph theory.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    14. Re:I don't agree that coding is more like math by NapalmV · · Score: 1

      Yet we've banned the goto statement, forcing everyone to describe graphs with if-then-else-throwexception control structures lol.

    15. Re:I don't agree that coding is more like math by Half-pint+HAL · · Score: 1

      I see no justification for this word "yet". I didn't suggest that any given computer program would allow the representation of any and all possible graphs.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    16. Re:I don't agree that coding is more like math by redlemming · · Score: 1

      Writing proofs is almost exactly like writing code, and it's not a coincidence.

      Wrong.

      Mathematics is always done in a fantasy world. For a trivial example, there are no lines extending to infinity, or perfect circles: to work with these you must create a fantasy world in which they exist. A set of axioms and theorems creates a fantasy world. Being able to do proofs requires working within that fantasy world.

      Programming, on the other hand, requires interaction with the real world. Programs will run in a certain amount of real time, and take a certain amount of real disk space, and real memory on real machines. It is possible to do experiments, and often necessary to do so ("proving" correctness of real programs is often impractical), and thus we can and must approach programming as a science.

      Understanding and working with the real world calls for a very different mindset from that which is required to be a mathematician. For example, a mathematician might claim that it is impossible to determine "in general" whether a program halts, but a programmer knows that all real programs will halt due to entropy. In the fantasy world of the mathematician, thermodynamics does not exist. Further, only the mathematician cares about "in general", the programmer is never looking at "in general" as the mathematician uses that term, but rather is looking at a specific program.

      Similarly, in programming, because we are dealing with the real world, we need to manage complexity. Much as the engineer or physicist uses approximations to allow mathematics to be applied to the real world, by simplifying the mathematics, so to does the programmer use abstractions and approximations to simplify his or her work. The goal is not the logical correctness of a proof, but creating something that a) gets the job done, and b) is maintainable and well documented. A proof need be neither maintainable nor well documented, and MUST be logically correct.

      We can't use the integers on computers, let alone the real numbers. All we can do is approximate these. In programming, we are constantly juggling approximations, without the luxury of dealing with the "perfect" or "ideal" quantities that are so characteristic of the world of the mathematician.

      In programming, as in engineering or physics, mathematics is a tool, a means to an end, not an end in itself. Programming is not math.

  7. Do the test using Ladder Logic by evanh · · Score: 1

    That will be a good test of language vs math.

  8. Doesn't make much sense it you look a bit harder by bazmail · · Score: 1

    1. How many programmers out there speak more than 2 languages?
    2. How many can program in more than 2 languages?

    Its likely the answers are 1. not many and 2. most.

    I think equating spoken languages to programming languages like this is misguided and makes sens only to tech-ignorant policy makers and scientists looking for juicy grants based on half-baked non-peer-reviewed research.

  9. READ BETWEEN THE LINES !! by Anonymous Coward · · Score: 0

    That's where all the work is done !!

  10. Why? by jamesl · · Score: 1

    First, somebody needs to explain why some schools have a foreign-language requirement. The job of high school is to prepare students for jobs upon graduation (not so much any more) and/or prepare students for college. How does one or two years of mandatory foreign language study do either?

    1. Re:Why? by Ardyvee · · Score: 2

      It prepares you for jobs because it's not uncommon you will have to deal with people who don't speak your native language. It's also not uncommon for people to move somewhere else because of a job. In non-english countries, it's in your best interest to teach your students english because a lot of information is available in that language.

      --
      I don't care if I'm wrong. I only care about everyone obtaining something from the discussion.
    2. Re:Why? by EzInKy · · Score: 1

      How does one or two years of mandatory foreign language study do either?

      It enables you to understand the orders your future bosses are barking. Really, Chinese should be a mandated prerequiste at every high school today because why should the Chinese waste precious time teaching their kids to understand just what it is you are saying? Chinese kids have important things to learn and such silliness as to how to communicate non-Chinese speaker wastes so much time and energy that better be spent learning how to program hardware.

      --
      Time is what keeps everything from happening all at once.
    3. Re:Why? by ledow · · Score: 4, Interesting

      Sorry, but it's much more deep-rooted than being able to talk to someone in a foreign country.

      If you don't get that, you probably don't have many bi-lingual friends and certainly haven't asked them about it.

      Being bi-lingual allows you to find patterns, origins, etymologies and structures of words. It's not uncommon from being able to speak French and English to being able to understand Spanish, Italian and maybe a little Portuguese WITHOUT having to learn anything, just hearing a native speaker.

      It's provides much greater command of grammar and language structure than is available in English alone.

      I speak as someone who was forced to learn only "tourist" German in an English school, who now lives with an Italian fluent in English and has entire swathes of friends who speak foreign languages.

      English is universally derided among them for being the easiest to learn. The grammar is pathetic. The rules are arbitrary but easily picked up. The words all comes from Latin or Greek or Germanic originally.

      And being bi-lingual opens up the creative areas of the brain associated with language. While you're 3-7 years of age, your brain will accept another language with ease. It won't even hinder you learning other things as you learn it. And you'll be bi-lingual by the time you're an adult with no extraneous effort. However, if you don't get it into the language-processing areas of the brain by that age, you will GREATLY struggle to learn a language later.

      And by learning a language, I mean being able to live normally in the country for a year without resorting to translation tools, not asking the way to the airport in a single, broken accent.

      My girlfriend's command of multiple languages is impressive. And it comes about because she was taught English in school and it was SO MUCH easier a language to learn than her own. It's basically the baby-language of foreign languages.

      It's not about tourism.
      It's not about being able to phone up a foreign company and sell to them.
      It's literally an expansion of your whole thought processes and language interpretation that allows you a much richer method of communication, no matter what the language.

      And while you're a child, you'll just absorb it - like any child in a bi-lingual home. But when you grow up, you'll struggle and have to spend 10 years learning to get the grammar, accent, structure, phrasing and wording correct enough to blend in. And it will never be "natural". But, learning a foreign language in school, it can be "natural" to your thought processes.

      They say you know when you've actually learned a language because you dream in it. That's how natural it becomes and you get the richness of expression available from all the languages you know.

      It's not about whether you know Perl, or French. It's about being able to genericise concepts enough that even when speaking in several languages at once you get a deeper understanding of what the grammar means and how the structure should be to be common to all languages.

      Someone who programs professionally in a range of programming languages will, generally speaking, be more fluent in any particular one. The same as someone who speaks more than one language being, generally speaking, more capable with their use of language overall.

    4. Re:Why? by ebno-10db · · Score: 1

      Chinese should be a mandated prerequiste at every high school today

      They said the same thing about Japanese in the 80's.

    5. Re:Why? by ebno-10db · · Score: 1

      English is universally derided among them for being the easiest to learn.

      It's odd to deride a virtue.

    6. Re:Why? by phantomfive · · Score: 1

      Well that's a pretty conception of half-truths and misconceptions. You should actually learn a language so you have an understanding for yourself instead of relying on the poorly described ideas of your friends

      --
      "First they came for the slanderers and i said nothing."
    7. Re:Why? by DNS-and-BIND · · Score: 1

      English is "derided" for being "easy to learn"? What the fuck kind of world do you live in where that's a problem?

      The world's common language should be easy. I'm learning an Asian language and it's difficult as hell for no good reason. I and everyone else learning it certainly wouldn't criticize it if it were easy.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    8. Re:Why? by Anonymous Coward · · Score: 0

      Liberal will tell you learn and be dominated by a foreign language, a Conservative will tell you to out-compete the foreigner, so logically I am a Conservative

    9. Re:Why? by MadKeithV · · Score: 1

      English is universally derided among them for being the easiest to learn.

      It's odd to deride a virtue.

      Perhaps their command of the English language is a little less than their inflated multilingual egos make them think?
      I consider myself quite bilingual - Dutch and English. I speak, think and dream in both of those languages quite easily. People here in the UK are sometimes surprised to learn that I'm not English and my first language is technically not English. I speak quite a bit of French, and have a reasonable grasp on understanding German, Portuguese, and by extension Spanish and Italian.
      English is "easy" because it's almost impossible NOT to be exposed to an awful lot of English all the time. English language music, films (no dubbing in Belgium), English books, some English at school. Though I do believe as well that early exposure makes the biggest difference. When I was young there was a northern irish boy who'd come over for a month during the summer holidays (how are you doing these days, Niall?), and as kids you ignore the gaps and errors, and learn to use the language for what it was meant to do: communicate. As soon as you're communicating, imitation and learning will take over and fill in the gaps.
      Knowing many languages is a bragging point. Being able to communicate with many people is a skill.

    10. Re:Why? by Half-pint+HAL · · Score: 1

      The job of high school is to prepare students for jobs upon graduation (not so much any more) and/or prepare students for college. How does one or two years of mandatory foreign language study do either?

      If you can identify what a 12-year-old is going to do for a lifelong career, then you can use school as a work training camp. If you cannot (and I have yet to meet anyone who can) then school has to teach a broad base that covers two roles: understanding the world around you and giving you enough knowledge that you can learn more. Many of the most difficult hurdles in language learning are dealt with in the first two years. You encounter idiomatic differences like English's "I am X years old" vs Spanish/French/Italian "I have X years". You run up against differences in word order. You discover that foreign words don't map your native language one-to-one. You find out that there are sounds out there that you've never pronounced.

      2 years in high school may not teach you a language, but people who have done high school language classes will find it a hell of a lot easier to study a language later in life than those who haven't.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    11. Re:Why? by Half-pint+HAL · · Score: 2

      English is universally derided among them for being the easiest to learn.

      English is easy to start learning, but very difficult to master. The first year of learning English is easy, whereas the first year of learning (eg) French is pretty difficult. But after that first year, you know the hard parts of French, and all that's left to learn is the easy stuff. English... well, the worst is yet to come.

      The grammar is pathetic. The rules are arbitrary but easily picked up.

      Rules that are truly arbitrary are never easy to pick up. Rules must maintain some internal logic.

      The problem with English is that its simple syntax and lack of inflectional complexity means that grammatical complexity is transferred to word bundles. The stuff of nightmares for the Spanish learner-of-English is the "phrasal verb". "pick up" may use the words "pick" and "up", but the verb "pick" means "choose", whereas there's no implied choice-of-thing in "pick up". When we "pick up a ladder", we "pick it up". When we "set up a ladder", we "set it up". But when we "go up a ladder" we "go up it". This is internally logical, but despite that, it still trips learners up, because what looks like the same pattern superficially is actually two different ones.

      The words all comes from Latin or Greek or Germanic originally.

      That doesn't make it easy. German's vocabulary almost all comes from Germanic. French's vocabulary almost all comes from Latin. Modern Greek's vocabulary almost all comes from Ancient Greek. Whereas English has a hodge-podge of the three plus French, and it's difficult to predict which words we use, and which we don't. Our "kings" are Germanic, and when they act "regal" they are Latin, whereas their "royal" virtues are French.

      The lack of clear shared roots in related nouns, adjectives and verbs makes the learning of English vocabulary a long and thankless task.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    12. Re:Why? by bobaferret · · Score: 1

      Alas, I have no mod points for you, but think highly of your post.

    13. Re:Why? by Anonymous Coward · · Score: 0

      First, somebody needs to explain why some schools have a foreign-language requirement.

      There's no reason in this day and age for US schools to have a mandatory foreign language requirement. It would be far better to spend that time exposing every student to the social sciences and law, to complement the existing training in the physical sciences.

      I wasted three years in high school with an utter idiot for a Spanish teacher. Teaching languages well is very difficult. Making language study a requirement simply exposes more students to bad teachers. Morally, forcing somebody to spend hundreds of hours in a class with a horrible teacher is no different than kidnapping them for hundreds of hours: you're stealing a precious and irreplaceable portion of somebody's life, not to mention the damage resulting from adding stress to their lives to no purpose.

      Language training should be elective, with small classes, and should include training in how to memorize things (perhaps along the lines suggested by Harry Lorayne and Jerry Lucas, or Karl Albrecht), and with computer support to help students with pronunciation (perhaps with some sort of biofeedback).

    14. Re:Why? by Anonymous Coward · · Score: 0

      It prepares you for jobs because it's not uncommon you will have to deal with people who don't speak your native language.

      Not sure what part of the world you're living in. Here it definitely IS uncommon, and hence foreign languages should be an elective.

    15. Re:Why? by MrKaos · · Score: 1

      Wow, I didn't realise there were such benefits to having bi-sexual parents, very interesting.

      --
      My ism, it's full of beliefs.
    16. Re:Why? by MrKaos · · Score: 1

      The stuff of nightmares for the Spanish learner-of-English is the "phrasal verb". "pick up" may use the words "pick" and "up", but the verb "pick" means "choose", whereas there's no implied choice-of-thing in "pick up". When we "pick up a ladder", we "pick it up".

      Right! When I goto a nightclub to "pick up" a girl, I literally club her over the head at night, until she is unconscious, then "pick her up" to take her home (after that though I not sure what I should do).

      The lack of clear shared roots, a long and thankless task.

      Oh, I couldn't agree more.

      --
      My ism, it's full of beliefs.
  11. Ha. Your description IS a branch of mathematics. by Anonymous Coward · · Score: 0

    The difference you are overlooking is the translation of a problem description into mathematics.

    Otherwise, no computer to process the information...

    It is called a computer because that is all it can do - compute. It carries out mathematical procedures. Nothing more.

    If you can't translate a procedure into mathematics, then the computer cannot perform the procedure.

  12. None and none by Sand_Man · · Score: 1

    All CS or Engineering here.

  13. Re:Inferiority by Anonymous Coward · · Score: 0

    The link: http://www.gnxp.com/blog/2007/04/intercourse-and-intelligence.php
    Have a nice day!
    --
    Sheshbazzar

  14. Perl, Larry Wall, and Linguistics by theodp · · Score: 4, Interesting

    Larry Wall: Wall developed the Perl interpreter and language while working for System Development Corporation, which later became part of Unisys.[5] He is the co-author of Programming Perl (often referred to as the Camel Book and published by O'Reilly), which is the definitive resource for Perl programmers; and edited the Perl Cookbook. He then became employed full-time by O'Reilly Media to further develop Perl and write books on the subject.[5]

    Wall's training as a linguist is apparent in his books, interviews, and lectures. He often compares Perl to a natural language and explains his decisions in Perl's design with linguistic rationale. He also often uses linguistic terms for Perl language constructs, so instead of traditional terms such as "variable", "function", and "accessor" he sometimes says "noun", "verb", and "topicalizer".

    1. Re:Perl, Larry Wall, and Linguistics by Anonymous Coward · · Score: 5, Funny

      May I ask you to stick to the subject. We are talking about reading code. Everybody knows perl is a write only language.

    2. Re:Perl, Larry Wall, and Linguistics by theodp · · Score: 1

      Nice (deserves better than a 0). I was unfamiliar with the terms write-only and reald-only languages.

    3. Re:Perl, Larry Wall, and Linguistics by bill_mcgonigle · · Score: 1

      and in turn, Perl is a language favored by folks who tend towards linguistic expression. Guys who spent their time in college doing a math major tend to favor languages like python, and they love to talk about the lambda calculus, etc.

      From TFA:

      All algorithms are written in imperative
      Java code inside a single main function without recursion and with
      light usage of standard API functions

      Frankly, that's a decent choice for a first pass - rather explicit and "uninteresting". Further research would be interesting to see what changes by changing languages, recursion, inheritance, polymorphism, maps, events, function pointers, decorators, closures, s-expressions, etc. and then comparing against various aptitude tests on the parts of the participants. I suspect some clear trends would be found, which could help developers find their optimal language(s) more quickly than they way we do it today.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    4. Re:Perl, Larry Wall, and Linguistics by Hognoxious · · Score: 1

      I was unfamiliar with the terms write-only and reald-only languages.

      That's rather a surprise.

      Moliere's Bourgeois gentilhomme springs to mind...

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:Perl, Larry Wall, and Linguistics by ebno-10db · · Score: 1

      Wall's training as a linguist is apparent in his books, interviews, and lectures. He often compares Perl to a natural language

      And that's the downside to the language. I love Perl and use it as my scripting language of choice. However, as somebody I know who was trying to learn it said, "too much syntax". You don't need, and aside from a little syntactic sugar generally don't want an unnecessary profusion of different ways to do the same thing. It's a nice characteristic for poetry, but not programming.

    6. Re:Perl, Larry Wall, and Linguistics by Anonymous Coward · · Score: 0

      Well, "write-only" may be too general: I think of Perl as a "write-once" language, since even my own code from decades ago (I did a full MPEG validation parser, a natural for Perl) is now cryptic to me. On the other hand, I find my other code from that era (in C/C++, Bash, etc.) to still be quite readable.

      I tend to prefer "simple" languages with a small number of powerful features, rather than a garbage-can language with an operator for everything (APL).

      Of course, the limit of "simple" languages is reached at Lisp and FORTH, both of which I also consider to be "write-once" languages.

    7. Re:Perl, Larry Wall, and Linguistics by Half-pint+HAL · · Score: 1

      Also, they used explicit variable names. Using simple tokens like a,b,c; i,j,k; x,y,z would allow more of an insight into how we see the structures.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    8. Re:Perl, Larry Wall, and Linguistics by StormReaver · · Score: 1

      He also often uses linguistic terms for Perl language constructs, so instead of traditional terms such as "variable", "function", and "accessor" he sometimes says "noun", "verb", and "topicalizer".

      That would explain why, as a programming language, Perl is so damned inpenetrable. Hint to Larry: Vogon poetry is not a programming language.

  15. give us ancient history of hysteria for 85 ediot by Anonymous Coward · · Score: 0

    ok. who can forget the hoopla surrounding presidential candidate ross perot's (billionaire computer programmer) 'deep voodoo & chicken feathers' speech meltdown, after which time he proclaimed he feared for his life from the gangsterious beltway feather peddlers?

    for 85 then;; what was ross referring to?

  16. Math is a language. by JThaddeus · · Score: 1

    Thank you, Professor Kugler.

    --
    "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
    1. Re:Math is a language. by Anonymous Coward · · Score: 0

      Ha ha ha...
      Imbecile! Math is, demonstrably, not even syntax of language. Heathendom, please, hang yourself.
      --
      Sheshbazzar

  17. Makes sense to me... by Anonymous Coward · · Score: 4, Insightful

    Make sense to me... Language processing areas of the brain are a component of programming.

    Try this experiment: Count backward from 100 by 3s. As in 100, 97, 94, 91, 88, etc.

    At around 85 have another person -- yes an actual living breathing person -- start calling out random numbers between 1 and 100. See how long you can keep counting.

    It's all pure math. But very few people have the ability to keep going amid distractions, even when the numbers are being called out in a foreign language they do not speak or understand.

    Programming is like counting backward from 100 by 3s, only thousands of times more complex. Coding while someone is talking nearby can be downright impossible. Clearly there is some overlap between language processing and writing/reading/understanding code.

    1. Re:Makes sense to me... by Carewolf · · Score: 1

      Language and logic shares the same part of the brain, the one dealing with deep structural analysis. Language is partially duplicated elsewhere but those are no exact and mostly deal with picking out general mood and your name.

    2. Re:Makes sense to me... by dinfinity · · Score: 1

      Coding while someone is talking nearby can be downright impossible

      Only if you are interested in what they are saying.

      I can happily program away with somebody sitting right next to me and addressing me directly. Also, listening to music with intelligible lyrics is no problem at all. Having the a video playing while programming is also no problem whatsoever.

      The key here is that I can only focus on one stream at the same time and will not process the words of the other stream at all. If I focus on my programming, you could say to me that a beautiful and sexually skilled nymfomaniac is waiting for me in the next room and I would have no recollection of that a minute later. I might have a subconsciously induced boner, but I would probably attribute that to looking at my sexy, sexy code.

    3. Re:Makes sense to me... by MrKaos · · Score: 1

      Coding while someone is talking nearby can be downright impossible.

      Yes but, grabbing that person by their neck, holding them down and repeatedly punching them in the face whilst saying 'DO YOU UNDERSTAND' is *exactly* like coding.

      --
      My ism, it's full of beliefs.
    4. Re:Makes sense to me... by MrKaos · · Score: 1

      Also, listening to music with intelligible lyrics is no problem at all. Having the a video playing while programming is also no problem whatsoever.

      How interesting, if I know the song I can listen to the words and I seem to code sexier.

      --
      My ism, it's full of beliefs.
  18. I have always felt coding was a language skill by localroger · · Score: 1
    Even though computer languages are different from human languages in major and universal ways we do use the same mental muscles to comprehend computer languages as we do human ones. This is also why it is much easier for children who are exposed to programming early to pick up the knack than it is if they aren't introduced to coding until they are adults.

    While computer languages are about math a lot more than human languages, coding isn't really like doing math. It's more like telling the machine how to do math, which the machine then does for you.

    --
    Brackets contain world's first nanosig, highly magnified:[.]
  19. Programming is about goals and organisation by Alain+Williams · · Score: 2

    A lot of programming is about understanding a problem, seeing what the real needs are - not the ones that the users think they need. You then need strategic planning on how to meet those needs, a lot of that will be about understanding how the new program will fit into the existing ecosystem. Next comes the translation of that strategy into a programming language (or more: you may also need some SQL, HTML, shell, ...) and the completely different skills of debugging. Finally: documentation for the users and also the programmers [actually: I find that doing the first draft of the documentation before writing the code is a really good idea].

    So: programming is much more than just language skills.

    Some here have asserted that programming is a branch of maths. This may be true for some sorts of programs (or some subroutines), but it is not true for most of what I do -- although an understanding of maths does help some parts.

    Summary: please don't be simplistic, programming is a complex skill that requires many different brain subsystems, language is just one of them.

    1. Re:Programming is about goals and organisation by Anonymous Coward · · Score: 0

      No, it's been proven programming is a language skill.

      Just relax, sit back and watch the show! Hillarity ensues when people abuse science and logic ;)

      It's even funnier when coming from self-proclaimed "sceptics", who are somehow unable to be productive with anything else than deriding others.

    2. Re:Programming is about goals and organisation by Anonymous Coward · · Score: 0

      I have to disagree with the distribution of emphasis.

      The notion of "fluency" clearly bridges both the Computer and Natural language world. Yet it has a somewhat different connotation in mathematics (probably due to the size of the field).

      I also think of programming more as a set of conversations than "pure" problem solving. The conversation between the programmer and the IDE is just one of them. Being able to determine clear requirements and specifications are additional conversations (especially when conversation with other humans is necessary). Developing high- and low-level testing are others (especially when you must interface with a test or QC/QA organization). Each requires different technical and non-technical skills. Even the task of programming itself gains other conversational dimensions when working in a team or with vendors, contractors, consultants and other outside entities.

      Programming isn't "just" or even "primarily" about coding skills. It's about integrating the computer into the real world, as a useful tool.

      The very best programmers I've known seem more like artists, more like great authors, poets or novelists, rather than "primarily" excellent engineers.

      Fluency is a very powerful word. To me, it means that I no longer have to think at the low-level of nouns and verbs, but instead begin to intuitively work at much higher levels.

    3. Re:Programming is about goals and organisation by Half-pint+HAL · · Score: 1

      Sorry, but that's what we call "development". The boundary between "development" and "programming" may be a fuzzy one, but that doesn't mean we should conflate the two. Writing the user manual is certainly not programming.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  20. Sounds like my typical experience... by JoeMerchant · · Score: 1

    "Mathematical calculations typically take place in the intraparietal sulcus, mathematical reasoning in the right frontal pole, and logical reasoning in the left frontal pole. These areas were not strongly activated in comprehending source code.

    Usually, when I'm reviewing legacy source code, I find that the author's mathematical and logical reasoning centers were not strongly activated while writing the code, either.

    1. Re:Sounds like my typical experience... by mikael · · Score: 1

      It's like writing an essay. The quality of the source code really depends on a number of things; whether it was something new or familiar to the programmer, how distracting/peaceful the environment was, how much time was available to polish up and refine the code, and whether there was any framework that they could use (such as node based programming, GUI widgets, or the TCP/IP network layer models, template files for writing new modules).

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    2. Re:Sounds like my typical experience... by JoeMerchant · · Score: 1

      Oh, I understand completely, and an embarrassing large chunk of the legacy source code I have left behind falls into the "I could have done that better, if..." category. Nonetheless, it's amazing how many business and even life safety critical systems are creaking along on "proven" steaming piles of "could have done better, if..."

  21. Sounds like a solid theory by InfiniteBlaze · · Score: 1

    Programming languages are very much like spoken languages. If you understand the origin language, or have an innate ability to infer meaning, it is possible to naturally understand a new programming language. I studied C++ in high school, so Java and C# are familiar and easily understood. The structures make sense, and if I don't immediately know offhand what something does, I can infer from the surrounding code. The same holds true for spoken languages. English is my first language, and I studied German in school. I never formally studied any other languages because that wasn't my passion. My passion was working with computers. However, I can generally infer the meaning of spoken Spanish in the same way I would deduce the function of unfamiliar code. I look for parts I recognize, use them to help decide what the unfamiliar portion means, and test my guess.

    1. Re:Sounds like a solid theory by NapalmV · · Score: 1

      Programming languages are very much like spoken languages.

      Agreed. With C standing for Chinese.

    2. Re:Sounds like a solid theory by InfiniteBlaze · · Score: 1

      I've never heard of Chinese++...isn't Chinese hard enough without making it more complex?

    3. Re:Sounds like a solid theory by NapalmV · · Score: 1

      Currently their wages aren't falling so they didn't see a need for it yet:

      http://www-users.cs.york.ac.uk...
      .

  22. Programming is a form of writing by CaroKann · · Score: 2

    I've always felt that writing good code is very similar to writing a good essay or research paper. The process is about the same. The thinking is about the same. The ideal steps followed to produce a decent paper are similar to the steps followed to produce decent code.

    I've always thought that a good essay writer can make a good programmer. In particular, good essay writers can make good programmer/analysts or project managers. In both worlds, you struggle with scope, organization, and fact finding. Answering the question "What is this paper/program really and truly about?" is the primary task.

    1. Re:Programming is a form of writing by otc-lame · · Score: 1

      I agree with this whole-heartedly. Interestingy, what is my process for writing a research paper, while the same as my process for writing a coding project, is not at all what my English teacher would've liked.

  23. Code is closer to legalese than math by 140Mandak262Jamuna · · Score: 1
    The authors are using fMRI images and proper scientific study to show that coding and natural language processing activate different parts of the brain. Most likely to be true. I am wondering if they would compare coding ares of the brain with the parts activated by writing legal contracts or legislation. Both of code and legislation/contracts try to express.. let me switch to coding parlance... Both coding and writing legislation try to describe if () then {} else {} under some context.

    Both try to make it as unambiguously as possible, both try to define the context under which the conditional will be evaluated and the consequent actions/outcome/behavior for the true and false paths.

    Both work most of the time for the anticipated context. But when unusual and unanticipated conditions arise, codes trigger bugs and the legislation triggers loopholes. Bugs are sometimes confused with features. Loopholes too are sometimes intended to be there.

    Both code and laws need to struggle with legacy issues and maintaining historic behavior sometimes takes precedence over fixing the bug/loophole.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Code is closer to legalese than math by Max+Threshold · · Score: 1

      I've often thought the same thing. Too bad most lawyers are the analogues of the horrible developers coming out of code mills in Bangalore.

    2. Re:Code is closer to legalese than math by 140Mandak262Jamuna · · Score: 1

      Bad programmers come from everywhere. But the bad ones coming from India are particularly irritating because they think their bad code is great code.

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    3. Re:Code is closer to legalese than math by sydneyfong · · Score: 1

      Law is fuzzy. Programming is usually not.
      Law is often inconsistent. Programming (or the underlying logic) usually cannot be inconsistent.
      Law is relatively simple once you get past the fuzziness and inconsistencies. A lot of software is multitudes more complex than legalese.
      There's often an easy way to test your program. Not so easy to test a legal theory or opinion. (You go to court, spend thousands or millions on legal fees before you get a judge to decide on the matter -- and then you have appeals)
      Lawyers are usually not very anal about making the law "efficient" and "easy to understand". Sometimes the law is more complicated than it needs to be, and the lawyers like it that way (after all, they make money by translating all that crap to plain language). Most good programmers, on the other hand, strive to make their code easy to read.

      English common law is basically all about struggling with legacy issues and finding new applications for old "code". The concerns about "backwards compatibility" (i.e. not overriding previous decisions) appear often enough to warrant a mention.

      Disclaimer: IANAL, have a law degree, and I'm a software engineer.

      --
      Don't quote me on this.
    4. Re:Code is closer to legalese than math by 140Mandak262Jamuna · · Score: 1
      No the goals of legislation and computer program are the same. Unambiguous description of what should happen when under what circumstances to whom.

      But law is stuck in an archaic mode. It is using natural language with words having imprecise meanings and sentence structures that can not easily handle complexity. It is like the biology books before the widespread adaptation of pictures in print. Elaborate naming conventions, trying to unambiguously descrine leaves branching off the stem two at a time, or one at a time etc etc. It is as though the lawyers are deliberately ignoring the advances in mathematics and in the use of diagrams, or novel syntax to describe nested conditionals.

      Yes, in practice the law becomes very fuzzy and is open to varying interpretations. But when it comes to the goal, law and code try to do the same thing, unambiguous description of outcomes for every eventuality. Wish I could get some grad students in law and computer science would collaborate to write existing laws in pseudocode and use lexical parsers to find the unhanded/undefined branches in the flow chart.

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    5. Re:Code is closer to legalese than math by Anonymous Coward · · Score: 0

      Bad ones from anywhere think their bad code is great. In one course I was on, I worked with a guy who created a GUI in Delphi, and the damned thing had about 50 or 70 variables, all named a, a1, a2, a3, a4, and so forth. I pointed at it, and asked him what one did, he told me he'd just been working with it and knew what it did. I pointed to another, and he glanced at the code. By the time we got to the third one, he didn't know what did what, and had to read the code to try and work it out.

      I disassociated myself from that project when he refused to follow the standards required by the course.

    6. Re:Code is closer to legalese than math by sydneyfong · · Score: 1

      (Sorry for stereotyping but) you're a typical geek. You think that words can have a precise, context-free meaning, and whether something falls within the meaning of a word (or a technical term) can be done in polynomial time.

      The real world is much more complicated than that.

      Take for example, what is a male and what is female? You'd think it's easy enough to determine that if you have access to the genitals, but there's still difficult corner cases to handle. For legal questions, it can be even more complicated. Questions like "was there a contract?" "is this negligence?" "did the person have the 'intention' to commit the crime?" are simply too 'complicated' to have a deterministic algorithm for all the cases. And before you ask why there are so many lawsuits (I'd imagine many more than the number of people with an indeterminate sex), the fact is that for the vast majority of cases the question is pretty clear cut, and it's really the corner cases that seriously go to court for a dispute on issues of law (as opposed to factual disputes, eg. whether a person did indeed sign a contract, whether the accused did kill the victim, etc.).

      Supposedly you can really write out all the anticipated cases in a super horrifically complex program. But then, even if we suppose we can resolve the controversial cases where the facts don't fit our intuition (eg. the many many many situations whether or not you can have an abortion), it defeats the other purpose, that the (general) legal principles should be understandable by a lay person. In fact, lawyers are human beings too (well, not going into the soul question), and if the solution is not understandable by a significant number of lawyers, it's not going to become law. That's where your argument comes in -- but honestly, when you're good at skill X, you'd tend to believe that skill X is all you need to solve the world's problems, until you realize that when you apply skill X outside of its usual domain, it doesn't work in practice. (Just check out the mad scientists cartoons/movies for how things that work in theory could go wrong) The fundamental flaw I see, is that people expect the law to *usually* work according to their *intuition*. Usually court decisions don't tend to go against common sense, and when it does, the legislature will "correct" the decision (at least for common law systems) so that the law is what people expect. The problem is, what people expect can be very self-inconsistent, and what people expect is usually optimized for the normal case, not optimized to reduce the awkward corner cases. If you have no idea what the "self-inconsistencies" of a normal human being is, try understanding a woman. (to please the feminists: or a man who's not a logician -- getting to understand the opposite sex makes you wonder whether everyone's brains are just full of inconsistencies)

      And of course you can't just look at the law in its current state and simply declare it void because you have a supposedly better system "intelligently designed" by a genius. I'm not sure about you, but I personally would be very skeptical of any large "rewrite" of a system by a person who doesn't even understand what the system is about.

      I do agree there could be a bit more inter-disciplinary research on how CS can assist in making law less complex, but ... from what I know and understand (not to say that it's a lot), I'm skeptical whether there could be any groundbreaking results.

      I'd say, getting legislation to use a proper version control system, and if a git-blame could show all the people who voted for/against a particular law, it would already be a great win. :)

      --
      Don't quote me on this.
  24. for school, either programming or foreign language by raymorris · · Score: 1

    I use several programming languages, and I can read about 3 human languages. While there are some similarities, I'd say the two things are quite different. However, that doesn't settle the question of what should be taught in school.

    I've gone back to school. I'm getting a degree from WGU. For my degree, I could take either American history or sociology. By giving me the choice, the school isn't implying that history and sociology are the same thing. They are saying that either one will improve my education. I see foreign language and programming the same way. Learning either creates a more well-rounded and employable student. I see it as "take either foreign language or programming, not just basket weaving and bird watching".

  25. Re:Ha. Your description IS a branch of mathematics by am+2k · · Score: 1

    It is called a computer because that is all it can do - compute. It carries out mathematical procedures. Nothing more.

    Then explain the mathematical equivalency to a jump instruction, a variable assignment or an I/O operation.

  26. Amazing that neurons by Anonymous Coward · · Score: 0

    can form into rough sketches of Natalie Portman like that

  27. I found they were for me by NotSoHeavyD3 · · Score: 4, Interesting

    Since in college I was hopeless in my foreign language class when listening/speaking were stressed. (And failed those classes multiple times.) When all I had to do was read it(at the same 4th semester level) I passed it the first time and I wasn't even close to failing. (Yes, I realize this is an anecdote but I wouldn't be surprised if there were a difference between reading and listening.)

    --
    Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
    1. Re:I found they were for me by BlackHawk-666 · · Score: 2

      I'm similar. While I can read French to a reasonable degree my ability to understand it while listening is poor, and my ability to speak it is laughable. OTOH I can read pretty much any computer language and am fluent in...um...a lot...I can't really recall.

      --
      All those moments will be lost in time, like tears in rain.
    2. Re:I found they were for me by swilly · · Score: 1

      The problem is probably with lexical analysis, when you break the stream of sounds or letters into words. When a language is fluently spoken there are few if any pauses between words, your brain adds those. It's possible to be familiar enough with a languages grammar and vocabulary to read without difficulty, but not yet familiar enough for your brain to subconsciously break sounds into words.

    3. Re:I found they were for me by Darinbob · · Score: 1

      So then, repeat this experiment but with snippets of Scheme code. Get rid of the lexical analysis and parsing and focus on the problem.

    4. Re:I found they were for me by Half-pint+HAL · · Score: 1

      Since in college I was hopeless in my foreign language class when listening/speaking were stressed. (And failed those classes multiple times.) When all I had to do was read it(at the same 4th semester level) I passed it the first time and I wasn't even close to failing. (Yes, I realize this is an anecdote but I wouldn't be surprised if there were a difference between reading and listening.)

      There can be a difference between reading and speaking/listening, but there shouldn't be. In short, there are multiple possible ways to extract the information from a written text, but only one of them is the "correct" way. You need to read the words in order, from start to finish, and you need to associate the written word with the spoken sound. Any reading strategy that does not do that will interfere with your ability in the spoken mode.

      Our education system places a heavy emphasis on reading and writing for practical reasons: in a class of over a dozen people, there isn't enough time for aural-heavy teaching -- if you have 15 students for an hour, that's 4 minutes per student, even assuming the teacher never says a word.

      From that starting point, reading has become self-justifying and self-sustaining as the first thing: the fact that lots of people can read but not speak has led to reading being identified as "easy" and speaking being identified as "hard", and logic would suggest that we start with the easy stuff first.

      And so the poor teaching continues....

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
  28. Zero points by Hognoxious · · Score: 1

    English is universally derided among them for being the easiest to learn.

    A lot of people think that. A lot of people think they speak (and write) it better than they do. There's quite a degree of overlap.

    And they're wrong. If it was the case, then English kids would be speaking in full sentences at 6 months whereas those who speak your idealised perfect un-pathetic language[1] wouldn't be able to ask for milk before they're hitting puberty.

    The grammar is pathetic.

    I don't even know what that's supposed to mean. Should it add noun declensions? Adjectival agreement? Pray tell, O great guru of linguistics.

    [1] are you one of those Esperanto twats? You're certainly smug enough.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  29. Re:Doesn't make much sense it you look a bit harde by BlackHawk-666 · · Score: 1

    You're forgetting the complexity of learning each language and how repetition aids retention. Languages like LUA and Go have as few as 25 keywords and can be learnt in an afternoon. Try and do that with Japanese.

    --
    All those moments will be lost in time, like tears in rain.
  30. Some programmers? by EmperorOfCanada · · Score: 1

    Some programmers are also terrible and I don't listen to them on matters involving programming let alone linguistics. I have always thought of learning another language and learning another programming languages as similar experiences. At first you try to tie the words almost one for one from one language to another. But once you become fluent you just start doing things differently. But just like anyone going from no language to their first language, they must first learn the basic concepts. But with human languages you do know that there will be a word for car, bus, airplane etc. But a language used by a primitive culture might have one word for airplanes, while, say, English has many many words, (biplane, monoplane, fighter jet, prop plane, etc) the same is in many programming languages. R focuses on concepts while matlab focuses on others as I suspect that people from a pearl diving culture would have shockingly nuanced words for things relating to underwater.

    Then you get other nuances such as not using a programming language for long enough generally results in that language becoming rustier and rustier until it is gone. Yet you generally can relearn a forgotten language fairly quickly. An interesting experience would be to see if people even activate the same brain areas relearning a forgotten programming language as those used relearning a forgotten spoken language.

    But even within a single spoken language you have cultural differences. People in LA don't generally small talk about the weather, but will go on and on about the traffic during their commute. But in the North East people can talk endlessly about the weather, and in my area the joke goes, "If you don't like the weather, wait 15 minutes." The same with programming languages, using C/C++ as an example you have embedded programmers who obsess over the limitations of their environment and can pack a data-structure with bit for bit perfection; while someone working on a desktop might obsess with making their application installation friendly; and a mobile developer might obsess over screen resolution/sizes. Needless to say while the vast majority of their vocabulary is similar their use of the language can be wildly different yet mutually comprehensible.

    Now there might be one tiny catch. A programming language is combination of creativity and some mathematics. Thus the best brain comparison might be to someone doing poetry, someone writing a wordy financial report, and programming.

    So my question to any programmer who doubts that spoken languages and programming languages are not hugely overlapping in the brain is: "What part of the brain do you suggest we are using to program? The brain parts that control our bowels?"

  31. Not all programming is alike by Anonymous Coward · · Score: 0

    What did they study a "programming"? String processing with regexes in Perl, canvas graphics in HTML5, pointers in C, and tail recursion in LISP are totally different activities requiring totally different cognitive abilities.

  32. Programming what exactly in which language? by stoneforger · · Score: 0

    Because there's a vast difference in the type of mindset associated with Python for most tasks in contrast to assembly. The more abstract the language and the model, the more linguistic skills are involved because of how the language covers the underlying mechanics. The lower you go in level (having to work with pointers and stacks in C e.g.), the closer you are to the actual graph of the code in question, the more "math" are involved. Keep in mind, math isn't just algebra - I'm talking about graphs, and sets and stuff like certain techniques (like recursion). I mean, just how does reading assembly code involve linguistic skills other than decoding the "verbs" - the reconstruction of code into a graph is purely a mathematical concept. And perhaps, the real question is just how much "math" is involved in language - which frankly, depends on the language. I'm taking two somewhat extreme cases from both ends of the spectrum - I mean if writing some SCADA stuff is done in schematics, is it now the visual cortex that is solely used? It's math because language in fact can be best described using math. It's how the damnable lexical analyzer that feeds into the computer works. It's simply highly formalized with usually little in the way of being context-sensitive. I mean, this is old stuff, basically Chomsky's work. Are we just trying to prove that the brain has specific functions or map them? Because it's fine identifying what exactly goes in the process of programming, but coding is a subset skill of programming - they're different notions. A code is a rewriting, a shortened form, programming is building a machine (quite literally actually) to solve a specific problem in a given set of inputs. I'd go on about rediscovering the wheel or just going after research funds but it's really just interdisciplinary breakage.

  33. And reading code isn't "coding" by raftpeople · · Score: 2

    For me, coding/design/problem solving seems to be mostly 3d abstract visual with objects being represented by some abstract entity and interactions that I can "see" (in quotes because I'm not sure that's what's really going on) and manipulate.

    Reading or writing code is a translation to/from the imagery which is the real "code". The imagery is the abstract representation of the solution and where the problem solving happens.

  34. same brain region != equivalent cognition by Immerman · · Score: 4, Interesting

    While it seems logical to me that there would be heavy overlap between the brain regions used for natural language and those for reading programming languages, it's important to remember that "using the same brain region" is *not* equivalent to "thinking in the same way". For example poetry and mathematics both activate many of the same brain regions, presumably because they both involve a lot of pattern recognition and abstract thought.

    For that matter, if I recall correctly the language centers of the brain are themselves mostly a subset of the vision centers of the brain, even when dealing with purely spoken language. Probably that pattern-recognition stuff showing up again

    --
    --- Most topics have many sides worth arguing, allow me to take one opposite you.
  35. Re:for school, either programming or foreign langu by slickwillie · · Score: 1

    Backin the early 1970's the college I went to allowed FORTRAN to satisfy one of the two language requirements.

  36. abc by Anonymous Coward · · Score: 0

    > Coding while someone is talking nearby can be downright impossible.

    Could you tell that to the asshole who made open workspaces popular? kthxbye

  37. Neuroscience doesn't lie? by abies · · Score: 2

    http://www.wired.com/wiredscie...

    I suppose that dead salmon should get credits for social science classes in such case...

    1. Re:Neuroscience doesn't lie? by Anonymous Coward · · Score: 0

      Let's assume that they practiced good science...

  38. Of course language centers were active... by RoverDaddy · · Score: 1

    while studying someone else's code. All the programmers were muttering and cursing under their breath, about what an idiot the programmer was and how much better they could have written the same thing.

    --
    RETURN without GOSUB in line 1050
    1. Re:Of course language centers were active... by Bryan+Ischo · · Score: 1

      Too true. Although, honestly, in most cases the criticism is justified.

      Of course when you go back and look at your own code a few years later and think the same thing ... then you have problems!

  39. Sigh. Yet another fMRi study with poor controls. by wherrera · · Score: 1

    The control groups should have been two other reading selections designed to bracket programming code reading: for example, reading mathematics, such as algebraic proofs, versus reading in an unfamiliar non-math vocabulary like a dense legal contract. It's possible that all would have looked similar, or that two but not three would have been similar, or all different. We just don't know.

    And don't let me even get started on the fact that most fMRI studies use far too few subjects and then use absurd values for N like thousands of MRI mapped vertex points in a single subject to reach "significance" (a technique which would be considered a statistical cheat in any other field).

  40. Re:Ha. Your description IS a branch of mathematics by sydneyfong · · Score: 1
    --
    Don't quote me on this.
  41. Not so fast by Anonymous Coward · · Score: 0

    Having actually looked at the code snippets in the article, I have a different conclusion. I believe they are actually measuring what happens when someone tries to map a written programming command to their mental concept of it.

    They are showing very simple snippets of code that basically force the programmer to translate the words into what they do, deriving semantic meaning from text. I would agree that the task is roughly analogous to language processing, but only because the code given is easy enough to understand without reasoning about it's logic. If you show me a simple for loop I don't try to figure out what it's doing in any sort of exhaustive mental exercise. I know the concept of a for loop and I map the representation without thinking about it. The same way you would map the concept of an English word to your mental construct of it upon being asked to read the word. Another comparison would be asking someone to understand a single simple clause in boolean logic. It would basically equate to a translation exercise and not a logical exercise in simple cases.

    Real programs though are not like single loops or like simple clauses. They are like a complex branch of interlinking logical clauses. I think that in order to understand what parts of the brain are actually used during programming you'd have to get the fMRI results from someone actually doing a normal programming task. I suspect using similar tests for any given field you could translate each one to learning a language.

  42. Re:Ha. Your description IS a branch of mathematics by Uecker · · Score: 2

    The Curry-Howard isomorphism is a way to relate programs to proofs and types to propositions. Control flow can be expressed in terms of call/cc and relates to Peirce's law in logic.

  43. pr0n=pr0n by Anonymous Coward · · Score: 0

    in any language

    1. Re:pr0n=pr0n by Anonymous Coward · · Score: 1

      I don't understand. Why would you ever want to assign a variable to itself, in any language!?

  44. Old News. by idommp · · Score: 1

    I studied Physics and Chemistry in the College of Science at the University of Southern Mississippi from 1969 to 1973. Our degree requirements called for passing either a proficiency test in one of several 'scientifically' relevant foreign languages or passing one in FORTRAN. I took one semester of FORTRAN and passed the test. I went on to minor in computer science.

    In 15 years of formal education in the English language no one ever mentioned the word 'syntax'. We diagrammed sentences and conjugated verbs and identified parts of speech but no one ever explained the mechanics of what or why we were doing it. It was just English and it was necessary. Two weeks into computer programming and I knew WHY it was necessary. Understanding the structure of language, be it a computer language or a human one, I'm better equiped to learn new ones of either type.

    Are learning to program and learning a foreign language equlivant? NO. We talk to machines: we communicate in a foreign language.

  45. Re:Ha. Your description IS a branch of mathematics by TapeCutter · · Score: 1

    JMP is a simple addition, ie: add a constant to the instruction pointer..
    Variable assignment is basic algebra, X=3.
    I/O, again basic algebra. O = fn(I)

    Do I also need to explain that "all a computer does" is set a bunch of switches on or off?

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  46. Re:Doesn't make much sense it you look a bit harde by TapeCutter · · Score: 1

    It's not about programming, it's about reading and understanding code. Also when coding you have presumably worked out what you want to do and are now in the process of translating that concept to code. TFA is not equating coding and natural language, they are merely pointing out the brain uses the same hardware to do both jobs. If you want your entire brain to light up then listening to music is the best brain exercise you can do.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  47. Polyglots by Anonymous Coward · · Score: 0

    I am a software engineer with 30+ years of experience, and am currently a senior engineer with a tier-1 hardware/software company. Most good programmers that I know (and I know a lot) are polyglots in that the best of them speak/understand at least 2 or more languages other than their mother tongue. In my office, the babel in the halls or break room usually encompasses a dozen languages - English, Chinese (several dialects), Hindi (several dialects), Russian, Spanish, ... It is a mini-UN! Me, I speak English (mother tongue), Spanish (fluently), French, and understand Italian. My niece (not a programmer - an actress) speaks fluently at least 6 languages (English, Spanish, Portugese, Russian, Italian, Dutch). In any case, I am still learning new programming languages on a regular basis. I can do this quickly because, I believe, not just because of my previous programming language skills, but also because of my human language skills. Programming languages I am competent in? C, C++, Java, php, BASIC, Fortran, Cobol, Dibol, PL/SQL, TransactSQL ... and a raft of scripting languages (bash/ksh, csh, perl, python, etc). When I need to, I can learn a new programming language in less than a month to the point where I can write professional quality code.

    1. Re:Polyglots by Bryan+Ischo · · Score: 1

      I used to think all programming languages were more or less the same, and this opinion was based on having programmed in a variety of languages, and noted how easy it was to understand the gist of a new language pretty much immediately upon seeing it, and coming to understand any nuances involved without too much further study.

      Then I ran up against OCaml. And I was humbled. I didn't really realize that there could ever be a computer language as hard to approach as learning a new spoken language, but OCaml showed me the error of my preconceptions.

      My favorite moment was when trying to read and understand some gnarly OCaml code (is there *any* OCaml that isn't gnarly to some degree?) and asking on an IRC channel how I would go about figuring out what the "types" were of variables I was seeing as inputs to procedures and used as local variables within procedures. I was surprised by the answer: you can't. It was recommended that I install an OCaml IDE environment and then have the IDE tell me the types. Why? Because it is more or less impossible to know, from inspection, what the type of anything is. I guess the concept of 'type' is a little to gauche for the OCaml crowd.

      I never thought I'd run into a language where, in order to read and understand the code, you literally have to *implement a virtual machine in your head and run the code*, but then I ran across OCaml.

      I wonder what the brain of someone reading OCaml code would look like under an MRI ...

      Oh and to your point ... I don't know where you work, but I think your view is a reflection of your particular experience and not necessarily true across the software development profession. I've been in the industry nearly as long as you have and I haven't noticed any correlation between fluency in multiple spoken languages and programming skill.

      When I first came out of college and was young and naive, I thought a great software developer was someone who was really smart, really able to solve complex algorithmic problems. But years in the industry have proven to me that while such talents are important, and people like that are needed, those talents are vastly overshadowed by the more important skill of being able to coordinate with other developers, and to manage detail. The hard part of software development is not on the scale of problems that a single developer faces in daily coding tasks; the hard part is taking 100 developers and figuring out how to produce software that is even 50x as large or complex as that which would normally be written by a single programmer.

      A single developer will never be able to compete with an entire software development company in building large or complex software. Competitiveness between large groups of developers is where it's at, and the skills and experience needed for that is an entirely different thing than individual programming genius.

  48. Snow Crash by trexd___ · · Score: 0

    Has anyone ever read Snow Crash?

    --
    accessing someones open account on facebook is not hacking
  49. Here we go again.... by 3seas · · Score: 1

    Maybe if they look at computer memory with an MRI....

    But lets get to reality here and consider what the topic really is... abstraction. http://abstractionphysics.net/...

  50. Actually I've been doing drivers and desktop GUI by IgnorantMotherFucker · · Score: 1

    I only have a vague understanding of databases.

    Actually I was heavily into scientific computing when I was in school. I'd like to get back into that.

    I don't know whether it's changed any, but in 1993, the FORTRAN code used in high energy physics was an awful rat's nest. There was a movement afoot to rewrite it all in C++/

    --
    Please mail me URLs of software employers.
  51. I graduated using a programming class to meet... by thatDBA · · Score: 1

    I graduated from Auburn University at Montgomery (BS in Business Administration, Management Information Systems major) and never took a foreign language. They used programming classes I took to meet my foreign language requirement.

  52. Re: Actually I've been doing drivers and desktop G by Anonymous Coward · · Score: 0

    FORTRAN vs C++. I dare you don't know either.

  53. Neuroscientist ? by Anonymous Coward · · Score: 0

    > select name as 'Clueless users' from users where clue=0;
    +--------------+
    +Clueless users+
    +--------------+
    +SunTzuWarmaster+
    +--------------+

    I'll have a look in the shitty pseudonyms table later.

  54. Flaw in your analogy by Anonymous Coward · · Score: 0

    Could you stick to car analogies or something ? Learning PL has nothing to do with learning foreign languages.

  55. Listening, reading and writing by hughbar · · Score: 1

    I'm a fluent French bilingual, but I learnt as an adult in Paris where they are about as patient as New Yorkers.

    There's a huge difference between listening, where you have no control over the speed of delivery/level of difficulty and reading where you can take your time, look up 'words' [or pieces of unfamiliar syntax] and writing, harder than reading but you can still pace yourself and work around difficulties.

    Otherwise there's anecdotal evidence that 'extra' natural languages are easier after the first one. I feel that's also true of programming languages, the first one is alien, lots of alien concepts [variables, file handles, operations] and the next few, in imperative languages contain the same thing with different syntactic candy. It's to do with memory, usage and repitition then, less with conceptual grasp.

    --
    On y va, qui mal y pense!
  56. Fuck BETA! by Anonymous Coward · · Score: 0

    Just make it go away!

  57. "The neuroscience doesn't lie" by Anonymous Coward · · Score: 0

    No, but it can, and often is, misintepreted. See: http://www.wired.com/wiredscie...

  58. The question that we really need to answer by Marxist+Hacker+42 · · Score: 1

    Can FMRI be used to program without keyboard or voice input?

    That's what I really want to know.

    --
    SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
  59. False dichotomy by Anonymous Coward · · Score: 0

    This is a false dichotomy; learning sufficiently advanced mathematics is like learning a new language.

  60. Complex by cwsumner · · Score: 1

    One problem with the interpretations of the scan data, is that few of the medical doctors really understand computers.

    We can understand that code in a subroutine can be used by many different apps. But the doctors, at least in the past, seem to assume each section of the brain has a fixed operation. Like a dedicated forming press in a factory. These areas are much more like a milling machine, able to adapt to many operations within a range of options.

    The human brain is the most powerful computer that we know, and we don't have the specs or manual. Imagine trying to figure out the main computer in a crashed UFO ! No wonder they are a little lost... 8-)