Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Polyglot Challenges

by Petras (Friar)
on Apr 21, 2003 at 05:35 UTC ( [id://251937]=perlmeditation: print w/replies, xml ) Need Help??

This discussion isn't meant to be offensive in anyway, and if it is I'm sorry. It was just an idea that hit me the other day

I'm a native southern Californian kid. When I was 23 I moved to the Philippines. The Philippines has hundreds of different language groups and traveling from one area to the next can be a little challenging, albeit fun and adventerous. But not knowing the language where your at can be challenging.

I know several of the Monks in the Monestary are from countries where English isn't the common dialect (Heidegger was kind and cool enough to give me a few Lithuanian lessons--thanks!). Yet all major programming languages are based in English. So the questions go something like this:
  • When I jumped from Java to Perl my brain had challenges to overcome. Are there any additional challenges that come to programming for programmers who aren't native English speakers?
  • Does the English aspect of programming make it harder for some people to go into the programming world?
I really don't know the answers to these questions because I am a native English speaker (and unfortunately a native Java speaker). I was just currious, and again don't mean to be offensive at all.

Thanks,
Petras

Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.

-Howard Aiken

Replies are listed 'Best First'.
Re: Polyglot Challenges
by crenz (Priest) on Apr 21, 2003 at 09:43 UTC

    Update: In response to some of the other posts in the discussion, let me say that Perl's English keywords are the smallest problem (or none at all). Some people will feel stressed already when they have to use English variable names, though. And then, when it goes on to comments, documentation, literature, community (PerlMonks!), it is much harder for people whose English skills are not up to par. That's why I think it is too short-sighted to say "The few English words in Perl syntax shouldn't be a problem". /Update

     

    (and unfortunately a native Java speaker)

    Does that mean you were raised in a jar? (Sorry, couldn't resist.)

    Unfortunately, here in Germany most people's English skills are still more based on what they learned in school rather than first-hand contact with native speakers. That's why you will find a wide range of ways to cope with the English world of programming.

    For myself, I have long ago adopted using English language only for code (including comments). I find it neater to just use one language at a time, rather than mixing German and English throughout. (I cringe when I see code with German variable names.) But then, I have been in the fortunate position to meet native speakers of English at an early age, and I have communicated on English-speaking mailing lists for years, so it is not hard for me at all. I see the same thing in other programming enthusiasts (nerds? :)).

    On the other hand, there are lots of people that aren't fortunate enough to have that kind of background. When in my first year at University, students doing the software engineering course were required to write their comments in English, and it was hard for most of them. Many of them struggled to document their code in a sensible way. Of course, they didn't have much experience on the Internet, with Open Source etc. So far, I've only been talking about code, so you can imagine how much more difficult it is with documentation, newsgroups etc.

    So yes, it is hard for a lot of people. Especially when you look beyond the cliché of the 25-year old programmer that hasn't yet outgrown puberty :). There's a number of people that want to learn about programming at the age of 30, 40 or 50, and it's even harder for them. Fortunately, you can get German translations for most programming books.

    And now for something completely different... English terms in daily life

    Incidentially, learning about other foreign languages (I learned three in school, which is quite normal for German higher education, forgot most of it (except English), which is also quite normal, and learnt some Chinese later) helped me a lot to appreciate my understanding of my native tongue, German. American culture has brought a lot of English expressions to Germany, even in places where it's total unnecessary. After spending some time in an English-speaking country, my need for using English terms for "coolness" was totally gone (even though I really like to use English), and I now cringe when I hear some of the weird expressions English-craving Germans use. Do yourself a favour and check out Invented English words in German for examples like "Body Bag" (bag carried around the body) or "Handy" (mobile phone).

    And now for something completely different... native language in research

    Just thought I'll mention it -- the other day I read an interesting article about the role of native language in research. The author compared the number of IEEE fellows in France and Germany, and found out that while Germany has a higher number of IEEE members than France, France has a far higher number of IEEE fellows (ie., distinguished researchers). He took this as an indicator that France excels more at research. One of the reasons he gave is that many French researches have more opportunities to publish their articles in French and then translate them to English later, whereas most German researches (in CS) immediatley publish in English. His theory is that thinking and writing in your native language allows you to be more creative. Might be a bit far-fetched, but it is imaginable that immediate expression in a foreign tongue can be a case of premature optimization.

    Oh well. Has anybody managed to read all of this? Sorry for the long rant. :)

      For myself, I have long ago adopted using English language only for code (including comments).

      Interesting. You are not the first German person I have heard who has said that. Being a Canadian working in German I occasionally come accross code that is written in german. I find it very strange to see german words and abbreviations intermixed with the english of the underlying langauge.

      I suspect that there are relationships between cognitive models that are beneficial for computing (and indeed most likely many other fields as well) and cognitive models that are beneficial for the language we speak. It seems to me that in the history of computing there are a disproportionate number of Germanic speakers (including English). While this could be accident of opporuntiuty I personally suspect not. On an off note, it also make me suspect that we will see the Arabic nations, historically very strong in mathematics and computation, achieve a great deal once the conditions are right. Lets not forget that Algorithm is an arabic word, and the numbers that we use are as well.


      ---
      demerphq

      <Elian> And I do take a kind of perverse pleasure in having an OO assembly language...

        I find it very strange to see german words and abbreviations intermixed with the english of the underlying langauge.

        I see you know what I mean :). Usually, the more formal knowledge and experience a programmer has, the less he will use non-English language in his code.

        I suspect that there are relationships between cognitive models that are beneficial for computing (...) and cognitive models that are beneficial for the language we speak

        I do think this is quite true. The language we use shapes our thoughts. Another example are Indian languages; I've heard Hindi has a rather mathematical structure as well and I definitely can see it in the Indians that I know. These are all just tendencies, of course. Just as growing up in a family of musicians doesn't make you a musician automatically -- but in a lot of cases, it helps.

        I'm not sure about the disproportionate number of German speakers in computing. However, what does come to mind is that we both have a strong history in philosophy (as diverse as Luther, Kant, Nietzsche and Marx) and in construction of calculation machines (lots of people messing around with these in Germany, e.g. Philipp Matthäus Hahn in the 17th century, and up to Konrad Zuse, who built the first binary digital computer).

        I don't find the habit of mixing languages disturbing. It looks a bit ridiculous - but it might be quite usefull. With it you have much more expressive power than when you stick strictly to English.

        That said I would not recommend it - since there is rarely the situation where your code will be read only by people speaking your language.

