Most of the work in learning a new programming language or system is in figuring out how the concepts you are accustomed to map into the new space.

This is an attempt to archive some examples of concepts for different systems.

A concept is an idea or a class of things - e.g. 'data pretty-printer' (something which dumps out a structure in readable form).

An example is a concrete instance of a concept. For example, Perl's Data::Dumper module is an example of a data pretty-printer.

A system is something which uses a whole heap of examples. Perl is a system, as are Linux, Zope and Windows.

With this database, we can answer questions like:

What is the Data::Dumper of Python?

To do this:

  1. Find Data::Dumper in the list of examples. (here).
  2. Look at the list of mappings to find out that Data::Dumper is a data pretty-printer.
  3. Click on data pretty-printer to get a list of other data pretty-printers.
  4. Look down - aha! pprint is a Data pretty-printer for Python

Why is this here?

Because of a Jon Udell article: 'Thinking by Analogy'.

Similar work

Syntax Across Languages (by Pixel at Mandrake) presents examples of syntax in various different programming languages

Programming Language Examples Alike Cookbook (by Guillaume Cottenceau) is an attempt to make a generic 'cookbook' for several scripting languages

Help out

Send us your ideas for other examples, concepts, systems and mappings. We're not done yet (obviously)!

If we like you, we might even give you editor access so you can change stuff yourself ;-)