Upoznajte Whitespace: najprisutniji programski jezik na svijetu?

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.

Whitespace je ezoterični programski jezik koji su razvili Edwin Brady i Chris Morris sa Sveučilišta u Durhamu. U Whitespaceu samo razmaci, tabulatori i linkovi imaju značenje, dok tumač zanemaruje sve druge znakove koji nisu bjeline..

Ako ovo zvuči čudno i nepraktično, da, jeste! Zapravo, to’s cijelom točkom Whitespacea.

Kratka povijest

Brady i Morris dobili su ideju da stvore Whitespace tijekom razgovora u pubu, krajem 2002. Budući da većina programskih jezika ignorira znakove bijelog prostora, programeri su smatrali da to nije fer prema ovim članovima skupa znakova, pa su odlučili stvoriti Whitespace. Vjerojatno bismo trebali napomenuti da većina programskih jezika nije dizajnirana u pabovima, pa je ovo samo još jedan faktoid koji Whitespace čini jedinstvenim.

Whitespace je objavljen 1. travnja 2003., pa se u početku činilo kao pretjerano razrađeni April Fool’s Šalu. Međutim, datum izlaska 1. travnja bio je čisto slučajni. Zapravo, datum izlaska pokazao se prilično prigodnim, jer je privukao veliku pozornost na Slashdotu kada je službeno najavljen.

Značajke

Whitespace je imperativ, programski jezik temeljen na snopu koji podržava cijele brojeve. Podrška za brojeve s pomičnim zarezom nije implementirana. U svojoj sintaksi imaju samo znakovi razmaka – razmak, tablica i feed linije imaju značenje, svi ostali znakovi se zanemaruju. Kao posljedica toga, Whitespace programi mogu se nalaziti unutar znakova bijelog prostora programa napisanog na drugom jeziku ili u običnoj tekstualnoj datoteci.

Teoretski, programer bi mogao napisati roman oko svojeg Whitespace koda – kod bi i dalje radio, ali većina ljudi bi vidjela roman, a ne ispod Whitespace koda.

Budući da je ezoterični programski jezik (esolang), Whitespace je stvoren za testiranje ograničenja dizajna računalnog programskog jezika, a nije namijenjen korištenju za uobičajeno programiranje. To je jednostavno dokaz koncepta, s vrlo ograničenim praktičnim primjenama od tada’teško se koristi u stvarnom svijetu.

No, kao demonstrator tehnologije dizajniran kako bi dokazao da zapravo možete imati radni programski jezik koji se temelji na bijelom prostoru, a ne na znakovima, to definitivno djeluje. Nažalost, Whitespace nije’nije dizajniran ni za što više od toga. Bio je to složen tehnološki demo, a ne programski jezik dizajniran za praktične aplikacije.

Sintaksa

Naredbe u Whitespace-u, kao i cijeli kôd, sastavljeni su iz slijeda razmaka, zaustavljanja kartica i linkova retka. Na primjer, tablica-prostor-prostor provodi aritmetičko dodavanje gornja dva elementa na hrpi. Kôd je napisan u obliku parametra modifikatora upute (IMP), nakon kojeg slijedi postupak. Whitespace ima sljedeće IMP-ove: “prostor” – manipulacija s hrpom, “kartica-prostor” – aritmetika, “Kartica-kartica” – heap pristup, “pomak papira na novi redak” – kontrola protoka, “kartica-pomak papira na novi redak” – ulaz izlaz.

Podaci su predstavljeni u binarnom obliku, koristeći razmake za 0 i tablice za 1, nakon čega slijedi dovod linije, na primjer, prostor-prostor-prostor-prostor-tab-tab-prostor-redak-linefeed je binarni broj 000110, što je 6 u decimalnom obliku.

Sljedeći primjer broji od 1 do 5 i ispisuje brojeve od 1 do 5, gdje “S” predstavlja prostor, “T” – karticu i “L” – linijski feed:

SSSTL LSSSTSSSSTTL SLS TLST SSSTSTSL TLSS SSSTL TSSS SLS SSSTTSL TSST LTSSTSSSTSTL LSSSTSSSTSTL SLL LLL

Izlaz iz gornjeg koda je:

1 2 3 4 5

Kako o pisanju Hello World u Whitespaceu? Pa, za to bi bilo potrebno kodirati gotovo svako svako slovo i ti’Na kraju s oko 950 primjeraka prostora, kartica i crtanih linija. To’To definitivno nije primjer koji možemo uključiti u naš uvod u Whitespace, ali u slučaju da vi’Zainteresirani ste, a imate previše slobodnog vremena na rukama, to možete provjeriti ovdje.

Resursi na bijelom prostoru

Uz učenje Whitespace-a nema koristi, ali ako vam se koncept sviđa i želite naučiti više o njemu ili isprobati nekoliko primjera, pogledajte sljedeće resurse:

  • Službena web stranica Whitespace je offline, tako da je vaša jedina opcija provjeriti arhivirani sadržaj Wayback Machine s objašnjenjima, vodičima i primjerima programskog jezika Whitespace na djelu..
  • Možete isprobati nekoliko primjera koristeći Whitelips IDE Online Whitespace prevodilac, koji učitava “Pozdrav svijete” primjer prema zadanom. Iznenadit ćete se koliko je primjer takav, jer u Whitespaceu morate definirati svaki znak jedan po jedan koristeći ASCII kodove.

Zaključak

Kao programski jezik, Whitespace je jednako egzotičan koliko i ezoterijski jezični standardi.

Dok je’To nije programski jezik koji ljudi zapravo koriste za bilo što produktivno, to’To je pametna mentalna vježba i služi kao dokaz da možete gotovo bilo što pretvoriti u kod, barem u teoriji.

Jednom kada ga isprobate i shvatite kako to funkcionira, vi’više ili manje učinite s Whitespaceom, jer to stvarno možete’ne koristim ga za ništa ozbiljno. Pa, barem ne, osim ako nemate puno vremena za ubijanje i ništa bolje.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me