We present the kernel language approach; a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uniform setting that shows their deep relationships and how to use them together. Widely different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity. © 2003 Springer Science+Business Media New York.
CITATION STYLE
Van Roy, P., & Haridi, S. (2003). Teaching programming broadly and deeply: The kernel language approach. In IFIP Advances in Information and Communication Technology (Vol. 117, pp. 53–62). Springer New York LLC. https://doi.org/10.1007/978-0-387-35619-8_6
Mendeley helps you to discover research relevant for your work.