comparative study of programming languages

23
Comparative Study of Programming Languages Comp-6411 Team_15 Ishan Monga(27720696) Gurkamal Singh(27275978) Simranjeet Singh(27376782)

Upload: ishan-monga

Post on 16-Jan-2017

304 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Comparative Study of programming Languages

Comparative Study of Programming LanguagesComp-6411

Team_15 Ishan Monga(27720696)

Gurkamal Singh(27275978)Simranjeet Singh(27376782)

Page 2: Comparative Study of programming Languages

Outline Why comparison How and approach Grouping of Languages Glimpse of outcomes Intended Use Learning Conclusion

Page 3: Comparative Study of programming Languages

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.

Page 4: Comparative Study of programming Languages

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.

Page 5: Comparative Study of programming Languages

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

Page 6: Comparative Study of programming Languages

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

Page 7: Comparative Study of programming Languages

Approach for comparison

Languages are divided into 3 groups.Implemented BFS/DFS algorithmsImplemented file Read/Write operations Primary concern was to compare the selected languages based on evaluation criteria.

Page 8: Comparative Study of programming Languages

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

Page 9: Comparative Study of programming Languages

Grouping for comparison

Page 10: Comparative Study of programming Languages

Some glimpse of group 1 comparisonJavaFasterWeb Development is easy in java as compare to AspectJMaintenance is easy in javaError are more self-explanatory which makes debugging easierJava is architectural neutral, it is independent of hardwareVerbose

Aspect JMainly used for the applications that involves transaction.Highly secureNo support for functional programmingJava platform compatibleEasy to learn and use

Page 11: Comparative Study of programming Languages

Group 1 (cont..)

ScalaInterpreted on JVMScala is a type safe programming languageLine of code is very lessScala has built-in feature for functional programming which has light weight syntaxSupports high order and nested functions. Everything is an expressionBuilt-in support for pattern matching

Page 12: Comparative Study of programming Languages

Group 1 (cont..)

PythonCompilation is slower than javaVariable declaration is not requiredDynamic Type SystemPython used white space indentation

Page 13: Comparative Study of programming Languages

Group 2 Comparison

AdaSafer and SecureSupport ConcurrencyModularity and MaintainabilityDevelopment Cost

Page 14: Comparative Study of programming Languages

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

FortranLess line of codePerformance is good due to better array handling and distributed memory and shared memory parallelism.Support Scientific numerical computing.

Page 15: Comparative Study of programming Languages

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

Page 16: Comparative Study of programming Languages

Group 3 (cont..)

VB .NET

Syntax similar to English language.Easily Readable and WriteableIntelliSense Support Multi-paradigmShorter Development time

Page 17: Comparative Study of programming Languages

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 platformSome big business that use java are ebay, amazon, google and Netflix.

Page 18: Comparative Study of programming Languages

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 androidSkype, Apple Lisa, total Commander, embedded systems and various PC games are implemented in Pascal.

Page 19: Comparative Study of programming Languages

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.

Page 20: Comparative Study of programming Languages

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.

Page 21: Comparative Study of programming Languages

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

“A language that doesn’t have everything is actually easier to program in than some that do.”

Dennis M. Ritchie

Page 22: Comparative Study of programming Languages

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].

Page 23: Comparative Study of programming Languages

Thank You!