Přejít k navigační liště

Zdroják » Zprávičky » Project CASSIS: spouštíte váš program současně jako JavaScript, PHP, Ruby a C?

Project CASSIS: spouštíte váš program současně jako JavaScript, PHP, Ruby a C?

Pokud vám otázka v nadpise připadá zvláštní, tak jste nejspíš neslyšeli o projektu CASSIC. Jedná se o nový projekt Tanteka Çelika, osoby v oblasti webových standardů dobře známé. Tantekova idea je jednoduchá: Proč by nemohl kód napsaný na serveru běžet i na straně prohlížeče a naopak? Ovšem na rozdíl od řady dalších Tantek neskončil jen u myšlenky a snaží se nápad realizovat.

Projekt CASSIS má být prostředím, ve kterém takový kód půjde bez problému napsat. Součástí projektu je mj. sada vytvořených syntaktických „hacků“, které jsou sice syntakticky validní ve všech zvažovaných jazycích, ovšem v každém jazyku jsou interpretované odlišně, např. hack pro rozlišení, v jakém jazyce se nacházíme:

if ("00"==false) {/*javascript*/}
else if ("0"==false) {/*php*/}
else if (0==false) {/*c*/}
else {/*ruby*/} 

Tímto způsobem se ovšem řeší jen nekompatibility jazyků; cílem je, aby běžný kód, který bude vývojář psát, vypadal v ideálním případě stejně a bez větvení (to bude nastávat víceméně skrytě uvnitř funkcí, které budou nekompatibility jazyků vyrovnávat). První verze nazvaná CASSIS v0 se zatím soustředí pouze na jazyky dva, a sice JavaScript a PHP. Tantek tak opět potvrdil svou zálibu v neobvyklých syntaktických obezličkách, protože známý Tantekův hack z dob počátků CSS dodnes patří mezi nejnepochopitel­nější hacky vůbec.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.