SlideShare a Scribd company logo
1 of 23
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!

More Related Content

What's hot

Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming LanguagesSayanee Basu
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Krishna Sai
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESABHINAV SINGH
 
Generations of Programming Languages
Generations of Programming LanguagesGenerations of Programming Languages
Generations of Programming LanguagesTarun Sharma
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languagespy7rjs
 
02. chapter 3 lexical analysis
02. chapter 3   lexical analysis02. chapter 3   lexical analysis
02. chapter 3 lexical analysisraosir123
 
Program & language generation
Program & language generationProgram & language generation
Program & language generationBuxoo Abdullah
 
Regular Expression in Compiler design
Regular Expression in Compiler designRegular Expression in Compiler design
Regular Expression in Compiler designRiazul Islam
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigmbusyking03
 
word level analysis
word level analysis word level analysis
word level analysis tjs1
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Intro To Programming Concepts
Intro To Programming ConceptsIntro To Programming Concepts
Intro To Programming ConceptsJussi Pohjolainen
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C LanguageTarun Sharma
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languageskitturashmikittu
 
Programming language
Programming languageProgramming language
Programming languageShuja Qais
 

What's hot (20)

Syntax analysis
Syntax analysisSyntax analysis
Syntax analysis
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
 
Introduction to programming languages
Introduction to programming languagesIntroduction to programming languages
Introduction to programming languages
 
PROGRAMMING LANGUAGES
PROGRAMMING LANGUAGESPROGRAMMING LANGUAGES
PROGRAMMING LANGUAGES
 
Generations of Programming Languages
Generations of Programming LanguagesGenerations of Programming Languages
Generations of Programming Languages
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languages
 
02. chapter 3 lexical analysis
02. chapter 3   lexical analysis02. chapter 3   lexical analysis
02. chapter 3 lexical analysis
 
Program & language generation
Program & language generationProgram & language generation
Program & language generation
 
Internationalization
InternationalizationInternationalization
Internationalization
 
Regular Expression in Compiler design
Regular Expression in Compiler designRegular Expression in Compiler design
Regular Expression in Compiler design
 
Programming paradigm
Programming paradigmProgramming paradigm
Programming paradigm
 
word level analysis
word level analysis word level analysis
word level analysis
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Difference between c, c++ and java
Difference between c, c++ and javaDifference between c, c++ and java
Difference between c, c++ and java
 
Intro To Programming Concepts
Intro To Programming ConceptsIntro To Programming Concepts
Intro To Programming Concepts
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C Language
 
Generation of computer languages
Generation of computer languagesGeneration of computer languages
Generation of computer languages
 
Programming language
Programming languageProgramming language
Programming language
 

Similar to Comparative Study of programming Languages

The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data TypesKaty Allen
 
Comparative study of programming languages
Comparative study of programming languagesComparative study of programming languages
Comparative study of programming languagesPrabhat singh
 
12 best programming languages for web & app development
12 best programming languages for web & app development12 best programming languages for web & app development
12 best programming languages for web & app developmentBiztech Consulting & Solutions
 
What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...BlockchainX
 
A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...IRJET Journal
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languagesijpla
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi rajaRaviRaja55
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.doc
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.docICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.doc
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.docAmanGunner
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJPatrick Viry
 
Top Automation Programming Languages of 2023.pdf
Top Automation Programming Languages of 2023.pdfTop Automation Programming Languages of 2023.pdf
Top Automation Programming Languages of 2023.pdfpCloudy
 
Top Programming Languages of 2020
Top Programming Languages of 2020Top Programming Languages of 2020
Top Programming Languages of 2020Ikbal Ahmed
 
Recent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP ApproachesRecent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP ApproachesIRJET Journal
 

Similar to Comparative Study of programming Languages (20)

The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
 
Comparative study of programming languages
Comparative study of programming languagesComparative study of programming languages
Comparative study of programming languages
 
12 best programming languages for web & app development
12 best programming languages for web & app development12 best programming languages for web & app development
12 best programming languages for web & app development
 
Training report
Training reportTraining report
Training report
 
What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...What is the best programming language to learn if you want to work on the blo...
What is the best programming language to learn if you want to work on the blo...
 
A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...A Research Study of Data Collection and Analysis of Semantics of Programming ...
A Research Study of Data Collection and Analysis of Semantics of Programming ...
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languages
 
History Of C Essay
History Of C EssayHistory Of C Essay
History Of C Essay
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi raja
 
Programming
ProgrammingProgramming
Programming
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.doc
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.docICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.doc
ICT-DBA4 -05-0811-Apply-Object-Oriented-Programming-Language-Skills.doc
 
Unit 1
Unit 1Unit 1
Unit 1
 
JAVA
JAVAJAVA
JAVA
 
The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
 
Top Automation Programming Languages of 2023.pdf
Top Automation Programming Languages of 2023.pdfTop Automation Programming Languages of 2023.pdf
Top Automation Programming Languages of 2023.pdf
 
Top Programming Languages of 2020
Top Programming Languages of 2020Top Programming Languages of 2020
Top Programming Languages of 2020
 
Recent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP ApproachesRecent Trends in Translation of Programming Languages using NLP Approaches
Recent Trends in Translation of Programming Languages using NLP Approaches
 

Recently uploaded

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
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
  • 13. Group 2 Comparison Ada Safer and Secure Support Concurrency Modularity and Maintainability Development Cost
  • 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
  • 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].