5

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?

8
  • I studied one called logical programming, but it didn't help me as much as I thought it would.
    – user7146
    Dec 21, 2010 at 23:10
  • 16
    This question is not even wrong
    – nohat
    Dec 22, 2010 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... Dec 22, 2010 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, 2010 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. Dec 11, 2012 at 2:11

12 Answers 12

22

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.

6
  • 10
    +1 for “Latin is not a ‘logical’ language”.
    – nohat
    Dec 22, 2010 at 0:14
  • Not logical, but elegant. I enjoy Latin immensely! Jan 11, 2011 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, 2012 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, 2012 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, 2012 at 19:42
10

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.

0
7

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.)

1
  • +1 as these two skills are advanced by learning foreign languages Jan 11, 2011 at 20:18
6

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.

1
  • 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, 2011 at 1:21
6

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.

14
  • 1
    +1 for the voice of reason.
    – Rook
    Dec 21, 2010 at 20:40
  • 3
    I don't understand how one can give advice about not learning.
    – CesarGon
    Dec 21, 2010 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, 2010 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, 2010 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, 2010 at 21:24
5

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)

5

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).

3
  • 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, 2011 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, 2011 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, 2012 at 21:09
2

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.

1

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.

5
  • 2
    Just for reference, France has produced quite a few of some of the finest mathematicians in history.
    – Rook
    Dec 21, 2010 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, 2010 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, 2010 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, 2010 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, 2010 at 21:50
1

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.

1

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.

2
  • 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, 2012 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. Dec 11, 2012 at 8:58
1

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.

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