jump to navigation

Context of Use for Dynamic Languages April 30, 2006

Posted by poseidongroove in Chaos, CMS, Joomla, PHP, Python, REST, RUBY, SOA, Social Software, Web Services, Weblogs.
trackback

The last few weeks have been quiet on the blog but very busy for me workwise. I had a few customer projects to put into production and also complete hand over. Last Friday was my last day at Consider Solutions. Been fun working amongst friends the last 3.5 years or so. Will miss you guys.

I’ve started up a project with some friends; I’ll share details of what we’re doing on the blog in due course. You get to a crucial age when you feel I really want to make the difference in your own little way. I’m @ that stage right now.

This post been nagging away in my mind for several weeks, Richard Veryard blogged about it a few weeks ago The Lightweight Enterprise. I’d already written up a draft on my stolen laptop.

We have two camps in application development today, the dynamic scripting languages camp and the enterprise class application development camp. Without Dynamic Languages like PHP, Ruby and Python, we probably will not have the amount of innovation we have on the web today. Just think for a moment, WordPress and Typepad are both written in PHP so they’re enterprise class content management systems are they not? On the other hand Enterprise IT is slow cumbersome, standards obsessed, reflective and worse stifles innovation. We’re so full of contempt for Dynamic Languages because we think we can’t control it. I’m transitioning between these two camps all the time, until I discovered the Power of PHP and Ruby I was an enterprise bigot. Now, I have a more pragmatic view about all things software related. I’ve always used Jython for light coupling, PHP and Ruby are simply awesome!

I’m building our company website in Joomla at the moment, I’ve used Documentum, Media surface and Interwoven Teamsite. Joomla and Mambo are more elegant and easier to use. Besides, you can create enterprise grade websites in these tools even if I hate to admit it. Better still, they’re free, loads of free templates available for them. So where does this leave our bigoted view of superiority of so called Enterprise Grade Architecture/Software? Maybe locked into a bitter fight for deals with fortune 500 companies. Leaving the door open for mass market adoption of so called open source alternatives.

I think what So Called Enterprise Software vendors need to do is recognise that you can’t stifle innovation for long. I think the best way of opening up Enterprise Applications and Architecture to participation is to recognise a context of use for Dynamic Languages.

For example, if all application server vendors, enterprise service bus and BizTalk(Whatever MSOFT App Server is called), have out of the box Runtime support for as many scripting/dynamic languages as possible, you then empower developers to use whatever tools are available to develop rich web applications. All these bigoted views we have about what language is better will cease. Who cares what language, who cares if you use REST or SOA? As long as end users adopt the application and it scales, that’s all that matters. It really isn’t that hard to do this. My last project used Jython referencing Java APIs provided by the platform.

If you’re in a big enterprise, turning your nose up at Dynamic languages, you do so at your peril, you’ll be out of a job soon believe me. The world of software will start to revolve around free software and software as service in less time than you imagine. Only the vendors that tolerate innovation and open up their platforms will survive this shake out.

If you’re in a command and control enterprise, your developers are all spending their spare time getting up to speed with Ruby and PHP. Yet when they come into work you say thou shalt only use Java or C#. You’d better smell the coffee before it’s too late.

How about developing reusable services/components that can be used by all languages using REST?

If you Mr/Mrs Enterprise follow this approach you can then force your software vendor to provide a runtime environment for scripting languages. It then becomes easy to loosely couple services in your enterprise and harness available skills to build any application.

The question of scale will disappear why? If you use REST to couple a PHP based application front end to a backend SAP, BEA or Siebel CRM everyone is a winner, the application scales (hardware is cheap with dual core and virtual servers, you get more from your CPU investments) structured languages and dynamic languages bigot let’s all get together and make the end users happy. That’s our job!

Advertisements

Comments»

1. Rob Johnson - June 16, 2006

Interesting article Michael, I’ve been developing with PHP for about 7 years, with Java for about 3 and I’ve just started to play around with Ruby (and Rails). My current employer is a Java shop, no room for anything that strays from this ‘strategic’ course yet I find developing applications here can take months for something I could probably do in my spare time with PHP in about a week! I find that the build processes and deployments are very time consuming but mostly it’s the amount of red tape that ultimately eats up the hours. Application development in the enterprise needs to get much more flexible before it can be called rapid!

2. poseidongroove - June 16, 2006

Thanks for your comments Rob, I think the trick is to ensure that all languages have a chance to co-exist. That is the job of the architect. I’m fortunate to be doing that with a customer at the moment. It will take time. The good thing is that vendors are listening, This IBM chap shares our pain http://www-03.ibm.com/developerworks/blogs/page/johnston?entry=dynamic_languages In their case, they need to get rid of the 20 or more install shields that make up WAS Enterprise.

Another thing most architects forget is ensuring they help their companies select platforms open source or licensed that will give you 90% of the functionality out of the box. Not usually one platform but a combination of best of breed that can give you everything you need.

These days it’s not that hard to find something that almost meets your business needs. If you’re coding over 30% of the functionality, I think that’s bad !!!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: