Rozhovor s Benoîtem Minisinim
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Rozhovor s Benoîtem MinisinimRozhovor s Benoîtem Minisinim

 

Rozhovor s Benoîtem Minisinim

Google       Google       16. 3. 2006       8 371×

Rozhovor s Benoîtem Minisinim, vedoucím projektu Gambas.

Krzysztof Krawczyk: Mohl byste se našim čtenářům představit? Čím se živíte a co děláte ve volném čase?
Benoît Minisini: Samozřejmě, jsem třiatřicetiletý Francouz žijící v Paříži. Do konce června mám smlouvu na poloviční úvazek a ve zbývajícím čase se snažím současně programovat jazyk Gamba, studovat herectví a spát.


KK: Gambas je skvělý, ale předpokládám, že někteří lidé ještě nevědí, o co se vlastně jedná. Mohl byste nám o tomto jazyce něco povědět a vyzdvihnout jeho nejsilnější stránky?
BM: Gambas je objektově orientovaný BASIC jazyk, který se trochu podobá jazyku Visual Basic od společnosti Microsoft. Ve skutečnosti je však více inspirován Javou a všemi ostatními interprety, které jsem ve svém vývojářském životě naprogramoval. Jazyk jsem vytvořil především, protože jsem líný muž, který chtěl jednoduše vyjádřit výkon svého systému GNU/Linux. Mojí snahou u Gambase je vytvořit výkonnější, ale co možná nejjednodušší jazyk. Jedná se o obtížný úkol, protože
› použití výkonných knihoven jako Qt nebo SDL jednoduchým způsobem vyžaduje zjednodušování a abstrakci jejich rozhraní;
› vytvořit výkonné funkce jako dědičnost a model událostí jednoduše použitelné je výzvou.
Myslím, že jsem byl ve svém snažení úspěšný, protože od některých starých uživatelů jazyka Visual Basic jsem se dozvěděl, že přepsání jejich projektu v Gambasu bylo snazší a výsledky byly menší a rychlejší.


KK: Zdá se, že nemohu najít žádné informace o vývojářích jazyka Gambas. Jste jediný, kdo ho vyvíjí? Jaký druh lidí by vám pomohl s vašimi úkoly?
BM: Možná jste se nepodíval na webovou stránku Hall of Fame: zde totiž najdete všechny současné vývojáře. Rovněž jsou zde uvedena jména vývojářů, země, kde žijí, co na jazyce Gambas dělají a jejich hlavní charakteristické vlastnosti. Pro získání seznamu se můžete podívat na stránky http://gambas.sourceforge.net/halloffame.html.


KK: Jaké jsou vaše úkoly jako vedoucího projektu?
BM: Mojí důležitější technickou zodpovědností je jádro jazyka Gambas, to znamená interpret, kompilátor a rozhraní mezi interpretem a komponentami. Jinak pomáhám lidem v diskusních fórech a vyvíjím komponenty, udržuji webové stránky a poskytuji rozhovory. Je třeba udělat celou řadu jiných úkolu, ale kvůli svému studiu herectví nemám dostatek času. Například mám v plánu vytvořit nové webové stránky založené na Wiki a napsané v jazyce Gambas tak, aby bylo možné jednodušeji sdílet informace o Gambasu. Ale ještě jsem se k tomu nedostal.

KK: Jak vypadá vývojový cyklus v jazyce Gambas? Jaká je stabilní a vývojová verze?
BM: Stabilní verzí je první vydání jazyka Gambas pouze s opravami chyb. Tuto verzi jazyka jsem udělal tak, aby lidé získali něco použitelného a užitečného, nicméně v mé hlavě jazyk Gambas vypadá tak, jaký by měl vypadat ve své druhé verzi. Touto druhou verzí se stane vývojová verze. Jazyk Gambas a jeho komponenty představují velký monolitický balík, trochu jako jádro Linuxu se všemi svými ovladači. A tak bude vydán stejným způsobem. I když to není vyloučeno, nechci, aby komponenty byly vydávány nezávisle na základním interpretu, protože bych se rád vyhnul noční můře Visual Basicu týkající se verzí komponent.


