Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalia new Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky


Lupa.cz » Rubriky » Webhosting a serverhosting » Budeme mít "novou Adu a bezpečné PHP?"

Budeme mít "novou Adu a bezpečné PHP?"

Aleš Miklík – 13. 7. 2004 6:30

Pražská firma A&L soft pro svou potřebu již několik let vyvíjí jazyk Flex, vhodný k psaní aplikací elektronického bankovnictví, který vychází z "upovídaného", ale velmi bezpečného jazyka Ada. Nyní se rozhodli uvolnit jeho webovou podobu modFlex, která má být bezpečnou alternativou jazyka PHP, aby zjistili, jaké budou na nový jazyk reakce.

Nálepky
  1. Linux
  2. Mobilní přenositelnost
  3. Open source
  4. Windows

Vznik nového programovacího jazyka, který by si dokázal získat širokou komunitu uživatelů - vývojářů, podporu velkých firem atd., asi není věc, kterou by dnes ještě někdo čekal. Ačkoliv jazyky procházejí neustálým vývojem a "šlechtěním" v podobě přejímání úspěšných vzorů mezi sebou, hlavní oblasti vývojářských potřeb jsou v podstatě rozděleny mezi několik hlavních programovacích jazyků. Naproti tomu existuje zejména mezi studenty a nadšenci dostatek pokusů v podobě nových a často překvapivých "jazykových forem". Drtivá většina z nich upadne v zapomnění spolu s volným časem svých tvůrců a jen velmi málo se jich propracuje do povědomí širšího okruhu lidí. Český jazyk Flex a jeho webová podoba modFlex je podle všeho na nejlepší cestě do tohoto klubu vyvolených. Co jsou zač a jaké mají šance dostat se ještě dál?

Flex je výtvorem pražské firmy A&&L soft, podnikající ve vývoji elektronického bankovnictví. Fakt, že spíše menší firma obětuje finanční prostředky a čas svých vývojařů na ryze "nekomerční" projekt, jakým alespoň zpočátku tvorba nového jazyka bezesporu je, se může zdát na pohled mírně překvapivým. V případě Flexu je však celá záležitost na poněkud jiné úrovni, než bývá hra s novými jazyky v podání studentů informatiky - projekt vznikl souběžně s prací firemních programátorů, jelikož jim zkrátka žádný z běžných jazyků plně nevyhovoval. Zhruba před devíti lety se proto Aleš Procháska a Ondřej Tučný, technický ředitel a ředitel vývoje, začali zabývat vývojem vlastního jazyka.

Jelikož měl sloužit psaní bankovních aplikací, byl od počátku u Flexu kladen důraz na spolehlivost, bezpečnost a snadnou udržovatelnost kódu. Jako inspirace sloužil zpočátku autorům známý jazyk Ada. Ten je i přes svoji určitou sešlost (poslední standard Ady je z roku 1995) stále považován za robustní a bezpečný prostředek k vývoji mission-critical systémů, avšak podle Aleše Prochásky je příliš složitý na "jednoduché" aplikace v řádech tisíců až desetitisíců řádků. "I pro hello-world se v Adě musíte naučit skoro celý jazyk," dodává k tomu s nadsázkou Aleš Procháska. Flex měl tedy tuto nevýhodu Ady odstranit se souběžným zachováním jejích výhod - bezpečnosti a odolnosti proti chybám programátora. Jedním ze základních rysů syntaxe Flexu je tudíž určitá "upovídanost", na kterou nejsou například programátoři v C a C++ zvyklí. Účelem tohoto článku sice není podrobný rozbor vnitřní struktury jazyka ani pokus o jeho odborné hodnocení (zájemce je možno odkázat třeba na nedávný článek Aleše Prochásky na Root.cz a diskusi pod ním, případně na samotné stránky modFlexu, kde je ke stažení i učebnice programování v modFlexu), avšak vyhnout se povinnému "Ahoj, světe" by určitě bylo chybou:

program hello_modflex =


with mflib;

begin write_line('Ahoj, světe!');

modflex_request^.out_header.set_value ('Content-Type', 'text/plain'); end hello_modflex;

