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
Actually, if all you want to do is be a better programmer/developer, don't even think about learning a second language. It won't help you, and it probably wouldn't work. Learning a language, especially the first "second" language, requires years of work. And there is no such thing as "effortless" language learning. And can be fun, if you're motivated and don't feel that much pain, but it won't be effortless, much the same as any worthwhile aerobic exercise will bring pain and suffering into your life.
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.
..and I'm pretty sure there are plenty of opportunities for a developer knowing Chinese.
All your bases are belong to us !!
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/
It's the universal language, after all.
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)
Would you be able to participate in a large community? Probably yes.
Would you be able to work in some useful capacity? Probably not, because you are too expensive.
Better learn French, just for the sake of it and the nice wine.
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'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?
Japanese and/or Chinese.
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.
Lots of seriously knowledgable people, plus a huge market within EU.
It'll help with lisp...
... 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.
Yep, I would think that learning a new language (properly) takes years of work for most people... unless of course you are constantly exposed to the language every day (by moving to a different country, for example)
I'm an American working in Italy. There are very few true Italian words for CS. They make English words into new Italian ones because they get created too fast: "tweetare", "downloadare", etc. where you just add an Italian verb suffix to the English word. Unless you are trying to develop a product for normal Italian users, it would be useless to learn Italian. All Italian programmers either know English or are picking it up while working. I believe this is true for most of Europe (maybe with the exception of France).
...how does it help you as a programmer to know Spanish? Not a lot, I think...
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.
The most spoken language in the southern hemisphere is Portuguese. You can't beat that.
It is "Geek" with an "r". No, you will not be needing it in the workplace. But when I have found people with a non-computer background fiddle along at high capacity with non-mainline languages like Emacs Lisp or Scheme or Haskell, it would appear that with quite unrandom proportionality they would come from an ancient language background (also sometimes ancient Arabic or even Chinese studied as foreign language).
Apparently those are the areas geeks went in into the time before computers and Sudoku. For something a bit less geeky, try classical Latin. There is no real point in trying Medieval Latin, though: its complexity is not significantly different from Spanish, so you might learn Spanish right away and have a few more modern day uses.
The obvious answer is Klingon.
Personnally I would pick finnish, danish or swedish because girls are cute there.
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"
It is impossible to say one language would be better than another. It all boils down to your work place. Even if you do not travel or work abroad, you might end up communicating with people from another country.
If your company have a lot of developers in France, learn French. If your company have a lot of developers in Italy, learn Italian.
Benefits: When they speak a bad English, and they translate directly word by word their expressions, you might understand it.
In your case I see no reason to learn another language. For most people it takes a long time, not a huge effort, just a long time.
Here is an informative article about learning languages: http://www.zompist.com/whylang.html
If you like to see movies, TV shows or read books in a certain foreign language, and do that for years on end, please go ahead.
-- Written by somebody that has to use three languages every day.
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.
Learn Dutch. That's what I did. It didn't do me any harm.
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.
Seriously, you wonder what human language you have to learn next? You're American, native English speaker? What do you need more than that? There are so many opportunities within the US, + companies abroad looking for English speakers - even in China, Japan, and most of European countries, there are plenty of foreign companies over there that would be happy to hire a native English speaker. But anyway, you want to stay in the US... Just learn a foreign language as a hobby, not seeking professional opportunities - that looks so snobbish.
Slashdot, fix the reply notifications... You won't get away with it...
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.
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
Forget this ever brining is you any more work but it will make you a better programmer
http://www.researchgate.net/post/Is_there_any_cognitive_benefit_of_being_or_becoming_bilingual
The original poster describes himself as a "mid-career software developer", not just a "programmer". This implies (to me) that he is interested in work beyond just coding from specs, which in turn implies domain knowledge and possibly customer interaction (in case of consultancy) are a major part of the work. For those, you'll need the language of the markets and industries you want to work for, and the social/business etiquette. This may be English, or something else. Or both. The language should follow from where you want to go and what you want to do. How important the language is in reaching that goal may depend a lot on the job, the industry and the location. Learning a language for fun, or to broaden your horizons, is a different matter.
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.
It enhances logical thinking abilities. At least that's what my good old Latin teachers used to say, though it had no effect on me except for occasional nightmares.
Not for being able to speak it. Just to be able to listen to what coworkers are actually saying.
About 2/3 of our workforce is 'ethnic'. Mostly chinese, indian and "muslim" (yes, not a nationality, and coincides with the ethnic boxes however, they are getting to be a dominant bloc in this place).
I learned basic farsi a while back just so I could tell what the lead dev in the bay over keeps saying to someone on the phone every 30 minutes or so. Turns out he is running his restaurant from work. Didn't take too much to learn the various related words.
So, not too long ago, about 2 years ago, I started in on having an ear for cantonese. I never got to mandarin. Even though a lot of the chinese folk at work are mainland chinese they all speak mandarin when they are not spekaing english. This can be both enlivening and difficult. I was in the tea room with three chinese ladies making my morning coffee and they were chatting away about their lives. The topic moved on to who their daughters were going to marry, and then on to discussing my various attributes. Apparently my ass is quite fine. Good to know..
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.
because of the OCD tendencies of most Germans, there is one heck of a lot of information in German on the net.
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.
Most Americans, even with Bachelors and Masters degrees, have horrible written and verbal English skills. If you don't pay attention to detail when communicating, why would I expect you to do it during any other task? Who wants to work or do business with lazy or sloppy people?
You are Slashdot, your comment is obviously not intended for this audience
Klingon of course
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.
Indeed, in France the brain is particularly appreciated by the gourmet community, which is why there is research in growing artificial brains. The rest of the world seems to be happy with muscle.
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!)
Have you considered the local sign language, it has a rich history and will give you a lot of personal satisfaction
I am a SAP ABAP developer and a German native speaker. I would really pity anyone who would have to do my job without understanding German. When I debug through standard SAP code, I frequently find code with German comments or variable names. There are even global variables build into the language itself like sy-uzeit and sy-datum which are - as obvious to a German speaker - the current time and date (Uhrzeit and Datum in German).
When I consider the communication skills myself, and most developers I know; we probably should work mastering communicating effectively in one spoken language first.
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
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!"
Not everything in life is about career advancment. Learn someting obscure and different like a native american language or welsh.
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.
I started working with a variety of development teams in central Europe, and German was used just as often as English was. I eventually moved to the area (not Germany, though) and worked in a variety of tech companies (and IT departments in larger orgs) for the last 8 years. While we code in English, there is a huge wealth of information in German. Great technological innovation coming from German-speaking areas, lots of good books and conferences, etc.
YMMW. Is it the only "true" option? Of course not. But I have been repaid several times over for the effort it took, as my opportunities (and salary) grew. In addition, the area is nice, so there's a plus there. If German isn't your cup of tea, I would strongly consider Russian as well, but that might be my slight Eurocentric focus.
I would recommend looking at the industries the software is being made in that you are interested in and finding out where the major players are. Look at the tech you like, and see where the best people on GitHub are from, etc. You can use that as a starting point, but keep in mind that tech changes frequently, whereas learning another language is a long-term investment.
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?
Hindi.
Please don't take this as any kind of stereotype, but the way technology is now, if a programmer (or somebody in any other IT/IS position for that matter) is not a native English speaker, then their first language is probably Hindi. This goes for folks here on work visas and those working offshore. As others have pointed out, China is growing fast, so learning Mandarin would be a long-term investment. Hindi will pay off now.
It depends on what you are doing.
Want to work in embedded devices, and be able to speak to the manufacturers/engineers of the parts/sdks/etc? Chinese.
Want to work in a more theoretical math type software environment, or want to reverse engineer? Russian.
Want to work as a software analyst? Arabic/Farsi.
Want to work on PS3 console titles? Japansese might help.
Want to work as a web developer? Learn the language of the country you want clients from.
I'm sure there are more programming types, and probably even subtypes, but that should get you started...
Living in the US Spanish is by far the most useful second language for a native US English speaker. Not to mention after Chinese (which for the most part is only spoken in China) Spanish is the second most prevalent language on Earth - just ahead of English. Since both English and Spanish are spoken worldwide, you will be pretty well off.
Plus, you already know the alphabet, and probably know a bit of Spanish already.
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.
According to Wikipedia, the most spoken language https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers in the world is .... Mandarin Chinese.
* Mardarin (14.x%)
* Spanish (5.x%)
* English (5.x%)
* Hindi (4.x%)
* Arabic (4.x%)
So, any of those would be a good choice purely by population. From a career perspective, I don't have any good recommendation other than looking for a niche. From a personal recommendation, think of where you are most likely to travel and want to speak with locals directly. There is also a romance aspect - if you are attracted to Chinese women, learn Mandarin. The guy that recommended French for romantic reasons was not wrong.
Just like there are different dialects of English, there are different versions of Mandarin, Spanish, probably any language. In fact, spoken Mandarin is difficult for native speakers from different areas to understand, but the written variety seems to be fairly standard. Spanish has a similar issue - just try to speak to someone from Buenos Aires in Spanish. I have - couldn't understand a word. Worse, he was unable to understand my central-American Spanish-Americano accent.
Having a love of the culture helps, so you might want to learn more languages. For me, almost every culture is interesting in some way. Turkey has a wonderful language that is spoken well into Asia.
Personally, I've chosen to beef up my Spanish (I'm also from Midwestern USA), since that will help me communicate with more people that I will run into and in more travel places. From southern USA down to Patagonia and across the Caribbean almost everyone speaks Spanish.
I should also mention that my next door neighbors in a suburban Atlanta middle-class neighborhood speak Hindi and Russian. My family came from Ukraine to the USA 100+ yrs ago, so there is a slight interest in learning Russian too.
Learning Spanish has an extra use - telenovelas.
The southern hemisphere is mostly water. Plus Colombian women are far hotter than Brazilian.
...and the Scientology. Learn something _interesting_ instead, maybe Navajo. And stay the hell away from languages that have agendas.
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.
German. Period.
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.
I'd recomment Bulgarian. The langiage is fun to learn because it has many ancient constructs that are lost in other slavic languages.
The country is warmer. The government is reasonable. The girls are pretty.
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.
you have to go with the language that has it all. The language that the bard wrote in originally. That language is tlhIngan Hol, better known as Klingon.
I'm fluent in spoken Japanese only. I agree with all the suggestions about going with another language that is dissimilar to your primary language. Learning the structure of Japanese really highlighted the pros and flaws in the English language for me. I didn't really learn it for the sake of learning though, it was mostly a side effect of my obsession with anime in my first year of college. I have literally watched 200+ anime series (most are 13 episodes per series/season, called a half season, full season is 26 episodes), all English subtitled, so during that time I spent probably 6-7 hours a day cumulatively listening to Japanese and having real-time translation. Obviously this method means you're going to have to deduce the expression syntax on your own, but in this regard Japanese is much easier than English.
If I had to describe Japanese to another person, it is a very peculiar language, rigid in structure and expression, but flexible in terms of syntax as well. It really helps to understand the social norms of Japanese people to understand the language. For the most part there are 3 ways of saying anything: formal honorific, formal-informal, informal. Which method of speech you use depends on who you're talking to and your social rank relative to them. Children aren't expected to know formal speech (generally referred to as keigo), and most Japanese don't learn it until high school. I highly recommend Japanese as a fun language to learn, just know it won't really be useful if you're not a weeaboo.
Let's see, I speak four languages, and I still can't find work for a vast amount of time. I guess multilinguism just doesn't mean a fucking thing so I have zero recommendations for a second language for a software developer. Once in a while an interviewer might ask about it when they see I have 3 foreign languages on my resumé but it's nothing more than curiosity. It's laughable how some employers have the nerve to issue rejection based on "we don't think you can learn what we need you to" regarding using a programming language like C#, nevermind my multilinguism skills and all those years using languages by which C# is inspired, nevermind I graduated from college, nevermind at my previous job I used MS languages without officially "knowing" them and managed just fine.
I wish I had a good approach for seeking out work in Japan from employers who are accepting foreign talent. With my Japanese proficiency I could probably land something over there just fine, just need to know where to look. I'd welcome the change of scenery and culture at this point as well.
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
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.
Lesse,
You have no interest in living in another country and the two de facto languages of the country you live in are Spanish and English. Why not learn the second language of your home country?
Learn Finish. There are many finish companies, and they will be happy to see you speak Finish.
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.
I speak English, Japanese, Mongolian, Buryat, Spanish and Portuguese. I now live in America and work with a Japanese company, and use Japanese 95% of the time, and English 5% of the time when I answer the phone. Here in Los Angeles, there is a huge Japanese community, and we work with the Japanese businesses to provide software and systems integration solutions. I would not have my job if I did not speak Japanese and English. On the other hand, I never would have been able to learn all of these languages without living in the countries where the languages are used, with the exception of Spanish (thanks to Los Angeles) and Portuguese (thanks to Aichi prefecture, Japan.)
Mongolian uses the Russian alphabet, and a lot of the technical terms are the same, so I can echo the sentiments of another person who said that Russian is useful for technical work. If, for example, you are interested in developing for Nokia phones, I've found that Russian is extremely helpful in finding resources and information. Chinese, I am sure, is also very useful for various shady things and some not-so-shady things as well.
If you really want to learn another language, try to find one which is the language of a culture you appreciate. That will make the language easier to learn, and it will be a key to understanding the culture fully. Culture and language are, in many cases, woven together. When speaking Japanese, one must be very polite, while Mongolian is more direct.
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.
The problem with Chinese is the tones...
To give you an idea what is involved in learning Chinese, here is what wikipedia calls ''A very common example used to illustrate the use of tones in Chinese are four tones of Standard Chinese applied to the syllable "ma."''
Listen to the tones on the sidebar.
Its the language of love. As a programmer you'll need all the help you can get.
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.
"He should learn proper English [which is most definitely not American]."
talk American. It was good 'nuf fur Jesus 'n' its good 'nuf fur you.
()
...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'd recommend picking up some Hinglish and other Indian English expressions. In the software field, you need to know what the following mean:
* Today morning = this morning
* Do the needful = Please do what is necessary
* Get high = get drunk
* Hot work = High voltage
* Shift = move (as in relocate)
* Doubt = a question (it doesn't mean you're being doubted)
*Yes = maybe (If you ask if someone understands something, look at body language and not what they say.. it's considered an insult to the teacher to not understand)
*Tell me = What can I do for you?
*Mostly = possibly
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?
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?
Here's why: Science tells us that humans use language to form their thoughts [1]. I have somewhat of a bias because it's my native language but having lived in Japan for many years I have seen how the indirectness of their language influences their behavior and their way of thinking [2] (and no, according to scientists, it's not the other way around). I also think there's a reason why science flourished in Ancient Greece and why so many famous philosophers, mathematicians etc. turned up there. It's the explicit form of the language that leaves little room for doubt and is thus suitable for deductive reasoning. I'm not sure if acquiring Greek will help your way of reasoning, but the fact alone that it's a pretty tough language to learn, will make for the creation of new neural synapses in your brain and thus make you smarter.
[1] Mercer, Neil. Words and minds: How we use language to think together. Routledge, 2000.
[2] Fuki, Nakai "The role of cultural influences in Japanese communication: A literature review on social and situational factors and Japanese indirectness." Intercultural Communication Studies 14 (2002): 99-122.
Esperanto is a crash course in applied linguistics: it gets you thinking about the rules of language very quickly. As a software developer, you should be able to pick it up (excepting vocabulary) in a week or two. Once you have some comfort with it, then look at learning a "real" language; it will come much faster because you will be much better equipped to understand the foundational patterns of the language you are learning.
Spanish is NOT a good one to learn. The fact is, that it is the second most spoken only because of illegals. That is about to change. When they go, spanish, MIGHT remain second most, but Manderan, Japanese, or possibly Hindi will give it a run for its money.
In addition, it is a CERTAINTY that Spanish will be spoken as a second language, and will actually go down, not up.
More importantly, from a software POV, I think that either Russian or Hindi would be the better bet, not Spanish.
where you steal the code from
in the past i found some good code in german
most code is still english based, if not in words in structure
Latin
I am a native speaker of Russian, and I enjoy being able to more closely appreciate Russian literature, film, and culture, but it has been of absolutely no benefit beyond that. If you fly to Moscow and meet with a young programmer, the odds are that s\he would prefer to talk with you in English for practice.
The only natural human language you need to know in the 21st century is English - no other language will come within a third of its economic, scientific, and technological importance. The much-hyped rise of Chinese (which is actually several mutually-unintelligible dialects) will be overwhelmed by the rise of English-speakers in South Asia, Africa, and everywhere else in the world. In a couple of decades you'll have to look very hard to find a person who isn't fluent in English, and such people will not be the most intellectually-stimulating bunch... And, furthermore, live translation technology will continue to march forward, with instant flawless translation from/to any language coming from your eyeglasses, earbuds, etc.
This doesn't mean you should avoid studying linguistics, however. A very brief overview in each of the world's major language groups will get you much conceptual insight into world cultures. It's very easy to memorize alphabets, so you can impress your friends by reading the sound of street names in Russian, Hindi, Arabic, or Korean - even without knowing the meaning of the words. Knowing the phonetic systems of various major languages is helpful too, so you can pronounce names correctly. The Chinese Hanzi characters are worth learning about conceptually (understanding the radicals, how to count strokes, how to find a character in a dictionary, etc), but not beyond that.
If any natural human language is to become the primary language of the world, then the English-speaking peoples have earned that distinction through centuries of merit - their contribution to science, technology, literature, and business is unmatched by any other culture in the world. It were the English-speaking peoples that created the world as it exists today, or at least the best things in it. What can be a greater show of greatness than the fact that some of the greatest Russian writers of the past century wrote in English, and/or came to English-speaking countries in search of freedom!
One must admit, however, that the English language is far from perfect. Its non-phonetic spelling rules are atrocious! English is one of the more accurate languages in the world (especially compared to East-Asian languages, which almost seem to be invented for misunderstandings), but it is less precise than German. I would also rank Italian and Russian (and possibly other languages) above English in certain aesthetic qualities, and the Korean phonetic writing system for being more efficient on the eye, pen, and brain.
Therefore, if seeking a language better than English, one would have to create it with a deliberate purpose. Many constructed languages exist, the most popular of which is Esperanto, but they were created more for the purposes of neutrality and ease of learning than rationality and efficiency in communication. A language exists precisely for the latter purposes, which is called Lojban .
I am a big fan of the ideas behind Lojban, but I have not yet had the time to study it myself. An ideal language that was designed for precision and logic wouldn't just be an end in itself, but an in-depth study in the logical distinctions that we often fail to notice when communicating and even when thinking in a less perfect language. Studying such a language would yield great benefits for students of rational philosophy, but it can also have benefits in the fields of artificial intelligence and human-computer interaction.
--libman
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.
Lets think about possible countries where to work.
Here in Finland we have lots of IT jobs. But here practically everbody can speak english and for example the official language of Nokia is english, so english-speaking person can live in finland with just his english skills without any problems.
I think same applies for Norway too.
Japan, Korea, China also have lots of IT industry, but the average english skills in those countries are not as good as in finland or norway,
So I'd recommend japanese, korean or chinese.
Those might be the most frequently non-English languages in the IT world.
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.
When your software development position inevitably gets outsourced, knowing Spanish will give you a let up for your transition to the construction, hospitality or food-service industries.
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
Hungarian. As one of my teachers once put it, "a great operating system for your mind".
That's not entirely true. You are assuming a language is only useful when it is used for communication.
Words and sentences (among others) are the data structures that your brain uses as you think, and as you generate new ideas. Your ability to immediately 'bring up' a given concept from memory just by finding the word assigned to it is very important for this process. If you think in a language that is very adaptable to the thought patterns required while coding, you greatly reduce the 'friction' your mind encounters on its way to a logical solution.
For this reason, I'd recommend Hungarian - despite having it as my native tongue, I am regularly astonished by its sheer descriptiveness and logic. Almost any complex problem will sound a lot simpler and more obvious when written down in Hungarian, because the details and connections just jump out at you. You can break each expression down into smaller and smaller parts (sub-meanings, data chunks) that all make sense by themselves. It's like reading a complex program line-by-line, except you can apply it to real-world logic.
(posting A/C to save mods)