Principles_of_Programming_Languages - Isaac Ibrahim Sadaqah...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Isaac Ibrahim Sadaqah -Notes Principles of Programing Languages Taught by- Daniel Scharstein Grading HW 60% 3 24 hours exceptions no questions asked Quizzes 10% 1 every one or two weeks Midterm 20% Wednesday 3/18 7:30pm Final 30% Self-Scheduled Principles of Programming Languages Programming Languages Survey Programming Languages Paradigms Procedural FORTRAN, ALGOL, BASIC, C, Pascal, Python OO Ada, C++, Java, C#, SmallTalk, Python Functional LISP {Common LISP, Dylan, Logo, Scheme }, Haskell, ML, Python Logic (declarative, based on mathematical logic) Prolog Scripting Languages (text processing, shells, HTML, CGI) awk (text processing, extracts patterns), Perl, Tcl/Tk, Python , PHP, Ruby Monday Feb 9, 2009 Lecture #1 Why study programming languages As users know how to choose PL know useful programming constructs As designers understand the motivation; why a feature is present in one language and not the other. As implementers (compiler writer) All programming languages have universal computing power (equivalent to Turing machine) we are interested in practical power how easy to implement libraries how fast the language runs (trade off with the above 2) easy to compile platforms how easy to debug Programming Language Pros Cons Java platform independent garbage collector (frees memory) garbage collector (takes up time every time it runs) C no objects not very safe Ruby clean object oriented language interpreted/easy to use slow Python everything is an object slow BASIC Scheme too many parenthesis Tcl PHP Javascript Matlab Perl SmallTalk ML Prolog Programming Linguistics Sapir-Wharf hypothesis Structure of languages define the boundaries of thought. applied to PL Language choice affects solutions you are likely to use. Trade offs we think about when choosing a language expressive power vs. safety pascal and Java are safe, everything is typed, you can not access things unsafely, but it is a pain to have to declare everything, or you may need to write a program that needs to change itself. implementation (building compiler) vs. usefulness what features to build into your language, LISP and Scheme look very similar, the language of scheme is the minimal subset of LISP, LISP has way too many features. Syntax: concise vs. clean syntax C vs. Java = assignment == equal/comparison PASCAL == assignment = equal HW for Wed, Read Chapter 1 Wednesday Feb 11, 2009 Lecture #2 Verbal Quiz on reading what is machine language? code, the language of 0s and 1s. what is assembly language? is English words that has one to one translation to machine code....
View Full Document

This note was uploaded on 10/03/2009 for the course CSCI 0311 taught by Professor Danielscharstien during the Spring '08 term at Middlebury.

Page1 / 65

Principles_of_Programming_Languages - Isaac Ibrahim Sadaqah...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online