Ask Slashdot: 2nd Spoken/Written Language For Software Developer?
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?"
The best 2nd language for a programmer is naturally English. What your first language is depends on your nationality.
Chinese or indian
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.
for most programmers.
That's because most programmers don't have english as their first language.
Just saying it like it are.
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.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Years of work? Oh, come now.
And what is your basis for claiming it won't help?
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
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.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
French is the language of love!
-- Ed Avis ed@membled.com
I agree with you on Chinese. Sooner or later you will work on some project where most of the developers are in China. Communication is the most challenging part of such a project. If you know the language you are definitely in a better position to get higher salary or some team leader position.
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?
I second this. There's going to be a huge demand for Westerners who can talk and even write Chinese. The market is large and growing fast. An alternative to that would be Russian. But beware, although it's easier to learn the cyrillic alphabet than chinese characters, the language itself seems to actually be harder to learn from what I've heard so far: it seems to have lots of irregularities. A former colleague, who's Russian, said that after living a few years in Germany and speaking almost no Russian during that time had him forget a few of those irregularities in the Russian language and his Russian friends immediately noticed when he visited them. My father wanted to learn Russian and gave up because there are words that have flections that don't seem to be related to the original word at all and you need to learn a lot of vocabulary due to the grammar. By contrast, AFAIK the chinese grammar is "odd" for westerners but not hard to learn.
I'd recommend perl.
#DeleteChrome
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.
This should answer your question: http://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers
It doesn't have to be like this. All we need to do is make sure we keep talking.
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.
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
who where what when now?
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.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
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 practice. If I were you, I'd learn Spanish or French because you can always travel to Mexico or Canada to practice it. Other variants: if you have little time, learn English-like language like German, it would be easier. Still more time - learn Slavic language like Russian or Czech (yes, they make a good beer in Prague, definitely worth visiting). But if you have a shitload of time, then learn completely different language like Japanese, Chinese, Finnish or Arabic.
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 fastest growing minority in your own country. :-)
Computer simulation made easy -- LibGeoDecomp
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/spoken language if you are only going to live in the US.
All that being said, the only large scale technical documentation I have seen being regularly translated into another language is Japanese. And increasingly Russian developers, amongst themselves, keep it in Russian.
D.O.U.O.S.V.A.V.V.M.
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.
Lemon curry???
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.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
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.
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.
Well, maybe Chinese today and for the next couple of years.
But when labour costs start to rise in China where is the next place that the big multi-nationals will seek to keep their cost base as low as possible? If you can determine that and then learn the local language then you could reap big rewards when the off-shoring goes there.
Of course you can always just go for the long game. Eventually that low labour cost will be found in English speaking countries.
I'd say Russian, Japanese, or German; those three countries seem to have a pretty big focus on technology.
... and I improved my English until I was comfortable with handling most situations. Now I have gone on to learn Swedish (Sweden rules), and next up is Russian.
Marain is the best language to use as your second/first language.
After that, your goal should be to flex your ability to precisely describe an algorithm. Ambiguity within a language should make this more difficult.
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.
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.
It helps you as a person. And not only in the US.
Anyway, knowing more languages won't make you less in any way, they'll only improve you. Also, keeps your capability to learn and adapt at a high level. And it also doesn't hurt if you know some languages people speak outside the US. I know some languages, and independently of how they relate to my developer work and skills, they'd never hindered me, only aided me in a lot of situations. Think of language learning as a training excercise, or as a long term investment, either way, it'll improve you.
I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
The obvious answer is Klingon.
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 :-)
Congratulations on deciding to commit to learning a new language - it's a fairly exciting achievement, actually.
Learning a new spoken language is not dissimilar to learning a new programming language: the first time is hard - you need to learn the constructs - ie learn how to learn a language. Conjugation, grammar, etc - these are all notions that are difficult the first time around.
Once you've got a grasp on that, you'll realise that you can communicate with about 20 verbs and 50 adjectives.
I would, however, underline that your motivations to learn a specific language should probably stem from an inherent interest in the country/ies / cultures where it is spoken.
If you're attempting to learn a language for conducting business, unless you're incredibly motivated, you're going to probably fail.
The language of business / commerce is difficult - heck, you go to university to learn how to talk the talk. It's such a domain-specific use of language that it will take literally years of immersion (2 at an inside minimum) to get a handle on it.
(References: Australian living in France working in IT)
"Would I be able to work with those folks in some useful capacity? Perhaps building products for foreign markets?"
I think it's easier to learn a programming language than a human language, so in practically every country you'll find people who are already fluent in their own language plus whatever programming language you know. And most of them will have learnt English since childhood.
Learn a language for fun, or if you want to see the world, but it won't tie in with your programming in any meaningful way.
"A week in the lab saves an hour in the library"
Latin is a pretty good suggestion actually. In fact I'd suggest choosing one of the colonial latin-based languages (French, Spanish or Portuguese). They're wide-spread and you'll be able to make yourself understood in places you previously could hardly dream visiting. Spanish is probably the most useful for you, presuming you're in the US. Also, it's the colonial language which is spoken geographically nearest to the old Rome so it's a good "average" of the other latin-based colonian languages, making those easier to pick up or at least to make sense of when in written form.
As a bonus, all these languages share Latin script - which is something you're already familiar with. Contrast that with many Asian languages, many of which have their own "alien-like" scripts.
If you are not planning on moving/working abroad, you're not going to learn any second language well enough to be very useful. People with technology skills are rather mobile and the largest tech firms have foreign subsidiaries. So the big employers have no shortage of native speakers of the most commonly spoken languages. In the meantime, machine translation is getting better all the time and while it may never do poetry or literature very well, it will certainly be good enough for most business purposes in the not very distant future. I wouldn't expect adding a new language to change your employment potential much, but there are many other good reasons to do so.
I speak 5 languages myself, work in a technical environment, and it is not appreciated at all. I applied for a job where my knowledge of languages would be an obvious asset (international helpdesk), but my 10 years of language learning was wiped out by a 10 minute psycho-test showing I wouldn't throw down the phone fast enough. Don't get me wrong: learn french and you will see how Jacques Brels lyrics will send John Lennon running home to his mommy crying. Every language you learn means new people you meet and new treasures you discover. But I have never gotten a job or a raise because of it. It is like juggling oranges: nice conversation topic at the xmas party, but not something that adds to your bottom line. If you are going to do it, German is the obvious second technical language in both west and eastern Europe.
10 ?"Hello World" life was simple then
I am not planning to travel or move/work abroad.
Without any direct (live) contact with people, it will be at the same time hard and not very useful to learn a second language. If you live in the South-West, maybe you can try Spanish...
During the cold war Russian would be useful if you could show an interest and skill. Great if your family was trusted and you where loyal.
A wage would go up - great for smart people from working class backgrounds in tech/crypto.
German might be good for industrial trips to Germany, Austria, parts of Switzerland - not for the computer code, work - for making friends long term.
vs telling people you are Canadian, asking about IKEA, grunting at a map and a pointing to a museum name...
If your in the USA - China is interested in the USA and translation from a US background might offer an edge.
Placating locals as a factory is sold? An Australian engineer who understands dismantling vs the skilled local accent offering hope until the last moment.....
Spanish parts of the Americas sounds useful but their top people buy in from Germany/ USA - they have had that covered for generations.
French - France looks after/trusts France - the rest is just some US elite coast 20 something having a 3-6 years of very expensive daycare.
Arabic/Farsi - like Russian during the cold war would open doors to rapid advancement - drone strikes, freedom fighters, triangulation, interrogation transcripts, financial tracking. If you ever upset the wrong contractor or agency it could be a very, very interesting.
Germany, China and the Middle East seem to be good regions to think about as many have listed.
Domestic spying is now "Benign Information Gathering"
And there is no such thing as "effortless" language learning.
...yet. But it's something that a lot of people are already working on. Computer games are fun because we're constantly learning. Computer games are boring when we're not learning enough, and they're frustrating when they expect us to learn too fast. Therefore we can conclude that the problems in education are all about pacing and difficulty. All learning can be effortless, and when teachers start listening to science, they'll start approaching that effortlessness (although probably asymptotally.)
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
"I'd say Russian, Japanese, or German; those three countries seem to have a pretty big focus on technology."
The birth rates of the three countries are going down and their populations are greying. Beyond the near term, it might make sense to learn their languages not because of their technological prowess but because they would soon need more warm bodies to take care of their old folks. Or robots. Innovation is likely to drift to Asia southeast of China, South America, or even Africa once it fixes its Hunger Games.
Best language to learn? Probably still English, with a focus on understanding the way non-native speakers mangle the language, that, is learn the local dialects. Otherwise, you're better off investing your time in stuff that would help you survive the singularity or the crash of technology. Learn robotics, personal fabrication, genetic engineeering, even agriculture.
Well, Mexico is a major trading partner to the US, and certain parts of South America are to Spain what the Phillippines and India are to the US and the UK -- the main source of shared-language off-shore workers. And because they are mostly genuinely native Spanish speakers (as opposed to the various Indians and Phillipinians with various native languages) the whole off-shoring should be much smoother there.
The big advantage in Spanish in an English-speaking country would have to be the potential to bridge two different off-shore operations. I'm thinking mostly of when (for example) a multinational buys out another multinational, and tries to integrate the two corporate structures into one.
Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
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 :-)
Trolling is a art!
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.
I said - don't look Ethel!..., but it was too late..., she'd already looked.
Hungarian, of course!
My first program:
Hell Segmentation fault
How would any language after English help him as a programmer? Whatever your answer it's also probably true for Spanish.
Top that off with it's the language he has the highest chance of gaining a high level of proficiency unless he lives in close proximity to a group that speaks something else - and he's willing to really engage with those people.
It's not easy to learn a language you don't use. In the US spanish is being used all over - at the fast food joint, on tv and radio, in his neighbors homes. It's one that is practical in a wide number of ways and it he'll have a higher chance of success because he'll have the most opportunities to actually use it.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
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.
Or, reverse Polish. For obvious reasons...
Its one of the most widely spoken languages in the world and the emerging economies in south america almost all speak it (apart from brazil and a few small countries). Also being a european language its not *that* different from english unlike say chinese which might as well be from another planet plus it uses the latin alphabet so an english speaker can read it immediately even if he doesn't understand what it means which makes learning a LOT simpler.
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?
In pascal, the first index of a characters in a string is index 1, but any other array starts with index 0 unless specified.
Hivemind harvest in progress..
When I was working in the US (in California), I found Mexican Spanish to be the most useful. That was because the companies I worked at had a lot of Mexicans in cleaning and service roles, and when I was there in the evenings or pulling an all-nighter, almost everyone else in the building spoke Spanish as their first language and English as their second. I was never any good, but they all appreciated my attempts to avoid murdering their language, and they usually found it very funny when I said something wrong. If you are wondering about the value of that effort, my desk was cleaned when I asked for it to be cleaned, and left alone when I had a mess of papers all over it. No cords were moved, things broken or containers spilled.
If you are looking for a second language to use for communicating work issues, my advice would be to not bother with anything other than the very basic stuff, or focus on learning to understand the language without really speaking it. The outlook "I speak English so the world can talk to me in my language" is not the point of my suggestion - if you are speaking to a native Chinese person, in order for it to be logical to communicate in Cantonese or Mandarin, your Cantonese/Mandarin skills and technical vocabulary need to be better than that person's English skills/technical vocabulary. That is not going to happen, irrespective of whether you are talking to someone from China, India, Brazil...
You will sometimes find people who are not comfortable speaking English. If you can at least understand some of their language and make an effort at some basic phrases, they should feel better about their English level once they realize that their English is better than your ability with their language, and be willing to give it a go.
See title
I'm in England, and English is the only language I speak fluently. I know a smattering of French, Arabic and German, all of which occasionally come in handy as sometimes work with people for whom one of those languages in their mother tongue.
Every so often I think "it'd be worth me learning to speak better French", but then a few months later projects/priorities change and I find myself thinking the same about Arabic, or whatever. If I was working on projects for customers in Spain or Mexico, I'd be thinking about learning Spanish.
I don't think there's a definitive answer to this. I have found though that even knowing how to greet someone in their own language can do a lot to endear you to them, as it shows you're making some sort of effort
Also, I often find, because the English are notoriously bad at learning other languages, that foreigners will naturally converse with me in English. In any context, it's really good to be aware of any cultural-specific things which you need to be aware of (e.g. certain hand-gestures considered commonplace in one culture are offensive in others, which pocket you place a business card in is really important in Japan, etc)
English is already the lingua franca in the world of tech and science. Plus it is a very rich language with an excellent litterature. What you have is an inner curiosity for other languages which is a very good thing. Learn the language you are the most interested in. For example you could choose the one whose litterature interest you the most. It will be a good mental gymnastic and be enjoyable. A sepcial mention for latin because you are forced to learn it "grammatically".
I work in Germany in the advanced photonics field in a very international setting. The working language is English. We publish in English. My mother tongue is French but even with the French people i speak English there.
I still enjoy French litterature. And a little bit of Spanish one.
But don't expect a professionnal justification for it. You boss may be someone who is not intellectual at all and would not value the effort. Do it for yourself.
You were mislead. Russian is a European language and can be learned with effort. The different alphabet isn't a hindrance since it works in the same way. People like to exaggerate how difficult their own languages are to learn, but usually without much comparison.
Asian languages are measurably harder: http://en.wikipedia.org/wiki/Difficulty_of_learning_languages#Native_English_speakers
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, because they're rarely told "well, sort of, but actually you have to add an -é when you say that. Oh, and that verbs irregular, so it's really -ré, you'll just have to learn it".
There was a study done in Manchester where some children were taught Esperanto for a couple of years, then French for a couple of years. Others were taught French all the time. The former group spoke better French at the end. By learning Esperanto they'd already learnt how to learn a language (studying grammar, vocabulary, conversation etc), so when they got to the annoying irregularities and complications of French there was less to explain.
I've been considering learning Esperanto myself, but haven't started yet.
If you aren't interested in things Japanese I wouldn't go for it. It will take a long time to become fluent but the equivalent of a few years in college is enough to be able to get around pretty well. But even if you only learned a small number of verbs, nouns, adjectives, plus learn the two phonetic alphabets (50 characters each) and say 50 common kanji characters you can be very self-independent and expressive, and people will think you are wonderful. Though mainly that is about personality and not language ability, i.e. communicating enthusiasm, humor and interest. There is a term called "nommunication" in Japanese. Nomu means to drink, you can translate the rest! Ikou-ze! (Let's go!)
When I consider the communication skills myself, and most developers I know; we probably should work mastering communicating effectively in one spoken language first.
Interesting. The linked Wikipedia article talks about speaking and reading, and the later is indeed way harder to learn in asian languages. It would be interesting to see how this list turned out if you ignore the reading/writing. In Japanese, you can also write everything in Hiragana, for example; that's easy to learn but not as exact due to homonyms, words that are pronounced the same but have different meaning. These words usually have different Kanji, so you can distinguish them when using Kanji but not when using Hiragana. My experience is this: I'm German, have learned English and French at school (though I can't talk the later now) and have learned Japanese in an evening school (though I can't speak that one either now). I found that while Japanese has a totally different grammar than the others, it was easier to learn due to the grammar being not as complex and not having so many exceptions like european languages usually do (irregular verbs and the like). But it seems I'm the exception here.
Shame on you for leaving out Icelandic - the girls are definitely hot there too :P
Plus the language is somewhat like hearing Old English. its not an easy one to learn though.
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
I write all my comments and documentation in English, even if I have no expectation of anyone else ever seeing my code. It's just that I learn most of my stuff from English sources and it's just a pain to keep having to translate everything into Dutch, especially when the Dutch equivalent of some English terms isn't obvious. It's just too awkward and takes up too many brain cycles.
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, 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 Midwest, I think it would be helpful for you to know Spanish. As a software developer specifically, not so much.
Comment removed based on user account deletion
You are asking what would be the most practical language to learn, and I'd say that spanish would be the right choice. I can offer several reasons:
After explaining why I think spanish is the most practical language for you to learn, and having learnt 3 other languages apart from my mother tongue, I can assure you that the best language to learn is actually the one that excites you the most.
Learning a language takes time and effort, so being motivated is, in my opinion, the most important argument. Do you like finnish, even though so few people actually speak it, and many of them know english even better than you? (better than me, at least hehe), then by all means, go ahead and learn finnish. That's my advice.
How much wood would a woodchopper chop if a woodchopper would chop wood?
Useful? Probably not, but you are already speaking the most useful language for tech related discussions and the effective Lingua Franca for the modern world.
I only suggest Esperanto because it is very logical, and thus very easy to learn (I think it has 16 rules of grammar, and the spelling is *perfectly* regular). There is a fair amount of material to read much of it available on the web. its based on a variety of European languages and has vocabulary that is similar to a lot of them. It uses the Latin alphabet which means you don't need to spend any additional time learning an orthography. There are small pockets of Esperanto speakers in almost every country in the world, so if you travel at the least you should be able to find someone who can help you - although again we are back to English which is becoming the default 2nd language for anyone who doesn't speak it as their first language.
My other suggestions would be Spanish, French, German and Russian. Mandarin would be good to learn and no doubt useful - but the learning curve is so steep its a cliff and learning the writing system will be a royal pain at the least.
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
But yes, if you wanted to learn a language not for the purposes of travel or getting a job or communicating with co-workers or getting further with that cutie you were chatting to last night, then Latin would do fine. At least the process would teach you more about language structure, which is a useful thing in itself; and it's undeniably useful if you then go on to learn other languages.
Otherwise, Spanish or an Asian language; or French or German or Italian.
Klingon or Elvish, anyone?
...how does it help you as a programmer to know Spanish? Not a lot, I think...
Considering that the Latino segment of the US population is about the fastest-growing? Sure, we expect Americans to speak "American", but let's be realistic. Chances are that if you look closely at products in the local grocery store, you'll find a few whose actual names are Spanish, and more than a few whose labels are bilingual English/Spanish. Savvy (compare sp. "sabe", to know) businesses reach out to their target markets, whether they are American-hispanic or American-Vietnamese.
Besides, you might get sent to a developer's conference in Miami.
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
Without a doubt Spanish and Portuguese (Brazilian) will get you a lot of options. Learning Spanish will make Portuguese a breeze and I have found a wealth of documentation in Portuguese for the development that I do. Spanish is also very useful so it will be a good investment--you can go anywhere and hear it and have the opportunity to speak it. Even if you do not get very far it will still improve your quality of life in the states and your vacations in the Americas. It's so very practical. I'm learning Korean after learning Spanish and am still so very glad to have learned Spanish. Korean will consume the rest of my life and is only useful for a small percentage of the world's population... however, my wife speaks it. Anyone that says you can learn Spanish overnight if you have to has obviously never learned to speak well, nor learned the intricacies of the Subjunctive or Preterite. I worked at a law firm as an interpreter and an interviewee came in and said that he would 'brush up' on his Spanish to help him get the job and I laughed to myself... How are you going to 'brush up' on what takes years to learn to speak competently in a Spanish speaking country? I will brush up on being a surgeon but might remove the wrong body part. People! Have fun with it... and don't make it all about grammar.
"Beijing Talk" ... I took an introductory class (as another poster noted- "to be able to listen to what your coworkers are actually saying") and admit, that after a single or even several classes, while you will not be able to follow any conversation, you will be amazed at what can be said in a language that does not use gender, pluraility or case!
The final exam included translating the writing on the instructor's tie: (1) it turned out to be backwards/mirrored and (2) it said "Dry Clean Only!"
Seriously, if you plan to stay in the US, your obvious answers are Spanish (for dealing with Latin American customers) or French (Canadians, Ay). If you learn one of those two, Portuguise should be easy to pick up if you want to deal with Brazilians. If you plan to do software developing for international customers (ie, outside of the western hemisphere), the obvious choices are Chinese, Russian, Japanese, and German, probably in that order.
To say one language for a second language is better than another is kinda moot (unless your first language is anything other than English. Not that I am biased, but most of the world does use English as the language they conduct business in). It all depends where you want to go.
I will give you a tip - I have found that if you learn any of the Latin-based languages, the others are significantly easier to pick up. As they have similar roots, many words are similar between the languages, and they all have almost the same rules for gender, congregations, etc.
Russian is Germanic based, as is English. Once I figured that out, I actually found out that Russian wasn't nearly as difficult as I thought it was. Not that I am fluent in either, but don't be too scared of them.
As far as ease of learning languages, your Latin-based languages are probably going to be the easiest (especially Spanish, as you probably already have exposure to it, and this day and age in the US, knowing a bit of Spanish is VERY useful).
Second in difficulty is probably going to be German - not that German is a difficult language, but you probably have less exposure to it than Spanish and French. But German is just, well, COOL and geeky. Check around with a lot of your fellow geeks - I am willing to bet that many know at least a few phrases of German.
Russian is probably the third most difficult, mainly because you have to learn a new alphabet. The actual language won't be as hard as you think, and will be significantly easier if you know German and can look for roots.
Your eastern languages, while probably very useful, are going to be the hardest, and most frustrating. I don't know if I would take one of them as a second language - maybe as a third or fourth. If you start off with Chinese or Japanese, you are going to get frustrated, and may not want to learn a second language ever again. I say to start with something easier, then go to one of these after you master a third or fourth language. Also, while over a billion people speak Chinese (Cantonese or Mandrain), unless you have direct business relations with China, you will probably never use it.
Now, if you are a religion nut, Hebrew, and Greek are a plus.
So, don't ask yourself what is the best 2nd language to learn (unless you don't speak English). Ask yourself what you want to do with it.
Legalese.
Not kidding.
Mastering the English language is fucking easy: all you have to do is to put an f* word in every fucking sentence.
What? Don't all programmers do that?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Learn latin. Then you will be able to get a job writing document templates for MS Office.
Just because you are paranoid does not mean that no-one is out to get you.
In the 80's, I was told we would all be speaking Japanese very soon, and I needed to learn it.
In the 90's, it became Spanish.
In the Aught's, it became Chinese.
We're not all speaking Japanese, and in the US, unless you're in landscaping or the fast food business, how often do you need Spanish?
Don't pay attention to the so-called futurists that have such a great vision of future society. Pick something you like and go for it. I grew up in the Western US and learned German in high school. Never did me a lick of good until I went to Germany for a few days this past summer, but it was fun to learn and close enough to English to not be hugely difficult to learn. Learning Hebrew's on my list this year. It's pretty much going to be useless because I'm not Jewish, but what the hell. It's interesting to me.
You'll learn new ways of putting words together and thinking about the world. Not all that different from coding which is also symbolic.
Spanish and/or Mandarin.
Everywhere else they will speak English when pressed, even in Spain.
My globalization at work has shown me that Mexico, Latin American, and South America are difficult to deal with in English, though it varies outside of Mexico. Portugese is not important enough for me, and Brazil is easier to deal with. Otherwise, only Quebec and France are difficult, and surprisingly the Quebecois I deal with give in to English. Spanish is most important for Mexico. Mandarin goes without saying, though many Chinese are eager to speak English - I just don't want to be their tutor, but I have few options there. Everywhere else, English is accepted fairly well.
Now, if you leave programming, Farsi and Arabic are very lucrative. Working for Middle Eastern clients in programming would lead you to English very quickly, but speaking and translating, Farsi is probably a ticket to lifetime work for the intelligence community, be it government or private. Arabic ditto, more private right now. I know a friend's son who is getting proficient in Farsi in college, and he will be offered work in several 3-letter agencies. Steady inside work for a graduate is precious nowadays. Tell your children to learn Mandarin, Farsi, or auto repair. Plumbing if they can stand gettng dirty... All have excellent prospects for employment,
As for a second programming language, most of my programmer buddies are saying 'second? how about a sixth?'. But you really didn;t seem to be asking that.
deleting the extra space after periods so i can stay relevant, yeah.
Because then you would know how to say "Desea papas fritas con eso?"
It's not really useful outside of service sector or public sector jobs. Or if you just want to know what the cleaning ladies are giggling about.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
You'll be able to use/practice it almost immediately. It's a Romance Language that uses the Latin Alphabet so you've got a head start on the both vocab and alphabet. Generally vocab is the hard part of a language, grammer is a pain for six months or a year but it's a lot easier to learn a new way to organize sentences then just instinctively know 1,500 words.
Portuguese and French look good on paper, but the former is restricted to Brazil in this hemisphere, and the latter only has 10-15 million speakers. Anyone who speaks either language and comes to this country will also have fairly good English.
You just ain't gonna find a use for Hindi or Chinese in the US. Hinglish, or another Indian dialect of English, could be helpful if your company plans to out-source to India because Indian accents can be a massive pain even when they're trying to speak American English. But pure Hindi just will not be used in an engineering context, ever. If the Chinese company you're dealing with doesn't suck it will have paid for a translator. If it sucks why are you dealing with them?
Either way the costs of learning the multi-thousand-letter-containing Chinese alphabet far outweigh the benefit.
https://en.wikipedia.org/wiki/Languages_of_Nigeria
</sarcasm>
If you are into hardcore hacking or security then Russian is a good choice, but be careful who you deal with overseas. For potential market share by population, Mandarin Chinese. For working with a technology power house of industry Korean, Japanese, and India is an up and coming future market. Spanish/Portuguese also has a broad and economically growing market in south America. It all depends on what kind of software you are intending to develop.
Most of those languages will likely take a lifetime to master. I on the other hand like to know computer languages, because no one tool does the job in every case. I stopped counting at 14 languages some 25-30 years ago, because I found that admitting to knowing some of them only got me assigned to projects I'd rather not be involved with. Sometimes its better not to know too much.
Swears and curses sound great. They are of great help while programming, debugging and interfacing with users.
Learn a language written in a non-Latin alphabet. Russian, Greek, Armenian. Get to know their historical character encodings — e.g. the Russian had cp866 in the DOS age, windows-1251 in pre-Unicode Windows age, and koi8-r for mail, because it had the desirable property of still being readable when a misconfigured mail server ate all your high bits. Converting between all these and UTF-8 is still a lot of fun.
Learn a right-to-left language. Hebrew, Arabic. Bonus points for Arabic because it is also a Complex script (has different letter forms depending on position in word). Understand the Unicode RTL algorithm.
Learn a Turkic language. They have the unique property that make Unicode upper/lowercase transformation language-dependent — namely, the small dotless i and the capital dotted I.
Learn a language written in a non-alphabetic script. Chinese, Japanese, to a lesser extent Korean. Experience the world of input methods and the pain of entering 4000 different characters with just 106 keys. See it cramped into an 8pt type.
Learn a language with many grammatical cases (as opposed to 1.5 cases in English). Latin, Russian, Japanese. Understand why one does not simply compose a UI message out of several separate localized strings.
Learn a language with a different set of plural forms. English has singular and plural. Russian has singular, dual and plural. Japanese has no plural at all, but they have counting suffixes — a strong typing system for numerals.
Learn a language that has concepts unheard of in English. Japanese has different words and patterns for talking to peers, to subordinates and to superiors, and they use all these three sublanguages on a daily basis.
One must think about the practicalities in relation to self.
For instance, for us basement-dwellers, Morse code may be the obvious choice, but then you have to spend hours teaching your mom upstairs. However, it can be quite rewarding if you're willing to expose yourself to partial amounts of sunlight coming in from your mother's kitchen windows. Now whenever you need a hot pocket, you just tap on your wall without ever having to involve yourself in verbal communication. Be warned that this can have unfortunate consequences if you pleasure yourself too closely to a wall or a pole.
Klingon is the second choice, but the only people that know it are your friends, and do you really want to talk with your friends? Of course not. You are only interested in peaceful guild-relations. They are a philia of utility. Your only friend of the "good" is your computer.
This leaves us with our last option: sign language. You know that the only girls that you have a chance with are the hearing impaired as they don't have to hear about you babbling on about the latest programming language or competition. (It used to be the visually impaired, but it only lasts 2 or 3 dates after they inevitably touch your face.) Learn enough to get married, and you're golden.
I've never been happier.
The G
Now, asian languages may be harder for those of a more barbaric and less civilized brain, but they're not harder for asians to learn.
Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
The second wave of software outsourcing will be to Latinamerica, so Spanish. Once youre somewhat fluent you might go to the other big LA language, Brazilian Portuguese, so similar to Spanish you can learn it in a few months. Now, for original technical documentation go for German, Japanese or Russian.
It helps with Lisp and abstraction.
Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
If you're a fan of Kill Bill, I give +1 vote to Cantonese.
The G
Chinese.
The way Chinese influence in all spheres of life has been growing and is set to grow, this seems pretty obvious. Just look back to 2000 - the idea that China was making any sort of inways to the world market was mostly welcomed as a sort of funny curiosity, and look at them now.
School children in many European countries are learning Chinese as the second foreign language after English (at least that is what I have heard) - it used to be German or French. So if you want to do yourself a favour, learn Chinese. It is actually really easy too - none of this indo-european nonsense with cases, tenses and inflections; in fact, to a Westerner, Chinese seems to have grammar at all. OK, the letters are a bit crinkly, but not even that is too bad.
Simply put, Chinese. In 20 years they will have the world's largest economy. Go where the money is.
OK, I'm a native English speaker, but when I worked in Germany earlier in my career I did learn to speak German fairly fluently, and I have managed to keep it up over the years.
I'm not sure though that this has been of any subsequent benefit in all the years since (mainly working in the UK for various companies).
Maybe once every couple of years I get asked to translate something from German, or talk to someone in Germany. Probably not even that often, and hardly career defining. It's biggest use these days is on skiing holidays in Austria.
Despite working for some fairly major international firms, I can't really think of any other major language that would have been beneficial in my career. (French/Spanish/Russian/Japanese/Chinese/Hindu/Arabic??) The computing world runs on English (certainly at a technical level) and if you are a native English speaker, you should be able to work anywhere in the world in the industry.
Beyond the point of communicating with native speakers, the only real benefit of learning a language is the intellectual exercise that it gives you, and the fact that it will improve your understanding of your mother tongue.
So if you are going to go to the trouble of learning a second langauge, do not do it for career reasons. Do it because you want to learn that language, because you want to absorb a bit of the culture, possibly to go and work in a country where the language is spoken, or because you have a girlfriend/boyfriend whose mother tongue it is.
Yo soy el mismo.
The only time that being able to understand other languages has come in handy is when the programmer I'm talking to forgets the English word for something.
English is built into programming languages, with a few exceptions.
Learning languages is wonderful in general, but not always useful in practice. English is overwhelmingly the world's most popular second language, the ipso facto lingua franca mundi. If you want to use your second language, go to someplace where there are many native speakers. In places where people from disparate lands mingle, you will invariable converse in English; it's really quite boring.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
...understanding poorly spoken and written english. Train yourself to interpret heavy accents, and tortured english, and you'll have an incredibly valuable skill in this world where critical IT infrastructure gets outsourced and offshored to people who don't know English that well, and have a terrible time trying to pronounce it.
And make no doubt - this *is* a skill. You can sit and be frustrated by someone's harsh accent, or you can pay close attention and learn how to compensate for their language weakness.
I see two motivations for learning another language or six. It doesn't matter which one(s).
The first motivation is that learning another language gives you better perspective on your own. You have a basis for comparison that you didn't have before. I learned way more about English in French class, and added to that insight when I studied German and Spanish on my own.
The second motivation is that it opens doors. Language is a window on culture. It shows how people think. If you travel, it will be helpful. If you don't, it may not be. My German and Spanish are decidedly fumbling, ungrammatical and arm-wavey, but the attempt is respected and opens doors. The less said about my Russian the better...
In a past job I worked with customers in France, Belgium, England, Germany, and Quebec. An important distributor were near Orly airport. Paris looks very different when you have an expense account. :-)
...laura
I moved to Germany for my now wife. I've learned to speak fluent but grammatically poor German. My colleagues are all German. The biggest difference I've noticed, is dealing with the pain-in-the ass , . separator issues. English speaking developers who have their computers configured for English-language separators have NO IDEA how much hassle it is for the rest of the world. The single most useful thing you could do, is run your computer in another language, including different thousand/decimal separators. You'll find a whole pile of bugs, it'll be a build nightmare at first, but the code WILL make less assumptions about how people use their numbers. We even found third party software where the XML we were using to control it changes, based on your current language settings. APART from one of it's features, that's always in English, whatever your language settings. The firm that wrote it hadn't realised, because all of their developers used German. Ugly, ugly ugly.
todo - The developer's equivalent of confession: "Forgive me Father, for I have sinned..."
Curious that you got modded insightful rather than funny. I hope you were joking.
Thing is, too many "in the field" can code better than they can receive instruction, argue a better solution, or describe their progress. The result is they solve the wrong problem. That's not a good thing.
If we're going all historical, wasn't the original common second language in that area Sanskrit? And isn't the important Sanskrit literature pretty well all stuff that was written when it was primarily a common second language rather than anyone's native language?
If you're talking about a programmer who sits in the corner and gets spoon fed specs by a designer/analyst/whatever-they're-called-in-this-week's-fashionable-agile-methodology then it won't.
Should he want to move up the chain, into a role where he's gathering requirements from users and customers or managing offshore teams, then it might help to speak those people's language.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I have to take 4 semesters of a language for my degree. I am Italian (non-native speaker), I love Italian, and love traveling in Italy. I've already taken some university Italian. The problem is that I have no one to practice with in the states and my mind loses languages very quickly :(
I can take Spanish... I am surrounded by Spanish speakers, could practice every day, and there is lots of Spanish courses available...
Or should I take French? I know I would have a hard time in French courses because it doesn't come as natural to me as Spanish or Italian... but I work for a French company with many French speakers and opportunities to travel to France for work...
I have a hard time learning languages. What to do?
My mother was an ambualance nurse and we lived in a place where most parts of the animal were eaten. When a friend asked why she never served brains my mother replied "not since the old lady went under the bus".
I said - don't look Ethel!..., but it was too late..., she'd already looked.
As this post is old, this is probably too late, but the first languages to learn are other programming languages. Then I'd suggest French.
Having been around the block enough times to leave a trench, at one point I tried to count the programming languages I've learned. It was well past 30, then. This may devolve into a discussion of what constitutes language, but at one point we were told, specifically, that Data General CLI was NOT a programming language, which my friends and I immediately proved wrong. (Who says you can't waste an entire file to hold a variable?)
I have learned endless variants of BASIC, awesome but specific stuff like Action!, Algol, Fortran, Lisp, Forth, Prolog, too many assemblys, binary for a couple of CPUs, the older Unix 'scripting' and preprocessor languages, Perl, PHP, Java, Javascript, dozens of others and a couple I developed myself. We'll just skip the meta-languages like jQuery & m4. My gawd, at one point I could even write complex sendmail.cf configurations that worked!
What you really learn from other programming languages is different ideas, and the sad truth of it is basically every idea can be implemented in every other language. Languages are the flavor of the day. The 'one tool I would take to a desert island.' Some make it easier to do one thing or another, but in the end they all boil down to machine code. And it's all basically the same machine. 8 bits, 64 bits. SSDD. One's just more convenient. Languages lean different ways, and generally they all have at least one good idea or two. (Well, except for APL. ) But just learn everything. Eventually you get used to it, you take the ideas across languages and in your head it becomes The Language(tm). I don't even see the code. All I see is blonde, brunette, redhead...
So what spoken language to learn? By all means, French.
Why? Well, French is unique in world languages in that the French are really, REALLY motivated to not let the language change. French is a pastime to the French like having lots of cars, guns and pounds is to Americans. As such, there's actually L'Académie française - an almost governmental organization to protect the language from language drift, with members appointed for life like the Supreme Court. They can all but outlaw words that aren't French, and as such, French is often the language of international law, because the meanings of words don't drift.
Think about that, programmer boy. Language without drift, only logical extension! That's like learning a C++ where your code works 3 revs to the compiler later. OMGWTFBBQ!
As has also been noted, French is awesome for ze sexy talkz. As we're discussing programmers here, get while the getting is good.
All computer languages Ive seen are written in English. I dont usually see an option to download "the French version" of Pascal, although it was obvious named in honor of a French speaker. I often feel sorry for people who do not speak english who want to be programmers. But maybe I am wrong. Maybe there are programs that have translations for native function names like 'for', 'while', 'and' and 'if'.
If you want to write programs for a foreign audience, then learning to code so that your textual output is easily translated is the best bet. This is actually a very difficult problem, but worth working on. Google has a few pages dedicated to this discussion with helpful tips they have learned to assist you. Some things to consider are: 1. sentences and phrases are not ordered in the same way among languages... so if your code breaks sentences into parts for things like links and formatting, then the entire sentence will need to be structured so the variables are inserted in the proper order and location. 2. Punctuation is not the same and may appear in different locations around the text (this includes periods and commas). So even punctuation needs to be variable based on the language. 3. Numbers are expressed differently in order and punctuation. 4. Default units vary among cultures. 5. providing a simple an logical mechanism for determining a default language and allowing users to select the desired language is a tricky problem. good luck with it. 6. If your program is internet based, there are considerations of how to logically divide your pages between languages for search engine parsing. You can use language prefixes on domain or insert a language code into the url or you can rewrite the URL itself to be translated as wikipedia does. There is no standard.
If you are really looking to increase your value as a programmer by allowing your programs to reach a wider audience, then learning make your programs easily translatable is likely the best bet. Because in the end, no matter how fluent you become in a second language, the best international program you write will be the one that is translated by someone who speaks that foreign language as their primary language and English as a second language. Not by you translating it yourself.
English speakers represent about 1 to 1.5 billion people on this planet. Both Chinese and Spanish exceed this. However, economy probably German, French and Italian are more significant. It all depends on the target market. I wouldnt bother trying to figure it out and instead write programs that are easily translated. Then hire someone to translate all the required text and phrases in your program. Then hire native speakers of that language to test and report language issues.
If your are looking to communicate with foreign entities, then I suggest you learn a language that is most economically likely to benefit you. The obvious choices would be German, French, Spanish, Italian or whatever cultures you expect to interact with. Although I dont think this is entirely neccessary because most large companies will have a means of communicating with English speaking entities.
If choosing a language *now* Chinese would be monumentally stupid.
1. Most Chinese learn English...(at least the one's we'd prob. meet) English is the common language in all international research labs. I've studied with 60+ nationalities as a French telecom research college in Brittany and all the French scientists complained about how the Indians, Chinese, Senegalese, Russian, etc students would speak English and not French
2. It is not fit for technical use. It was developed the same way rednecks make Meth. Slapdash, inconsistent. Sure you *can* write highly technical things in Chinese but usually it's just a reverse romanization of English. Also, one alphabet, two verbalizations??? WTF cantonese/mandarin
3. The whole entire idea floating around that 'China' is the 'next big thing' and that we're going to be 'owned' by China etc etc etc is all ridiculous flamebait for people who don't understand economics. China only booms when America lets it...fact
4. For Asian languages, Korean is the best. It's 100% phonetic and every sound that exists in Mandarin is representable with Korean phonetic letters...Japanese is good to, but more for how it stretches your mind than its coherence and usability
Thank you Dave Raggett