Fog Creek Software
Discussion Board




IEEE: Japanese best, Americans worst at coding

Dont flame me. I dont believe such "studies" either.

http://economictimes.indiatimes.com/articleshow/msid-659053,curpg-2.cms

A contrary opinion can be found here --->
http://www.eweek.com/article2/0,1759,1593246,00.asp

IEEE Software in December 2003 on defect rates worldwide bears this out. The study covered 104 projects. During the first 12 months after implementation, defects were reported at an overall rate of 15 per 100,000 lines of code on an average world wide. Regionally, the differences are huge. Japan's sample of 27 projects yielded a median of only two defects per 100,000 lines. The 22 projects from the "Europe and other nations" category had their 50-50 split at just under 23 defects per 100,000 lines; India came in slightly higher, at just over 26, in a sample of 24 projects. Among the sample of 31 US projects, the midpoint was 40 defects per 100,000 lines of code. The study also throws light on productivity in the software sector. The US output of 270 lines of code per programmer per month was higher than India's figure of 209 but well below Japan's 469 or the 436 reported for the rest of the world.

Karthik
Thursday, May 20, 2004

The joker who wrote this obviously has never written a single piece of code all his life

Karthik
Thursday, May 20, 2004

I'm skeptical of any such studies; every two programs are different.  Any scientific study that purports to base conclusions on "defects per line" or some such strikes me as having as much validity as a study rating the "effectiveness" of paintings of different subjects by different people.  It's just not something that can be empirically measured and tested.  What's a defect?

Even measuring how closely a program meets specs is questionable; have the specs changed since the beginning?

Certainly I try to use coding methods that appear clearer and easier to understand, design, and debug, but I take with a grain of salt any conclusions (like Code Complete is full of) that assert percentages like "code that does XYZ has 18% less errors".

Kyralessa
Thursday, May 20, 2004

I believe they may be correct.  However, it is more indicative of the culture than the coder.  When working with a Business Unit is Japan, they almost always have their requirements fully documented and the thought of changing a specification in the middle of development reflects poorly on the management team.

That may explain why there are fewer errors as we have fewer people requesting a major change three days before the implementation.

Anonanonanon
Thursday, May 20, 2004

what does this prove?  Do you actually think most american coders are american? :-D  I'm half mexican, I work with two indian folks, two white guys, two chines guys, a japanese guy...  ::shrug::

vince
Thursday, May 20, 2004

The code is like:

int f123h(int a123)
{
    int xq98= a123;
    return xq98 * 2;
}

son of parnas
Thursday, May 20, 2004

And Indians are the cheapest, which is the only metric that counts!

drumroll please....


Thursday, May 20, 2004

What exactly is a defect anyway?  That can be subjective.  Its not a bug but feature!

This stuff is not new at all.  I read this along time a ago in "The Rise and Fall of the American Programer".  My opinion is that programmers are more similar than different from different clutures.  20% are good and the rest are there for the paycheck. 

Bill Rushmore
Thursday, May 20, 2004

Karthik, that's pretty sharp words for someone who's never conducted a major study before for the IEEE.

Li-fan Chen
Thursday, May 20, 2004

I personally would look at this report and say, did they consider cultural differences. Asian countries may have a tendency to not report on paper evidence of personal failure, perhaps in exchange they prefer to duke it out behind the scene, and then report a better number. Face is very important, you don't want your competition to read your giant employer sucks at quality control. At the other side of the pond you have the States, which sometimes prefer to let all the faults air out in the hope of improving the process. If the study has considered these biases carefully and made accomodations I would probably use the information (although, the question becomes, how do you use this information to improve your company?). Of course, may the best person win, if someone can come up with a better report I am all ears.

Li-fan Chen
Thursday, May 20, 2004

Interesting to read this quote in the second linked article

"the performance differences observed between regions are likely due in part to the differing project types, underlying hardware platforms, coding styles, customer types and reliability requirements. The numbers are therefore descriptive only of the data in this sample and not as the basis for projecting the performance of future projects in each region."