Re: Polyglot Challenges
by IlyaM (Parson) on Apr 21, 2003 at 07:07 UTC
    As a non-native English speaker I can say that major problems for us are:
    1. Majority of documentation is in English. Sure some things get translated in your native language but still if you want to be good you'll have to be able to read in English.
    2. Communicating in English is also hard what adds an additional barier for us if we want to be a part of programming communities (i.e participate in international forums, international mailing lists, contribute in projects, etc).
    The first problem is not very hard as to learn to read foreign language is actually is not that hard. The second problem is more serious as it takes a lot of time to study language to speak and write comfortabaly enough knowing you don't do stupid mistakes in each phrase and word.

    --
    Ilya Martynov, ilya@iponweb.net
    CTO IPonWEB (UK) Ltd
    Quality Perl Programming and Unix Support UK managed @ offshore prices - http://www.iponweb.net
    Personal website - http://martynov.org

      Fully agree with you, man. :)

      Just wanted to quote something I've heard from somebode long time ago (sorry, no credit): "It is impossible to be a good doctor without Latin, politician without French, and computer professional without English." (Latin, French, and English are meant as languages, of course). :)

      Leonid Mamtchenkov

      I understand what you mean. Having lived in a non-English speaking country for three years now I can understand a lot more than I can speak. I can get by with broken Tagalog, though. But it takes time, and I'd never be able to do something technical outside of my native language. Hats off to you!
      -Petras
      Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.

      -Howard Aiken
Re: Polyglot Challenges
by Anonymous Monk on Apr 21, 2003 at 12:03 UTC
    In addition to what people have said above, I have heard of three issues of interest.
    1. A friend from Japan has told me that while programmers aren't at a big disadvantage, you don't see nearly as many "power users" - non-programmers who become comfortable with macros and scripting.
    2. If your native language is not English, you are far more likely than English speakers to confront internationalization issues from day 1. This is doubly true if you are from Asia and have multiple multi-byte encodings running around, some of which are not recognized by your regular expression engine. The ability of widely available scripting languages to handle this is improving, but still there is a fundamental complexity that English-speakers can ignore.
    3. One of the serious reasons that TheDamian gives for having written Lingua::Romana::Perligata is to experiment with techniques for parsing an inflected language. There is a lot of theory out there on how to parse positional languages that are vaguely English-like. But very little if you are using an inflected language like German or Hindi (or Latin, of course).
    Some non-native speakers might wish to comment on some of these items...

      If your native language is not English, you are far more likely than English speakers to confront internationalization issues from day 1.

      I would say that if you aren't in english speaking North America then you are going to have to deal with internationalization. :-) In the UK it can be a pain as well. Not as drastic as being in China I suppose but still.

      BTW: I privately chuckle every time I think about North America renumbering to 11 or 12 digit phone numbers. Y2k was nothing! :-)


      ---
      demerphq

      <Elian> And I do take a kind of perverse pleasure in having an OO assembly language...
