development

How to just get by

September 1, 2006 0:53:27.014

Joel Spolsky gives development advice that boils down to this: whatever you do, don't try anything different - you wouldn't want a competitive advantage or anything:

Last summer when we had a group of interns build Copilot , we had to decide what language to use for new code. I know that typically on new projects there's a long evaluation period where you decide what technology to use, along with lots of debates that include some crazy person actually wasting quite a lot of time evaluating Squeak and Lisp and  OCaml  and lots of other languages which are totally, truly brilliant programming languages worthy of great praise, but just don't have the gigantic ecosystem you need around them if you want to develop web software. These debates are enormously fun and a total and utter waste of time, because the bottom line is that there are three and a half platforms (C#, Java, PHP, and a half Python) that are all equally likely to make you successful, an infinity of platforms where you're pretty much guaranteed to fail spectacularly when it's too late to change anything (Lisp, ISAPI DLLs written in C, Perl), and a handful of platforms where The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line? (Ruby on Rails).

Yep, be like everyone else, building on exactly the same frameworks - there's the ticket.

Alternatively, you could try the route Avi's taken with DabbleDB...

Ironically, it seems that in his own shop, he doesn't exactly follow his own advice:

Finally -- as to what we use -- Copilot is C# and ASP.Net, as I mentioned, although the Windows client is written in C++. Our older in-house code is VBScript and our newer in-house code is C#. FogBugz is written in Wasabi, a very advanced, functional-programming dialect of Basic with closures and lambdas and Rails-like active records that can be compiled down to VBScript, JavaScript, PHP4 or PHP5. Wasabi is a private, in-house language written by one of our best developers that is optimized specifically for developing FogBugz; the Wasabi compiler itself is written in C#.

Hmmm - a custom development language that is specifically designed to solve their problems. Hmmm.

Comments

[Vincent Foley] September 1, 2006 3:01:32.885

Isn't Joel Spolsky the guy who said exceptiions were really bad and should never be used?  I think this new article belongs in the same category: go do something unproductive so that we on the other hand beat your ass.

[Trov] September 1, 2006 6:53:11.409

Pardon me for stating the obvious; Mr Joel Spolsky is either an idiot or he is just plain stupid (which leaves hope for people like myself :-)

[] September 1, 2006 7:30:07.032

Yes, he is that guy:
http://www.joelonsoftware.com/items/2003/10/13.html

odd quotes

[Bill Mill] September 1, 2006 7:34:02.173

Point the first:

"evaluating Squeak and Lisp and OCaml and lots of other languages which are totally, truly brilliant programming languages worthy of great praise, but just don't have the gigantic ecosystem you need around them if you want to develop web software."

I don't know how you skipped that quote. It's pretty crucial to what we're arguing here. Clearly you disagree, but it's central to the debate you're trying to start.

Point the second:

You say hmmm... at the end as if designing custom language was a feature of smalltalk, and that this should be obvious to your readers. Is it? Do you mean DSLs or objects with custom messages? Can you explain your hmmm.... a bit more?

Joel Spolsky

[Rogers Cadenhead] September 1, 2006 9:55:05.722

Pardon me for stating the obvious; Mr Joel Spolsky is either an idiot or he is just plain stupid ...

The only thing that's obvious from your comment is that you haven't spent a nanosecond looking into who Spolsky is before dismissing him as an idiot. I'm dubious on his comments about Copilot's development, but he's one of the best writers on the practice of programming I've read.

Re: How to just get by

[ James Robertson] September 1, 2006 10:15:07.958

Comment by James Robertson

I quoted that part (about Squeak), but didn't want to go off on a tangent. I think the fact that they use a custom solution said it all.

Just because Spolsky can pull it off doesn't mean everyone can

[Mike Champion] September 1, 2006 11:16:01.160

Presumably Spolsky is writing for mainstream developers writing relatively straightforward apps.  For them, the value of the ecosystem probably outweighs the value of whatever competitive advantage a cutting edge innovation might give.  That doesn't mean that he should follow his own advice, since he has a different set of capabilities and challenges; he's competing with much larger companies and trying to keep a small team together and highly productive, and "doing anything different" is pretty much a necessity.  It's risky proposition -- most who do something way out of the mainstream will fail, but Spolsky has survived and prospered.  So, those trying to succeed in a very hard business where technology can be a differentiator, see a big upside if they succeed, and have a nest egg to fall back on if they fail, probably should ignore his advice.  Those who want to maximize the probability of getting their project done on time should probably stick with a technology that has a big ecosystem to draw on for support.