Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cultural issues in programming languages [closed]

Tags:

culture

I'm wondering if productivity can be correlated to whether a programmer is a native English speaker or not. I work in Japan and I can tell you that Japanese programmers struggle in getting the English part of a language (reserved keywords, function names, tutorials etc), it's just not natural for them and their thinking process is slow down by a language mapping overhead. Can you share your experience in dealing with non-native English speaker programmers, is it easy to overcome this barrier or will native English speakers forever have a little advantage?

like image 494
Nizar Grira Avatar asked Jun 28 '09 05:06

Nizar Grira


People also ask

Is programming a culture?

It's true, programming is a pop culture. There are big trends, fads, new frameworks coming out all the time. It's all about attention and getting mind share and people watching your media about what framework or what language to use, or how to program.

Why do people still use C?

As a middle-level language, C combines the features of both high-level and low-level languages. It can be used for low-level programming, such as scripting for drivers and kernels and it also supports functions of high-level programming languages, such as scripting for software applications etc.

Is C++ getting too complicated?

Although C++ is one of the most widespread programming languages, many prominent software engineers criticize C++ (the language, and its compilers) for being overly complex and fundamentally flawed. Among the critics have been: Robert Pike, Joshua Bloch, Linus Torvalds, Donald Knuth, Richard Stallman, and Ken Thompson.

Is C or C++ used more?

At the professional level, C++ is the far more common language worldwide. As mentioned earlier, many programming opportunities in the workforce require knowledge of C++ for consideration. More applications are written entirely in C++, and it's rare to find a program written in just C.


2 Answers

I'm not a native speaker of English, yet I've been quite productive as a programmer in many countries (including the USA, where I live and work now)... but that's because I've always put some effort into being as good at English as my non-native-speaker condition will allow. I do believe a strong competence in English helps performance in programming (and many other kinds of engineering -- I started out designing chips and HW systems -- and more generally "knowledge work") in many, many ways.

As a recognized authority in Python, and pretty strong in C++ and other programming languages as well, I'm often asked "what language should I study to enhance my career"... and my answer's long been "English"!!!

I give this answer to native speakers, too: the amount of careless (or dyslexia-caused, it's hard to tell) spelling mistakes, syntax bloopers, and malapropisms of all kinds, that I've seen perpetrated by native speakers of English, isn't much lower than the number I've observed from my fellow non-native-speakers. Each such mistake hurts communication effectiveness and precision... and knowledge work (including programming) is about communication first and foremost!

like image 97
Alex Martelli Avatar answered Sep 22 '22 22:09

Alex Martelli


I am a German native speaker myself and I haven't experienced any problems with keywords or naming conventions in APIs that would have had an effect on my productivity, but I have to admit that I had a basic understanding of English by the time that I picked up my first programming language.

I am currently working in Taiwan with a mixed team of Taiwanese (Chinese), Swedish, Spanish and several English native speakers (US, South Africa) with English being the common denominator for meetings, code documentation, specification etc. and I have not observed that the native language of a programmer had significant impact on coding skills.

In the scenario I am describing, everyone involved has mastered at least a basic level of English. You can see the difference in proficiency due to the occasional spelling mistake in function names or comments, but based on my experience, you cannot directly link that to code quality.

Also, given that most documentation and tutorials are available in English only (or at least first, before the first translations pop up) for most new projects, I'd assume that most programmers world wide would have picked up a decent level of passive English for reading - not necessarily for actively communicating in it - and that's all I would guess it takes to deal with language intrinsic issues like keywords and function names, even though I wouldn't even consider language keywords an issue. The for keyword does not really relate to "for" in the English language, if you look at the syntactic construct as a whole, does it?

A different issue is communication in general. If your team does not have a common language in which everyone can communicate efficiently, that has a huge impact on productivity. But that language is completely unrelated to the programming language used by the team and does not have to be English at all - based on my experience all technical terms will still be English though, weather the discussion is in German or Chinese.

like image 34
Christian Hang-Hicks Avatar answered Sep 21 '22 22:09

Christian Hang-Hicks