Factors to be considered:
-
Targeted Platform
-
Language domain match
-
Efficiency
-
Elasticity and Performance
-
Availability of libraries
-
Project size
-
Expressiveness & Time to production
-
Tool support
Compare different languages
JavaScript
Main Use:
Creating and developing websites
Creating desktop applications and games
Capabilities:
- Control the browser
- Edit content on a document that has been displayed
- Allow client-side scripts to communicate with users
- Asynchronous communication
Advantages:
-
Accepted and supported by all the major browsers without the need of any compilers or plug-ins
-
Multi-paradigm language, has a combination of features
-
Support functional and OOP styles
Features:
-
Structured
-
**Dynamic**
The types in JavaScript are not related with variables but with values.
- **OOP**
- Functional
Java
Capabilities:
-
It must be a secure and robust programming language
-
It must be an object-oriented, simple language which becomes familiar soon.
-
It must be capable of being implemented and executed with high performance.
-
It must be threaded, dynamic and interpreted.
-
It must be portable and architecture-neutral.
Features:
- OOP
- Class-based
- Concurrent
Python
Features:
- Dynamic
- Automatic memory management
- Large library
- Support of many paradigms
PHP
Main Use:
Server-side scripting language
Web development
As a general-purposed programming platform
Capabilities:
- Can be embedded in HTML directly
- Most suitable for server-side programming that have server tasks being repeatedly performed when the website development process is on.
Features:
-
Script language
usually processed by an interpreter
-
Fast prototyping
Ruby
Main Use:
Creating or programming of mobile apps and websites
Most used in the web servers where is a lot of web traffic
Advantages:
- Highly scalable
- Balances imperative programming with functional programming
Features:
- Dynamic
Reference: