COMCS 51101
Paradigm of Programming
Language
Ranjana Shevkar, Assistant Professor, Modern College Ganeshkhind
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Reference Books
 Programming Language Pragmatics – Third edition
 Concepts of Programming Languages Eighth edition
 Scala Cookbook
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Chapter 1: Introduction
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Programming Language
Data Structures Algorithms
+
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
The Art of Language Design
Why there are so many languages?
 Evolution
 Special Purposes
 Personal Preference
 Expressive Power
 Ease of Use for the Novice
 Ease of Implementation
 Standardization
 Open Source
 Excellent Compilers.
 Economics, Patronage (support), and Inertia
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
The Programming Language Spectrum
Classification of Programming Languages
Type of
Languages
Imperative/
Procedural
Von
Neumann
C, Ada,
Fortran
Scripting
Perl, Python,
PHP
Object
Oriented
Smalltalk,
Eiffel, Java
Declarative/
Rule based
Functional/
Applicative
Lisp, ML,
Haskell, Scala
Data Flow
Id, Val
Logic,
Constraint
based
Prolog,
Spreadsheets
Template
Based
XSLT
What the computer is to
do?
How the computer
should do it?
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Why Study Programming Languages?
• Understand obscure (unknown) features
• Choose among alternative ways to express things
• Make good use of debuggers, assemblers, linkers, and related tools.
• Simulate useful features in languages that lack them
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Compilation and Interpretation
Pure Compilation Pure Interpretation
Mixing Compilation and Interpretation
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Compilation and Interpretation
Library Routines and Linking
Post Compilation Assembly
The C pre-processor
Ranjana Shevkar, Assistant Professor, Modern College Ganeshkhind
Compilation and Interpretation
Source to Source Translation C++ Bootstrapping
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Programming Environments
A programming environments is the collection of tools used in the development of software.
This collection may consist:
• A file system
• A text editor
• A linker
• A compiler
• Integrated tools
These tools may be access through a uniform interface (GUI).
Compilers and interpreters do not exist in isolation.
Programmers are assisted with other tools like Assemblers, debuggers, preprocessors, and linkers
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind
Examples of programming environments are:
1. Microsoft Visual Studio .NET, which is a large collection of software development tools,
used through a windows interface. It is used to develop software in following
languages-
A. C#,
B. Visual Basic .NET,
C. JScript(MS JavaScript version),
D. J# (MS Java version),
E. managed C++.
2. NetBeans
3. Turbo C, C++
4. Dreamweaver
5. Arduino etc.
Programming Environments
Ranjana Shevkar, Assistant Professor, Modern College
Ganeshkhind

Paradigms of Programming Languages CH1-Introduction.pptx

  • 1.
    COMCS 51101 Paradigm ofProgramming Language Ranjana Shevkar, Assistant Professor, Modern College Ganeshkhind
  • 2.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Reference Books  Programming Language Pragmatics – Third edition  Concepts of Programming Languages Eighth edition  Scala Cookbook
  • 3.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Chapter 1: Introduction
  • 4.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Programming Language Data Structures Algorithms +
  • 5.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind The Art of Language Design Why there are so many languages?  Evolution  Special Purposes  Personal Preference  Expressive Power  Ease of Use for the Novice  Ease of Implementation  Standardization  Open Source  Excellent Compilers.  Economics, Patronage (support), and Inertia
  • 6.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind The Programming Language Spectrum Classification of Programming Languages Type of Languages Imperative/ Procedural Von Neumann C, Ada, Fortran Scripting Perl, Python, PHP Object Oriented Smalltalk, Eiffel, Java Declarative/ Rule based Functional/ Applicative Lisp, ML, Haskell, Scala Data Flow Id, Val Logic, Constraint based Prolog, Spreadsheets Template Based XSLT What the computer is to do? How the computer should do it?
  • 7.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Why Study Programming Languages? • Understand obscure (unknown) features • Choose among alternative ways to express things • Make good use of debuggers, assemblers, linkers, and related tools. • Simulate useful features in languages that lack them
  • 8.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Compilation and Interpretation Pure Compilation Pure Interpretation Mixing Compilation and Interpretation
  • 9.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Compilation and Interpretation Library Routines and Linking Post Compilation Assembly The C pre-processor
  • 10.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Compilation and Interpretation Source to Source Translation C++ Bootstrapping
  • 11.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Programming Environments A programming environments is the collection of tools used in the development of software. This collection may consist: • A file system • A text editor • A linker • A compiler • Integrated tools These tools may be access through a uniform interface (GUI). Compilers and interpreters do not exist in isolation. Programmers are assisted with other tools like Assemblers, debuggers, preprocessors, and linkers
  • 12.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind Examples of programming environments are: 1. Microsoft Visual Studio .NET, which is a large collection of software development tools, used through a windows interface. It is used to develop software in following languages- A. C#, B. Visual Basic .NET, C. JScript(MS JavaScript version), D. J# (MS Java version), E. managed C++. 2. NetBeans 3. Turbo C, C++ 4. Dreamweaver 5. Arduino etc. Programming Environments
  • 13.
    Ranjana Shevkar, AssistantProfessor, Modern College Ganeshkhind