On this page:
Principles of Programming Languages

Principles of Programming Languages

Programming Languages

I expect students to visit this page once per 24 hours starting with the first day of the semester.

Thursday, January 16th, 2020 8:55:05am

This short clip is a love letter to all those of you who think that Node.js is new, fast, amazing, and whatever. (Not that threads are the solution either.) As I said in class yesterday, science is not a consensus business, a majority-rules area, or worst of all a fashion industry—even though it’s practitioners have acted like this for millenia. Keep this general idea in mind.

Wednesday, January 15th, 2020 9:35:27am

Thanks to Nathaniel R. for pointing to a Python Wat repository. I am replicating it here for "eternity".

Tuesday, January 14th, 2020 4:31:41pm

Let me remind everyone that the web page for the course is easily reachable from my CCIS page:

my CCIS page

A backup page is provided at my personal web page. It really is just a backup page in case CCIS’s web cache gets in your way. (Ask in class.) The primary page is provide thru the College’s server.

Tuesday, January 14th, 2020 12:16:10pm

2 — Static Distance, Simple Interpretation has an exceptional due time. I have pushed back the due time so that you can benefit from the help session that Suzanne and Julia will run in the morning.

Tuesday, January 7th, 2020 12:41:25pm

Every year Stackoverflow publishes a the results of surveying software developers. The 2019 results came out a couple of weeks back. Now that you have seen the first lecture, you understand that this is just one of many perspectives on programming languages and perhaps not even the most relevant one. It is still interesting to peruse the tables and figures for simple facts, such as Clojure programmers are the most highly paid programmers or only 7% of developers work less than 30 hours a week.

[As someone said after class, I followed the design recipe for programming in Algorithms and needed one or two hours; my friends didn’t and they needed two days.]

Sunday, December 8th, 2019 4:43:12pm

Please watch the original Wat Video. Some two years ago, Katie McLaughlin gave a really neat JavaScript is awe-ful presentation at Linux.Conf.Au, and I would like you to watch her talk after you are through with "Wat".

Then start thinking about which programming language you would like to use for solving the homework problems in this course. You may wish to use a language you know well or you may wish to learn more about a language that you know a little. (I recommend against learning a brand-new language.)

To make sure that we can automatically test your solutions, you will need to make sure that your language (1) runs on the College’s Linux boxes (see Delivery), (2) permits reading from standard input (STDIN) and writing to standard output (STDOUT), and (3) comes with a decent library for mapping JSON/XML/S-expression information to a data representation (reading) and back (writing).