Você está na página 1de 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)

Você também pode gostar