Code - (Programming|Computer) Language

If you have ever studied a second language yourself and then tried to use it outside the classroom, you know that there are three things you must master:

  • how the language is structured (grammar),
  • how to name things you want to talk about (vocabulary),
  • and the customary and effective ways to say everyday things (usage).

Too often only the first two are covered in the classroom,

and you find native speakers constantly suppressing their laughter as you try to make yourself understood. It is much the same with a programming language…. Grammar and vocabulary are properties of the language alone, but usage is characteristic of a community that uses it….the customary and effective ways to structure your code.

The limits of my language mean the limits of my world.

Ludwig Wittgenstein Tractatus Logico-Philosophicus (1922)

Code is like humor. When you have to explain it, it’s bad.


A program, often referred to as source code or just code, is a set of special instructions that tell the computer what tasks to perform and is written in one or more source file.

The rules for valid format and combinations of instructions is called a computer language, sometimes referred to as its syntax (or grammar), much the same as English tells you how to spell words and how to create valid sentences using words and punctuation.

Ultimately every code will be transformed (compiled) into binary file.

There are:

Code is read far more than it's written

It's extremely easy to read:

With code reuse, your lines of code will start to shrink.

If you encounter a frustration or an unexpected behavior of a language feature, your response should be to add it to the blacklist.

Static vs Runtime

Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between:

  • the program (spread out in text space)
  • and the process (spread out in time)

as trivial as possible.

Dijkstra (1968) - A Case against the GO TO Statement

Software development

Documentation / Reference

Task Runner