Languages & Paradigms

Languages & Paradigms

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 + Semantics + Algorithms Form Meaning How Language Design 4 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 What Languages you’ve Used? 7 Language Paradigms Imperative Object-Oriented Concurrent Functional Logic Scripting 8 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 OO Abstraction Encapsulation * Inheritance Polumorphism * 11 Concurrent Concurrent Processes Higher level of abstraction to exploit concurrency 12 Functional Functions as Higher order, first class citizens Assignment-less programming 13 Logic Infer relationships Predicate logic 14 Scripting Commands to execute system level operations, text manipulation, transformations, ... 15 Language Paradigms 16 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 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 Exercise In your favorite language, write a shortest program that prints “Hello World!” 21.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us