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

Zdroják » Zprávičky » Fructose: překlad z Ruby do PHP

Fructose: překlad z Ruby do PHP

Zprávičky PHP, Různé

Nálepky:

Překlad z jazyka s vyšší úrovní abstrakce do jazyka s nižší úrovní je na webu stále populárnější – cílovým jazykem bylo HTML, CSS, JavaScript, s Fructose je to i PHP5.

Buďme přesní – Fructose není překladač z Ruby; vstupní jazyk není přímo Ruby, je to jeho podmnožina. Netěšte se, že své programy v Ruby bez námahy přeložíte do PHP a spustíte „kdekoli“, zatím jde spíš o koncept než o nástroj k reálnému použití.

Smyslem Fructose (a dalších podobných překladačů) je použít jazyk s vyšší úrovní abstrakce i v prostředí, kde není implementován. Proč zrovna PHP jako cílový jazyk? Pravděpodobně proto, že je na serverech nejběžnější – počet serverů s PHP je řádově vyšší (76% vs 0.6%).

Komentáře

Odebírat
Upozornit na
guest
6 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
blizz
Proč zrovna PHP jako cílový jazyk? Pravděpodobně proto, že je na serverech nejběžnější

A to je problém doinštalovať na server ruby? Mne to zabralo cca 10 minút.

v6ak

Kdysi jsem přemýšlel o takovém překladu z PHP do JS. Cílem bylo vygenerovat čistý kód. Nakonec jsem se do toho nepustil. Skončcil jsem u operátoru plus. V dynamickém PHP nemusím obecně vědět typy operandů. Pokud bych tedy převedl $x+$y na x+y, pak by to sice fungovalo pro čísla, ale už ne pro řetězce. Teda ono by to fungovalo, ale jinak…

Samozřejmě, lze tu udělat dynamické rozlišení typů, ale tady končí veškerá elegance. Nebyla to cesta, kterou bych chtěl jít.

Pravděpodobně někde tady bude taky důvod pro podporu pouze podmnožiny Ruby. Ale tudy jsem tehdy nechtěl jít. (Nepodporovat například fopen bylo akceptovatelné, ale udělat sčítání naprosto jinak už ne.)

Tady mají větší šanci statické jazyky. Tam takové problémy nejsou. Příkladem může být takový Google Web Toolkit, který v současnosti podporuje Javu. Jsou tu ale snahy sem potrovat i Scalu (ScalaGWT), byť v rané fázi.

Koubel

Hm, David Majda napsal kompilátor z ruby do PHP jako svou diplomovou práci již před lety i s teorií to můžete najít na http://ruby-php.org/ takže žádnou fruktózu netřeba, cukru je i beztak dost.

Inkvizitor

Projekt, u ktereho je napsano „It is now discontinued. Partial results are available in my master thesis.“ bych asi moc pouzivat nechtel. Bez ohledu na to, jak daleko autor dosel.

Pepa

někteří lidi mají asi příliš volnýho času, že vyvíjí takový hovadiny :-)

Velký konflikt mezi AI firmami a Pentagonem

AI
Komentáře: 0
Americké firmy vyvíjející umělou inteligenci se ocitají uprostřed historického sporu s vládou. Konflikt mezi Anthropic a Pentagonem ukazuje, jak tenká je hranice mezi etickou autonomií firem a národní bezpečností - a jaké důsledky může mít označení „supply chain risk“ pro celou technologickou branži.

Jak Cloudflare během jednoho týdne s pomocí AI přepsal Next.js

Cloudflare přišel s experimentálním projektem vinext - alternativní implementací API frameworku Next.js postavenou na Vite. Nejde o adaptér ani překladač build výstupu. Jde o samostatnou reimplementaci, která zachovává veřejné rozhraní Next.js, ale běží nad jiným nástrojem a jiným runtime. Projekt navíc vznikl během jediného týdne a zásadní roli v jeho vývoji hrála umělá inteligence. Výsledek ukazuje nejen možné zrychlení buildů a menší výsledné balíčky, ale i proměnu samotného způsobu, jakým mohou frameworky vznikat.