
















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of programming languages and their evaluation criteria. It also mentions the Squash community at Carnegie Mellon University and some course offerings related to automated theorem proving, computation, and linear logic. factors affecting programmer productivity and the importance of language in implementing data structures, designing code, and analyzing programs. It also lists some faculty members and their research areas in software engineering, security, and theory of computation.
Typology: Lecture notes
1 / 24
This page cannot be seen from the preview
Don't miss anything!

















Frank PfenningCarnegie Mellon University Computer Science Immigration Course
August 2003
-^ Squash community at CMU!^ •^ Squash ladder; intramurals •^ Squash community in Pittsburgh (PSRA)^ •^ Three major annual tournaments^ •^ Two squash pros •^ Links from my home page (or send me mail)
, concurrency
-^ Karl Crary
, certified code, typed compilation
-^ Robert Harper
, certifying compilation, logical frameworks, module systems, type refinement • Peter Lee
, proof-carrying code, compilers
-^ Frank Pfenning
, logical frameworks, automated theorem proving, type refinement • John Reynolds
, imperative programming, reasoning about low-level languages • Dana Scott
(retd. May’03)
(ISRI), language techniques in software engineering • Ed Clarke
, hardware and software verification, model checking • David Garlan
, software architecture
-^ Bill Scherlis
(ISRI), software dependability
-^ Dawn Song
(ECE/CS), security
-^ Jeannette Wing
, software specification and verification, security
—Nico Habermann
Good languages make it easier to establish, verify, andmaintain the relationship between code and itsproperties.
—Robert Harper
Standard ML
Emacs Lisp
Twelf
TeX^
Csh^
Perl^
Java^
-^ Different languages for different purposes •^ Many are poorly designed^ •^ Those authors did not graduate from CMU!^ •^ Your favorite mis-feature?
X. After you have read andE
understood the secrets below, you’ll know all sort ofdevious combinations of T
X commands, and you willE
often be tempted to write inscrutable macros.
—Donald E. Knuth
Transactions of the
American Mathematical Society
, Vol. 39(3),
pp. 472–482, May 1936.
: Techniques for structuring languages to ensure safety and modularity ofprograms • Operational semantics
: Techniques for
describing the execution behavior of programs, atvarious level of abstraction • Mathematical logic
: Techniques for specifying
and verifying programs