IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Staňte sa Rockstar Developerom!

S rastúcim počtom IT Jóbovi a neustálym podstavom vývojárov a ďalšie "ajťáckych" profesií ŠÚ recruiter a personalisti nútení hladom nové predpokladaný termín, Ako pritiahnuť NOVÚ pracovnú silu. Objavujú sa rôzne revolučne benefity, od straveniek až po home office raz do tyzdna, Ako vedľajší produkt občas ai Vyššie platy. Najnovšie au marketingu obľúbeným nástrojom sa však stali tzv. Kreatívne inzeráty. Firmy nám v nich týkaj a lanária nás na Pozície typu "Ninja coder", "Senior Javascript Guru" Alebo "Rockstar Developer".

Že netušíte, čo od vás Mozu na takejto pozíciám chciet? Málokto tuší Niečo viac než tikajúce deadline a overtime na dennom poriadku. Vy však Moze ohúriť a prihlásiť sa na žiadanú pozíciám Rockstar Developera s unikátnym skillom - programovaním v jazyku Rockstar!

Čo to je?

Špecifikácia jazyka Rockstar vznikla v roku 2018 so zámerom vytvoriť naozajstný (ai ked zbytocne) programovací jazyk, aby recruiter a HR manažéri prestali používať spojenie "rockstar developer". Celý jazyk je postavený na myslienky, že program by mal hoci aj v duchu a forme rockových pesničiek z 80. rokov minulého storočia. Jazyk je dynamicky typizovanom a zatím (10/2018) príliš nepodporuje objekty.

Pre Rockstar existuje už v súčasnosť niekolko interpretovať a transpilerov, napr. Do JavaScriptu, C #, Pythone, Javy, C a ďalšie. V prípade zaujmú ich najdete cez Vyššie uvedený odkaz na GitHub, jedným z Najjednoduchšia na použitím je napr. Rockstar-py, ktory preložte váš Rockstar do Pythonu. Je ale nutné dodať, že kvoli "čerstvosti" jazyka a jeho prebiehajúcemu vývoj nie su jeho implementácie este úplne bug-free a často ani na 100% up-to-specs. :-)

Subor so zdrojovým kódom v Rockstar sa ukladajú do plaintextu, štandardne s príponou .rock. V ROCKSTAR tak mozem "vyvíjať" prakticky kdekolvek as čímkoľvek. Poďme sa už ale pustiť do programovaním.

Premenné

Existujú 2 rovnocenné predpokladaný termín, Ako v Rockstar vytvoriť premennú:

  • Všeobecné premenné začínaj jedným z kľúčových slov a, an, the, my Alebo your za ktorým nasleduje unikátny identifikátor danej premennej. Ten smie Obsahovo ľan lower-case ASCII písmená od a po z. Kľúčové slovo na zaciatky je tiez Súčasti identifikátora, takže napr. a boy je odlišná premenná od the boy.
  • Vlastne premenné ŠÚ už podľa názvu vlastne podstatné mená - začínaj sa veľkým začiatočným písmenom a mozu sa skladá z viacerych slov oddelených medzerou (za predpokladu, že tiez začína veľkým písmenom). Identifikátor Samozrejme nesmieme obsahovej ziadna Kľúčové slová jazyka. Hľa ked sa tymto sposobom ÚDAJOV vytvára premenné Ako Customer ID Alebo Cena Produktu, špecifikácia Odporučte používať skóre idiomatické názvy Ako Tommy, Doctor Feelgood, Billie Jean Alebo Janie.

Zámenou

Pomocou kľúčových slov it, he, she, him, her, they, them, ze, hir, zie, zir, xe, xem, ve, a ver sa vieme odkazom na posledný použitú premennú. Odporúčam ale túto feature nepoužíva, keďže vacsinou Implementácia Rockstar ju ešte nepodporuje.

