The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Developing for the Future

I really enjoyed Joel's article. Even more, I would follow the same line of thought in choosing a platform. I would base my decision on what I know TODAY. That is a problem.

The problem is that we develop a product for the future on today's platform. This is no small problem. If looking at the cash flow, here's what I expect for the product's life cycle:

Year    Development  Sales  Support
1          -$$$$      0      0
2          -$$$$      $      -$
3          -$$        $$$      $
4-10      -$        $$$$    $$

Money are made starting around 1/3 of the product life expectancy. That is after 3-4 years for 5-7 years. Then when choosing the development platform I need to guess which platform is going to work best at that time.

Now let's roll back the time, say some years ago (feel free to correct me, I'm not a historian).

- java - imature but promising
- .Net - not there.
- PHP - imature.
- C++ strong and looks like it will never die. Probably this was the "safe" choice for Enterprise development.

- java + J2EE has some good mature parts, with EJB at v2.0. Containers are fighting wars for compliance and performance after J2EE + EJB 1.0 failed to deliver. Probably this was the "safe" choice.
- .Net is catching up with J2EE. They're platform is young, but strong and quickly closing to gap with Java.
- PHP is at version 3 (I guess).

And back to the present 2006
- .Net is an extremly powerful and mature platform.
- J2EE + EJB v2.0 have failed to deliver. People are placing their hopes on EJB 3.0 for enterprise servers. Some alternative solutions have proved themselves already though: Spring, Hibernate, ...
- PHP5
- SOA & Web Services are becoming the RPC norm.
- some imature but promising technologies: RoR, Scheme, etc
- Here Joel is right, there are 3 choices. All strong and mature.

In an ideal world, if I were to start development from scratch right now, I would have to know what is the right platform to make money off in 2011.

What do you think 2011 will look like?
Dino Send private email
Friday, September 01, 2006
In 2011, the slumbering Fourth Estate awakens to make its first and final stand. The New York Times sues Googlezon, "claiming the fact-stripping robots are a violation of copyright law", but the Supreme Court rules in favor of Googlezon.
gworld Send private email
Friday, September 01, 2006
It's a .Net variant in 2011.  Why? .Net is language independent, thus, any new language can be made to emit .Net clr;

There is only one problem; today's .Net (C# or VB.Net etc) code will look like very primitive assembly code compared to tomorrow's .Net code; we are going to have a new .Net language (or C# 10.0) that no one has seen before and it will solve a lot of today's programming problems and problems that we don't even realize they exist.

JVM could have been the future except Sun screwed up by not letting both Java as a language and JVM as a platform grow independently.

Friday, September 01, 2006
Hmmm... Then we can have hardware that implements MSIL natively...
Mike S Send private email
Friday, September 01, 2006
i just feel that what it takes to write applications will greatly descrease. I think we might finally get the "plumbing" that we desperately need through things like Enterprise Library and Glidepath. I do think there will be another .NET variant that will make current day C# look like Assembly.

That doesn't mean quality will get any better!
Patrick from an IBank Send private email
Friday, September 01, 2006
By 2011, we'll have spell-checkers in our textarea forms!
Spinoza Send private email
Friday, September 01, 2006
The trunk version of Firefox currently has a built in spell-checker. =P
Josh McFarlane Send private email
Friday, September 01, 2006
I think in the future we'd see very few general "philosophies" like Java was, and more end-to-end solutions like .NET is.

People expect that the cost of developing a product will shrink (especially in terms of time) and the ability to pick and choose from the different libraries and tools available, will become more of a hindrance than a benefit.

For example, if I were to advertise for an ASP.NET programmer, it's almost guaranteed that he at least knows how to use Visual Studio and if I give him a properly configured workstation, he can more or less get started right away.

In contrast, if I ask for a Java programmer, the only think I can count on is that he knows the language. It's very likely I'd have to train him on the "company IDE" or be prepared to adopt his preferred tool. I would also have to show him which libraries I want to use, which build tool I want to use, which web server he's deploying to, etc etc.

These are very real "costs" in the eyes of business managers. The Java, LAMP, Python, RoR camps are trying to address this to some extent by discouraging "everybody and his kid brother from bringing out yet another server framework" but until they do so, it's simply just too expensive to evaluate every available solution under the sun.

Looking down the road to 2011, I actually do see the market shrinking to maybe three or four top to bottom stacks; I sincerely doubt I'm going to have the luxury of picking, installing and incorporating any one of a thousand sourceforge projects.
Friday, September 01, 2006
We will start using MSIL code as source code and check MSIL code directly into whatever code repository you use. Then your editor will display and let you edit the MSIL code in your favorite language (C#, LISP, Smalltalk, ...) and using your favorite design method (OO, functional, data driven, event driven, ...). This will mean the end of language wars, since everyone can have it their way (TM). Even how you put your curly parentheses is up to you!

The question is what will we then be arguing over then. Maybe all programmers can finally live in peace then.
Mellowman Send private email
Friday, September 01, 2006
>> Sun screwed java

sun screwed java cause the interface for the destktop sucks.
lemon obrien Send private email
Friday, September 01, 2006
oh yeah...i still use C++, and i'm happy as a clam. I also choose c++ b/c everything looks up in the air, and has been for a while. From C/C++ I have tons of access to open-source, and can easily port to what ever takes over..

I think after I finish what i'm currently doing i'm going to design/implement my own langauge...

something where I type very little and its c-type readable.

i believe some really creative languages existed in the 70s, maybe they'll come back.

but yacc, and lex (yet another compiler compiler) where born because everyone was creating their own personal/small languages.
lemon obrien Send private email
Friday, September 01, 2006
"Maybe by 2011 we'll have spell checking in the text edit boxes."

Um, what browser are you using? I haven't seen a browser that doesn't have spell checking in a long time.
Meghraj Reddy
Friday, September 01, 2006
I didn't realize that only web browsers have text boxes.

/My Mac can spell check universally.
//My Computer is Better than your Computer
Friday, September 01, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz