Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Helping Chinese Colleagues Learn Perl

by cmv (Chaplain)
on Dec 04, 2007 at 15:12 UTC ( #654812=perlquestion: print w/replies, xml ) Need Help??

cmv has asked for the wisdom of the Perl Monks concerning the following question:


I have a need to help some colleagues in China learn Perl. They are already well educated programmers, and are good English speakers (although are more comfortable in their native language, naturally). I would like to get them onboard with Perl basics as quickly as possible, so we can start working on a project together.

How can I help them towards this goal?

So far, they have turned up a translated version of the Camel book in Chinese (3rd edition), which I have recommended they acquire. Obviously I will tell them about this site. There seems to be a good O'Reilly website in China for perl. That's about all the help I can dig up with supersearch and google (maybe I'm just bad at forming searches...).

I suspect we will be having some face-to-face meetings as well, but my thought is to get them started with the basics, first.

Any thoughts, hints, war-stories are appreciated!



Update: marto++ for the many good references. The best secondary reference from that so far, is to

Replies are listed 'Best First'.
Re: Helping Chinese Colleagues Learn Perl
by marto (Archbishop) on Dec 04, 2007 at 15:27 UTC
    Have you had a look at the articles and resources available on, such as or their library of free books? Each resource I have checked (though I did not check them all), is written in English.

    There is also POD2::CN which may be worth looking at. Also this post may be of interest to you.

    Hope this helps

Re: Helping Chinese Colleagues Learn Perl
by johnnywang (Priest) on Dec 05, 2007 at 00:58 UTC
    I'm sure you're aware of, they have some resources about perl and local BOF meetings.

    In comparison to java, dot net and php, there are much less perl programmers in china. For awhile I was looking for some engineers there to help with some perl projects, was very difficult even in places like Shanghai.

    My own take (being a chinese myself) was several fold: For one, China caught the web fever after the CGI years already passed, missing the golden years of perl; furthermore, China has a large install base of Windows, even on the server side, so scripting for sysadmin was/is not widespread; Culture wise, chinese has much less participation in the Open Source movement, people are more inclined to take organized classes (thus dotnet and java). Anyhow, these are just my thoughts.

    As to how, besides having projects/tasks, it all depends on need. At this age, people do have other choices: php, python, ruby, etc. I personally do not see a need to have an advocacy. Needs will drive everything.

      In comparison to java, dot net and php, there are much less perl programmers in china.

      You also have to take into consideration that a large percentage, if not the majority of programming jobs are coming from out-sourcing initiatives in the West. Therefore they are coming from corporations and therefore must adhere to the code standards of those corporations, which increasingly lean towards Java and .Net with regards to programming mono-culture.

      The justification for such being that they don't have enough people with the skill-sets required to support code developed in multiple programming languages - which is a self-fulfilling prophecy when they continue to cut jobs of on-shore programmers in favor of the off-shore folks.

      The obvious disadvantage there is that it promotes a naive one-size-fits-all mentality with regards to programming languages and the problems they are used to solve. This also drives the out-sourcing initiative justifications because they find themselves spending up to 3x the effort/money to solve a problem where if they had applied the correct solution to the problem they would have saved that money up front.

      Wait! This isn't a Parachute, this is a Backpack!
        gregor42++ I hadn't meant to talk about the offshoring aspect of this request (fearing to get off topic too much), but your eloquence here made me change my mind (still hoping we won't eventually get too far off topic).

        This particular situation is a great example of how offshoring works to the benefit of all involved (and believe me, I've experienced it when it doesn't work). I work for a big telecom company, and I use perl a lot. One of the little tools I put together to help my co-workers and I solve field problems became pretty popular over time - to the point where the customers were asking to use it (and willing to pay for it).

        However my big, huge, lumbering company couldn't be bothered with productizing something so small and insignificant. So in 2000, we on-shore-outsourced this work to a company in Washington State that we were investing in at the time. Their solution was to de-perlify my stuff and re-implement it with their platform. Over 5 years it was a moderate success for them, but nothing near what it should have been (IMHO).

        Meanwhile, my internal version of the tool gets better and better. Customers now want that version instead of the old outsourced one that wasn't kept up-to-date properly. My company at this point is somewhat smaller, and the potential revenue isn't so small and insignificant anymore, so they go ahead and back it as an actual product. The first sale covers my salary, and the additional potential sales rely on additional features that I alone don't have bandwidth to accomplish and management cannot staff anyone else locally to help out since we're already stretched as thin as can be. However, in China we have colleagues available to help out in this effort. All that is needed is some training to get up-to-speed, then focusing on completing the new features to get the additional new sales, and then everyone will benefit!

        Not only that, but I get to deal with new, interesting people from a completely different culture (maybe see a bit of China if I get the chance), and possibly even learn how to eat with chopsticks :-)

        This is one situation where if we couldn't offshore some of this work, it just wouldn't get done and those potential benefits would be lost.


Re: Helping Chinese Colleagues Learn Perl
by johngg (Canon) on Dec 04, 2007 at 15:50 UTC
    They are already well educated programmers

    If by chance they as a group and you use a common programming language, e.g. C, it might be worthwhile drawing up some simple coding examples of problems solved in that language and the equivalent solution in Perl. It could be a quick way to get them started.



Re: Helping Chinese Colleagues Learn Perl
by dwm042 (Priest) on Dec 04, 2007 at 15:36 UTC
    Suggestions: Perl is a language best learned by writing Perl. Finding a way to solve problems increases confidence in the language.

    Learning Perl is a great intro text, if they handle English well.

    Use lots of code examples! Pick a problem, show code that solves it, ask students to figure out how it works. Perl Monks contains a ton of living code, so using examples from the Perl Monks archives would give you a terrific resource for modern practical Perl.

Re: Helping Chinese Colleagues Learn Perl
by sanPerl (Friar) on Dec 06, 2007 at 13:47 UTC
    Apart from technical references. You should more concenrate on cultural and language differences. Any project Manager faces problem when he is put into different culture. People have habit of using native words while speaking English, it takes some time to grep the accents also.
    You said they are okay with English and they already know programming then it should Not be much difficult to teach them Perl basics. Only accents, culture are two things where you should concentrate more and ofcourse explain them your probelm Openly before you start your traning sessions. They (Chinease students) would also put more efforts to bridge cultural gap
Re: Helping Chinese Colleagues Learn Perl
by zentara (Archbishop) on Dec 04, 2007 at 19:39 UTC
    use ChopSticks;
    Sorry, couldn't resist.

    I think it would be great to help get many Chinese into Perl, it may eventually lead to Perl regaining some supremecy thru the sheer number of possible Chinese programmers, their knack for math, and the fact they are actively building their country's infrastructure (which would then be Perl based).

    I'm not really a human, but I play one on earth. Cogito ergo sum a bum
      unlink node

      The world is so big for any individual to conquer

    A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://654812]
Approved by marto
Front-paged by CountZero
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2020-08-03 10:04 GMT
Find Nodes?
    Voting Booth?
    Which rocket would you take to Mars?

    Results (24 votes). Check out past polls.