How to choose programming language for given task?

This is basic question comes to Architects many times.
I consider following factors to choose a programming language.
1. Performance (High speed, low memory, low CPU utilization)
2. Maintainability (New team should be able to understand and fix issues)
3. Durability (Project should survive minimum 10 to 20 years. This is for backend projects. Not for UI development.)
4. Should work on Unix / Linux
5. Should have good documentation and support on internet
6. Preferably Open Source or low license fees.
7. Availability and affordability of resources (People, Software, Hardware, IDEs, Books, ..etc).
8. Proven track record or good team behind that language development.

Case Study: Which one I choose for backend development from Clojure, Groovy, JRuby, Java, Jython, Scala, Xtend, Haskell ?

My choices are as follows
Programming: Java.
Text processing: PERL
Database: Oracle
Web services and other framework: Spring
UI: JQuery, JSP, Displaytag
OS: Linux

Links:
http://bloodredsun.com/2011/10/04/scala-groovy-clojure-jython-jruby-java-jobs/
http://blog.efftinge.de/2011/12/groovy-scala-java-xtend-stupid.html
http://stackoverflow.com/questions/3439612/comparison-of-groovy-and-scala-against-java

Conclusion: Success of project depends on language we choose + other factors.

-o-

Advertisements

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