(I'm quoting a quote)

So performance differences between regions can be explained away by the above disclaimers...but this doesn't hold true for code quality as well?

Dennis Forbes
Thursday, May 20, 2004

<<Karthik, that's pretty sharp words for someone who's never conducted a major study before for the IEEE. >>

I have a thesis from one of the more reputed colleges here in the U.S.
I have a good understanding of the people who do such "studies".  I have done such studies and worked for a professor who wrote a bestselling book claiming the japanese quality was a "myth".

Karthik
Thursday, May 20, 2004

Actually I would not dismiss it offhand...although the "American's worse" does make me want to do so...

If you consider what makes your VCR/DVD Player work to be in the software domain it is obvious that the Japanese make good software. I never had my Panasonic VCR crash on me in between a movie :-)

Also Japan is home to some of the best game programmers in the business it is just that they do not seem to be that good in developing enterprise and direct consumer software products.

Code Monkey
Thursday, May 20, 2004

Whoops, wrong title.

The actual title was "IEEE: Japanese worst, Americans best at finding bugs in their code".

Sorry for any confusion.

Alyosha`
Thursday, May 20, 2004

In other news, Danish found to be best at oil painting - study finds Danish paintings have fewest mistakes.

Philo

Philo
Thursday, May 20, 2004

For years we've seen this figure of 13.5 LOC/day for programmer 'productivity' (I know, let's skip that debate). i've always wondered if that figure has changed over the last 30 years.

The above study is from 2003.

The US output of 270 lines of code per programmer per month was higher than India's figure of 209 but well below Japan's 469 or the 436 reported for the rest of the world.

For guys with easy jobs, there are 20 work days/month. So 270/20 = 13.5 LOC/day. Hm there it is!

209/20 = 10.45 LOC/day - there's your India rate.

469/20 = 23.45 LOC/day - wow those japanese are FAST

Dennis Atkins
Thursday, May 20, 2004

> Japan is home to some of the best game programmers in the business

Have you played some of the contemporary Japanese games? Very amusing if you like everything presented to you in a 100% linear plot.

Dennis Atkins
Thursday, May 20, 2004

Japan is actually NOT the location of the best game programmers.

That claim would be referring to the old 2D scrolling things, and the success of those things was due to cultural interest in such games, not to superior programming. When it comes to modern 3D games, the Japanese are just copying the leaders.

The figure for bugs has the same weakness. In general terms, Japanese programming tends more towards maintenance and follow-the-leader rather than innovation. It's a lot easier to avoid bugs if you're just copying other people's work.


Thursday, May 20, 2004

"For years we've seen this figure of 13.5 LOC/day for programmer 'productivity' (I know, let's skip that debate). i've always wondered if that figure has changed over the last 30 years."

Probably not.  Other studies have found that LOC/day does not vary greatly from programmer to programmer or language to language.  Even star programmers write about the same LOC/day as mediocre ones. The difference is that they get more things done with fewer lines of code.

T. Norman
Thursday, May 20, 2004

You lazy Americans! Always justifiying your decadent lifestyle by claiming "originality". Lose the ego and welcome our new Japanese programmer overlords!

Anon-y-mous Cow-ard
Thursday, May 20, 2004

I use the only metric that really matters. 

The amount of revenue generated by US software companies vs the rest of the world. 

christopher baus (www.baus.net)
Thursday, May 20, 2004

I wonder if the higher productivity of Japanese and other countries developers maybe have to do with that they have better software developers / architects / project managers.

I can imagine that if you got everything you had to code handed to you in nice UML diagrams and class specifications (or however it's presented) and you had no thinking to do, you could produce a lot more LOC a day as a coder.

Maybe US coders must also think about the design before they start on something?

But this doesn't explain the nr of defects per LOC. But they also didn't mention how long it takes for a project to be released in Japan. Maybe US bosses like to rush and ship with defects.

blaZiT
Thursday, May 20, 2004

That may be one of the reasons of why I enjoy Ruby. Nice! :-)

Dewd
Thursday, May 20, 2004

I live and work in Japan and my anecdotal experience is that Japanese software development lags way, way behind the U.S. (At least as far as web-centric software is concerned)

Typical Japanese software is custom written, in-house for a single customer.  There is also a HUGE resistance to creating a fixed specification.  This makes it easier to avoid bugs, because 1- you are coding to a well difined platform, and 2- you just redfine any bugs so that they are within the non-existent spec.

Missing NYC
Friday, May 21, 2004

blaZiT, if you had a bit more experience, you would know that during the 1980's Japan said it was going to wipe the floor in software, committing massive funding to various software projects.

They tanked.

Among software executives who used to work in Japan in the 80's, it was generally considered that Japanese companies were poor at coming up with good software.

Tora
Friday, May 21, 2004

Well that's it, coding will never become an Olympic sport now its known that only one side of the Pac Rim is any good at it.

Though there may be a market for a Pro-Am tournament between Seoul and Tokyo, that could be called World Cup Software.

All the QC managers would have to be English though.

Simon Lucy
Friday, May 21, 2004

Yawn...  Beating up on americans is in vogue around the world these days.  Yet more anti-American tripe...

Steve-O
Friday, May 21, 2004

These studies are always amusing about how certain ethnic groups are always "better" than american programmers. 
I can just see it now, the next study will be how Aborigenese programmers are better than american programmers. 

I don't know if there are any stats on this, but what is the ethnic make up of the majority of programmers in the US? 
These days you see a lot of fellow programmers in the US of a variety of different ethnic backgrounds:  Indian, Middle-Eastern, Asian  etc etc.  I don't suppose any of these people have contributed their fair share to US software defects? 

Steve-O
Friday, May 21, 2004

Who says we're always ganging up on Americans?

I have done a survey of posts on JOS and Slashdot, and can proudly announce the result:

Overweight, male, white caucasian Americans easily outperform the rest of the world in griping about how everybody else has always got in for them.

Stephen Jones
Friday, May 21, 2004

I've done my own survey and I've found that people named Stephen Jones have a higher probability of being an utter prick.

I dislike losers
Friday, May 21, 2004

"Overweight, male, white caucasian Americans easily outperform the rest of the world in griping about how everybody else has always got in for them. "

Just because you are paraniod doesn't mean somebody isn't following you.

Joe Blandy
Friday, May 21, 2004

"If you consider what makes your VCR/DVD Player work to be in the software domain it is obvious that the Japanese make good software. I never had my Panasonic VCR crash on me in between a movie :-)"

My Panasonic VCR has some real flakiness that looks like a software bug to me.  The Search mode isn't consistent in the way it operates.  Sometimes the display is subtly wrong, and then it goes into fast-forward when it reaches the search point, rather than play.

Mark Ransom
Friday, May 21, 2004

"My Panasonic VCR has some real flakiness that looks like a software bug to me."

Looks like the work of an american programmer.  Other programmers from around the world would've never tolerated this such thing :)

Steve-O
Friday, May 21, 2004

My Toshiba DVD player locked up hard while I was fast forwarding and reversing (trying to find a particular credit) -- I actually had to leave it unplugged for about 10 minutes before it finally worked again it had crashed so hard.

Dennis Forbes
Friday, May 21, 2004

> I have done a survey of posts on JOS and Slashdot, and can proudly announce the result: Overweight, male, white caucasian Americans ...

Stephen, would you like a quick 10 km round the park?


Saturday, May 22, 2004

Dear Blank,
                What makes you think I'm not male, white, overweight and Caucasian as well?

Stephen Jones
Sunday, May 23, 2004

Someone should also come up with a study on how much money american 'programmers' and 'managers' make off code with more defects, I suggest it will be a lot more money. 

I think Chris Rock said it best, 'We can send a man to the moon, but we can't make a Cadillac where the bumper won't fall off', Yea we could write perfect software, but I figure people can also make a lot on money off of bad software as well.

Berlin Brown
Sunday, May 23, 2004

*  Recent Topics

*  Fog Creek Home