4. Why Comparison is required?
 Choosing programming languages is paramount for all
projects in any organisation, especially when the project
involves long term support and requires huge number of
people to build, for instance banking application.
 This choice becomes more difficult when a number of
languages are available for same task.
5. Why Comparison [cont..]
 To know more about syntax, usability, learnability curve,
support, features, efficiency, maintenance, exception
handling, portability
 To cater problem domain requirements
 Infrastructure requirements and resource availablity
6. How Languages can be Compared?
 To know more about syntax, usability, learning curve,
support, features, efficiently, maintenance, exception
handling, portability
 To cater problem domain requirements
 Infrastructure requirements
7. Approach for comparison
Languages are divided into 3 groups.
Implemented BFS/DFS algorithms
Implemented file Read/Write operations
Primary concern was to compare the selected languages
based on evaluation criteria.
8. Comparison Criteria
 Readability
 Writeability
 Line of Code
 Web development
 Ease of Learning
 Execution Time
 Memory Consumption
 Exception Handling
 Security
 Verbosity
 Portability
 Intended Use in industry
10. Some glimpse of group 1 comparison
Java
Faster
Web Development is easy in java as compare to AspectJ
Maintenance is easy in java
Error are more self-explanatory which makes debugging easier
Java is architectural neutral, it is independent of hardware
Verbose
Aspect J
Mainly used for the applications that involves transaction.
Highly secure
No support for functional programming
Java platform compatible
Easy to learn and use
11. Group 1 (cont..)
Scala
Interpreted on JVM
Scala is a type safe programming language
Line of code is very less
Scala has built-in feature for functional programming which has light
weight syntax
Supports high order and nested functions.
Everything is an expression
Built-in support for pattern matching
12. Group 1 (cont..)
Python
Compilation is slower than java
Variable declaration is not required
Dynamic Type System
Python used white space indentation
14. Group 2 (cont..)
Pascal
Support Verbosity as code use more English words rather than symbol.
Reliable due to strong exception handling and strongly typed.
Ease to learn due to simple programming style
Fortran
Less line of code
Performance is good due to better array handling and distributed
memory and shared memory parallelism.
Support Scientific numerical computing.
15. Group 3 Comparison
C
 Efficient in Execution Time
 Efficient in Memory Consumption
 Lesser Line of Code
C#
 IntelliSense support
 Drag drop features for quick development
 Shorter Development time
 Multi-Paradigm
 Error Handling
16. Group 3 (cont..)
VB .NET
Syntax similar to English language.
Easily Readable and Writeable
IntelliSense Support
Multi-paradigm
Shorter Development time
17. Intended Use of Selected Languages
Language Intended Use in Industry
Scala It is used to power the busiest websites in the world, including Twitter,
Netflix, Tumblr, LinkedIn, Foursquare, and many more.
Scala is also used in spacecraft telemetry data display, storage and
analysis for European space
Python Python is used in testing of intel microprocessor chips.
Building video games with PyGame library.
AspectJ The motivation behind Aspect J is to cater the issues and concerns that
are not well captured in traditional programming languages. For
instance if you want to implement security policy in the project. Some
application use Aspect J for logging purpose.
Java Java is very versatile language and is used in many business domains for
instance financial services, trading system, portals, and insurance
applications.
Many games are also developed on java platform
Some big business that use java are ebay, amazon, google and Netflix.
18. Intended Use[ contd..]
Language Intended Use in Industry
FORTRAN This language is mainly used in computation intensive area for instance,
computational fluid dynamics, finite element analysis and numerical
weather prediction.
Ada Ada was originally targeted for embedded and real-time systems but
later versions of Ada has provided support for numerical, financial and
object oriented concepts. Ada is recommended for highly critical
applications which involves serious consequences like accidents, deaths
and financial loss. Use of Ada can be find in domain of avionics,
railways, military and banking.
Pascal Initially, Pascal was intended to teach students structured programming.
Later, Object Pascal is used to develop window application with cross
compilation ability. In this same code can be compiled to mac, iOS and
android
Skype, Apple Lisa, total Commander, embedded systems and various
PC games are implemented in Pascal.
19. Intended Use[ contd..]
Language Intended Use in Industry
C# C# is mainly used for developing business applications and it is very much
used as web language. It is also gaining popularity in game programming with
the XNA framework plugin.
VB .Net It is multi paradigm language and is highly used for web application and web
services development
C The main intend of c is for the system development work, particularly for the
operating system because the code runs as fast as written in assembly
language
Some domain that use c are following
•Operating Systems
•Network Drivers
•Database
•Assemblers
•Compilers etc.
20. Learning from Comparing Languages
 Awareness of different programming techniques
that will help to build better applications.
 Open our mind towards learning new things in short
time of span.
 Mindset is been developed for comparing
the things logically with some evaluation criteria.
 Most importantly, get taste of 10 programming
languages in a restricted time span
 Working in team under stringent deadlines.
21. Conclusion
 The conclusion drawn from the experimentation is that there is no
standard criteria from which one language can be proved better than the
other.
 A healthy comparison can be done based on different evaluation
criteria.
 The choice of language mainly depends on the problem domain and the
resources available.
 No language is better than other
 Every language has its pros and cons
 Selection mainly depends on problem domain and resources available
“Alanguagethatdoesn’thaveeverythingisactuallyeasiertoprograminthansomethatdo.”
Dennis M. Ritchie