Selection of proper computer language is important for success of the whole project. At the same time, it is important to stress that no universal computer language exists and wouldn't exist in the near future. The most promising development direction is connected with usage of so called Componentware and polyglot JVM ecosystems. The Componentware is the architecture based on module software bricks which can be used as building blocks for complex software skyscraper. The development of such blocks needs usage of object-oriented languages, e.g. Java of C++.

The polyglot JVM ecosystem is build around functional programming paradigm. The importance of the style can be explained by just referencing that such framework as Google's MapReduce (Hadoop ancestor) is built on it. Such languages as Scala are gaining strength and provide excellent support for concurrent programming. Scala proclaims concurrency model based on a technology called Actors and provids a different (and simpler) approach to concurrenty comparing to lock-based model in Java.

During selection of proper computer language we are using customer and project-oriented approach.

This is only an extract from a list of languages we are using in our projects:

  • Java
  • C/C++
  • C#
  • Perl
  • Groovy
  • Scala
  • Python
  • PHP
  • VB, 4GL
  • Tcl
  • JavaScript
  • PL/SQL
  • LISP
  • R
  • Clojure