(Programming|Computer) Language or Code

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. G. L Steele Jr in Effective Java (2nd Edition)

The limits of my language mean the limits of my world. Ludwig Wittgenstein Tractatus Logico-Philosophicus (1922)

1 - About

For natural language, see (Natural|Human) Language - Text (Mining|Analytics)

There are:

3 - Language Type

  • Text-based computer languages based on sequences of characters
  • Visual programming languages based on the spatial layout and connections between symbols

4 - Core language

is it:

  • algorithmic,
  • functional,
  • object-oriented

4.1 - Scripting / Dynamic Language

4.2 - Compiled Language

4.3 - Query Language

4.4 - Markup and Style Sheets language

4.5 - DSL

5 - 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

6 - Lexical Analysis

7 - Common characteristic

8 - Turing tarpit

A Turing tarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn and use because it offers little or no support for common tasks.

9 - Documentation / Reference

  • Bookmark "(Programming|Computer) Language or Code" at del.icio.us
  • Bookmark "(Programming|Computer) Language or Code" at Digg
  • Bookmark "(Programming|Computer) Language or Code" at Ask
  • Bookmark "(Programming|Computer) Language or Code" at Google
  • Bookmark "(Programming|Computer) Language or Code" at StumbleUpon
  • Bookmark "(Programming|Computer) Language or Code" at Technorati
  • Bookmark "(Programming|Computer) Language or Code" at Live Bookmarks
  • Bookmark "(Programming|Computer) Language or Code" at Yahoo! Myweb
  • Bookmark "(Programming|Computer) Language or Code" at Facebook
  • Bookmark "(Programming|Computer) Language or Code" at Yahoo! Bookmarks
  • Bookmark "(Programming|Computer) Language or Code" at Twitter
  • Bookmark "(Programming|Computer) Language or Code" at myAOL
language/start.txt · Last modified: 2017/04/23 15:50 by gerardnico