KK: Předpokládám, že kompilátor Gambasu není napsaný v jazyce Gambas, takže jakou strategii jste použili? Jak vypadal proces vytváření Gambasu?
BM: No, mohl by být napsaný v jazyce Gambas, ale chtěl jsem vytvořit co možná nejrychlejší řešení. Začal jsem navrhováním bajtového kódu a způsobu, jakým bude interpret tento bajtový kód provádět. Přesně jsem věděl, jaký druh syntaxe pro svůj jazyk chci, avšak překládání do bajtového kódu neprobíhalo okamžitě. Poté jsem začal navrhovat souborovou strukturu kompilovaného souboru. Převzal jsem metodu Javy, to znamená: jedna třída odpovídá jednomu zkompilovanému souboru. Následně jsem mohl napsat kompilátor. Jakmile jsem měl něco k interpretaci, mohl jsem začít vytvářet interpret. A věci začaly pomalu ale stále více narůstat. Do doby než mohlo být všechno spuštěno, bylo implementováno stále více bajtového kódu. Jednotlivé funkce byly do kompilátoru přidávány postupně: podpora další a další syntaxe, ladících informací a tak dále. Poté jsem potřeboval grafické rozhraní, abych mohl napsat vývojové prostředí. Takže jsem začal navrhovat rozhraní pro programování aplikací, tj. hromadu rutin tak, aby kdokoli mohl psát externí sdílené knihovny, které přidají nové třídy interpretu a které komunikují s interpretem pomocí tohoto rozhraní. Vývoj grafických komponent byl rovněž postupný. Funkce jsem přidával, když jsem jich potřeboval pro vývojové prostředí. A tímto způsobem to pokračovalo… Veškeré podrobnosti jsou uvedeny v souborech ChangeLog.


KK: Proč jste si jako vývojové prostředí vybral raději Qt místo Gtk+?
BM: Protože jsem Qt znal lépe a protože v dokumentaci bylo více příkladů. Právě teď vytváří Daniel Campos komponentu založenou na Gtk+. Tato komponenta umožní jakékoli aplikaci v jazyce Gambas, aby používala prostředí Qt i Gtk+ stejně.


KK: Co bylo při vytváření jazyka Gambas nejtěžší a co bylo pro vás největší odměnou za vynaloženou námahu?
BM: Vyvíjení jazyka není opravdu těžké, protože je to zábava a mám o způsobu jeho fungování jasnou vizi. Kromě toho jsem se nesnažil dělat věci, které nejsem schopen udělat, například JIT kompilaci nebo práci s vlákny. Tím pádem mohu lépe zvládnout interpretační kód a není zde tolik chyb. Přesto je však třeba dělat i nudné věci, například opravovat propouštění paměti analyzováním dvou stovek megabajtů protokolového souboru alokace. Naštěstí tato práce přináší celou řada odměn. V současné době si myslím, že je pro mne největším zadostiučiněním, když jazyk Gambas udělá někoho šťastným a slyším o něm slova chvály. Také mě potěší, když mi někdo řekne, že kvůli mému softwaru přešel na Linux nebo když vidím, jak fanatičtí příznivci společnosti Microsoft ostře kritizují jazyk Gamas v diskusních skupinách. Musím se však přiznat, že pevně doufám, že mne tento jazyk v budoucnu uživí. To je trochu jiný druh odměny…


KK: Jak byste srovnal Gambas s prostředími KDevelop nebo Anjuta a ... jazykem Visual Basic?
BM: KDevelop je hlavně vývojové prostředí pro jazyky C/C++, které je jakýmsi druhem pojiva celé řady externích nástrojů příkazového řádku. Myslím, že ho lze používat i pro jiné jazyky. Vývojové prostředí Anjuta neznám, ale tuším, že má stejný záměr. Naopak vývojové prostředí Gambas je vytvořeno v jazyce Gambas a pouze pro Gambas. Je s tímto jazykem zcela svázáno. Porovnávat můžete prostředí Gambas a Visual Basic, jelikož obě prostředí umožňují pomocí myši navrhovat uživatelské rozhraní. Totéž však můžete udělat také prostřednictvím Delphi. Porovnávat můžete jazyky Gambas a Visual Basic, protože oba jsou BASIC jazyky. Ale jazyk Gambas jsem se snažil navrhnout mnohem souvislejším a spolehlivějším způsobem. Na konec se domnívám, že jediným skutečně společným bodem mezi těmito dvěma jazyky je skutečnost, že Gambas může na Linuxu hrát stejnou úlohu, kterou sehrál Visual Basic v systému Windows: dovolí neprofesionálním programátorům přimět systém GNU/Linux, aby dělal přesně to, co potřebují, a profesionálním programátorů umožní provádět vývoj rychleji. Čas jsou peníze, a to platí dokonce i u svobodného softwaru.


KK: Můžete nám prozradit, jaké další funkce plánujete pro následující verze jazyka Gambas, pokud to není tajemství?
BM: Všechny funkce interpretu, které jsem chtěl v příští verzi zahrnout, byly vytvořeny v průběhu léta. Nyní chci ještě vytvořit nové vývojové prostředí a určitým způsobem stabilizovat nové komponenty. Poté bude možné vydat novou stabilní verzi. Na novém vývojovém prostředí však nebylo ještě téměř nic uděláno. Jsem příliš zaneprázdněn.


