Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm currently studying Latin at school, and what I've learned is that it's a very logical language. I feel this has contributed to my programming ability, as it makes it my code easier to understand.

Is there any relation between knowledge of a very logical language such as Latin and the comprehension of code?

share|improve this question

closed as off topic by Jim G., Walter, jmort253, GlenH7, Dynamic Dec 11 '12 at 22:53

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

    
I studied one called logical programming, but it didn't help me as much as I thought it would. –  davidk01 Dec 21 '10 at 23:10
15  
This question is not even wrong –  nohat Dec 22 '10 at 0:13
1  
@nohat: It might be possible to design an elaborate experiment where test subjects live for several weeks in a controlled environment, broken into a control group and "treatment" groups; some take Latin lessons and others don't; administer tests and surveys at regular intervals... –  Mitch Schwartz Dec 22 '10 at 1:47
7  
@Mitch all that would tell you is if learning Latin contributes to programming ability—it says nothing about the presupposition that Latin is a “very logical language”—which is false. –  nohat Dec 28 '10 at 18:19
2  
FWIW, the highest correlation between a non engineering degree and brilliant programmers I've seen is musicians -- there are similarities between the fields I think. Both require an insane attention to details nobody understands while also requiring abilities to understand the big picture and the ability to make technical art. –  Wyatt Barnett Dec 11 '12 at 2:11

12 Answers 12

I did study Latin at school, and I speak a few Latin-derived languages. I wouldn't say that Latin is "logical", not more than English. It is a natural (as opposed to constructed) language, and contains its irregularities and quirks as you would expect.

Having said that, linguistics is a fascinating subject with some connections to programming and software development. Formal grammars are connected to grammar in natural languages, and you will discover more and more links as you study.

If you are interested in "logical" human languages, have a look at "conlangs", or constructed languages. Some of them have been engineered to be "perfectly logical", so to speak. Look here.

share|improve this answer
10  
+1 for “Latin is not a ‘logical’ language”. –  nohat Dec 22 '10 at 0:14
    
Not logical, but elegant. I enjoy Latin immensely! –  Brian Knoblauch Jan 11 '11 at 17:57
    
I think that it's more correct to say that Latin is unlike most present-day languages in western civilization. Just as learning one programming language may help you think differently about all programming languages, learning Latin is a good way to start thinking differently about all language (human, computer). –  itsmequinn Mar 6 '12 at 18:06
1  
@itsmequinn: I'm not sure about that. Latin and, say, Italian are not that different; probably much closer than Latin and English or Latin and Dutch. Can you back up your claim? –  CesarGon Mar 6 '12 at 18:55
1  
Latin is inflected to an extreme degree, more so than English or any of the romance languages (though many of them have some varying degree of inflection). The fact that the placement of a word or phrase within a sentence has much less bearing on it's meaning then the actual forms of the words themselves is a different way of thinking to my mind. Latin and Italian are definitely closer than Latin to English or Dutch, but Latin stands in relief, I think, as an extreme example of convention over configuration. At least that's how it's helped me. –  itsmequinn Mar 6 '12 at 19:42

I'm currently studying Latin at school, and what I've learned is that it's a very logical language, unlike, e.g. English. To me, I think this has contributed to my programming ability—it makes it easier for me to understand my code.

Don't overthink things.

Have any of you studied Latin (or another very logical language), and if so, do you also feel it helped you as a programmer?

Studied? Yes.
Helped me in my programming issues? No, not at all.

share|improve this answer

Perhaps the most important language skills that you need for programming are the ability to be precise and the ability to express what you mean in the language that you are using. (Not a direct answer, but maybe relevant.)

share|improve this answer
    
+1 as these two skills are advanced by learning foreign languages –  Larry Coleman Jan 11 '11 at 20:18

Latin is a more "regular" language than English, in the sense that the rules are much more strictly followed. Does that make it any more "logical" in the sense of mathematical or programming logic? Not sure.

But studying Latin definitely improved my understanding of English, my native language. And learning any other language inevitably improves your communication ability generally. I think that translates to writing computer programs as well.

share|improve this answer
1  
+1 Pretty much my views on it exactly. I think learning a more regular language, particularly Latin, helps with NLP or any form of parsing. Over and above that within programming, not sure, as you say. Just the general benefits that learning the language brings to life. –  Orbling Jan 11 '11 at 1:21

If you start taking the linguistics side of computer programming too seriously you'll find yourself wanting to write a better language. Which will require you to write a parser. Which will then enable you to lay down language fundamentals. Which enables you to write higher programming constructs. Which will point out deficiencies in your language. Which will lead to you re-writing your parser. Which will eventually drive you insane in a quest to find a perfect expressive pattern to encapsulate an idea that would've just taken 15 min to write in VBA.

In other words, don't look that deeply into it.

share|improve this answer
1  
+1 for the voice of reason. –  Rook Dec 21 '10 at 20:40
3  
I don't understand how one can give advice about not learning. –  CesarGon Dec 21 '10 at 20:42
1  
@Rook: I get your point, and I agree with the abstract notion of "reasonably deciding what's important and what's not". However, I interpret this answer as a call to turn away from something that has caught the interest of the author of the original post. I don't share the view that one should discourage somebody from learning. They will have the chance to "resonably decide what's important and what's not" by themselves while they learn. –  CesarGon Dec 21 '10 at 20:53
2  
@CesarGon - No, uhmm, yes. What I mean, is that I didn't mean it like that (to say learning is not important) - well, to a point. I ment to say that one should not find connections where there are none;just because the flowers are red, and the youtube icon is red, doesn't mean the youtube icon is made out of flowers. That's flawed. As far as learning goes, one has to learn, and it is encouraged - BUT to a point, where he starts applying that knowledge. Otherwise, he can join the –  Rook Dec 21 '10 at 21:08
1  
@Rook, @LoveMeSomeCode: Thanks for your clarifications. I have extensive experience in the design of computer languages, and my experience is quite different to what you describe: I have found that it enriches your skills as a developer, gives you a better vision of things, and overall is a great thing to do. Of course, that is my view only, and I do not intend to persuade anybody. My downvote just conveys my disagreement. Likewise, anybody is welcome to downvote my answers when they disagree with them. That's how this works, right? :-) –  CesarGon Dec 21 '10 at 21:24

