-*- mode: markdown; mode: visual-line; mode: adaptive-wrap-prefix; -*-
Here's some background reading/research to get things started.
-
Some historical background: the History of Programming Languages. m
-
There is No Silver Bullet: some background on the history, and difficulties, of software engineering. Nevertheless, we'll be looking at many silver bullets.
-
Collaboration: we'll be working a lot with GitHub. It's a site for hosting collaborative open-source projects and libraries. Also, for collaborative brainstorming, look at MindMeister.
-
We'll be looking at a few different programming paradigms. Every programming language influences the way you think about solving problems and building systems. The more languages you see, the more you are exposed to the fundamental principles of computer science, learning skills which go beyond particular languages, techniques and systems.
-
We'll be starting with a couple of high-level languages which I've deliberately chosen to be different to each other (and probably different to other languages you've seen): Python - procedural, object-oriented - and Clojure - functional, a dialect of Lisp. We'll get to Javascript soon.
-
If you're reading the source text file of this
README
, you'll notice it's written in a markup language (one called Markdown). The best-known markup language is probably HTML, but they've been around for ages - the process of markup originates with printing on paper. -
We'll be encountering a few development environments (IDEs) as we go along, but to start we'll be working with one that's brand new: Light Table. It's open-source and a free download. It supports Python, Clojure, Javascript and web development.