SlideShare a Scribd company logo
1 of 39
Programming Languages
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Amazing Variety ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Imperative Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],int fact(int n) {   int sofar = 1;   while (n>0) sofar *= n--;   return sofar; }
Functional Languages ,[object Object],[object Object],[object Object],[object Object],fun fact x =   if x <= 0 then 1 else x * fact(x-1);
Another Functional Language ,[object Object],[object Object],[object Object],[object Object],[object Object],(defun fact (x)   (if (<= x 0) 1 (* x (fact (- x 1)))))
Logic Languages ,[object Object],[object Object],[object Object],fact(X,1) :-    X =:= 1. fact(X,Fact) :-   X > 1,   NewX is X - 1,   fact(NewX,NF),   Fact is X * NF.
Object-Oriented Languages ,[object Object]
public class MyInt {   private int value;   public MyInt(int value) {   this.value = value;   }   public int getValue() {   return value;   }   public MyInt getFact() {   return new MyInt(fact(value));   }   private int fact(int n) {   int sofar = 1;    while (n > 1) sofar *= n--;   return sofar;   } }
Object-Oriented Languages ,[object Object],[object Object],[object Object]
Strengths and Weaknesses ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
About Those Families ,[object Object],[object Object],[object Object],[object Object]
Example: Forth Factorial ,[object Object],[object Object],[object Object],: FACTORIAL   1 SWAP BEGIN ?DUP WHILE TUCK * SWAP 1- REPEAT ;
Example: APL Factorial ,[object Object],[object Object],[object Object],[object Object],         X
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Odd Controversies ,[object Object],[object Object],[object Object],[object Object]
Language Partisans ,[object Object],[object Object],[object Object],[object Object]
Language Standards ,[object Object],[object Object],[object Object]
Basic Definitions ,[object Object],[object Object],[object Object],[object Object],[object Object]
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Intriguing Evolution ,[object Object],[object Object],[object Object]
New Languages ,[object Object],[object Object],[object Object],[object Object]
Widely Used: Java ,[object Object],[object Object],[object Object],[object Object]
Not Widely Used: Algol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dialects ,[object Object],[object Object]
Some Dialects Of Fortran ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Connection To Programming Practice ,[object Object],[object Object],[object Object]
Language Influences Programming Practice ,[object Object],[object Object],[object Object],[object Object]
Fighting the Language ,[object Object],[object Object],[object Object]
Imperative ML fun fact n = let val i = ref 1; val xn = ref n in while !xn>1 do ( i := !i * !xn; xn := !xn - 1 ); !i end; ML makes it hard to use assignment and side-effects.  But it is still possible:
Non-object-oriented Java Java, more than C++, tries to encourage you to adopt an object-oriented mode.  But you can still put your whole program into static methods of a single class: class Fubar { public static void main (String[] args) { // whole program here! } }
Functional Pascal function ForLoop(Low, High: Integer): Boolean;   begin if Low <= High then   begin   {for-loop body here}   ForLoop := ForLoop(Low+1, High)   end   else   ForLoop := True end; Any imperative language that supports recursion can be used as a functional language:
Programming Experience Influences Language Design ,[object Object],[object Object],[object Object],[object Object]
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Other Connections:  Computer Architecture ,[object Object],[object Object],[object Object],[object Object]
Other Connections:  Theory of Formal Languages ,[object Object],[object Object],[object Object],[object Object]
Turing Equivalence ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharVivek Parihar
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof languagenicky_walters
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementationBilal Maqbool ツ
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming LanguagesSayanee Basu
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenationAshwini Awatare
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Programing language
Programing languagePrograming language
Programing languageJames Taylor
 
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
 
Introduction To Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer ProgrammingHussain Buksh
 
Programming language
Programming languageProgramming language
Programming languageDhani Ahmad
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentationfazli khaliq
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C LanguageTarun Sharma
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programmingTarun Sharma
 
Introduction to c_language
Introduction to c_languageIntroduction to c_language
Introduction to c_languageWay2itech
 

What's hot (20)

Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek parihar
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Programing paradigm &amp; implementation
Programing paradigm &amp; implementationPrograming paradigm &amp; implementation
Programing paradigm &amp; implementation
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Programming landuages
Programming landuagesProgramming landuages
Programming landuages
 
Programing language
Programing languagePrograming language
Programing language
 
Evolution of Computer Languages
Evolution of Computer LanguagesEvolution of Computer Languages
Evolution of Computer 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 Computer Programming
Introduction To Computer ProgrammingIntroduction To Computer Programming
Introduction To Computer Programming
 
Programming language
Programming languageProgramming language
Programming language
 
Programming language
Programming languageProgramming language
Programming language
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
Programming Languages
Programming LanguagesProgramming Languages
Programming Languages
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C Language
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programming
 
Introduction to c language
Introduction to c language Introduction to c language
Introduction to c language
 
Introduction to c_language
Introduction to c_languageIntroduction to c_language
Introduction to c_language
 

Viewers also liked

Programming languages
Programming languagesProgramming languages
Programming languagesAsmasum
 
Study techniques of programming in C
Study techniques of programming in CStudy techniques of programming in C
Study techniques of programming in CTushar B Kute
 
Functional Programing
Functional ProgramingFunctional Programing
Functional ProgramingMax Arshinov
 
program development and paradigms
program development and paradigmsprogram development and paradigms
program development and paradigmskasenerd
 
The Go Programing Language 1
The Go Programing Language 1The Go Programing Language 1
The Go Programing Language 1İbrahim Kürce
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Raja Hamid
 
Разговорный курс STEP-UP. Class 1.
Разговорный курс STEP-UP. Class 1.Разговорный курс STEP-UP. Class 1.
Разговорный курс STEP-UP. Class 1.LyudmilaM
 
Structure of english
Structure of englishStructure of english
Structure of englishbrix_21
 
Prep velvet – Speed Maths
Prep velvet – Speed MathsPrep velvet – Speed Maths
Prep velvet – Speed MathsPrep Velvet
 
Bank Exam Computer Awareness
Bank Exam Computer AwarenessBank Exam Computer Awareness
Bank Exam Computer AwarenessIbps Exam
 
Accounting_Accuracy_Methodology-5
Accounting_Accuracy_Methodology-5Accounting_Accuracy_Methodology-5
Accounting_Accuracy_Methodology-5Ricardo G Lopes
 
Android Technology
Android TechnologyAndroid Technology
Android TechnologyAnuj Modi
 
Revision class 3
Revision class 3Revision class 3
Revision class 3LyudmilaM
 

Viewers also liked (20)

Introduction to programing languages part 1
Introduction to programing languages   part 1Introduction to programing languages   part 1
Introduction to programing languages part 1
 
Programming languages
Programming languagesProgramming languages
Programming languages
 
Study techniques of programming in C
Study techniques of programming in CStudy techniques of programming in C
Study techniques of programming in C
 
Functional Programing
Functional ProgramingFunctional Programing
Functional Programing
 
Cse presentation
Cse   presentationCse   presentation
Cse presentation
 
program development and paradigms
program development and paradigmsprogram development and paradigms
program development and paradigms
 
The Go Programing Language 1
The Go Programing Language 1The Go Programing Language 1
The Go Programing Language 1
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2
 
hackers
hackershackers
hackers
 
Class 1
Class 1Class 1
Class 1
 
Разговорный курс STEP-UP. Class 1.
Разговорный курс STEP-UP. Class 1.Разговорный курс STEP-UP. Class 1.
Разговорный курс STEP-UP. Class 1.
 
Databse management system
Databse management systemDatabse management system
Databse management system
 
Structure of english
Structure of englishStructure of english
Structure of english
 
Prep velvet – Speed Maths
Prep velvet – Speed MathsPrep velvet – Speed Maths
Prep velvet – Speed Maths
 
Introduction to Data Communication by Vishal Garg
Introduction to Data Communication by Vishal GargIntroduction to Data Communication by Vishal Garg
Introduction to Data Communication by Vishal Garg
 
D1 seating arrangement pdf
D1 seating arrangement pdfD1 seating arrangement pdf
D1 seating arrangement pdf
 
Bank Exam Computer Awareness
Bank Exam Computer AwarenessBank Exam Computer Awareness
Bank Exam Computer Awareness
 
Accounting_Accuracy_Methodology-5
Accounting_Accuracy_Methodology-5Accounting_Accuracy_Methodology-5
Accounting_Accuracy_Methodology-5
 
Android Technology
Android TechnologyAndroid Technology
Android Technology
 
Revision class 3
Revision class 3Revision class 3
Revision class 3
 

Similar to Programing Language

PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
 
Advanced_programming_language_design.pdf
Advanced_programming_language_design.pdfAdvanced_programming_language_design.pdf
Advanced_programming_language_design.pdfRodulfoGabrito
 
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptxCobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptxmehrankhan7842312
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Carmen Sanborn
 
Php oops interview questions
Php oops interview questionsPhp oops interview questions
Php oops interview questionsVIjay Sunder
 
From Programming to Modeling And Back Again
From Programming to Modeling And Back AgainFrom Programming to Modeling And Back Again
From Programming to Modeling And Back AgainMarkus Voelter
 
English de lenguaje de programacion
English de lenguaje de programacionEnglish de lenguaje de programacion
English de lenguaje de programacionVillalba Griselda
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?Markus Voelter
 
Computer programing 111 lecture 1
Computer programing 111 lecture 1 Computer programing 111 lecture 1
Computer programing 111 lecture 1 ITNet
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netwww.myassignmenthelp.net
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsEelco Visser
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
 
Modern Programming Languages classification Poster
Modern Programming Languages classification PosterModern Programming Languages classification Poster
Modern Programming Languages classification PosterSaulo Aguiar
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxOBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxAleKi2
 

Similar to Programing Language (20)

PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminaries
 
Plc part 1
Plc part 1Plc part 1
Plc part 1
 
Advanced_programming_language_design.pdf
Advanced_programming_language_design.pdfAdvanced_programming_language_design.pdf
Advanced_programming_language_design.pdf
 
Swift vs. Language X
Swift vs. Language XSwift vs. Language X
Swift vs. Language X
 
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptxCobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
Cobbbbbbbnnnnnnnnnnnnnnnnncepts of PL.pptx
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...
 
Php oops interview questions
Php oops interview questionsPhp oops interview questions
Php oops interview questions
 
Chapter1
Chapter1Chapter1
Chapter1
 
Presentation-1.pptx
Presentation-1.pptxPresentation-1.pptx
Presentation-1.pptx
 
From Programming to Modeling And Back Again
From Programming to Modeling And Back AgainFrom Programming to Modeling And Back Again
From Programming to Modeling And Back Again
 
English de lenguaje de programacion
English de lenguaje de programacionEnglish de lenguaje de programacion
English de lenguaje de programacion
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
 
Computer programing 111 lecture 1
Computer programing 111 lecture 1 Computer programing 111 lecture 1
Computer programing 111 lecture 1
 
Programming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.netProgramming assignment-help at myassignmenthelp.net
Programming assignment-help at myassignmenthelp.net
 
Ti1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming LinguisticsTi1220 Lecture 1: Programming Linguistics
Ti1220 Lecture 1: Programming Linguistics
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And Rlbp
 
Modern Programming Languages classification Poster
Modern Programming Languages classification PosterModern Programming Languages classification Poster
Modern Programming Languages classification Poster
 
About programming languages
About programming languagesAbout programming languages
About programming languages
 
F# Tutorial @ QCon
F# Tutorial @ QConF# Tutorial @ QCon
F# Tutorial @ QCon
 
OBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docxOBJECT ORIENTED PROGRAMMING.docx
OBJECT ORIENTED PROGRAMMING.docx
 

Programing Language

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. public class MyInt { private int value; public MyInt(int value) { this.value = value; } public int getValue() { return value; } public MyInt getFact() { return new MyInt(fact(value)); } private int fact(int n) { int sofar = 1; while (n > 1) sofar *= n--; return sofar; } }
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Imperative ML fun fact n = let val i = ref 1; val xn = ref n in while !xn>1 do ( i := !i * !xn; xn := !xn - 1 ); !i end; ML makes it hard to use assignment and side-effects. But it is still possible:
  • 32. Non-object-oriented Java Java, more than C++, tries to encourage you to adopt an object-oriented mode. But you can still put your whole program into static methods of a single class: class Fubar { public static void main (String[] args) { // whole program here! } }
  • 33. Functional Pascal function ForLoop(Low, High: Integer): Boolean; begin if Low <= High then begin {for-loop body here} ForLoop := ForLoop(Low+1, High) end else ForLoop := True end; Any imperative language that supports recursion can be used as a functional language:
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.