Re: Polyglot Challenges
by Anonymous Monk on Apr 21, 2003 at 05:43 UTC

    Consider:

    class sub def grep map scalar lambda etc...

    Much of the keywords are hard enough for native english speakers. Add in all the english strings commonly in code, english-only documentation, fancy languages that try to be like english, and yes it's rather difficult. You should also consider language problems with communicating with other programmers, mailing lists, and so on. Sometimes it makes you want to just write the damn thing in binary! ;-)

Re: Polyglot Challenges
by jonadab (Parson) on Apr 21, 2003 at 14:55 UTC

    There are a number of programming languages that are not based in any way on English. (Some of these are even worse (e.g., bf, malbolge), but others have been called "fun to work in" (e.g., befunge).) As others have pointed out, however, that doesn't resolve the issue of documentation. If you've ever tried to program with inadequate documentation, you know this is a highly significant issue. Additionally, usenet (an important resource for programmers, especially when they're first learning) is mostly English, and most of the rest of it is in a small handful of other languages (e.g., German, Chinese).

    (My pet theory on this issue is that one of the main reasons German (the language) is so common on the internet is because Germans are far more likely than average to be literate in English. This resulted in a strong German hacker community very early, and hacker culture has flourished there ever since. The major oriental languages are common because there are lots and lots of people over there, and I can't think of any other languages that are particularly common on the internet; most of the other European languages aren't for example. Spanish and French, both spoken by far more people than German, are far less common on the internet, or so it seems to me.)


    for(unpack("C*",'GGGG?GGGG?O__\?WccW?{GCw?Wcc{?Wcc~?Wcc{?~cc' .'W?')){$j=$_-63;++$a;for$p(0..7){$h[$p][$a]=$j%2;$j/=2}}for$ p(0..7){for$a(1..45){$_=($h[$p-1][$a])?'#':' ';print}print$/}
Re: Polyglot Challenges
by gjb (Vicar) on Apr 21, 2003 at 17:48 UTC

    A number of years ago I shared an office with a Chinese physisist who was a guest at the university at the time. He was born in Bejing and had his physics education in China.

    Obviously the topic of languages came up once in a while (given my interest in linguistics) and he claimed that it was much easier to do physics in English than in Chinese. More generally, his claim was that English is more suitable a language for scientific thinking than Chinese is. Consequently, when considering physics problems, he did this in English in his mind.

    Since I don't know any Chinese (or non-Western European language for that matter) I've never been able to grasp what he meant, and hence would be happy to hear comments on this.

    Best regards, -gjb-

      I would say this is very likely. I picked up a little Korean a few years back and though it's not directly related to Chinese (Chinese grammar is actually closer to English than Korean/Japanese) it's got the same kind of conceptual/contextual nature; one sentence can mean 10 things, plurals are understood, single-syllable-homonyms galore. I'd say that this is the reason German ruled for so long as the primary language of science (on top of Latin and Greek, of course). The case and grammar structure is harsher than English so perhaps better for expressing complicated ideas. Same sort of relationship for English to Chinese.
      Somewhat related observation: in general Russian have longer words and sentences than English. For this reason I even prefer sometimes to communicate via email/IM in English even if my correspondent knows Russian. Saves some typing :)

      --
      Ilya Martynov, ilya@iponweb.net
      CTO IPonWEB (UK) Ltd
      Quality Perl Programming and Unix Support UK managed @ offshore prices - http://www.iponweb.net
      Personal website - http://martynov.org

Re: Polyglot Challenges
by Abigail-II (Bishop) on Apr 21, 2003 at 20:06 UTC
    Frankly, I don't think the fact a lot of computer languages use keywords that happen to resemble English words is a big problem for non-native speakers of English. I mean, native speakers of English don't find operators much harder than map, open or exec, because the operator symbols aren't part of their daily language while the function names are? Even in primary school, kids learn to deal with + and -, and they wouldn't have mastered arithmetic two years sooner if the books used "add" and "subtract" instead.

    What could make it harder for people not able to read English is that there's far more documentation and literature written in English than in other languages.

    Abigail