KK: Máte nějaké plány týkající se komerční verze jazyka Gambas, krabicové verze s tištěnou dokumentací? Všiml jsem si nějakého účtu u Paypal. Dostáváte touto cestou nějakou podporu?
BM: Nemám žádné plány, co se týče komerční verze jazyka Gambas. Od některých lidí jsem dostal určité návrhy, ale raději bych v současné době ponechal jazyk pod licencí GPL. Jakmile mi však koncem června 2006 skončí práce na poloviční úvazek, chtěl bych vytvořit vlastní společnost, abych mohl být za práci na jazyce Gambas placen. Možná budu moci příští rok tímto způsobem pracovat pro region Extremadura ve Španělsku. Domnívám se, že u svobodného softwaru lze vydělat peníze prodejem služeb. Každopádně se to teprve uvidí. Budoucnost předpovědět nedokáži. Co se týče mého účtu u PayPal, za tři roky mi na něj přišlo asi 100 Euro. I tyto peníze mi však hodně pomohly, jelikož žiji v Paříži, mám práci na poloviční úvazek a k zaplacení studií herectvím potřebuji všechny své peníze!


KK: Zajímalo by mne, kdo jazyk Gambas používá? Společnosti, univerzity, domácí uživatelé? Dosáhli jste nějakých úspěchů v komerční sféře?
BM: Ve skutečnosti mohu mluvit pouze o tom, co jsem viděl. V Itálii jsem se setkal s lidmi jedné velmi velké společnosti, která vyrábí nějaké kovové držáky. Potřebovali vytvořit software k řízení průmyslového procesu své společnosti. Bylo třeba, aby tento software běžel na nenákladných počítačích se systémem Linux a aby s ním dokázali pracovat i nezkušení uživatelé. A navíc museli software vyvinout rychle a s tím, že bude zapotřebí častá aktualizace. Takže byli šťastní, že objevili jazyk Gambas, který zcela splňoval jejich potřeby. No, myslím, že ano.Rob Kudla, který hostuje aktuální wiki jazyka Gambas, vytváří pro své klienty v Gambasu aplikace GPL. V Extremaduře (Španělsko) vyvinuli vlastní distribuci, gnuLinex, a aby se úplně zbavili systému Windows, potřebovali jazyk Gambas k portování určitých aplikací v jazyce Visual Basic. Jelikož umístili počítač na každý stůl v každé učebně (65 000 počítačů, na nichž běží systém gnuLinex a také Gambas), vyvinul José L. Redrej aplikaci v jazce Gambas pro řízení každého počítače v učebně. Podrobnější informace najdete na stránkách http://gnomefiles.org/app.php?soft_id=1010. Dále mají v plánu vytvořit řídící středisko gnuLinex rovněž pomocí jazyka Gambas. A v diskusních fórech jsem viděl celou řadu aplikací koncových uživatelů. Obecně jsem o nich informován, protože vývojář najde chybu v jazyce Gambas při jejich programování. Neslyšel jsem o žádné komerční aplikaci napsané v jazyce Gambas. Konec konců, pokud chcete v současné době vytvořit komerční aplikací pomocí jazyka Gambas, musíte si koupit licenci Trolltech nebo musíte použít nestabilní verzi komponenty Gtk+ nebo musíte vytvořit pouze textovou aplikaci.


KK: Děkuji, že jste si udělal čas na rozhovor.
BM: To nestojí za řeč!


×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Tag o stupeň výše a vyvíjí nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Skipper, vizuální vývoj ORM snadno a rychle

Skipper, vizuální vývoj ORM snadno a rychle

Skipper je nejnovější verze vizualizačního nástroje pro ORM frameworky, dříve známého jako ORM Designer. Jeho hlavní výhodou je možnost automaticky převést existující projekty do vizuální podoby, editovat je přímo v diagramu a změny automaticky exportovat jako definice.

Obrázek ke článku Již podruhé Společně otevíráme data. Přijďte na zahájení soutěže!

Již podruhé Společně otevíráme data. Přijďte na zahájení soutěže!

Fond Otakara Motejla v září spustí druhý ročník soutěže Společně otevíráme data, která oceňuje nejlepší aplikace postavené na otevřených datech veřejné správy. Na slavnostním zahájení vystoupí zástupci úřadů, jež poskytují svá data v otevřených formátech. Představí se též mentoři z předních IT firem.

Reklama autora

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032014 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý