Trocha toho softwaru

Za těch pár let mi pod rukama vzniklo mnoho aplikací a za některé se ani nemusím stydět :-). No, a protože zálohujou jenom srabi, tak se menší část softwaru odporoučela do křemíkového nebe společně s počítačem, na kterém byl vyvíjen. Většina aplikací vznikla z důvodu nedostatečných nebo chybějících funkcí podobných programů ... a nebo se mi to prostě chtělo vyzkoušet.

Jak jsem se stal počítačem

Dle úsloví "Kolik jazyků znáš, tolikrát jsi člověkem. Kolik počítačových jazyků znáš, tolikrát si počítačem." vám lehce popíšu, jak jsem se tedy stal počítačem. Něco na téhle stránce přeci musí být :-).

S programováním jsem začínal už na škole v QuickBasicu a když jsem zjistil, že můj osmibitový počítač to zvládne také, tak jsem do programování spadl a už se v tom jenom topím :-). Tam byly největší příkazy něco jako "po stisknutí klávesy pokračuj dál", ale přesto byl z toho začínající programátor na větvi. A zde jsme se právě začali od "normálních" smrtelníku vzdalovat. To, co nám připadlo skvělé, ostatním připadlo složité, pracné a bez rychlého výsledku.

Pak tak nějak člověk přešel k Turbo Paskalu a tam už to vypadalo docela slibně. Během tohoto krásného období, kdy jsem postupně nacházel složitost ale zároveň krásu programování, vznikali první hry a grafické programy. Některé programy byly i nutností. Hardwaru bylo pomálu a ovladačů ještě méně, takže jsem si dokonce musel naprogramovat grafický editor, který uměl tisknout na tiskárnu Schneider, ke které jsem neměl ovladače a návod v němčině. To bylo radosti, když se něco povedlo vytlačit :-).

Teď už je programování o něčem jiném. Kdekdo mrkne na internet, natahá si kusy kódu, ty pak poslepuje a říká si programátor. Bez internetu člověk hledal zdrojáky, kuchal je a zjišťoval, co jakej příkaz dělá. Ale tím se nechci do začátečníků navážet, pouze mají lehčí začátek než my, co jsme začínali v minulém tisíciletí. Stejným způsobem by se do mne mohli vlastně navážet i starší programátoři děrných štítků, tak toho raději nechám :-).

Od Paskalu pak člověk zaplul automaticky do Delphi a to bylo něco. "Vono to má tlačítka a vono to má i uživatelský rozhraní, týjo". V této fázi vzniklo hodně spíše zálibových programů. Vyzkoušel jsem si připojování periferií přes různé porty 3D grafiku, první thready a další body vyššího programování. Delphi se na delší dobu stalo hlavním programovacím jazykem. Nebylo to ani tak kvůli jeho vlastnostem, ale spíše kvůli tomu, že jsem nenašel žádný jiný programovací jazyk, který by mi vyhovoval. První alternativou bylo dvouplusové céčko, ale z toho jsem byl zmatenej. Pár programů jsme dělali na vejšce, ale nikdy jsem se pořádně neponořil do těch odkazových hvězdiček a bylo to spíš takové typování. Časem by se to asi zlepšilo, ale proč? Měl jsem přeci Delphi a tam to šlo taky a tak nějak přirozeněji.

Java byla skoro super. Jazyk, který je celý objektový už od základu, bylo něco parádního. Žádný pointery, žádná správa paměti, garbage collector. Aplikace běží i na linuxu i jako applet v prohlížeči. Není divu, že jsem v Javě dělal i diplomku. Ale. Stále tu byla potřeba mít nainstalované JRE, aby se to dalo spustit. Také byl jazyk moc náročný na tehdejší hardware, a také ty nepraktické listenery.

