KEMBAR78
Comparative Study of programming Languages | PPT
Comparative Study of Programming
Languages
Comp-6411
Team_15 
Ishan Monga(27720696)
Gurkamal Singh(27275978)
Simranjeet Singh(27376782)
Outline
 Why comparison
 How and approach
 Grouping of Languages
 Glimpse of outcomes
 Intended Use
 Learning
 Conclusion
 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. 
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.
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
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
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.
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
Grouping for comparison
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
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
Group 1 (cont..)
Python
Compilation is slower than java
Variable declaration is not required
Dynamic Type System
Python used white space indentation
Group 2 Comparison
Ada
Safer and Secure
Support Concurrency
Modularity and Maintainability
Development Cost
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.
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
Group 3 (cont..)
VB .NET
Syntax similar to English language.
Easily Readable and Writeable
IntelliSense Support
Multi-paradigm
Shorter Development time
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.
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.
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.
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.
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
References
 [http://www.scala-lang.org/old/node/1658].
 https://www.pinterest.com/itvaleria/programming-fun/
 [http://www.scala-lang.org/old/node/1658].
 [http://www.le.ac.uk/users/rjm1/cotter/page_05.htm].
Thank You!

Comparative Study of programming Languages

  • 1.
    Comparative Study ofProgramming 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 isrequired?  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 canbe 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 Languagesare 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
  • 9.
  • 10.
    Some glimpse ofgroup 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 Interpretedon 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 Compilationis slower than java Variable declaration is not required Dynamic Type System Python used white space indentation
  • 13.
    Group 2 Comparison Ada Saferand Secure Support Concurrency Modularity and Maintainability Development Cost
  • 14.
    Group 2 (cont..) Pascal SupportVerbosity 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 ofSelected 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..] LanguageIntended 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..] LanguageIntended 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 ComparingLanguages  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 conclusiondrawn 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
  • 22.
    References  [http://www.scala-lang.org/old/node/1658].  https://www.pinterest.com/itvaleria/programming-fun/ [http://www.scala-lang.org/old/node/1658].  [http://www.le.ac.uk/users/rjm1/cotter/page_05.htm].
  • 23.