Uvedený příklad je mírnou modifikací ukázkového programu ze stránek modFlexu. Proč najednou modFlex a kam se poděl Flex? Zatímco Flex je spíše souhrnné označení univerzálního programovacího jazyka, modFlex je jeho variací pro webové aplikace - tedy modul pro HTTP server Apache. Samostatný nástroj pro vývoj aplikací pod Windows pak autoři označují jako fullFlex. V současné době je k dispozici pouze modFlex, fullFlex je ve vývoji a jeho jediné komerční nasazení je podle Karla Krenželoka, produktového manažera A&&L soft, v rámci jeho rodné firmy, konkrétně je v něm napsána aplikace pro elektronické bankovnictví OfficeLine.

Uvolnění verze Flexu zpočátku jen pro webové služby má svoji logiku. Vývoj jazyka je i pro soukromou firmu nemalým vedlejším výdajem bez zjevné a brzké vidiny návratnosti. Prioritou musí být samozřejmě komerční činnost a až podle okolností podpora vývoje uvnitř firmy. Podle Aleše Prochásky se vývoji jazyka věnuje firma nepřetržitě, avšak s proměnlivou lidskou kapacitou. Z padesáti lidí, které má společnost k dispozici, se tak Flexu věnuje maximálně deset, spíše ale méně programátorů. modFlex je pak jakýmsi testovacím balónkem, který má ověřit zájem dalších vývojářů a třetích stran nový jazyk podporovat. K tomu účelu firma spustila i vlastní free webhosting, kde si za poměrně velkorysých podmínek (100 MB prostoru, databáze Firebird, neomezený přenos dat) můžete modFlex vyzkoušet. Zatím má podle odhadů Karla Krenželoka komunita dobrovolných testerů velikost několika tisíc lidí.

Soudě podle diskusních fór a ohlasů uživatelů je Flex přijímán s poměrně velkým zájmem, avšak i rozporuplnými reakcemi. Příznivce jazyků jako C(++) příliš neoslovuje jeho nestručná syntaxe a celková košatost jazyka, naproti tomu uživatelé Ady či Pascalu se vyjadřují poměrně pochvalně k jeho možnostem a bezpečnosti. modFlex je pak v trochu náročnější pozici, neboť je cílen jako alternativa k velmi populárnímu PHP. Proti jeho několikaletému náskoku a obrovské základně uživatelů, zdrojových příkladů a tisíců nasazení v náročných podmínkách by měl modFlex podle Aleše Prochásky nabídnout především bezpečnost při vývoji a provozu a tím i nižší náklady. Ředitel vývoje A&&L softu přesto přiznává, že modFlex je v mnoha ohledech produktem úplně opačného rázu, zejména co se týče silné typové kontroly. Zatímco v PHP je typ proměnné určen její přiřazenou hodnotou, modFlex vyžaduje při její deklaraci i explicitní stanovení jejího typu. To může být věc, která bude "rozeným PHPkářům" dělat potíže, neboť určitá volnost v zacházení s proměnnými a hodnotami (např. s obsahem a indexy pole) je u tohoto jazyka považována za jeho přednost. "My počítáme s tím, že modFlex zaujme především nové zájemce o webové programování a pak také ty, kterým u PHP nevyhovuje nízká bezpečnost programování," říká k tomu Aleš Procháska.

Další rozdíl mezi modFlexem a PHP spočívá také v mechanismu obsluhy požadavků na stránky se skriptem v příslušném jazyce. Zjednodušeně řečeno, modul webového serveru pro PHP jako správný preprocesor nejprve zkontroluje obsah stránky a případné výskyty kódu v PHP zpracuje do výstupu v HTML, načež "řízení" předá zpět serveru, který stránku pošle klientovi (prohlížeči). Naproti tomu modFlex pracuje tak, že flexovský skript přeloží, vyrobí z něj DLL knihovnu, kterou načte do paměti a následně ji použije k obsloužení požadavku. To však není věc, o kterou by se uživatel (programátor) musel starat, jde spíše o zajímavost - modFlex takto připomíná spíše architekturu javovských servletů.

