Skip to content
/ plm18 Public

programming languages and modeling, NCSU 2018

License

Notifications You must be signed in to change notification settings

txt/plm18

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

home | copyright ©2018, tim@menzies.us

syllabus | src | submit | chat


Home

The premise of this subject is that computer programming languages should adapt to the ways of people, and not the other way around. Why? well...

  • Sapir-Whorf hypothesis: The structure of a language affects its speakers' world view or cognition.
  • Given the right language, problem solving becomes easier Hofstadter, 1980, p286
    • Experts don't think deeper than novices; rather, they just don't waste as much time on bad ideas.
    • The right language is like a feature extractors act like a "filter": e.g. in chess, an expert literally does not see bad moves;
    • Massive implicit pruning of the search space Larkin, et.al. 1980

So this subject explores how to write a "good" programming language.

Lectures Project Review Misc
Introduction:
Hello!, Style,
Python (intro):
Lopes' prologue, 3, 4, 5,6, 8, 9, 10, 16, 19, classes, iterators,
Parsing (basics):
Regx, syntax, lambda, stocks and flows, macros, logic, prolog, macros
Metaphors:
States, Tubs
Lopes' styles:
spreadsheet, map-reduce, RESTful,...
Paradigms:
make, lambdaCalculus, Lisp, smalltalk, Prolog, Unix, Virtual
Fowler's DSL idioms:
BNF, closure, decision table, dependency network, state machine, production rules....
1. Proj3 0.Project

Review1
Review2
Review3
Review4
Review5
Review6
Review7
Review8
Review9
Review10

Python:
Yoda
Magic
Intro


Fun:
Erlang

Lisp (ish):
Roots.lisp
Ultimate

Misc:
Liskov
Smalltalk
Languages2
Languages1

About

programming languages and modeling, NCSU 2018

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •