Does Linguistic Aptitude = Programming Potential? 21
Icephreak asks: "
I've been studying a foreign language for quite some time now and have been recently researching the more effective ways to approach learning the nuances of it in both spoken and written form. Not so surprisingly the same advice comes up again and again. More still, I remember being given the same dead ringer advice by a few programmer
friends about learning programming languages. I find this lends a good hand to the observation presented in the famous Thomas Scoville article, "The Elements Of Style: UNIX As Literature," about a surprising number of linguistically capable people gravitating to text-based operating environments and programming careers.
What are your thoughts about a possible parallel between human and computer-based linguistics? Does a good command of one's spoken language loan leverage to becoming an effective programmer or computer operator in general?
"
C is not a human language (Score:1)
Ex. "I threw the ball over the fence by the tree by the lake by the house by the car by the other tree by the other car by the driveway..." Ad infinitum.
This sentence is poor style and perhaps a little confusing but any english speaker can understand it. Human languages could require a structure that allows this kind of infinite structure. For one every human language can create these types of sentences and they can each be understood by the speakers of the language.
You could try to teach your child C as his/her only language but before the government took away your parental rights for abusing your child you would realize what a failure the experiment was. And your child would hate you.
No (Score:1)
Re:Shouldn't that be... (Score:1)
PUSH Linguistic_Aptitude
PUSH Programming_Potential
EQUAL
only up to a point (Score:1)
It is important to note, however, that an understanding of grammar alone doesn't translate to a complete understanding of a language, human or computer, and here, I think, is where the notion of linguistic skill as a predictor of programming skill begins to look less certain. At least in my own experience, developing elegant written prose requires a fundamentally different mode of thinking from developing elegant code. Understanding grammatical rules does not translate to an understanding of the nuances and subtleties of how to express oneself well in the semantics of a language. Unfortunately, the nature of such skill remains, by far, an intangible.
i see a correllation (Score:1)
Not sure if this has much validity to it as in factual information. Just my personal experience. (btw: 2 of my friends who are really good at german also picked up some programming languages easily, coincidence? i think not)
Learning a language is more than memorization (Score:1)
Programming is also more than memorization. It's all about logic, and thinking about problems in terms outside a specific language. The only difference between a human language and a programming language is that with programming, you are speaking to a compiler/interpreter, rather than to a person. You can memorize the syntax of C, Perl, Java, but you will never know how to program if you approach problems in terms of the language rather than the fundamental patterns or rules to solve problems. The best programmers understand how to use algorithms to solve problems. They can hop from one language to another with ease. In the same way, people who understand the basic structure of all human languages can move easily from language to language easier than those who do nothing but memorization.
linguistics? na.. more like Mathmatics (Score:1)
I notice that no matter what language or os you play with, the basic math, algebra and other advanced maths come into play.
I really think a strongpoint in maths helps people understand more about programming languages.
Re:Shouldn't that be... (Score:1)
They must be using some BASIC variant.
My mother can't program... Couldn't program (Score:1)
The logic of saying that linguistically gifted persons could be good programmers because many programmers are above average linguists is flawed. It is similar to saying that since most apples are red, something red is probably an apple.
Fundamentals of programming are problem solving, organizational ability, semantics, and attention to detail. I have to take issue with those saying that "higher math" has anything to do with the majority of programmers' daily lives... Last time I checked, "decrease inventory by 1 and bill the customer" was NOT higher math. But I guess that really depends on what work you're doing...
In any case, I'd say those in fields other than linguistics would be far better suited to programming... Any engineering field, most likely... Problem solving is the common need amongst those fields. It's not a major stretch.
I like pizza.
Re:My mother can't program... Couldn't program (Score:1)
A "real" programmer can write a nontrivial program without touching anything remotely "higher math." The only exceptions would be trig (which was tought in 9th grade) and matrices, both of which usually have reasonably specialized uses in 2/3d manipulations.
Back to topic, and my original expression, a linguistically adept person can have a great understanding of syntax, but none of core logic (hash tables, stacks, even while loops)... So the underlying statement is that linguistic ability does not a "real programmer" make.
Which language? (Score:1)
Re:Programmer == Linguist (Score:1)
That said, it does seem plausible (as others in this discussion have pointed out) that linguistic competence and programming competence draw on the same--or at least closely-related--analytical capabilities.
You'll find increasing numbers of erstwhile humanities majors in technical professions these days, and I think that the convergence of linguistic and technical interests and skills is a truly beneficial development.
Depends on the type of programming and... (Score:1)
If you're doing something like business programming, I think the order of aptitudes that predict your skill well are linguistic (structure and symbolism), accounting (detail oriention and business knowledge), and lastly mathematical (abstract reasoning).
The best programmers of any type, however, will be those that exhibit the highest level of aptitude in both higher math and linguistics. I think that the aptitude for any "mind skill" is going to be highest among those with the greatest skill in both disciplines.
In my opinion, skill in both disciplines suggests a brain that reasons well as a whole.
yes and no (Score:1)
but just because you are good at learning the grammar and vocabulary doesn't mena you can make use of it... because computer languages make use of alot of math and logic skills that are not present in regular languages... i'm guessing this is because the computer/compilers need very exact rules to follow.. for example if i forget to put the period at the end of this sentence, you will still understand me if i forget to put a ; at the end of a c statement the compiler will bomb...
so in essence linguistic aptidude might help in learnign programing, but is hardly the only factor
Re:C is not a human language (Score:2)
Modern Hebrew was created about a 100 years ago by Eliezer Ben-Yehuda. Prior to that time no one spoke Hebrew, Jews prayed in Hebrew but spoke in Yiddish or Ladino. He created a dictonary of modern Hebrew and created hundreds of words including those for Soldier, Newspaper, toothbrush etc.
I am unsure exactly how much gramar was introduced, but I believe it was significant.
The cure of the ills of Democracy is more Democracy.
Re:C is not a human language (Score:2)
The cure of the ills of Democracy is more Democracy.
Programmer == Linguist (Score:2)
I would have to say that having the skills of a good programmer does enable one to have certain skills in traditional languages. I would not say that it works the other way around, though. Being a connoisseur (sp?) of programming languages entails being a master of syntax and semantics. That is, programmers must be intimate with the rules of how to form statements of the language together into programs and with the meanings of each thing that can be expressed in the language. When dealing with traditional languages, the same rules exist, though they are usually a bit more vague and irregular (read: inelegant). So programmers typically are masters of the mechanics of traditional languages. Of course, there is much more to being a linguistically talented than just knowing the mechanical aspects.
Use me for an example. I am a skilled programmer. I took four EASY years of Spanish in high school. My English grades were most likely a school record. However, I have trouble writing things; it takes a really long time and I'm never satisfied with what comes out. I also did very poorly on those "reading comprehension" types of questions where you read something and answer questions about the artistry or hidden meaning of the work. I hate pretty much all classic literature; I read nothing except for a few sci-fi books and programming books.
Anyway, my point is that the artistic side of the study of traditional languages will probably get you nowhere in the programming language world. It's the mastery of the syntax and semantics of language that makes you have the right thought processes for programming.
Of course, all of this is my humble opinion!
--
SecretAsianMan (54.5% Slashdot pure)
Re:My mother can't program... Couldn't program (Score:2)
Cyclopatra
Reasoning aptitude yields both (Score:2)
Shouldn't that be... (Score:3)
No (Score:3)
For an extreme example, look to politicians, who say nothing perfectly.