Odlišností modFlexu oproti PHP je pochopitelně celá řada, avšak ne ve všem se jeho autoři snažili jít nutně proti proudu. Nejdůležitějším shodným rysem obou produktů je samozřejmě nulová cena za pořízení. Za účelem snadného přestupu také modFlex podporuje nativní binding knihoven PHP. Díky tomu můžete knihovní funkce, které jste zvyklí používat v PHP, přenést i do svých skriptů v modFlexu. Poněkud dvojsečným pak může být vylepšení modFlexu v podobě požadavku na zdrojové kódy výhradně v kódování UTF-8. Vnitřně totiž Flex i modFlex pracuje v UNICODE, což sice zvyšuje přenositelnost zdrojových kódů (součástí podpory modFlexu jsou i integrační balíčky pro nejrozšířenější textové editory), na druhou stranu eliminuje např. možnost instalace modFlexu na systémy Windows starší než Windows 2000.

A když už jsme u podporovaných operačních systémů, pro řadu programátorů bude jistě důležité vědět, že modFlex zatím není k dispozici ve verzi pro Linux. To je ze strany uživatelů asi nejčastěji vytýkaný nedostatek (nakonec právě ve světě Linuxu a open source obecně by bylo asi nejsnazší získat širokou základnu testerů i participantů na dalším vývoji jazyka). Podle Aleše Prochásky je však portace modFlexu pro Linux velmi blízko svému dokončení, doslova je "prakticky již hotova", takže je možné, že v krátké době po zveřejnění tohoto článku bude již tento odstavec irelevantní.

Budoucnost obou jazyků (Flexu i modFlexu) je tedy poměrně otevřená a kromě zájmu uživatelů závisí zejména na vývoji volných kapacit v mateřské firmě. Některé okolnosti, vzbuzující určitý odpor části programátorské komunity, by jistě bylo možné odstranit. Kromě zmíněné prozatímní absence linuxové verze se jedná ještě například o odstavec v licenčním ujednání k verzi Flex 4.0 Personal Edition, podle kterého je možné jeho využití jen pro nekomerční účely. To může být jistě překážkou rychlejšího rozšíření Flexu, protože jeho komerční verze stále není k dispozici a podle zástupců firmy není tento termín ani určený. Rozhodujícím kritériem však bude i přijetí modFlexu, takže budoucnost plné verze (fullFlex) je do značné míry variabilní. Samotný modFlex určitě svoje šance má, je jen otázkou, jak se k bezpečnému skriptovacímu (ačkoliv modFlex vlastně skriptovací jazyk není) jazyku uživatelé webových aplikací postaví, neboť řada z nich na PHP oceňuje právě možnost rychlé tvorby skriptů. Osobně si myslím, že spíš než jako alternativa k PHP se modFlex může prosadit jako jeho doplnění pro bezpečné programování, případně jako určitá náhrada Java servletů. Za vyzkoušení modFlex rozhodně stojí, a pokud vás tento velmi nehluboký náhled na něj nalákal, určitě si nenechte ujít příležitost poznat ho blíž na jeho stránkách. A pokud si vás jeho pascalovská syntaxe získá, můžete zkusit i vyhrát některou z cen v soutěži o nejlepší webovou aplikaci v jazyce Flex.

Aleš Miklík

Autor je vedoucím redakcí vydavatelství Internet Info. V letech 2005 - 2008 působil jako šéfredaktor serveru Lupa.cz. Vystudoval Fakultu informatiky MU a Fakultu sociálních věd UK.

Školení: SQL pro začátečníky

Akademie Root
  • k čemu nám slouží databáze
  • organizace dat v tabulkách
  • základní příkazy pro obsluhu databáze
  • využití příkladů v praktických ukázkách

Detailní informace o kurzu...

Anketa

Už jste modFlex vyzkoušeli?

3%
3%
13%
81%
Odpovědělo 154 čtenářů.

Názory

Sledování názorů

Registrovaným uživatelům nabízíme upozornění na nové názory e-mailem. Prosím, přihlaste se nebo se zaregistrujte.

Přehled názorů

Nastavení kvality: Vlastní Vše 2 3 4 5 6 7 8 9
"Nenapadny" PR i tady? M_Novak 13. 7. 2004 7:09 Nový
   Re: "Nenapadny" PR i tady? dizzzy 13. 7. 2004 13:58 Nový
   Re: "Nenapadny" PR i tady? Aleš Miklík 14. 7. 2004 19:44 Nový
