0% found this document useful (0 votes)
33 views

Introduction To Programming Languages: Unit 1

The document provides an introduction to programming languages. It defines what a programming language is, discusses different types of programming languages like low-level, high-level and middle-level. It also covers some key concepts related to programming languages like compilers, interpreters, linkers, loaders and assemblers. The document discusses reasons for studying programming languages and lists some popular programming languages from the past and present. It also outlines some important language design issues and different domains where programming languages are used.

Uploaded by

prabhupada108
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Introduction To Programming Languages: Unit 1

The document provides an introduction to programming languages. It defines what a programming language is, discusses different types of programming languages like low-level, high-level and middle-level. It also covers some key concepts related to programming languages like compilers, interpreters, linkers, loaders and assemblers. The document discusses reasons for studying programming languages and lists some popular programming languages from the past and present. It also outlines some important language design issues and different domains where programming languages are used.

Uploaded by

prabhupada108
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Unit 1 Introduction to Programming languages

Discussion
Some Revision

Necessity of studying

programming languages Programming Language design Issues

How Would you Define A PL


A vocabulary and set of grammatical rules for

instructing a computer machine to perform specific tasks. Or Simply an interface to interact with a computing machine. Types
High Level Low Level Middle Level

Some Other Concepts


Compiler

Interpreter
Linker Loader Assembler

Define
Operating System

Device drivers
System Calls Language Abstraction Syntax Semantics Process v/s Program

Programming Languages
Machine Language Assembly Language (1956-63) Ada(1983) LISP (1956) Fortran (1957) C++ (1983-85) COBOL (1959) QBasic (1986) PL/1(1964) BASIC (1964) Perl (1987) Pascal (1970) VisualBasic (1991) Smalltalk (1972) PowerBuilder C (1972)

Java (1995) JavaScript C# (2001)

Language Design Issues


Low-Level to High Level : Abstraction Efficiency :
Use of CPU Memory Underlying OS

Usability
Ease of USE Language Syntax

Functionality/Capability
Stand Alone, WEB, Concurrency Mobile Applications : JAVA and NOT C System Programming

Language Design Issues


Readability
Coders experience v/s Language Implementation Keywords : Print, Write Line

Coding style
Example : Enumerations, Inheritance, Type

Checking Design Patterns- OOP


Language extensibility
Allow to ADD new programming constructs
Exploit other languages

Why study programming languages?


Become a better software engineer
Understand how to use language features
Appreciate implementation issues

Better background for language selection


Familiar with range of languages Understand issues / advantages / disadvantage C vs Modula-3 vs C++ for systems programming

Java vs C/CORBA for networked PC programs


Increased capacity to express ideas If you know what you want you can do it.

Why study programming languages?


Better able to learn languages
You might need to know a lot
Most languages have the similar programming

constructs
Better understanding of implementation issues
How is this feature implemented? Why does this part run so slowly?

Better able to design languages


Those who ignore history are bound to repeat it

Programming Domains
Scientific: Heavily based on numerical algorithms

(Fortran, C) Business Applications: Storage, retrieval, and formatting of data, reporting. (COBOL, SQL) Artificial Intelligence: Symbolic computing, List directed processing (LISP, Prolog) Systems Programming: Fast, Low level features (C) Internet: Web based programming (Perl, Java) Simulation: Process modeling (MATLAB, GPSS)

You might also like