Johnny Can So Program
theodp writes "In Johnny Can So Program, CS Prof Norm Matloff calls BS on CNET stories like Can Johnny Still Program? and Can the U.S. Still Compete?, saying it's a shame that CNET fails to cover the real threat to American technological competitiveness, the hidden agendas of Chicken Littles like Jim Foley of the Computing Research Association, David Patterson of the ACM and former Intel CEO Craig Barrett, all of whose organizations have a vested interest in playing the education card."
I taught a computer class for a large group of home school students and private school kids this year. They were, at the beginning, interested in learning to program. However, when it came down to actually doing it, and learning to code, they all, except for one, said "We're just more interested in playing games." The sad part about this is that some of the parents were just fine with that as long as they did their other work.
I'm not a troll, but I play one on Slashdot.
I have seen some god-awful code out of domestic individuals. (I have even had the pleasure of writting some.) But my experience with outsourced source is that the quality is as dictated. If you include a coding standard as part of an acceptance criteria it will be adhered too. Its just important to take the time to qualify what is good code for your application.
Cute little ditty. Made me grin. Until I remembered the girl in first year chemistry who liked the feel of water running through her fingers. Out of habit, she poured a beaker of H2SO4 into the sink through her fingers. No one knew who left it there, as there were several guilty parties, but we all felt responsble.
Part of the problem is how poorly american culture has adapted to the modern world of computing. Despite the fact that people use computers nearly every day in dozens of capacities, it's still considered an esoteric and specialist degree.
.com crash), or because they could get an associates degree at ITT (better than flipping burgers), or maybe they made some fast money making cheap ameturish webpages and now they think they can do anything (classic townie wannabe).
For example, look at how late in our educational system the process of programming education begins. Most "good" programmers I know were fooling around with code long before their schools ever even dreamed of introducing them to such concepts (usually around or before age 10, even!) Remember the Smalltalk project at PARC? They had children making animations, programs, games, and even simple applications. Obviously, children can understand it if you present it correctly.
Between this delay and the general American stigma against intellectualism, many of the programmers we produce are not terribly good at the job. Maybe they did it for the money (before the
What we need to do is teach kids to program at an earlier age. We also need to stop being so concerned about teaching them a "low" level language first. Let's start with Python or Ruby. Let's have them doing things instead of wasting time making for loops or calcualting array medians. Start making network-enabled applications, making interactive websites, etc.
Then, let's combine that with their math courses. As they learn math, they can learn the corresponding ways to do it on a computer (when feasible).
That way, they'll already know if they like programing or not, and they'll be able to make intelligent and informed decisions about what direction to steer their life. I can't tell you how many people I watched drop out of our CS Pre-major in college because they didn't realize what CS really was.
Also, why don't we see more vocational programs for cheap coding work? Not to offend web designers, but there's an example of a career that could be considered for vocational schools.
America is having problems keeping up with their demand because our entire society is shaped to ostracise young people who are interested in the subject, and discourage them. Only the most persistant and passionate people make it through, leading to a vast gulf between a "good" software engineer produced in America and a "bad" wage-slave class coder.
Slashdot. It's Not For Common Sense
Wish I'd heard that when I started college :)
Something else we're not talking about here is cultural differences amongst programmers. I dont know many Indian folk, but I've dealt with *A LOT* of chinese programmers, and they are very single minded and narrowly educated.
Most programmers will have 1 or 2 strong languages and APIs, and dabble in a few other languages and platforms. All the Chinese programmers I've ever met, know *1* language. They know it like nobodys business, but the only know that langauge, same with their Math skills, they know linear algebra *VERY* well. They don't know databases, they don't know html, they don't know matlab, basic, php, python, perl, anything. Just their one langauge (usually C/C++). Now when you need a C++ coder these are the guys to go to, but when you need an *ENGINEER* stay the hell away.
Religion is a gateway psychosis. -- Dave Foley