Podobne Ako v Pythone Alebo Ruby, ai Rockstar je dynamicky typizovanom jazyk a nemusíme ani deklarovať premenné predtym, ako ich začne používať.

A K je premenná vytvorená mimo funkciám jedná sa o tzv. Globálne premennú, teda viditeľné v čelo zvyškov programu (od riadku, na ktorom je vytvorená Ďalej). Premenné vytvorené v rámci Funkcie ŠÚ lokálne a dostupné ľan do dokončením danej funkciám.

Typy

Ako sami uvidíte, typový systém v Rockstar je podobný tomu z ECMAScript (až na to, že undefined neznie Veľmi rockovo, tak sa Namiesto neho používa mysterious):

Mysterious

Reprezentuje hodnotu premennej, ktorej este nebola priradená Žiadna hodnota. Tento typ má ľan jednu Hodnota Označenie kľúčovým slovom mysterious.

Null

Podobný význam Ako v ostatných jazykoch. Pri porovnaní s nulou a hodnotou false vrátí pravdivý Výsledok. Okrem null Moze Použiť ai rovnocenné aliasy nothing, nowhere, nobody, empty a gone.

Boolean

Logický typ, mozem nadobudnem hodnoty true Alebo false. Kľúčové slová maybe a definitely maybe ŠÚ vyhradené pre možné budúca využitie. Pre true ŠÚ definovanej hľa aliasy right, yes a ok. Pre false ŠÚ definované aliasy wrong, no a lies.

Number

Čísla v ROCKSTAR ŠÚ Ukladanie v dátovom type DEC64. Pre oddelenie desatinnej časti sa používa bodka.

String

Stringy ŠÚ podľa Špecifikácie vnutorna reprezentovanej Ako sekvenciám 16-bitových unsigned integerov, ktore reprezentujte hodnoty z kódovaním UTF-16.

Stringy v kóde ŠÚ ohraničené dvojicou úvodzoviek. Apostrof (single quote) v sekvenciám 's\W+ (apostrof nasledovaný malým písmenom s a ľubovoľným počtom whitespace znakov) sa Preložte Ako is (vysvetlenie nižšími v článku), Všetky ostatné výskyty apostrofov ŠÚ ignorované.

Object

Kolekce pomenovaných vlastností inych dátových robn, podobne Ako v ECMAScripte.

Komentára

Použitím komentárov v Rockstar sa dôrazne neodporúča. Toto je rock'n'roll, publikum si má vo Vašo Diele najst zmysel samo. Ak ale absolútne trváte na komentároch vo svojom kóde, použite okrúhle zátvorky.

Tommy was a lean mean wrecking machine. (initialises Tommy with the value 14487)

Áno, znamená to, že nemozem používať zátvorky v aritmetických výrazoch. Je možné, že zložitejšie výrazy budete musiet rozložiť do viacerych menších a Využiť viacerích priradení.

Priradenie

Priradenie do premennej sa označuje kombináciám kľúčových slov put/into:

  • Put 123 into X vloží do premennej X hodnotu 123
  • Put "Hello San Francisco" into message vloží do premennej message hodnotu "Hello San Francisco"
Inkrementácia a dekrementácia

Inkrementovanie premennej (zvýšením ho hodnoty o 1) dosiahneme výrazom Build {premenná} up, dekrementovanie zase cez Knock {premenná} down. Viacnásobné opakovaním slov up/down sposob opakovaniami daného úkonu. Ciarka Medzi jednotlivými up/down ŠÚ povolenej.

  • Build my world up zvýši hodnotu premennej my world o 1
  • Knock the walls down zníži hodnotu premennej the walls o 1
  • Knock the walls down, down, down zníži hodnotu premennej the walls o 3

Aritmetické výrazy

  • {a} plus {b} - sčítaním. alias with
  • {a} minus {b} - odčítaním. alias without
  • {a} times {b} - násobením. alias of
  • {a} over {b} - delením.

