INTERCAL-ohjelmointi: Älä käytä tätä kieltä

Disclosure: Tukisi auttaa pitämään sivuston toiminnassa! Ansaitsemme lähetysmaksun joistakin tämän sivun suosittelemista palveluista.


Joten olet siirtynyt JavaScript-opetusohjelmien ohi ja kiinnittänyt huonoa PHP-koodia. Olet syventynyt Rubyyn vähän, mutta huomasit, että pidit todella Pythonista. Ja se ei ollut niin paljon, että pidit Pythonista sovellusten rakentamiseen, mutta pääset todellakin komentosarjoihin.

Komentosarjoista lähtien aloit tutkia Linuxia, ja sinut kiinnosti kaikki ilmaiset ja avoimen lähdekoodin ohjelmistot, joten aloit lukea Richard Stallmanista ja GNU-projektista.

Ennen kuin tiedät sen, puhut IRC-chatissa, naurat jokaisesta XKCD: n vitsistä ja olet lukenut žargon-tiedoston jokaisen sivun. Kahdesti. Mitä nyt?

Haluat parantaa ohjelmointitaitojasi ja hakkerointikatuasi. Olet ajatellut oppia C: tä, mutta se tuntuu aivan liian hyödylliseltä.

Toivot lukevasi tietokoneohjelmoinnin taiteen, mutta olet päättänyt odottaa, kunnes lopullinen painos on saatavilla.

Joten mikä on seuraava askel? Mikä on seuraava Geek Scout -kenkäsi ansiomerkki?

INTERCAL!

Oletko koskaan halunnut oppia tietokoneen kielen, joka oli täysin hyödytöntä? Eikä turha, kuten JavaScript 90-luvulla – ei hyödytöntä, koska se on liian helppoa tai hyödytöntä, koska se on liian kevyt.

Kun olit lapsi, opisitko puhumaan Klingonia tai Elvisiä? Haluatko toistaa tämän kokemuksen kaikkine yksinäisyytensä ja nörttien kanssa, mutta miinus hauskaa?

INTERCAL!

Mikä on INTERCAL?

Jotkut sanovat, että INTERCAL on kieli. Toiset sanovat, että INTERCAL on vitsi. Ehkä INTERCAL on vain huhu, huijaus, kaupunkilegenda. Ehkä Arthurian legenda?

Se on kaikki nämä. Se ei ole mikään näistä. Tietääkö kukaan? No, itse asiassa monet ihmiset tietävät. Se on kaikki erittäin dokumentoitu. Mutta dokumentaatio voi olla lopussa valhe.

INTERCAL!

Mitä me tiedämme INTERCALista?

Ensinnäkin tiedämme, että INTERCAL ei ole edes kielen oikea nimi. Kielen oikea nimi on ”Kääntäjäkieli, jolla ei ole ääntämätöntä lyhennettä.” INTERCAL on tietysti lausuttava lyhenne. Mikä tarkoittaa, että se ei ole oikea lyhenne.

Tiedämme myös, että INTERCAL keksittiin vuonna 1972 Princetonissa. Kaksi keksijää, Don Woods ja James M Lyon, suunnittelivat sitä alun perin parodiana. Se oli suunniteltu toimimaan rei’ityskorteilla, omituisella ja vanhentuneella tekniikalla, joka syntyi kangas kutomalla kangaspuita.

INTERCAL-suunnittelu

INTERCAL suunniteltiin erilaiseksi kuin kaikki muut olemassa olevat tietokoneohjelmointikielet.

Tehokkain tapa tehdä tietokoneohjelmointikieli eroon kaikista muista ohjelmointikieleistä olisi luoda kieli, joka on todella helppokäyttöinen ja helppo lukea ja joka suorittaa ne asiat, jotka halusit suorittaa, ja jotka eivät suorita asioita. että et halua sen suorittavan.

INTERCALin suunnittelijat kuitenkin menivät toiseen suuntaan.

INTERCAL on tarkoituksellisesti vaikeaa. On melkein mahdotonta lukea tai kirjoittaa. Triviaalimman tehtävän suorittaminen on poikkeuksellisen aikaa vievää ja päänsärkyä aiheuttavaa.

Syntaksilla ei ole mitään järkeä. Sanastolla ei ole mitään järkeä. Ja omituiset kääntäjät tekevät käytännössä varmaksi, että INTERCAL-ohjelmaan kirjoitettu ohjelma ei käyttäydy odotetusti ensimmäisen kerran suoritettuaan..

Toisin sanoen, kun se todella tulee siihen, INTERCAL on aivan kuten kaikki muut tietokoneohjelmointikielet – ainakin tuolloin. Ja se oli enemmän tai vähemmän asia.

Pieni historia

