Uteliaisuudet: Esoteeriset ohjelmointikielet

Esoteeriset ohjelmointikielet ovat minimalistisia kieliä, jotka on luotu todisteeksi konseptista ja / tai haasteesta sekä kielen ohjelmoimiseksi että sen kirjoittamiseksi. Katsotaanpa katsaus joihinkin niistä:

brainfuck


Se on tunnetuin ja suosituin, sen syntakse on melko yksinkertainen:

 
 + + + + + + + + + +
 [          Silmukka muistien aloittamiseksi (toistuu 10 kertaa)
    >+++++++>+ + + + + + + + + +>+++++++++++>+ + +>+<<<<-
       70 100 110
 ]
 >++.              'H' (72) 1
 >>+.              tai ((111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             välilyönti (32) 4
 <+.               'm' (109) 3
 ++++++++.         u (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               tai ((111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

Sen syntaksin selittämiseksi on parasta käyttää muita ohjelmointikieliä. Joten sisään hänen Wikipedia-sivunsa anna meille tämä vastaavuustaulukko, jossa ptr vastaa allekirjoittamatonta merkkiä:

aivot C Perl
> ++ ptr; $ osoitin ++;
< –Ptr; $ osoitin -;
+ ++ * ptr; $ nauha [$ osoitin] ++;
- - * ptr; $ nauha [$ osoitin] -;
. putchar (* ptr); tulosta chr $ tape [$ osoitin];
, * ptr = getchar (); $ nauha [$ osoitin] = ord (<>);
[ kun (* ptr) { while ($ nauha [$ osoitin]) {
] } }

Ook!


Se perustuu edelliseen, mutta käyttää sen sijaan sanayhdistelmää Okei?, Okei! y Myös. Se on parodia kirjastosta Levymaailma, joka muuttuu orangutaniksi ja voi lausua vain nämä kolme sanaa. Katsotaanpa koodinpätkä.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

Oletettavasti tämä "ohjelma" kirjoittaa tyypillisen "hei-maailman".

befunge


Mielestäni kaikkein omaperäisin, sen virtauksen ohjausrakenne perustuu nuoliin, jotka kertovat ohjelmalle minne mennä. Lisäksi se helpottaa mutanttikoodin (itse muuttavan koodin) luomista:

vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^

Yllä oleva koodi koskee ääretöntä satunnaislukugeneraattoria, joka tuottaa luvun välillä 1 ja 9. Paljon helpommin luettavissa kuin edelliset.

malbolge


Tässä meillä on ohjelmointikieli, joka on luotu ärsyttäväksi ja lukukelvottomaksi (ei, se ei ole Cja ei, se ei ole Perl). On noin malbolge, jonka nimi tulee helvetin 8. ympyrästä Jumalallinen komedia. Tässä on "hei maailma" (tai se mitä minulle on sanottu):

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Lolcat


Yksinkertainen vitsi. Katsotaanpa koodisi:

Onko
CAN HAS STDIUM?
MINULLA ON VAR
IM IN YR LOOP
   UP VAR!!1
   VISIBLE VAR
   IZ VAR BIGGER KUIN 10? KTHX
IM ULOS YR LOOP
KTHXBYE

Koska se on paljon luettavampi kuin edelliset ohjelmointikielet, annan sinun arvata, mitä sen on tarkoitus tehdä. 😉

SISÄPUHELU


Viimeisenä mutta ei vähäisimpänä meillä on parodia FORTRAN-ohjelmointikielestä. INTERCAL. Ja tässä hei maailma.
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE LUE LISÄÄ OUT ,1
PLEASE ANTAA UP
No, se siinä.

Minun on sanottava, että jotkut näistä ohjelmointikielistä ovat erittäin hyödyllisiä oppimaan joitain tietokonekonsepteja. Esimerkiksi, brainfuck se on täydellinen oppimaan viitteitä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   davidlg dijo

    Pidän melkein binäärikoodia

    1.    desikoderi dijo

      Kyllä, olen ehdottomasti mieluummin ohjelmoinut binäärimuodossa tai assemblerissa suoraan, voit tehdä mitä tahansa (korkean tason kielet päätyvät loppujen lopuksi suorittimeen), mutta esoteeristen kielten mielenkiintoinen asia on niiden edustama haaste. Muuten, roader (tämän artikkelin kirjoittaja), sinä kiusaat minua. Kuinka C ja Perl ovat lukukelvottomia ja ärsyttäviä? Mikä sietämätön rikos! Mikä suuttumus! Mutta jos C on ihana, en ole ohjelmoinut perlissä, mutta olen nähnyt hyviä kommentteja tästä kielestä, koska se on ilmeisesti erittäin sopiva tiedostojen, merkkijonojen ja näiden podien käsittelyyn, esimerkiksi hyödyntämiseen, se on melko hyvä, vaikka cy python hyödyntää Työskentele hyvin ...

      Saludos!

      1.    tienkuljettaja dijo

        Mies, C- ja perl-juttu oli vitsi, ja kyllä, ne ovat melko luettavia kieliä, hyvin käytännöllisiä ja "kauniita" oikeissa käsissä. Tietysti CI: ssä olen nähnyt, että jotkut ihmiset lopulta luovat sotkeutumatonta spagettikoodia, ja ilman kirjanpitoa. Perlin osalta ei vain tapahdu samaa kuin C: n kanssa, mutta koska olet niin joustava, voit löytää asioita, jotka vastustavat tervettä järkeä. Minun on sanottava, että minulla ei ole kokemusta ohjelmoinnista Perlissä, mutta tiedän sen syntaksin melko hyvin.

  2.   Joaquin dijo

    Ensimmäinen on kuinka kirjoittaa morse-koodiin 😀

    1.    tienkuljettaja dijo

      Ja toisen on oltava orangutaani, ja neljäs, se aiheuttaa aivoinfarkteja.

  3.   Tyrus Junior dijo

    Erittäin hyvä viesti.

  4.   johnfgs dijo
    1.    tienkuljettaja dijo

      Ja kokki, unlamda, välilyönti ja tink. Mutta en halunnut tehdä artikkelista liian isoa.

  5.   diatsepa dijo

    ON NÄYTÖN PAIKKA
    Puhu kädelle «hei maailma»
    Sinut on lopetettu

    Hei maailma Arnoldissa

    http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger

    1.    tienkuljettaja dijo

      No, hän ei tiennyt sitä, luulen, että idean antoi hänelle "null-terminaattori"

  6.   eliotime3000 dijo

    Totuus on, että nuo ohjelmointikielet ovat saaneet minut nauramaan. Hyvä.