Príklady

  • Put the whole of your heart into my hands priradí do premennej my hands hodnotu the whole krát your heart
  • My world is nothing without your love priradí do premennej your love hodnotu nothing (0) mínus hodnota premennej your love
  • If the tears of a child is nothing vráti true / false podľa toho, či sa the tears krát a child rovná nule

Poetic literals

Dostávam sa k konaj z najzaujímavejších vlastností jazyka Rockstar, a síce k možnosti pri priraďovaní do premenných vypustiť obsah svojho básnického CREVE. Jedná sa o alternatívu k priradeniu pomocou put into.

Pre hodnoty true, false, nothing, nobody a nowhere sa poetické priradenie skladá z identifikátora premennej, kľúčového slova is a hodnoty, ktory priradzujeme:

  • My heart is true priradí do premennej My heart hodnotu true
  • Tommy is nobody priradí do premennej Tommy hodnotu null (pomocou aliasu nobody)

Poetické priradenie stringu prebieha Rovňák, ľan používa Kľúčové slová says. Všetko od neho až po koniec riadku sa vyhodnotí Ako string, ktory sa priradzuje:

  • Tommy says Hello San Francisco!\n priradí do premennej Tommy hodnotu Hello San Francisco!
  • San Francisco says Hello back\n priradí do premennej San Francisco hodnotu Hello back

Poetické priradenie čísel je ale najzaujímavejšie. Začína identifikátorom premennej, do ktorej priradzujeme, nasleduje keyword is (prípadne aliasy was/were). Zvysoka riadku sa vyhodnotí Ako reálne číslo, ktoreho cifry ŠÚ dĺžkami jednotlivých slov. Aby sa vyriešil nedostatok 1 a 2-písmenových rockových slov (a umožnila cifra 0), dĺžka každého slova este prechádza cez modulo 10. Prvá bodka funguje Ako desatinný oddeľovač, Všetky Ďalším znakom okrem písmen ŠÚ ignorované.

  • Tommy was a lovestruck ladykiller uloží do premennej Tommy hodnotu 100
  • Sweet Lucy was a dancer uloží do premennej Sweet Lucy hodnotu 16
  • My dreams were ice. A life unfulfilled; wakin' everybody up, taking booze and pills uloží do premennej My dreams hodnotu 3.1415926535
Porovnávaním

Porovnávaním 2 Hodnotu sa v Rockstar vykonáva operátorom is. Z toho Dovod je možné porovnanie výkonov ľan v rámci nejakého ineho výrazu - to, čo by bolo Pôvodne podmienky, by sa osamote vyhodnotilo Ako priradenie:

  • Tommy is nobody priradí do premennej Tommy hodnotu null (cez alias nobody)
  • If Tommy is nobody vykoná Nasledujúci blok kódu v pripade, že Tommy == null (hodnota premennej Tommy je null)

Pre negáciám využijeme keyword not. K dispozícii je aj alias ain't, ktory moze Použiť Ako náhradu k is not. To sa moze zdať byť trochu v rozpore s angličtinou, kde "Tommy is not anybody", "Tommy is not nobody" a "Tommy is not not nobody" z nejakého Dovod znamenajú to isté.

Ďalšie relačných operátorov

Ďalšie relačné operátory ŠÚ:

  • is higher/greater/bigger/stronger than - Väčší
  • is lower/less/smaller/weaker than - menšie
  • is as high/great/big/strong as - Väčší Alebo rovný
  • is as low/little/small/weak as - menšie Alebo rovný

Input / Output

Pre načítaním jedného riadku z STDIN použijeme Listen. Pre Uloženie tajte hodnoty do premennej napíšeme Listen to premenná. Spustite: Say premenná vypíše obsah premennej premenná do STDOUT. Moze Použiť hľa aliasy Shout, Whisper a Scream.

  • Listen to your heart načítava Riadok zo vstupu a uloží ho do premennej your heart
  • Say Tommy vypíše hodnotu premennej Tommy

