Playing it Safe
http://www.joelonsoftware.com/items/2006/09/01.html
The safe answer, for the Big Enterprisy Thing where you have no interest in being on the cutting edge, is C#, Java, PHP, or Python, since there's so much evidence that when it comes right down to it zillions of people are building huge business-critical things in those languages and while they may have problems, they're not life-threatening problems.
Joel Spolsky talks about playing it safe. For the enterprise market, which is pretty conservative, it's all about making safe choices when it comes to software development projects. It's hard to argue with that. However, with that kind of thinking, we miss opportunities to significantly reduce the time to market of deliverables, the cost of code maintenance, and the labour cost of software engineers. For example, Smalltalk is often lauded for its extremely high productivity, helping to complete software development three to five times faster than using Java or C++. How much is it worth to a company to hire far fewer developers to do the same amount of work? Or to get a product to market much sooner?
Joel says Java and C# are safer because it's easier to find project experts with lots of experience in these languages. There's no question this can be advantageous but let's not overstate it. Having a Java expert on a Java project does not guarantee its success. But having good engineering talent (regardless of programming language) who's not afraid of change does help.
Joel says Java and C# are proven, with huge numbers of successful projects based on these languages. But I can show you eminently successful Smalltalk projects too. Just visit: http://www.whysmalltalk.com/production/index.htm. Cincom VisualWorks has been successfully used in many enterprises, including recently:
For proof that Smalltalk is great for web development, look at http://dabbledb.com/, which was developed entirely in Smalltalk and Seaside (the Smalltalk equivalent of Ruby on Rails).
I harp on software tools a lot, but I also know there are other reasons for missed deadlines and slow development. For example, marketing and sales departments overpromising on what you can deliver, poor project scheduling or resource allocation, inadequate requirements gathering, weak analysis, etc. But these are issues that cannot be easily fixed with technology.
The application of superior tools, on the other hand, can relieve a very significant bottleneck. It has been my experience that more than half of the software lifecycle (including maintenance) is spent in the trenches, coding, debugging, testing. Anything you can do here to improve productivity pays off big time. And it’s so easy! Just look around you for language tools with a proven record...
Like Smalltalk.
The safe answer, for the Big Enterprisy Thing where you have no interest in being on the cutting edge, is C#, Java, PHP, or Python, since there's so much evidence that when it comes right down to it zillions of people are building huge business-critical things in those languages and while they may have problems, they're not life-threatening problems.
Joel Spolsky talks about playing it safe. For the enterprise market, which is pretty conservative, it's all about making safe choices when it comes to software development projects. It's hard to argue with that. However, with that kind of thinking, we miss opportunities to significantly reduce the time to market of deliverables, the cost of code maintenance, and the labour cost of software engineers. For example, Smalltalk is often lauded for its extremely high productivity, helping to complete software development three to five times faster than using Java or C++. How much is it worth to a company to hire far fewer developers to do the same amount of work? Or to get a product to market much sooner?
Joel says Java and C# are safer because it's easier to find project experts with lots of experience in these languages. There's no question this can be advantageous but let's not overstate it. Having a Java expert on a Java project does not guarantee its success. But having good engineering talent (regardless of programming language) who's not afraid of change does help.
Joel says Java and C# are proven, with huge numbers of successful projects based on these languages. But I can show you eminently successful Smalltalk projects too. Just visit: http://www.whysmalltalk.com/production/index.htm. Cincom VisualWorks has been successfully used in many enterprises, including recently:
- Adventa Control Technologies
- Federal Express
- JP Morgan
- Penn State University
- Scarborough Research
- State of Wisconsin Department of Revenue
- Texas Instruments
For proof that Smalltalk is great for web development, look at http://dabbledb.com/, which was developed entirely in Smalltalk and Seaside (the Smalltalk equivalent of Ruby on Rails).
I harp on software tools a lot, but I also know there are other reasons for missed deadlines and slow development. For example, marketing and sales departments overpromising on what you can deliver, poor project scheduling or resource allocation, inadequate requirements gathering, weak analysis, etc. But these are issues that cannot be easily fixed with technology.
The application of superior tools, on the other hand, can relieve a very significant bottleneck. It has been my experience that more than half of the software lifecycle (including maintenance) is spent in the trenches, coding, debugging, testing. Anything you can do here to improve productivity pays off big time. And it’s so easy! Just look around you for language tools with a proven record...
Like Smalltalk.
0 Comments:
Post a Comment
<< Home