Forgot your password?
typodupeerror
Education

Ask Slashdot: 2nd Spoken/Written Language For Software Developer? 514

Posted by Soulskill
from the can't-go-wrong-learning-klingon dept.
ichimunki writes "I am a mid-career software developer. I am from the Midwestern U.S. and my native language is English. I've studied a few languages over the years, both human and computer. Lately I've begun to wonder what is the best second (human) language for someone in this field to have. Or is there even any practical value in working to become fluent in a non-English language? I am not planning to travel or move/work abroad. But if I knew a second language, would I be able to participate in a larger programming community worldwide? Would I be able to work with those folks in some useful capacity? Perhaps building products for foreign markets?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: 2nd Spoken/Written Language For Software Developer?

Comments Filter:
  • Russian (Score:5, Interesting)

    by Luuseens (1422579) on Wednesday December 19, 2012 @04:56AM (#42334757) Homepage
    I would say Russian. It's my 3rd language (English being my second), and it has helped me a lot when searching for some specific info on the net. There is a wealth of information on programming to be found; especially if you are interested in security. This might be less relevant for you if you are looking for information that might be considered 'shady' (e.g. jailbreaking phones, breaking certain security features), but I've found it very helpful.
    • Re: (Score:3, Informative)

      by badzilla (50355)

      My first language is UK English and I too faced the same "which next language to learn?" choice. After a lot of thought I chose Russian. China is such a massive trading partner and I can understand the arguments for selecting a Chinese language but the truth is that learning a language takes time and you have to predict what will be useful in the future rather than what would be useful right now. I've been amazed at the high quality of our outsourced Java development from Russia and and I'm betting that it

    • Re:Russian (Score:5, Interesting)

      by Bramlet Abercrombie (1435537) on Wednesday December 19, 2012 @09:12AM (#42335723)
      I still haven't learned Russian, but I have learned the alphabet, and even that has been very rewarding. It is easier than it looks, you can start sounding out words with a few afternoons worth of work. 'napk' in russian sounds and means the same as 'park' in English 'pectopah' sounds like 'restoran' and it means restaurant. See you've already learned that they use the letter 'p' to make thier 'r' sound. Continuing in this way you can easily learn the substitution cyper and can sound out russian words on your own. Have fun!
  • by a_n_d_e_r_s (136412) on Wednesday December 19, 2012 @04:58AM (#42334765) Homepage Journal

    for most programmers.

    That's because most programmers don't have english as their first language.

  • Well, of course... (Score:5, Interesting)

    by seebs (15766) on Wednesday December 19, 2012 @05:00AM (#42334769) Homepage

    About all I'd say is: Pick a language mostly-unrelated to your own. Bonus points if you expect to have coworkers who speak it natively.

    I see a comment saying it won't help you to learn a second language. I am unpersuaded. I generally find that anything I do which makes me more flexible makes me a better programmer. Being able to think in another language can be really useful for shaking up some of your presuppositions and assumptions. On the other hand, so can a philosophy degree.

    I learned Chinese well enough to dream in it, and then mostly forgot it over the next decade or two. I still have an easier time understanding Chinese coworkers, because their English is often idiomatic for Chinese. But mostly... I am a more flexible person. I have concepts that there's a word for in Chinese and no word for in English. I learned to handle different ways of thinking about grammar. Overall, a good experience, and not one I regret. It's not as though it's a huge time sink; I'd guess I've spent more time playing video games in any given two-year period than I spent learning Chinese.

    • by joaommp (685612)

      My recommendation would be European Portuguese. Portuguese is one of the languages with most sounds (if you master it, you will be able to learn other languages much more easily), it's a very "mathematic" language (there are few exceptions in the language, the rules are very intuitive and predictable and once you get the hang of it, you can guess words you've never heard or read) and is considered by a lot of experts as one (if not the) of the most advanced languages. The fact that it is a very mathematic l

  • Don't do that (Score:5, Interesting)

    by jawtheshark (198669) * <slashdot&jawtheshark,com> on Wednesday December 19, 2012 @05:02AM (#42334783) Homepage Journal

    Perhaps building products for foreign markets?"

    No, please... Don't do that unless you're also culturally involved in your target market and actually understand the countries you write software for. Look at the whole "locales" mess. It works fine, if you have a single region with a single language, beyond that, it becomes very fishy... and $DIETY help you if you actually want an English system with date and time set to your geographical location. Language and regional settings should be entirely independent, but they aren't. On Linux, I found a workaround by just generating my own locales, but still.

    I have worked on many multilingual projects, and I assure you: localization is not mere translation and translation is not merely swapping out strings with language. I would say, I can help on projects that to language for a sizeable part of Europe, but I am not good enough to include Asian languages, the Cyrillic typeset or even plain Greek.

    While it's very interesting... I just wanted to warn you: you don't just walk into Localization.

  • by Ed Avis (5917) <ed@membled.com> on Wednesday December 19, 2012 @05:03AM (#42334791) Homepage
    French is the language of love!
    • Re: (Score:3, Funny)

      by karolbe (1661263)
      Don't be silly. Software developer and love? You don't need to know language of love when all your love is stored on your hard drive as jpeg and avi ;-)
  • by Anonymous Coward on Wednesday December 19, 2012 @05:05AM (#42334805)

    The kind of questions that people end up asking seem to scream of "I'm so unsure about myself and what I want and I need somebody to tell me what to do". I just don't get it. These questions asked on Slashdot depress me.

    Obviously, if you can and want to, do learn a language. And learn the one that makes the most sense wherever you go and whatever you do. Why are you asking others to tell you what to do?

  • No specific answer (Score:4, Insightful)

    by Captain_Chaos (103843) on Wednesday December 19, 2012 @05:12AM (#42334839)

    I'd say that for a software developer specifically there isn't a particular second language that would be useful, as the lingua franca in the software development world is already English. Even in non-English speaking countries it is common to write code and documentation in English, converse in English, etc.

    So if you want to expand your potential I'd say choose a second language that's generally useful. If you want to limit it to your own geographic area I'd say Spanish. If you want the largest possible expansion of your potential market I'd say Mandarin Chinese.

    • by chrismcb (983081)
      I agree with this. IF you want to learn another human language, then pick one that you find interesting. Pick one because you like the cultural and might want to visit. Pick one because you think that maybe you would like to move to a different region.
      But don't pick something based on computers. Chances are you'll never use it. Pick something you might be interested in, as you'll be more likely to learn it and use it. If you pick a language to try to further your computer career, you'll probably not learn
  • German (Score:3, Interesting)

    by phagstrom (451510) on Wednesday December 19, 2012 @05:14AM (#42334845)

    Chinese or indian are the obvious answers, but they may be a bit too much.

    I would go with German, because it is a fairly large language area (90 million + speakers) most of which belong to technologically advanced nations. As an alternative consider a latin language, such as Spanish.

    • Re:German (Score:4, Informative)

      by Anonymous Coward on Wednesday December 19, 2012 @05:25AM (#42334903)

      I live in Eastern Europe, second most sought after languate in IT is German.

      Romanian is my first, and believe it or not, the other latin languages are easy to understand, English is second and German is third (which was harder to learn, but easier if you already know a little English).

  • Spanish (Score:4, Insightful)

    by Dave Whiteside (2055370) on Wednesday December 19, 2012 @05:14AM (#42334847)

    You're American - you're going to need Spanish to sound like a local soon -
    how else are you going to know what the guys and gals at the local store are saying behind your back.

    but seriously - Chinese , Japanese , Korean , Finnish , German are all good starters

    • by Z00L00K (682162)

      Spanish would be the first non-english language to pick if you are a native English speaker.

      But understanding the Metric system is also important.

  • Spanish (Score:5, Interesting)

    by stoolpigeon (454276) * <bittercode@gmail> on Wednesday December 19, 2012 @05:18AM (#42334863) Homepage Journal

    If I lived in the US I'd learn Spanish as a second language. It ought to be compulsory for all American school children. It's the second most spoken language in the U.S. It's the language of the majority of the Americas from Mexico down. And trends I don't see changing significantly seem to indicate it will only have a stronger presence in the U.S. over time. So that's what I'd focus on first, regardless of vocation.

    • I agree that having some Spanish classes has helped me. As stated, it's the second most common language in the US. Plus, it's similar to other Romance languages, which makes it that much easier to understand those languages at least a little. I remember going to see Brotherhood of the Wolf [imdb.com], and simply knowing Spanish allowed me to get a basic idea of what they were saying in French. I was still glad to have the subtitles, but I didn't have to focus quite so much on reading them.

      As a person in the Midwes

  • I speak Russian, English and I'm learning German. But what I've learned so far is that you don't need any human language except English to be a good programmer. Learning a second language won't improve your programming skills or your value, cause all other good programmers speak English.

    On the other side, learning a second language allows you to develop your brains, improve your memory and to delay brain aging. Which language to learn depends on what time do you have and what language is easier for you to p

  • Both, China and India are being hyped as the prime locations for outsorcing software engineering. But if you listen closely to the companies then you'll see that the first are already coming back to the US and Europe. And even if not: the people there that you'd have to communicate with all already speak English well. So congratulations, as an English native speaker you already have the best tool at hands to get around the world. But you might want to consider learning Spanish so that you can talk to the fa
  • Personally, if you aren't going to work outside the US, there is no practical value for a programmer, because it would greatly narrow down any other market.

    Programming is like Air Traffic Control, for good or bad, everything is in English.

    I have spent half my career outside the US (albiet mostly in English speaking countries) and from a development perspective, English is not optional. 99% of documentation is in English. Mastering another programming language would be more practical than another written/s

  • It's always good (Score:5, Insightful)

    by Mjlner (609829) on Wednesday December 19, 2012 @05:24AM (#42334889) Journal

    Coming from someone who has English as third language, I'd say you're fine without, since all documentation is available in English and most discussion is going on in English. I have actually never used my first or second language for participating in software community discussion. OTOH, these are minor languages with 6-10 million speakers worldwide, all of which learn English in school anyway.

    However, among the worlds greater languages, there are certainly a lot of people who can't communicate well in English and there is a lot of discussion in these languages. So I would say, pick one major language that could be useful in all walks of life. Or just pick any language that you are interested in. However, for the sole purpose of participating in the programming community, I don't think time invested will pay off.

    There are two crucial reasons for learning a language: necessity and personal motivation. If it isn't necessary for you, you'll have to go with motivation. So, pick a language that you want to learn, because you want to learn it.

  • First spoken language should be English. Second spoken language can be a choice between Indian and Chinese. Third spoken language should be C or Pascal.
  • by dejanc (1528235) on Wednesday December 19, 2012 @05:28AM (#42334911)
    Like everybody else already noted, knowing English is sufficient for programmers these days, but there is no harm in knowing another language. As you are an American and already speak the lingua franca, choose one that you can actually learn. If you take on e.g. Japanese or Arabic, keep in mind just how hard they are for an Indo-European native speaker. Furthermore, how much practice can you get in those languages? Learning a new language properly requires practice.

    I would suggest a romance language: Spanish or Italian. If you start learning one of them, it will be relatively easy to switch to another one (e.g. if you suddenly start working with Brazilians and you already speak Spanish fluently, switching to Portuguese would take little effort). Also, both languages are easy to learn and are used in somewhat developed economies. A lot of development nowadays is outsourced to South America, so you can have practical use for it.

    Finally, don't to what most people try to do: you can't learn a language from audiobooks or books. You will need to take classes - at least two or three times a week. A classroom setting is the second best way to learn a language. The best way to learn a language is a classroom setting in a country where that language is spoken by the majority of the people.
    • there is no harm in knowing another language.

      True, but there is effort in getting there. Grossly underestimated effort. I'm guessing > 90% of people who set their mind to learning a new language fail miserably.

  • by Jane Q. Public (1010737) on Wednesday December 19, 2012 @05:29AM (#42334915)
    I would probably choose Russian or German.

    Chinese, Hindi or the like are tempting, but a lot of work to make real inroads, and in case you hadn't noticed, there really isn't a big percentage of quality software coming to the Western world from those places. I'm not implying anything, just stating facts.

    There IS a lot of quality software coming out of Germany and the Russian Federation, though.
  • by twocows (1216842) on Wednesday December 19, 2012 @05:31AM (#42334921)
    I'd say Russian, Japanese, or German; those three countries seem to have a pretty big focus on technology.
  • Learn Latin! (Score:4, Insightful)

    by deoxyribonucleose (993319) on Wednesday December 19, 2012 @05:46AM (#42334973)

    There is a lot to be said for learning a second language in order to understand your own language better, and to realize its deep structures and biases. In the evolution of English, much of the Germanic structure of Old English was eroded away, and the resulting language lost much of its surface logic.

    My take is that English speakers benefit from learning a more obviously structured language, and that learning about the structure in itself helps with the programming mindset. To be an effective programmer, after all, you do not only need to be able to make the computer/compiler/interpreter understand you: your code must also be understood by those who integrate with it and maintain it. Thus, all communications skills also contribute to programming skills.

    Therefore, my suggestion, only partially tongue-in-cheek, is to study Latin. While you won't find a lot of Romans to speak with nowadays, much less program with, and although other languages exist that also have a great deal of surface structure, the teaching of Latin has always been highly focused on grammar and structure, and a lot of excellent teaching resources exist in many languages.

    • I learnt Latin at school. 20 years later I struggle to read even a basic inscription - outside the classroom if you have no use for it, the vocab disappears rapidly. So unless one plans to contribute Latin language articles to Vicipaedia, far better to pick a living romance language where you can practice by going on vacation.

      Spanish is an obvious choice - according to wikipedia it has the 2nd most native speakers in the world, after Mandarin. The French love to travel, so you'll have plenty of opportunitie

    • Latin is dead, and too old -- odd word order, overly-complicated conjugations etc. I studied it at school for a couple of years.

      A few schools in Britain have found that teaching Esperanto has many of the same benefits, but fewer problems. It's very regular, there are actual speakers of the language (mostly in Eastern Europe), and it has very few exceptions. It has some nice constructs not present in English, like a suffix for small or large. Children feel quite confident and successful with Esperanto, be

  • by countach (534280) on Wednesday December 19, 2012 @05:50AM (#42334997)

    At this point in your life, there is probably no hope you will gain a competent level in another language unless you are really motivated and that culture speaks to your heart. Only you can say what that language/culture might be.

  • by belmolis (702863) <billposer@a l u m . m i t .edu> on Wednesday December 19, 2012 @05:57AM (#42335029) Homepage
    The obvious answer is Klingon.
  • by pieleric (917714) on Wednesday December 19, 2012 @05:57AM (#42335033) Homepage

    It's always great to learn a new (human) language. It will allow you to discover a new way of thinking, and let you see the world through a different point of view.

    That said, let's be honest right away, if there is one part where it will bring you almost nothing, it's for software development. 99% of software communities online are discussed in English. 99.9% of software comments and software documentation is written in English. I happen to speak French, English, Dutch and Spanish (nothing special, I'm just European). I have been doing software development for more than 10 years and I cannot recall ever using any other language than English except when doing translation. The only advantage is that you'll be able to understand a bit better why translators are mad at you when you write bad printf()'s.

    So go ahead, learn a new language, it's a great experience. I'd recommend one with a big amount of speakers like Spanish or Chinese (this one, I promise, will completely change your understanding of the concept of "language"). However, don't kid yourself, it's pointless with respect to software development :-)

  • by q.kontinuum (676242) on Wednesday December 19, 2012 @06:45AM (#42335235)
    When I search for solutions to some daily problems (on Bing or Google), most non-english replies I find are in French, Spanish or German. Just search for typical problems in your domain and see which language proposes the most solutions, that's probably the language most relevant to you :-)
  • French or Italian (Score:4, Informative)

    by Sussurros (2457406) on Wednesday December 19, 2012 @06:45AM (#42335237)
    If you're interested in programming neural networks then a lot of extra resources and communities are available in French and to a lesser degree Italian. In Italian there are also publications and websites that deal with AL and AI (artificial life and artificial intelligence). I discovered them when I was looking at stupidology, that's the study of why intelligent people do stupid things that average people don't. The field has since been subsumed and renamed by psychology which is doing its best to bury it quietly. For general programming neither French nor Italian is any particular use, they're only useful for neural networks, AL and AI as far as I'm aware.
  • by acidfast7 (551610) on Wednesday December 19, 2012 @07:12AM (#42335305)

    1. Once you start learning German (you get a fair bit of Swedish/Norwegian/Danish/Dutch/Afrikaans for free.) The same could be said for Latin, but it doesn't have any practical use.

    2. Most of Eastern/Central Europe learned German. Outside of the major cities such as Budapest/Sofia/Bucharest/Lviv, I've found my broken German extremely useful. This is NOT a moot point as these countries are investing huge amounts in infrastructure.

    3. Russian/Arabic would be extremely useful but much more difficult.

    4. I wouldn't worry about Spanish. I had 7 years in public school (US Northeast) and I assume that you did as well. You'd pick it up pretty easily if you had to.

  • by jamesh (87723) on Wednesday December 19, 2012 @07:32AM (#42335379)

    I wish i'd learned some form of sign language. Being able to hold a conversation without any noise at all (not even the clatter of a keyboard) would be awesome, as well as being able to communicate in a noisy environment.

    It almost certainly wouldn't help you with software development though, unless your projects centered on software for the hearing impaired... and even that's probably a bit of a stretch if your are at the code writing end of your project and not dealing with the end users.

    The other problem is that sign language isn't universal either - wikipedia says there are around 200 different languages so which one would you choose?

  • by Zontar_Thing_From_Ve (949321) on Wednesday December 19, 2012 @09:53AM (#42335961)
    I have studied other languages. I've got a talent for it. I'm just going to be honest with you, which is better than some of unrealistic answers you've been given so far.

    The problem with Chinese is the tones. Depending on your genetic material, as an adult you may find it very difficult to come to grips with them. Or it could be easy for you. But I can promise you that for every person for whom it is easy, there are tons of native English speakers who will never be able to deal with it successfully. The grammar in Chinese is pretty easy for the most part, which is good, but the tones are the killer. I am always amazed at how people suggest learning Mandarin or Cantonese without any regard to the difficulty that speakers of non-tonal languages will have. And you need to understand that as an adult unless you want to devote the next decades of your life to constant work at it, you will never learn Chinese characters. Yes, you could learn pinyin but that's not really all that practical honestly. So for all practical purposes you will be illiterate in Chinese, even if you learn to speak it well. Yes, you can use programs to translate your pinyin into the characters and vice-versa, but how practical is that on the streets of Beijing?

    Yes, if you want to engage in questionable activities then Russian would be a good choice, but I can tell you that most native English speakers fail at their attempts to learn it. I'm one of the exceptions. Russian grammar is quite complex. It is an inflected language and that's the complexity. What this means to people not familiar with linguistic terms is that Russian nouns and adjectives change their spelling depending on how they are used in a sentence. Russian adjectives have up to 24 forms - 6 cases X 4 forms per case (singular masculine, singular feminine, singular neuter, plural). The good news is that some of the forms overlap so in reality there are usually "only" 19 or so forms to learn. Ha ha. Nouns have singular and plural forms to learn. Given how in the USA most English grammar instruction is over forever in public schools after 8th grade, you really have no idea how challenging it is for someone who doesn't even know what an indirect object is in English to try to understand something like the dative or genitive case. Without a proper understanding of the cases in Russian and memorization of the various forms of nouns and adjectives under them, you'll never make any progress at learning it. Outside of the ex-USSR it's generally pretty useless. I get some kicks out the "wow" factor of being able to impress people that I can speak it and I've done some traveling in the ex-USSR where I used it every day, but in the IT world it's been almost useless. Then again, I'm not a leet haxor. I can tell you that learning Cyrillic is very easy and that will absolutely not be the problem in learning Russian, but the grammar will separate the men from the boys. If you can believe this, from a grammatical standpoint most of the Slavic based languages are actually harder to learn than Russian, with Bulgarian/Macedonian being an exception.

    English is really the most useful language to know. If I had to recommend another language, Spanish is generally the easiest one for English speakers to learn. Portuguese is not bad either. French would be next, followed by Italian and German and then pretty much everything else. The further English speakers get from Western Europe in the languages they want to learn, the more difficult it will be. I've found that the older you are, the harder you have to work at learning another language and most adults aren't willing to do the hard work necessary to succeed. Unless you are some language learning genius (unlikely), you will need to do about an hour a day, 5 days a week for about a year to achieve any kind of reasonable proficiency. And it's like climbing a hill. Once you get to the top, it's much easier to get down, but many give up on the way to the top because progress is so sl

A motion to adjourn is always in order.

Working...