Cheatography
https://cheatography.com
Programming Languages Concepts Cheat Sheet (CSI3120)
This is a draft cheat sheet. It is a work in progress and is not finished yet.
Programming languages evaluation criteria
Readability |
overall simplicity, orthogonality, data types, syntax considerations |
Writability |
simplicity and orthogonality, expressivity |
Reliability |
type checking, exception handling, aliasing, readability and writability |
Cost |
training, writing, compilation, execution, implementation, reliability, maintenance |
Other criteria: portability, generality, well-definedness
|
Why we study programming languages
Increases our capacity to use different constructs |
Enables us to choose languages more intelligently |
Makes learning new languages easier |
Understading of the significance of implementation |
Overall advancement of computing |
Programming languages categories
Imperative |
variables, assignments and interation (C, Java, JS, Perl, ...) |
Functional |
computations via functions (LISP, Scheme, ML, F#, ...) |
Logic |
rule-based (ex: Prolog) |
Markup/programming hybrid |
markup exteded to support programming (HTML, XML, JSTL, XSLT, ...) |
|
|
von Neumann Architecture
Keep fetch-execute-cycle in mind
|
|
|