Jen par odkazu M_Novak 13. 7. 2004 7:13 Nový
? Ma to zmysel? jan sunavec 13. 7. 2004 8:45 Nový
- anonymní uživatel 13. 7. 2004 10:00 Nový
   Re: - Pepak 13. 7. 2004 11:04 Nový
   Re: - Lukáš Lánský 13. 7. 2004 13:17 Nový
   Re: - ... 13. 7. 2004 14:30 Nový
   Re: - shrek 13. 7. 2004 14:54 Nový
   Re: - Lukáš Lánský 13. 7. 2004 15:00 Nový
   Re: - dgx 13. 7. 2004 15:15 Nový
   Re: - ... 13. 7. 2004 15:31 Nový
   Re: - dgx 13. 7. 2004 15:37 Nový
   Re: - ... 13. 7. 2004 15:40 Nový
   Re: - Lukáš Lánský 13. 7. 2004 14:58 Nový
   Re: - Mormegil 13. 7. 2004 15:42 Nový
   Re: - Lukáš Lánský 13. 7. 2004 15:48 Nový
   Re: - ... 13. 7. 2004 15:57 Nový
   Re: - (OT) Solvina 13. 7. 2004 15:59 Nový
   Re: - (OT) Lukáš Lánský 13. 7. 2004 16:05 Nový
   Re: - (OT) Michal Kubeček 13. 7. 2004 18:26 Nový
   Re: - Vita 13. 7. 2004 16:01 Nový
   Re: - Mormegil 13. 7. 2004 18:25 Nový
   Re: - pajout 13. 7. 2004 15:52 Nový
   Re: - Lukáš Lánský 13. 7. 2004 15:58 Nový
   Re: - Vita 13. 7. 2004 16:03 Nový
   Re: - Lukáš Lánský 13. 7. 2004 16:11 Nový
Odpoved na otazku v titulku shrek 13. 7. 2004 10:02 Nový
   Re: Odpoved na otazku v titulku Michal Kubeček 13. 7. 2004 14:15 Nový
Slabe. Servlety v jave a .net prece umi zhruba totez. Tom L. 13. 7. 2004 18:31 Nový
   Re: Slabe. Servlety v jave a .net prece umi zhruba totez. Vaclav Kabat 13. 7. 2004 19:39 Nový
   Re: Slabe. Servlety v jave a .net prece umi zhruba totez. Tom L. 13. 7. 2004 20:11 Nový
   Re: Slabe. Servlety v jave a .net prece umi zhruba totez. Vaclav Kabat 14. 7. 2004 7:29 Nový
opomenuti scolex 13. 7. 2004 22:35 Nový
   Re: opomenuti Mormegil 14. 7. 2004 9:06 Nový
   Re: opomenuti Bedrich 14. 7. 2004 9:12 Nový
   Re: opomenuti skl 14. 7. 2004 10:55 Nový
   Re: opomenuti hujer 14. 7. 2004 13:40 Nový
   Re: opomenuti skl 14. 7. 2004 17:43 Nový
   Re: opomenuti Michal Kubeček 15. 7. 2004 0:23 Nový
   Re: opomenuti Ondřej Tučný 15. 7. 2004 11:58 Nový
Kdybyste rači... dělnickej kádr 14. 7. 2004 14:02 Nový
Chyba v článku + můj názor na Flex Marek Turnovec 14. 7. 2004 20:15 Nový
   Re: Chyba v článku + můj názor na Flex Aleš Miklík 14. 7. 2004 20:31 Nový
yds Anička Balounová 15. 7. 2004 0:57 Nový
   Re: yds Mormegil 15. 7. 2004 10:44 Nový
   Re: yds Aleš Miklík 15. 7. 2004 21:21 Nový
   Re: yds Mormegil 20. 7. 2004 10:56 Nový
Zobrazit kvalitníZobrazit všePřidat

Další články v rubrice Webhosting a serverhosting

Vodafone_CZ na Twitter

Vodafone_CZ: @Karel_B Ano, útrata se mírně se zvedla, ale počítají se do ní i data, MMS, Business e-mail plus a další. Dříve se počítal jen hlas a SMS
16. 3. 19:41

Vodafone_CZ: @MartinSadovy Dobrý den, bohužel. Prémiové SMS se vám neodečítají z kreditu tarifů Nabito.
16. 3. 15:38

Vodafone_CZ: @ReavCZ Dobrý den, nové telefony v portfoliu zveřejňujeme vždy první den v měsíci v sekci Tiskové zprávy, dříve s ohledem na konkurenci ne.
16. 3. 11:44