Michael Yuan in his article in his blog Is Ruby replaing Java – not so fast”, Michael suggests that languages do not replace languages.
I am not sure I agree with this. Times change, technologies change, trends change. There is a strange trend probably driven by people working in marketing, for product companies to be able to ‘check the box’. I’ve seen this plenty of times working for product companies. Sometimes one of the largest selling points for a new technology based product is the technology it is written with. THink back to the scramble in the late 90s to implement systems with Java. It was the thing to do. If you competitor has already rewritten their system using language X or implemented using technology feature Y then product companies feel the pressure to follow suit otherwise they may lose out in the marketplace.
The other thing, is although Michael thinks that ‘languages do not replace languages’, new languages and new technologies always have a impact on existing languages and existing technologies. Probably for the same reasons – if a new technology comes along that catches a lot of interest amongst the development community then there is pressure for existing languages and or technologies to look at incorporating these new features just to stay upto date with the trends and to not lose developers.
I think this is going to be the greatest (beneficial) impact of Ruby on Rails to the Java EE technology stack. Someone has come along and shown how much easier it can be to build web applications, and now everyone is thinking, ‘wow, why can’t it be like that for us with Java?’. Well it can, and I think this is where we will be seeing changes in Java in the near future.