Re: Polyglot Challenges
by smitz (Chaplain) on Apr 22, 2003 at 08:20 UTC
    As a native German (alles klar!), Im going to disagree with a few of the above posts. Of course, this is just my opinion.
    • I dont look at perl as an english language, I look at perl as perl. Does this make sense?
    When I speak english|german|whatever, I put myself, sub-conciously, into an english|german|whatever mindset. When Im coding in perl, I am most definitely in a perl mindset. In fact, most bad code stems from me not being in my perl mindset, just like my german is poor speaking to my mum, when I've spent the last week talking the engrish.

    Smitz
Re: Polyglot Challenges
by iguanodon (Priest) on Apr 21, 2003 at 16:57 UTC
    Great Node Petras. As a native English speaker, I've often wondered about this myself. A big ++ to all the programmers who aren't native English speakers for all the extra work they have to put in to do the job.

Re: Polyglot Challenges
by Heidegger (Hermit) on Apr 22, 2003 at 06:30 UTC

    I'm very glad to see my name in the question body posted by Petras as an example of a non-native English speaking programmer.

    Coming to the English programming world wasn't difficult to me, since teachers in the high school gave me decent English skills. Thanks for my mother - she was always telling me that English is the lang of the business world in the future.

    However, I see so many programmers around us who comment their code and give variable names in Lithuanian. Sometimes I find computer people pretty narrow-minded and not very good at English and written word.

    Now I study philosophy and it's a pity I don't know German - it's the prima language for philosophers ;-)

Re: Polyglot Challenges
by awkmonk (Monk) on Apr 23, 2003 at 12:28 UTC

    Nice meditation, ++

    It would be interesting to see how many reserved words of a language could be translated to an exact counterpart in another language. The problem with English is that it can be too descriptive - there are very few terms that can't be described with a single word, and if those there are, we generally nick a word from another language.

    A recent article in New Scientist discussed this issue, and found that bi-lingual people who were given a description of a photograph in English, built up a mental image of a moving scene, whilst the same description translated into Spanish generally produced a static mental image.

    They were trying to show that people can actually think differently when they think in a given language.

    As for my own experience - I had to translate a system from one flavour of COBOL to another when the comments/variables were all written in Dutch. It's only then that you realise how descriptive even short data names can be.


    'I think the problem lies in the fact that your data doesn't fit my program'.

      It would be interesting to see how many reserved words of a language could be translated to an exact counterpart in another language.

      Actually, there was a version of Microsoft Office where they translated their macro languages into German. I don't know why, but it looked somewhat weird to me.

      I could imagine that it would work well with Chinese -- lots of concepts could probably be expressed using only one character. German, however, tends to be more verbose and is therefore probably less suitable.

      It would be easy to translate keywords like "if", "else", "print", "unless". But I think I would have difficulties to find translations for more abstract concepts, like "map", "push", "grep", "unshift". But then, that's only logical. We only understand these keywords in English because we can imagine the concepts behind them. E.g. "push" only makes sense because we think of a stack when we use it. So translating keywords to other languages probably is mostly a matter of getting used to it.

        I suppose the translation would also have to get the semantics right.

        COBOL provides an even bigger scope for confusion (doesn't it always?). Image translating STRING as TWINE or ROPE or FLEX or CORD? the program could very quickly become meaningless (more so than they normally do).

        It's very much like the 'see no evil, hear no evil' translating as 'invisible idiot'.


        'I think the problem lies in the fact that your data doesn't fit my program'.

      "if" translated to Russian sounds like "esli", which sounds (and looks) like "else", which is total other story. Confusing, isn't it? :)

      Leonid Mamtchenkov

Re: Polyglot Challenges
by TVSET (Chaplain) on Apr 21, 2003 at 20:53 UTC
    I'd say that if you will take two people, one of who is native English speaker, and another who is not, and then you will give them both the staff from Perl Poetry to read, then one of them will have much more clue, than the other. :)

    Staff like "if","then","else" for example, can make a lot of difference just by itself. "while" and "until" are two other examples. "call", "require", and "use". "chop", "length", "pack". I can continue for a long time... :)

    Leonid Mamtchenkov

Re: Polyglot Challenges
by reclaw (Curate) on Apr 22, 2003 at 05:31 UTC

    I started learning Perl as my first programming language, in 1996, at age 35. I started learning Tagalog the next year. Neither looked like English to me.

    We have a place in the Philippines now and my Perl is much better then my Tagalog. Of course when learning Tagalog I wasn't constantly reminded to RTFM. It still takes me longer to travel through Manila then a Perl program, even if I RTFMap ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://251937]
Approved by rob_au
Front-paged by Courage
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2024-04-20 03:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found