Which Language To Use

A friend asked me to comment on which language to use and which was better. I whipped up this response.
I also was at the bookstore and skimmed a idtiotic book called From Java to Ruby written by Bruce A. Tate. It is a fun read but the guy is a moron. it got me thinking.
Don’t get me wrong – I like Ruby and see it as a neat point on the evolution of languages and explores neat space blending framework and language – but it is only a point solution and the book suggests that Ruby is a whole new species and will be LAMP – Hah!
There are a lot of contenders for the “What will be next after C# and Java burn out”. Ruby is cool but does not raise its head above the crowd.


This breaks down pretty much along these lines:
– Syntax does not matter
– Strong typing versus weak typing and interfaces and implementations is a real difference – effectively some languages code the contract into the syntax of the functions while others encode the contract in the logic of the code (like how they parse an XML dom). Strong typing is needed when projects get really large and complex and have long lifecycles – like 10 years plus. Small applications for one purpose – do not need strong typing.
– Frameworks do matter – when you move outside the core language into image processing or multimedia – what does it feel like? Good or bad? Most people pick a language because of the frameworks it supports as much as the syntax of the language.
– Interpreted or compiled – hardly matters any more – they are all interpreted – they are all compiled
– Interoperability does matter – one thing for sure about the future is that there will be more than one language out there – support for data interchange formats is critical to any language and/or framework – new languages “get this” and build interoperability in – old languages have to add frameworks.
– Performance is not a language issue – they are all fast
– Performance is a framework issue – the easier a framework is to use – the harder it is to performance tune – this leads to an infinite number of religions around frameworks – “tastes great – less filling”.
When new languages finally topple old languages – it will likely be because of the flaws or creakiness in frameworks – not the language itself.