languages paradigms
play

Languages & Paradigms What s a Language? It s a form of - PDF document

Languages & Paradigms What s a Language? It s a form of expression To communicate your intent To program a computer 2 What Makes a Program? Language Syntax + Semantics + Algorithms 3 What Makes a Program? Language Syntax +


  1. Languages & Paradigms What’ s a Language? It’ s a form of expression To communicate your intent To program a computer 2

  2. What Makes a Program? Language Syntax + Semantics + Algorithms 3 What Makes a Program? Language Syntax + Semantics + Algorithms Form Meaning How Language Design 4

  3. What’ s Makes It Special? It’ s not the syntax of a language that is most interesting It is the paradigm and the idioms What you can do and how you often realize it Conventional wisdom from advanced programmers 5 Language Purpose/Target General Purpose Languages Can be used for general programming Somewhat of a Swiss army knife Domain Specific Languages Targeted at a particular narrow domain Small, focused, not generally considered as full programming languages 6

  4. What Languages you’ve Used? 7 Language Paradigms Imperative Object-Oriented Concurrent Functional Logic Scripting 8

  5. Language Paradigms Languages do not fall exclusively into a particular type By design, generally, they opt in to more than one type 9 Imperative To tell how to do things You typically use variables, commands, procedure Sequence of instructional commands Mutable state 10

  6. OO Abstraction Encapsulation * Inheritance Polumorphism * 11 Concurrent Concurrent Processes Higher level of abstraction to exploit concurrency 12

  7. Functional Functions as Higher order, first class citizens Assignment-less programming 13 Logic Infer relationships Predicate logic 14

  8. Scripting Commands to execute system level operations, text manipulation, transformations, ... 15 Language Paradigms 16

  9. Control Structures Statements Expressions Assignments Unconditional jumps Conditionals: if, if-else, switch Iterative: for, while, until,... Procedures/Subroutines 17 Most Powerful Language! Created in 1950s by John McCarthy Modern Languages are still trying to catch up to it! Lisp 18

  10. What’ s Lisp? It stands of “Lots of Insignificant Silly Parenthesis” At least that’ s what people who dislike it call It’ s actually “List Processing” Lisp syntax is quite intimidating Was not written with performance in mind Ignore that, there is a beautiful language in there Scheme is a derivative Clojure is Lisp on the JVM 19 What Made Lisp Special Paul Graham’ s list 1. Conditionals 2. A function type 3. Recursion 4. Concept of variables 5. Garbage-collection 6. Composed of Expressions 7 . A symbol type 8. Notation for tree of symbols 9. Whole Program always available 20

  11. Exercise In your favorite language, write a shortest program that prints “Hello World!” 21

Recommend


More recommend