INTERCALin keksijät toteuttivat sen, saivat muutaman naurun ja unohtivat sen nopeasti.

Kielikäsikirja kuitenkin jatkoi. Itse dokumentaatio oli hauskempi kuin kieli; tämä on järkevää, koska dokumentaatio on kirjoitettu englanniksi ja kieli oli täysin läpäisemätön.

Kielikäsikirjan kopioita siirrettiin geekistä geekeihin, ja lukemattomia määriä scraggly-partoja silitettiin matkan varrella..

Lopulta kieli sai uuden elämän C-INTERCAL-toteutuksessa, joka on edelleen olemassa.

Siellä on myös toinen toteutus, kutsu CLC-INTERCAL. Tämä tarkoittaa, että ainakin kaksi erilaista tietokoneohjelmoijaa, ja luultavasti paljon enemmän, on viettänyt ei-triviaalisen prosenttiosuuden äärellisestä elämästään lukemalla, ymmärtämällä ja toteuttamalla dokumentaatiota kielelle, jolla ei ole mitään järkeä eikä osaa todella tekevät paljon.

Mikä on vieläkin hämmästyttävämpi, on silmiinpistävä kirkkaustaso ja matemaattinen älykkyys, jota tarvitaan minkä tahansa tämän pään tai hännän tekemiseen.

Kielen ominaisuudet

Kuten aiemmin mainittiin, itse INTERCAL-kieli on melkein käsittämätön. Mikä tahansa INTERCALissa todella hyödyllinen on melkein varmasti virhe, ja mikä tahansa dokumentoinnin helppo ymmärtäminen on melkein varmasti vitsi.

Esimerkki syntaksi

Tässä on vähän näytekoodia, joka on otettu suoraan INTERCAL-dokumentaatiosta:

PLEASE, 1 <- # 2
DO .1 <- # 2
DO, 1 SUB .1 <- # 1
DO, 1 SUB # 1 <- ,1 SUB # 2
PLEASE; 1 <- # 2 # 2
DO; 1 SUB # 1 # 2 <- ,1 SUB, 1 SUB .1
LUE LISÄÄ; 1SUB # 1.1
LOPPU

Voisin kertoa sinulle, mitä tämä koodi tekee, mutta sillä ei olisi väliä.

Näytevirheet

Ehkä INTERCALin tunnetuin virhe liittyy avainsanaan PLEASE. INTERCAL-ohjelman tulee sisältää sana PLEASE riittävän monta kertaa. On kuitenkin epäselvää, mikä tämä riittävä määrä on.

Jos ohjelmoija ei sano PLEASE tarpeeksi usein, kääntäjä hylkää ohjelman, koska se ei ole riittävän kohtelias. Jos ohjelmoija kuitenkin käyttää sanaa PLEASE liikaa, ohjelma hylätään liian kohteliasta ja liian innokasta.

Jos tällaista käyttäytymistä haluat nähdä kääntäjässä, olet sairas, sairas ihminen.

Muita uskomattoman hyödyllisiä virheitä ovat:

  • E111 YHTEISÖN ALAKOHTA TUNNISTETTU

  • E277 VAIN VOITTAMAT VÄHITTÄMÄT MATEMATIIKAN LAITTEET

  • Psyykkisen terveyden syistä hylätty E405 -ohjelma

  • E666 -KOMPILAATTORILLA ON KYSYMYYS

  • E774 RANDOM -KOMPLEKTORI.

Viimeinen virhe, Random Compiler Bug voidaan tosiasiallisesti sammuttaa lähettämällä tietty vaihtoehto, kun käynnistät ohjelman. Tämä on “palkinto käyttöohjeen lukemisesta”. (Siksi en kertonut sinulle, mikä kyseinen vaihtoehto oli.)

Kieliresurssit

  • INTERCAL-OHJELMOINTI Kielen viitekäsikirja – Alkuperäinen teksti vuodelta 1973.

  • INTERCAL-ohjelmointikielen tarkistettu käyttöohje – Uudistettu, moderni teksti.

  • INTERCAL-resurssisivu – kaikki mitä sinun on ehkä tiedettävä INTERCALista.

  • Jargon-tiedosto – kansani kulttuurihistoria.

  • INTERCAL – Saman nimisen taiteilijan house- / tanssimusiikin albumi, joka on nimetty kielen mukaan.

Siirtyä eteenpäin

Et halua siirtyä eteenpäin INTERCALin kanssa. Se on parodiakieli, jonka tarkoituksena oli tuoda esiin 1960-luvun lopulla ja 1970-luvun alkupuolella esiintyneet ohjelmointikielten ongelmat. Mutta se on edelleen hyvä muistutus siitä, miten ohjelmointikieltä ei suunnitella.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map