Monday, January 02, 2006

What's Hard About Software

Posted by Phil Aaronson at 8:30 AM

Lets drag out pointers one more time. Here's a fun blog mashup, read these articles together.

Can Apple do Better than Objective-C?, by Nitesh Dhanjani
As far as the development world is concerned, it is my opinion that Microsoft has done wonderful things with .NET, while Apple hasn't churned out much innovation (not recently at least.) I'd like to see Apple developers gain more choice. With every iteration of OSX, there seems to be so much effort put into innovation of desktop components, but the development environment is age old. I use Objective C because I have to, while I use recent languages such as C# and ruby because I want to.
What's interesting about Nitesh Dhanjani's article is what he's not saying here. The original version of the article, the one he took down, was an email conversation with Steve Jobs with references to pointers. Specifically complaining about having to deal with them. From the new content, innovation then, in the author's mind, is in large part about removing pointers. Could he be the product of a JavaSchool?

The Perils of JavaSchools, by Joel Spolsky
If I may be so brash, it has been my humble experience that there are two things traditionally taught in universities as a part of a computer science curriculum which many people just never really fully comprehend: pointers and recursion.
Spolsky-Recursion by Tim Bray, is largely in defense of Java (he works for Sun after all), but he adds concurrency to the list:
My experience differs from Joel’s in another respect: Recursion is mildly hard. Closures and continuations are hard. Concurrency is very hard. I never found pointers hard at all.
My addition would be, getting ten or twelve coders to work together on the same project: really really hard.


Blogger Steve R said...

So, perhaps the best language would be determined not by whether you have to deal explicitly with pointers, or whether recursion works well. It would be determined by whether it helps large teams of programmers work well together.

Whether there is such a beast is another question.

1/03/2006 7:48 PM  
Blogger Phil Aaronson said...

I wish I had made the final leap you made, but I think that's exactly right.

1/04/2006 9:31 AM  

Post a Comment

<< Home