Daniel Lemire's blog

, 13 min read

Don’t study latin if you want to become a better programmer

12 thoughts on “Don’t study latin if you want to become a better programmer”

  1. Laurent says:

    I get your point and slightly disagree,

    Over-simplified example: coming up with the initial genetic algorithms optimisation is not about being the best Java programmer. It’s about knowing evolution theory and seeing how to apply it somewhere else.

    Diversity in knowledge is the most reliable way to shift your view and find something no one else saw.

  2. @Laurent

    I have nothing against learning many different things. Quite the opposite. But taking many biology classes won’t turn you into a better programmer.

  3. Paul says:

    I agree with your premise but not your conclusion. Knowledge does appear only weakly transferable. I spent months reading what was essentially a neuroscience textbook. I now know a great deal about the architecture of the brain. This is very, very rarely of any use to me, at all.

    But it occasionally does provide insight. And at the end of the day transfer learning is horribly inefficient, but it and collaboration are the only two games in town for getting past what mastery in a single field allows.

    Had I spent that time studying programming, I wouldn’t be a much better programmer either. I’m already well into the diminishing returns phase of that. The hours spent learning fields that rarely provide me with insight or direct application are an expense price for occasional power isomorphisms, but they’re what allow me to make unique contributions and not fall into becoming a replaceable part.

  4. August says:

    I have similar questions as an information omnivore. I usually bump up against the limit of my knowledge reading blogs- biochem and math. I find some of this stuff really interesting, but I don’t know how steep the learning curve is, nor do I know what, specifically, do I need to know in order to understand some of the stuff that shows up on the combinatorics blog(http://gilkalai.wordpress.com/) for example.

  5. Sergiu says:

    You say:
    “Some of these classes have turned out to be useful. But less because of the knowledge that they have given me, and more because they have built up my confidence.”

    But how do you know that the only effect of those classes was building your confidence? How can you realistically assume that you can consciously assess the amount of transferable knowledge especially in domains that are so close to each other like math and computer science?

  6. @Sergiu

    I hardly recall anything from my undergraduate classes. Indeed, when I need to use the material, I have to look it up. And though I aced the classes, I often have to rework through it.

    Part of the problem is that I mostly chose abstract classes, staying away from utilitarian classes. My implicit belief is that I was best served by studying deep ideas rather than gaining practical skills.

    It is, of course, possible, that I acquired meta-cognitive abilities through these classes. But that’s where the research brings us back to reality.

    For a long time, people thought that learning latin, even if it was, on the face of it, useless, could make you better at learning languages in general because latin is vaguely like many other languages. This has been disproved. Yes, learning latin might help you a tiny bit when learning Spanish, but you are much better off learning French of Italian as they are closer to Spanish.

    Despite their best attempts, educators have felt to demonstrate the benefits of learning latin.

    It seems that transfer is very sensitive to distance. Two skills need to be close for transfer to be significant.

    It would be very reassuring for educators if you could “learn to learn” or “learn to solve problems”. But there is little evidence that this happens, despite extensive research. People who complete a college degrees often don’t do better on cognitive tests.

    So if you learn something that you never use, not even by analogy, then it is likely that you wasted your time and your brain cells. Unless, of course, you had fun learning it.

  7. Of course, to learn something (e.g., programming) focusing on that something is a better investment that spending time on something somewhat related (e.g., mathematics).

    On the other end there is cross-pollination between the different ideas you collect during the years. Some (just some) of them could be later inspire you while doing something else.

    So, I would say I agree. And for sure I am not happy I was forced to spend hours on Latin instead of programming. Wasted time.

    I would just add that the benefits of learning something are not always so apparent.

  8. Yonghc says:

    It is obvious that time spent in a related field, like mathematics is more worthwhile in making a programmer better at programming than time spent learning about something in an unrelated field like Latin. You also need not know too much about biology to be able to develop a biotechnology based production program. I was among the pioneers of the world’s first oil palm tissue culture lab. in the early eighties. I was able to develop a working software package in a field which had no precedent. The program was used on a daily basis without any problem. I think the trick is learning from the end users how they do things manually, and then you just program the manual process. Theoretically, whatever a person can do manually can be programmed if you are proficient in a programming language, have a logical mind and are good at related fields like mathematics. Latin is not an instrument of mathematical precision to help you be a better programmer.

    If you need to write a genetics-based program, learn from the experts in that field how they do it manually, and then with that knowledge and the experts’ feedback, just develop the appropriate programs. You need not waste your time learning biology or even genetics.

    I believe in the minimalism approach with the simplest and fewest elements to create the maximum effect.

    However, a good programmer needs to be versatile, to learn up fast how people in diversely different fields do their things manually, be it in biology, engineering or the humanities in order to complete a programming project within an agreed time frame.

    How can a deep knowledge in an unrelated field like Latin help you be a better programmer? Maybe learning Latin may make you a better lawyer, but not a better programmer.

  9. Taylor Gronka says:

    I love this post. I find all of the counter-arguments amusing: “But how do you REALLY know that you did not make use of what you know?”

    Because you learned it, and then you worked! It’s a simple answer, but so many people foolishly idolize academia – many people literally idolize “experts”; it’s almost like an excuse to having to use common-sense.

    I just graduated from (a top 10 university in the US). Halfway through, I had to withdraw due to amnesia. I literally forgot every thing, except for memories based on vision. Studying after I returned to college was hell, but every day I laughed to myself about how what a waste of time and money it had been, that I could have done my entire high school and college career within about 2 years if I had been given the option. And I still don’t know how to make a damned thing! (from design to production)

    I could have easily taught myself just as much while making a small but decent wage at an actual engineering firm.

    What Laurent is implying is that if there was less formal schooling then there would be less diversification of knowledge. I disagree (although not entirely). However, I have seen school burn out students who would otherwise be pretty excited to learn.

  10. Martin Morissette says:

    I believe in the process or learning even if you learn about a different topic. The art of self-teaching is something to keep improving especially in programming where new languages appears so fast. The process of learning something new, even latin, might help you being better at learning other new things.

    By the way, if you can learn latin and be fluent enough then you can always visit latin america.

  11. Taylor Gronka says:

    I agree with Martin on that – fresh content does seem to keep my mind sharper when I try to learn other things.

    And, looking back over my comment, I realized it might have come across as conceited. I was using my own story as an example, but my point, which I failed to arrive at, was that most people could probably do what I did, and in the process save on college expenses.

  12. Martin says:

    Taylor quoted “I have seen school burn out students who would otherwise be pretty excited to learn.”

    It is the job of parents and teachers to give students projects within their possibilities to use their knowledge and keep the fire of their curiosity alive. As a student, I had the chance to participate in a couple of very stimulating projects. Learning pushes you to apply your knowledge and knowledge pushes you to learn.

    Try chess