Flow control

Podmienky

Podmienené výrazy začínaj keywordom If, ktory je nasledovaný logickým výrazom. Ak sa vyhodnotí na true, vykoná sa nasledovný blok prikazovať. V opačnom prípade sa vykoná vetvy Else (ak je prítomná), alebo sa neudeje nič.

Cykly

Podobne Ako pri podmienkach, cyklus je označený keywordom While Alebo Until a vykonáva sa dovtedy, kým platí zadané podmienky.

Tommy was a dancer
While Tommy ain't nothing
Knock Tommy down

Hore uvedený kód vytvorí premennú Tommy s hodnotou 16 a vo while cykle bude znižovať ho hodnotu, až kým nebude rovná nule.

Keyword break a continue Existujú ai v Rockstar a fungujú Rovňák Ako v inych jazykoch. K dispozícii ŠÚ este aliasy Break it down pre break a Take it to the top pre continue.

Bloky

Blok kódu v Rockstar začína keywordom If, Else, While Alebo Until a pokračuje až po prázdny Riadok Alebo koniec subor.

Tommy was a dancer
While Tommy ain't nothing
Scream Tommy
Knock Tommy down

Shout "Done!"

Funkcie

Funkcie ŠÚ deklarované svojím názvom, kľúčovým slovom takes a svojimi argumentmi, ktore oddeľujeme keywordom and.

  • Multiply takes X and Y
  • Love takes Man and Woman

Telo funkciám je sekvenciám príkazový bez akýchkolvek prázdnych riadkový, ktore by ich oddeľovala. Prázdny Riadok ukončuje telo funkciám. Ak má funkciám Vracia nejakú hodnotu, využijeme keyword Give back {hodnota}.

Funkcie zavoláme keywordom taking:

  • Multiply taking 3, 5 je výraz vracajúci (pravdepodobne) 15
  • Love taking Tommy and Jane

Príklad

Nasleduje objasňujúci program "Fizzbuzz" v minimalistickom Rockstar kvoli prehľadnosti:

Modulus takes Number and Divisor
    While Number is as high as Divisor
        Put Number minus Divisor into Number

    Give back Number

Limit is 100
Counter is 0
Fizz is 3
Buzz is 5
Until Counter is Limit
    Build Counter up
    If Modulus taking Counter, Fizz is 0 and Modulus taking Counter, Buzz is 0
        Say "FizzBuzz!"
        Continue

    If Modulus taking Counter and Fizz is 0
        Say "Fizz!"
        Continue

    If Modulus taking Counter and Buzz is 0
        Say "Buzz!"
        Continue

    Say Counter

A tu je verze v trochu umeleckejšie pojatom Rockstar a bez odsadenia:

Midnight takes your heart and your soul
While your heart is as high as your soul
Put your heart without your soul into your heart

Give back your heart


Desire is a lovestruck ladykiller
My world is nothing
Fire is ice
Hate is water
Until my world is Desire,
Build my world up
If Midnight taking my world, Fire is nothing and Midnight taking my world, Hate is nothing
Shout "FizzBuzz!"
Take it to the top

If Midnight taking my world, Fire is nothing
Shout "Fizz!"
Take it to the top

If Midnight taking my world, Hate is nothing
Say "Buzz!"
Take it to the top

Whisper my world

Dúfam, že Vás článok o jazyku Rockstar aspon pobavil a ovládate o jeden ezoterický jazyk viac :-) Ak vytvoríte nejaké programy v tomto jazyku, nebojte sa s nami podeliť v komentároch pod článkom.


 

Všetky články v sekcii
Ďalšie vývojové nástroje pre tvorbu aplikácií
Článok pre vás napísal Martin Petrovaj
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je lenivý vymýšľať nejaký slušný podpis. Venuje sa ale prevažne C#.
Aktivity