We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Concept Programming: The Art of Turning Ideas into Code

Formal Metadata

Title
Concept Programming: The Art of Turning Ideas into Code
Subtitle
Building the Matrix. Understanding how we programm
Alternative Title
Concept Programming, from ideas to code
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Programming is the art of turning ideas into code. Ideas and code do not live in the same space. Any translation is lossy. Concept programming is a cross-language approach that focuses on this translation process, and helps identify often overlooked classes of issues. Ideas and code do not live in the same space. Consequently, any translation is lossy. But this loss is not immediately visible. For example, how does your programming language coerce you into coding a concept as simple as "maximum" or list in a way that is generally full of warts? Concept programming is a cross-language approach that focuses on this translation process, and helps identify often overlooked classes of issues. It separates the "concept space" and the "code space", and focuses on how the mechanics in one space translate (or not) into the other. It introduces a few core ideas: Syntactic noise is the difference in look between code and concept. For example, in Lisp, you write (+ 1 2) Semantic noise is the difference in behavior between code and concept. For example, in C, text is null-terminated. Bandwidth is the amount of the concept space covered by the code. For example, the "+" operator has higher bandwidth in C++ than in C Signal/noise ratio is the amount of code that does not carry any useful concept. For example, curly braces and semi-colons in C.