Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Comparative Study of programming Languages
1. Comparative Study of Programming
Languages
Comp-6411
Team_15
Ishan Monga(27720696)
Gurkamal Singh(27275978)
Simranjeet Singh(27376782)
2. Outline
Why comparison
How and approach
Grouping of Languages
Glimpse of outcomes
Intended Use
Learning
Conclusion
3. Choosing programming languages is paramount for
all project 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 become more difficult when number of
languages are available for same work.
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