Tuesday, October 16, 2007

IBM developerworks is lame

I saw an article on IBM Developerworks about Cusp, an IDE for Lisp. Written by a student of Computer Science who obviously first saw Lisp last semester, it made me chuckle a little bit.

"Its strength is in the processing of lists: AI and symbol mathematics."

"You'll notice that Lisp is not at all like other general programming languages. For example, in most general programming languages, you perform multiplication just as you would on paper: int times = 5 * 5;."

(Sorry, but I don't write "int times = 5 * 5;" on paper... perhaps he meant 5×5?)

"Note that the above method actually defines a type string. Up to now, you've been using Lisp as a largely typeless language. Though the double quotes implicitly types data as strings, the above method explicitly types both the input and output to the concat2 function as strings."

(Me no speak good English? Does anybody proofread this stuff or do they nod and smile, looking all impressed at this kid's Lisp knowledge?)

The lack of attention to detail also becomes apparent when he can't even get a simple recursive function right near the end.

The article misses out on all the important features that Cusp offers which make it a serious alternative to SLIME with Emacs: cross-referencing, code completion, navigation, etc. Instead we get a "AI using recursion and linked lists" article.

Most of the links at the end are not very useful either. You have a link to the wikipedia article on Lisp, a paper from 1979, and about 30 Eclipse links. There's also a link to Paul Graham, who nowadays is more of a crazy rich guy with money than a programmer.

Ironically, the one relevant link, Programming Lisp with Cusp, is actually about a thousand times more informative and better written than the Developerworks article is.

Now, the paranoid Lisp zealots like to chalk things like this up to semi-deliberate attempts at smearing Lisp. However, I know that Developerworks articles on Java are just as bad, if not worse. Hell, any Developerworks article, on any topic, is usually extremely useless, misleading and poorly written.

This is just another case of a "by idiots, for idiots" type situation. if you want to learn how to program like IBM's finest enterprise drones, look no further than IBM Developerworks.

If they want to be taken seriously, they need to put some basic editorial standards in place. There needs to be a distinction between a blog and a site like this; the latter should not just be a mass blog orgy.

14 comments:

Anonymous said...

The article concludes with the author's credentials: "Tyler Anderson graduated with a degree in Computer Science from Brigham Young University"

Why do you think that this particular author's article is representative of IBM as a whole? Also, why do you chose to offend your fellow professionals by calling them "drones"?

Slava Pestov said...

Anonymous: put it this way: I've never seen a well-written article on IBM Developerworks.

If people are graduating with CS degrees and cannot put together a simple article like this one, all hope is lost as far as "professionals" go.

Anonymous said...

I hate to "me too" this, but, yeah, DeveloperWorks has an awful lot of low quality stuff posted. There are a few, very few, decent articles (one example is the Real Time Java series), but even the good stuff lacks depth.

Eric said...

I concur--DeveloperWorks rarely has anything worth reading. Articles are usually related to some sort of fad/enterprise/buzzword technology, with a walk through of the API using a contrived example. Nothing of substance, nothing resulting from a deep experience with the technology.

Alexander Fairley said...

I was considering applying for a job at IBM's R&D shop here in Cambridge one summer. After looking at how ridiculous their application web site was I decided that there was not much for me to learn there, and the it would probably just be a waste of my time. I always sigh when developer works stuff makes it to the top of proggit, because most of the time it seems like it's some kind of nonsense about enterprise level architecture meta-beans(now in luxuriant vanilla) or some such...

Anonymous said...

How about giving some credit to an organization that encourages their employees to take time out of their day and contribute to the devlopment community?

Anonymous said...

@ last Annonymous

No credit is due for a organization like IBM, that not only cramps the minds of developers but has the courage to put out papers like those.

Also, no credit is due for a CS graduate who did not have the ability to learn lisp properly and could not write a simple article.

Anonymous said...

If people are graduating with CS degrees and cannot put together a simple article like this one, all hope is lost as far as "professionals" go.


And yet he probably makes more money in 6 months than you've made in two years. The world continues to rotate on its axis and has not fallen into the sun.

Your whining aside, there's nothing *really* wrong with this article...as far as Developerworks articles go. Like most DeveloperWork articles, it's not meant to be an in-depth treatment of all possible facets of the technology. It's meant to be a rough overview and it accomplishes that just fine. I'll bet some people learned from it and some may even be interested enough to read more about it.

Your attitude towards "professionals" is pathetic. You are doing the right thing by sticking to the poverty of academia and doing "serious" research. Leave the moneymaking to others.

Anonymous said...

@ last anonymous

Yeah, because earning money justifies any stupidity. It's because of people like you that professional software developers suffer everyday in their day jobs with things like Java and C#.

Anonymous said...

Yeah, because earning money justifies any stupidity. It's because of people like you that professional software developers suffer everyday in their day jobs with things like Java and C#.

Companies exist to make money, not to justify some academic itch you think isn't scratched by Java and C#.

If the latter is more important to you, stay out of the "professional" world and stick to academia. *Everyone* will be happier for it.

Slava Pestov said...

Sounds like anonymous is bitter because he's stuck in a shit job. Don't worry, there are better ways of making money than maintaining some "legacy" J2EE codebase originally developed by outsourced monkeys.

Anonymous said...

Sounds like anonymous is bitter because he's stuck in a shit job. Don't worry, there are better ways of making money than maintaining some "legacy" J2EE codebase originally developed by outsourced monkeys.

Those legacy developers pay for that low-paying academic position you enjoy so much. You *need* these people or you don't have what passes for a "job".

And no, I'm not bitter. Just someone challenging a myopic viewpoint.

Samuel A. Falvo II said...

What is somewhat amusing here is that the entire Lisp community has been trying to get rid of its "AI language" stereotype since day one (well, OK, maybe by day three), and here comes this guy writing about how great it is to code in an AI language using Cusp, in a very high visibility publication.

Wow. Lisp just can't win. What a shame.

Anonymous said...

IBM is a place of such incompetence, it is not surprising that little of quality comes from them. Lotus Notes is a perfect example of software so shitty it should be an embarrassment to even sell. To enumerate the ways Lotus is shitty is complete masturbation. IBM is a dinosaur; just look at stupid sametime?? why do we need another IM protocol? and how come sametime is more like 'sometimes' it is completely unreliable and yet every other competing standard is five nines reliable and open. IBM can not even keep their own infrastructure running reliably. IBM is pathetic. IBM is the definition of incompetence.
And what continues to boggle my mind is that the bar is evidentially so low that IBM doesn't disappear into the oblivion that it belongs in; but actually thrives???