Whitespace

llenguatge de programació From Wikipedia, the free encyclopedia

Whitespace
Remove ads

El Whitespace és un llenguatge de programació esotèric desenvolupat per Edwin Brady i Chris Morris a la Universitat de Durham (desenvolupadors, també, del llenguatge de programació Kaya). Es va fer públic l'1 d'abril del 2003 (April Fool's Day). El seu nom fa referència al caràcters d'espai. Al contrari de gairebé tots els llenguatges de programació, que ignoren o donen molt poc significat a la majoria de caràcters d'espai, l'interpretador de Whitespace ignora tots els caràcters que no són d'espai. Només tenen significat els espais, les tabulacions i els salts de línia[1] Una conseqüència interessant d'aquesta propietat és que un programa en Whitespace pot estar dins els caràcters d'espai d'un programa escrit en un altre llenguatge, convertint el text en un poliglot.

Dades ràpides Tipus, Data de creació ...
Thumb
El programa Hola Món! en Whitespace amb la sintaxi destacada
  tabs
  spaces

El llenguatge en si mateix és llenguatge basat en l'stack imperatiu. La màquina virtual en la que s'executa el programa té una stack i un heap. El programador és lliure d'empilar enters d'amplades arbitràries a l'stack (actualment no hi ha implementació per a nombres decimals) i també pot accedir al heap com a lloc permanent per a emmagatzemar dades i estructures de dades.

Remove ads

Història

El Whitespace va ser creat per Edwin Brady i Chris Morris el 2002. Slashdot va fer una ressenya d'aquest llenguatge de programació l'1 d'abril del 2003.[2] Aquell mateix any, es va implementar en Whitespace un interpretador per a ell.

La idea d'usar caràcters d'espai com a operadors per al llenguatge C++ la va suggerir Bjarne Stroustrup com a broma cinc anys abans.

Sintaxi

Les comandes estan compostes de seqüències d'espais, tabulacions i salts de línia. Per exemple, tabulació-espai-espai-espai afegeix els dos elements de dalt de tot a la stack. Les dades estan representades en binari usant espais (0) i tabulacions (1), seguides d'un salt de línia, per exemple espai-espai-espai-tabulació-espai-tabulació-tabulació és el número 11. Qualsevol altre caràcter és ignorat, per tant, es poden fer servir com a comentaris.

Remove ads

Exemple de codi

Aquest codi imprimeix "Hello World!". S'han pintat els fons dels caràcters d'espai amb diferents colors i s'han marcat amb separadors, ja que en realitat són invisibles. ( Space ,  Tab )

| | | |
| | | |	| | |	| | | |
|	|	| | | | |	|
| | | |	|	| | |	| |	|
|	|	| | | | |	| |
| | | |	|	| |	|	| | |
|	|	| | | | |	|	|
| | | |	|	| |	|	| | |
|	|	| | | | |	| | |
| | | |	|	| |	|	|	|	|
|	|	| | | | |	| |	|
| | | |	| |	|	| | |
|	|	| | | | |	|	| |
| | | |	| | | | | |
|	|	| | | | |	|	|	|
| | | |	|	|	| |	|	|	|
|	|	| | |
| | |	| | | |
| | | |	|	| |	|	|	|	|
|	|	| | | | |	| | |	|
| | | |	|	|	| | |	| |
|	|	| | | | |	| |	| |
| | | |	|	| |	|	| | |
|	|	| | | | |	| |	|	|
| | | |	|	| | |
|	| | |
|	|	| | | | |	|	| | |
| | | |	| | | | |	|
|	|	| | | | |	|	| |	|
| | | |	|	| |	|
|	|	| | | | |	|	|	| |
| | | |	| |	| |
|	|	| | | | |	|	|	|	|
| | | | |
|	|
|	| | | | | |
línia-en-blanc
| | | | |	|
línia-en-blanc
| |	|	|	| |
línia-en-blanc
|	| | |	| |
|	|
| | | | | |	|
|	| | | |
línia-en-blanc
| | |	|
línia-en-blanc
| | | |	| |
línia-en-blanc
línia-en-blanc/EOF

Vegeu també

  • brainfuck, un altre llenguatge de programació esotèric que, tal com fa el Whitespace, ignora qualsevol cosa que no reconeix.
  • LOLCODE, un llenguatge de programació a partir de diversos memes d'internet.
  • INTERCAL, el "Llenguatge de Compilació Amb un Acrònim No Pronunciable"
  • Políglot, un programa vàlid en més d'un llenguatge.
  • Esteganografia

Referències

Enllaços externs

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads