Přejít na obsah






Fotka
* * * * * 6 hlasy

Jak se tvoří Geoget

Příspěvek od HaLuMa , 08 leden 2014 · 2 194 Zobrazení

geoget
Pro mnohé je programátor divný tvor. V tom lepším případě ve vašich představách vypadáme jako ctihodní profesoři v bílých pláštích, rozvážně chodící po výpočetním sále plném velikých beden se světýlky. V tom horším případě vypadáme jako pohublí brejlouni s nedojezenou pizzou vedle klávesnice, zahrabaní v nějakém pokoji, kam dlouho nevkročilo ani slunce, natož pak nějaký ten vysavač.

Realita je naštěstí jiná. (Trochu... ;)) Pokud o současném programování nic nevíte, možná vás bude zajímat, jak se dnes taková aplikace, jako je Geoget, tvoří?

Nejprve vezmete programátora. Ten musí být šikovný, aby to vůbec dokázal napsat. Musí být dostatečně šílený, aby se do takové věci zadarmo pustil. Ale ne moc, aby neběhal po stěnách a nehýkal. A v neposlední řadě musí být dostatečně psychicky odolný, aby se po pár negativních příspěvcích na fóru nesložil, celý program nesmazal, a nešel raději prodávat zeleninu na trh.

Takového programátora posadíte k počítači, kde je nějaké to vývojové prostředí. V tom se nakreslí jednotlivé formuláře aplikace a napíše se program, který určí, co každé to hejblátko na jednotlivých formulářích má udělat. Zní to jednoduše, pokud chcete dělat jen jednoduché věci. Jenže těch věcí je hodně, a ne vždy jsou zrovna jednoduché.

delphi

Geoget je napsaný ve vývojovém prostředí Delphi. To je profesionální vývojový software postavený na jazyce Pascal. (A taky není úplně za hubičku.) Výhoda Pascalu je v tom, že je to jazyk stvořený původně pro výuku programování, ale pak se stal oblíbený, protože se dobře čte a dobře se chápe, co ten program dělá. To se hodí, když se člověk po delší době vrátí k nějakému staršímu kódu. Při programování totiž spousty času strávíte tím, že přemýšlíte, proč jste to kdysi napsali takhle a ne jinak.

Proto není překvapením, že Geogetí skripty také používají Pascal. Možná i proto dokáží skripty pro Geoget psát i lidé, kteří nikdy v Pascalu neprogramovali.

Jen programovat ale nestačí! V každém programu je i nějaká ta grafika. Mnoho grafiky! Každičká ikonka, logo, atd. Jen těch mrňavých ikonek v menu je tam více jak 100. Tady přichází ke slovu grafický editor Gimp, kterým se obrázky upravují a konvertují do těch správných rozměrů a formátů. Ale to až poté, co od výtvarně nadanějších lidí nějakou tu grafiku vyžebrám. Nakreslit si ji vlastnoručně, to bohužel opravdu nesvedu.

Pokud se vše podařilo, máte vyrobenou hezkou aplikaci. Co ale udělat s tím, aby mohla být vícejazyčná? Samotná aplikace je psána anglicky. (No, k pravé angličtině to má asi daleko!) Jak se z toho ve vašem počítači stane čeština? To díky lokalizačnímu nástroji GetText. Stačí mu přichystat předpis, jaký originální text má nahradit jiným. A to zvlášť pro každý jazyk. Pokaždé, když se připraví nějaká nová verze Geogetu pro zveřejnění, pomocí programu PoEdit si nechám zjistit nové, doposud nepřeložené texty v programu, a vymyslím jejich novou českou obdobu.
poedit


Ale než si toto všechno budete moci stáhnout, je třeba vyrobit instalační balíček. Ani tady se programování nevyhneme, protože je třeba mít vyrobený instalační skript, pomocí kterého systém InnoSetup vezme všechny potřebné soubory, včetně třeba Cachemapy, aby z nich vyrobil instalační soubor. Ale také dovolí řídit a programovat jednotlivé kroky, které vás pak při instalaci čekají. Tyhle věci se často nemění, ale i tak je občas třeba v něm něco malého upravit či vylepšit.
innosetup


Výsledkem je ten jeden veliký instalační soubor, jehož osud je plně ve vašich rukách! Mne už pak čeká nekonečné vylepšování a další a další verze... jé, hele, pizza!

  • 12



Fotka
petulinka1
led 08 2014 22:21

TO jsem zvedava na clanek po skoleni... :D

    • 0

Po skoleni? Ja myslel, ze na skoleni vsichni vypustime dusi!

    • 0

Po skoleni - po nas potopa. :-)

 

Pekne napsano, obcas me to pobavilo.

 

Ja bych vlozil dulezity odstavecek o vymysleni toho, jak to vlastne bude pracovat, jak se to bude ovladat, jak to udelat tak, aby byl prostor na budouci vyvoj, aby zustala zachovana koncepce, prehlednost, ovladatelnost a logika prace s aplikaci. Jinak z toho vznikne casem takovy slepenec, ze novy uzivatel nenajde vubec nic a co hur - bude to hledat pokazde, kdyz to bude chtit pouzit.

 

Pridame k tomu ochotu komunikovat s uzivateli, vysvetlovat, odpovidat, napovidat, ale take naslouchat pozadavkum. Pridame nezanedbatelnou nutnost akceptovat pozadavky gc.com. Pridame dalsi silenost - komunikace s testery a dalsimi lidmi, co programuji pluginy. Je treba ukocirovat jejich napady a pritom jim vicemene vyhovet a dat jim do rukou potrebne nastroje (rozumej funkce). A to jsme vynechali treba opravy chyb v kodu, ktery vyviji nekdo jiny a poskytuje jako knihovny a jine moduly pro obecne pouziti, aby usnadnil programovani. A co dokumentace? Prinejmensim podklady pro ni je treba nekam napsat, kdyz uz ne primo dokumentaci.

 

Kdyz si to tak clovek spocita, odmysli dobu nutnou pro premysleni, ladeni, ... nechame jen proste napsani tech mnoha desitek tisic radku, tedy jen cas pro napsani neceho v rozsahu pomerne slusne knihy, je to doba, kterou je treba nekde sebrat. Ze sveho volna, uzmout rodine, omezit jine zaliby, ... A pritom to vlastni napsani je rozhodne mene nez tretina casu, ktery nad itm programator stravi.

 

Je to fakt ocistec :-) a je v tom opravdu neskutence mnozstvi prace, ktere si neprogramator asi vubec predstavit neumi.

 

A za to vsechno ti patri muj dik.

    • 1

zadarmo ani kure nehrabe, takze to stejne delas pro poteseni, ze si z tebe spousta ceskych kaceru uz udelala boha a maji doma male GG oltaricky ke kterym se kazdy vecer modli :)....a jako ITak musim souhlasit s gordem...psani kodu uz je vlastne ta programatorova nejvetsi odmena za dokonceni poradne analyzy.

    • 1

Bojim se, ze tak prosta ta motivace opravdu neni.

    • 0
Fotka
petulinka1
led 09 2014 15:27

Ja doufam, ze nevypustime! :D Ale jestli jo, tak to se predem vzdavam sve ucasti neb chci usetrit svuj zivot a jeste si ho uzit :D

    • 0

Nu proč mám dojem že to dělá ufo ;) 

    • 0

Ahoj, bude nekde vysvetleno, proc vlastne se geoget instaluje? Kdyz si ho nainstaluju do Dropboxu, tak na druhem pocitaci beha v pohode (snad jen nezna typ spouboru s priponou gip).

 

Je tam jeste nejaka dalsi zavislost? Proc nestaci jen zip?

    • 0

Distribuce v ZIPu dokonce existuje (GASP) a musim rict, ze jsou s tim dost problemy. Nekteri uzivatele maji dost problem ZIP vubec rozbalit, natoz ho rozbalit do spravenho mista. Instalator se navic postara, aby clovek pouzival spravny datovy adresar a aby si neprepsal odkaz na stary datovy adresar, zaregistruje pripadne souborove asociace, uzivatel si muze zvolit, o jake komponenty ma zajem.. atd.

    • 0

zadarmo ani kure nehrabe, takze to stejne delas pro poteseni, ze si z tebe spousta ceskych kaceru uz udelala boha a maji doma male GG oltaricky ke kterym se kazdy vecer modli :)....a jako ITak musim souhlasit s gordem...psani kodu uz je vlastne ta programatorova nejvetsi odmena za dokonceni poradne analyzy.

 

Naprostá pravda. Bez GG už nežiju a pravda, nevěřím v boha, ale v HaLuMu :)

    • 0

Prosinec 2024

P Ú S Č P S N
      1
234 5 678
9101112131415
16171819202122
23242526272829
3031     

Poslední příspěvky

Poslední komentáře

prohlíží si 2 uživatelů

0 uživatelů, 2 návštěvníků 0 anonymních uživatelů

Hledat na mém blogu

Reklama