Nástupem do firmy Complete Internet Services s.r.o. se tu vynořilo PHP. A za těch 6 let k tomu samozřejmě přibyly další jazyky nebo techniky s weby svázanými: HTML 5, Javascript, Ajax, jQuery, jQueryUI, CSS3, SEO, MySQL, FireBird,... a kdo ví, kde se to zastaví. Původní kostrbatost webů se díky boji moderních prohlížečů změnila v opravdové internetové aplikace, které postupně smazávají rozdíl mezi desktopovými a webovými aplikacemi. PHP má jednu velkou výhodu a zároveň je to i jeho slabost. Dovolí vám takřka všechno, dynamicky se rozšiřující pole, proměnné bez kontroly typů. A to je právě problém, protože v PHP můžete natropit spoustu chyb, které by vám kompilátor v jiných jazycích nedovolil zkompilovat. To je ale problém asi všech interpretů.

Když se na vývoj webů podívám vůbec hodně seshora, tak si říkám, tady je něco špatně. Abych udělal pěknou dynamickou webovou aplikaci, tak musím umět HTML, Javascript, Ajax, PHP, MySQL a CSS. Není to moc? Chybu vidím v tom, že se jazyk HTML nezměnil spousty let a vše se pouze nabaluje a používají se pouze berličky, ze kterých se stávají pořádné berle. Někdo by měl říct dost a udělat jeden pořádný, komplexní a lehce dostupný programovací jazyk pro internetové stránky. Hlavní ale je, aby byla přesná implementace v prohlížečích nutností a ne jen navrhem, jako je tomu teď. Microsoft válku prohlížečů už prohrál, akorát mu to ještě nedošlo. Já věřím v Google a pokud někdo dokáže udělat (r)evoluci, tak je to právě Google.

Aktuální programovací láskou je C#, který je vlajkovým jazykem .Net frameworku. Mohu říct, že znám sotva pár procent z toho, co tento jazyk v základu nabízí, a přesto jsem jím uchvácen. Je velmi podobný Javě, ale ty drobné implementační nelibosti zde nejsou a programování je tak jednoduché. Pokud někdo umí aspoň trochu programovat, tak v C# bude umět za jeden den na tolik, aby byl schopen si naprogramovat jednoduché aplikace. Zbytek je téměř jen o znalosti komponent a tříd. Zvláště se mi líbí podpora threadu a background workeru. Visual Studio od Microsoftu je parádní. Některé funkce, které používám v Eclipse to sice nemá, ale v zásadě mi velmi vyhovuje. C# má stejnou situaci jako Java a potřebuje runtime prostředí. Ale protože to je MS, tak už od Vist se to nemusí instalovat.

No a řekl bych, že to pro začátek stačí. Dále jsem ještě více nebo méně sáhnul i do jiných jazyků či systémů, ale to už jen výčtem:

  • Android - zatím pár drobných aplikací, ale postupně tomu přicházím na chuť. Google je bůh.
  • VRML - jeden čas asi jediný způsob jak dostat 3D na web. Teď to asi vystřídá Unity nebo WebGL.
  • Ogre3D - open source 3D grafický engine. Podílel jsem se na vývoji jedné MMO hře.
  • Silverlight - tohle vypadalo slibně, ale bohužel se to nedalo Microsoftu prosadit.
  • Blender - několik objektů do výše zmíněné hry.
  • Small Basic - začalo to jako vtip a nakonec z toho vypadla celá hra.
  • Windows Mobile - ještě před Androidem. Teď se toho skoro štítím :-).
  • Google Desktop - pár pluginů do sitebaru. Bohužel nám Google GD zrušil.
  • Linux - jako každý student ČVUT FEL jsem jím byl naočkován. Zvládnu konfiguraci, bash a trochu gcc.
  • Total Commander - jeden možná dva pluginy.
  • Dokan - pro zkoušku plugin, jak by MySQL vypadalo jako souborový systém.
  • ... možná ještě něco, ale to už nestojí za řeč.

No a v podsekcích této stránky si můžete něco z mých výtvorů stáhnout.

 

Komentáře

Přidej svůj komentář

Přidání komentáře