What’s next? One day C# too will be old and busted.

Soon the next release of Visual Studio will come out, and in it all sorts of new language innovations with LINQ. Just like .Net’s implementation of generics in v2.0 VB.Net, C#, and the whole .Net stack get more powerful and easier to use.

But what’s next?  I picked up a copy of Beyond Java and it has really gotten me thinking about the future of common, commercial programming languages. I don’t want to spoil too much of the book for you, but the premise is this: every once in a while a new programming language comes along which dramatically increases productivity and makes writing a particular type of application much simpler. Currently web development is good enough with the current generation of managed languages, but perhaps the environment is ripe for a new language to take root.

Here is a gross over simplification:

  • Writing operating systems in machine-code wasn’t so much fun until C came along.

  • Writing client software wasn’t so much fun until C++ came along.

  • Writing server software wasn’t so much fun until Java came along.

  • Writing integrated Windows software wasn’t so much fun until .Net came along.

  • Writing web 2.0 software wasn’t so much fun until _____ came along.

So my question to you is, what is in the blank?  Is it Ajax?  Is it BLINQ? How about Python, Ruby? Without a doubt using .Net (and to a lesser extent Java 😉 is perfectly well suited for web development, but perhaps it is time to reevaluate just how useful static typing is to us.

Perhaps a language which allows you to develop code faster, and finalize contracts and interfaces later would help you be more productive. Maybe I’ve just drank too much punch, but I think we (the developer community at large) are going to see some very compelling new languages come along in the next couple of years which will really help target the Web 2.0 space and take a big step away from heavy, statically typed languages.

 Have you had any experiences with more modern, Dyanmic languages for your development projects? How did they work out, how productive did you feel?  Thanks.

Comments (2)

  1. Keith Farmer says:

    All respects to Polita & Co, but it’s not BLinq — that’s just a code-genner, not a programming language.  Ajax is just a method.

    Python and Ruby don’t really offer anything new, beyond a different way to write bugs already written in other languages.  If they were to have done something more radical to the landscape I imagine they’d have done it years ago.

    We are just starting to bring workflow to the forefront.  I think that will be one place.

    Another thing I’d hope to see is componentization of the web, particularly with the rise in awareness of web services.  We’ve started to see some of this with VE, gadgets, and the like, but those are at the page level.  I’m thinking the site and network levels (inter-site workflows, perhaps?).

    Government-sponsored web services — geocoding, weather, traffic, etc — would be a godsend.  Why must I pay for integrating with basic civic information?  I can understand paying for something like AmazonWS, but why are we stuck with hand-interpreting TIGER?

    I’d like to do away with HTML and Javascript, personally.  WPF/E could help with that.

    None of this requires stepping away from static typing, whose presense on the browser could greatly fix a lot of bugs in web pages.

  2. Kamiel says:

    Personally, I think we have a lot of opportunities ahead of us using the browser as a distribution platform, JavaScript as the client side programming language, and webservices wired up with [insert your favorite programming language here] to [insert your favorite database here].

    I have started to use JavaScript and the browser in more traditional ways, using some of the new buzzwords like AOP, Agile, SOA, AJAX, etc, and my webapps have more structure, are better tested, and much heavier than the server side processing components, just by raising the bar and sticking to it. We don’t have pages anymore in our webapps, just applications that run and stop, threads that do simultaneous processing, and windows interacting with the user.

    This way I can provide a much richer and more intuitive user experience. If JavaScript takes a couple of years for us to get used to all the functionality it provides (all of this could be done long before JJG even coined the term AJAX) I personally am not looking forward to starting over with RubyScript (or PyScript or you-name-it). I can just see the hordes of users jumping on it the wrong way, Mozilla implementing this according to the spec, and Microsoft killing this Web x.0 by making their homebrew RScript the default scripting language in IE8…

    No thanks, just let us stick with what we’ve got for a while, and we’ll just wait the next few hypes out while perfecting what’s currently available, and then we’ll see..