If you want to take a class in high school to help with programming take Machine Shop or Automotive Tech ed. if you school offers it. The methods of methodically taking something apart diagnosing along the way to figure out what the problem is or how it works will be far more useful as a practical programmer than anything else you could take (non math/programming related)

share|improve this answer

I do not know Latin but, rather, have been learning Turkish sporadically for the past 10 years. This is a very logical language that generally follows a simple set of rules consistently. I have been programming for almost 20+ years now.

Based upon my experience, learning a logical language does not make any difference to coding but having a logical, computing background makes it easier to learn a logical language (like Turkish).

share|improve this answer
    
What prompted you to learn Turkish? I went to school in an area (of London) where about 30% of the school were Turkish, so have grown up with it a bit. –  Orbling Jan 11 '11 at 1:18
    
I married a Turk. I have since created two half Turks. Learning the language is kinda mandatory when you marry into such a nationalistic bunch of people. That being said, having failed dismally to learn French in school, the Turkish language does have a elegance about it. Historically, the language had a major revision in the post Ottoman times. Post WW1, they moved to a roman alphabet, streamlined the dictionary and went on a major literacy program. I assume this greatly helps getting the consistency right. –  dave Jan 11 '11 at 2:01
    
+1 for mentioning something other than Latin... I did Spanish in highschool and bits of Japanese in my free time - neither has helped my programming ability, but my programming ability has helped me more easily understand the different grammatical structures in both, as compared to English. –  Izkata Mar 26 '12 at 21:09

I have learnt Latin for five years and I do not think it is more logical than other natural languages. But this may help you to learn programming because some programming languages (which I do not want to mention here to avoid any kind of language war) are also somewhat illogical in their design, syntax and semantics.

Seriously, I do not think learning Latin has helped me to be a better programmer. Also, many teachers of Latin like to repeat that Latin is a particularly logical language (it was said to me as well), but I think this is only commonplace.

share|improve this answer

At one time students who were interested in science or engineering were encouraged to take Latin as opposed to French or Spanish. I know personally I struggled with it. I can't deny that it help my vocabulary, but I can't see where it help me be a better programmer.

share|improve this answer
2  
Just for reference, France has produced quite a few of some of the finest mathematicians in history. –  Rook Dec 21 '10 at 20:40
    
I know quite a few good French programmers as well. I am located in the USA, but I work for a Swiss company whose R&D department is in France. –  Jim C Dec 21 '10 at 20:42
    
It's surprising that they would recommend lating instead of french or spanish considering all three are quite similar. Personally, even thought I greatly enjoyed studying latin in [french] high school, I would rather recommend learning a non-dead language first because you'll be able to use and improve your grasp of it as you travel abroad, and you may meet completely different people that way, which might bring you more experience in the end. –  wildpeaks Dec 21 '10 at 20:51
1  
@user9094 - Also, ladies love it ;-) Pretty much anything you say in french sounds better than in most other world languages :-))) –  Rook Dec 21 '10 at 21:49
    
I hesitated to add this as well, not knowing if the OP is male or female, but it's true :D –  wildpeaks Dec 21 '10 at 21:50

Maybe; I also had a similar thought that maybe knowing how to program helped me learn a second language.

This came about when I took a French class several years ago just before I went on my first trip to Paris. French certainly has its quirks, but programming is largely nouns and verbs just like language. I swear that when I deconstructed the lessons along programming lines, the language got to be much easier to learn. It's more than likely just conjecture on my part, and it could be my enthusiasm for the class and trip had as much to do with my picking it up so easily as anything.

Learning another language is a great mental exercise so keep at it, but as others have said, don't look too deep into this.

share|improve this answer

I studied it and I think it kind of might have slightly helped me.

My native language is Italian which, despite being a neo-latin language, has little to nothing to do with Latin when it comes to grammar and syntax.

Organizing your thought in a language so different, in which you can't just start a sentence and improvise but you need to create a mental scheme of the full sentence structure before beginning to construct it, and keep it in mind when you want to add subordinates, might be a good logic/memory exercise.

Might help with pointers.

EDIT: correct German requires more or less the same efforts, and it's alive.

share|improve this answer
2  
I am not an expert of Latin, but I think Classical Latin was partly the work of scholars of the time who cleaned up the grammar and developed a style that was to be used for writing and for public speeches. Therefore, Classical Latin is somewhat artificial. There are some Latin authors (e.g. Petronius) whose language reflect the spoken language of the time, and that kind of Latin was much less polished and more chaotic than the written language. –  Giorgio Mar 26 '12 at 21:02
    
+1 For having mentioned german. German is arguably equivalent to latin as an educational tool but it is alive. You can use it in the real life and you can even use it to enrich your CV and to increase your job opportunities. –  AlexBottoni Dec 11 '12 at 8:58

I think learning languages where tiny details make a huge difference in the meaning of everything, such as Polish or Chinese, can make you better programmer. Logic is easy; adhering to peculiarities is not.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.