2. března 2014 9:41

Víčkův únor 2014

Jaký byl únor 2014 pro vás?
1/17%Dobrý
6Hlasovalo

Na rozdíl od minulého článku mám dnes určitou představu, o čem bych chtěl psát. Ano, v únoru se už konečně stalo něco zajímavějšího.

Omílám to tu sice každý měsíc, ale i dnes to napíšu - blíží se mi maturita. Oproti minulému článku je zase o měsíc dřív. Navíc venku začalo být pěkně a začíná to připomínat jaro, z čehož nemám dobrý pocit, protože vím, že jaro znamená maturitu. Už dva měsíce se přemlouvám, že se už musím začít učit. A jak na tom jsem? Zatím jsem si přečetl pouze jednu otázku z celkových 75. S povinnou četbou to bylo trochu lepší - jestli dobře počítám, přečetl jsem tři knížky. Taky bych v tom mohl pokračovat - už dva týdny nečtu vůbec.

Maturitní projekt

S maturitním projektem jsem na tom lépe - je to přeci jen programování, a to mě baví. A jak na to jsem? Už se blížím ke konci (ještě aby ne, když to musím do konce března odevzdat). Zbývá mi dokončit poslední funkci a udělat prohlídku aplikace. A samozřejmě napsat dokumentaci.

C++

Asi jsem se zbláznil. Pořád si stěžuju, že nemám čas, a najednou tohle. Prostě jsem se jednoho únorového dne probudil a cestou do školy jsem se začal učit C++.

Proč se učit C++? C++ má několik východ. Aplikace naprogramované v tomto jazyce jsou nativní, takže se nemusí pro jejich spuštění nic doinstalovávat, jako například .NET Framework nebo Java. Programátor má plnou kontrolu nad životností proměnných, takže si paměť můžu čistit, kdy já chci, místo toho, aby neustále rostla a začala se mazat v tu nejméně vhodnou chvíli. A nakonec samozřejmě rychlost, s Lojzikem v C# jsem s ní měl opravdu velké problémy.

Ačkoliv C# z C++ vychází, je mezi těmito jazyky spousta rozdílů. Například v C++ není operátor new pro vytváření objektů (pomocí new se vytváří pouze pole). Objekty se dokonce chovají jako hodnotové typy (a ve skutečnosti jimi vlastně jsou). To znamená, že po přiřazení se nepředá odkaz na objekt, ale celý objekt se zkopíruje. Pro ty, co umějí OOP, to asi nyní přijde docela blbý, protože síla OOP je mimo jiné i v tomto odkazování. V C++ je to ale geniálně vyřešeno pomocí ukazatelů, pomocí nichž lze udělat referenční typ z jakékoliv proměnné. Dále stojí za zmínku, že C++ nemá hodnotu null. Sice některé knihovny obsahují konstantu NULL, ale ta ve skutečnosti obsahuje pouze číslo 0.

Generátor Sudoku

Učení na příkladech mě moc nebaví (navíc programovat umím, tak mě pročítání tutoriálů nebaví, protože mě zajímají pouze odlišnosti od C# apod.), a tak jsem si řekl, že si něco naprogramuju a vždy, když narazím na nějaký problém, tak se té problematice budu věnovat. Zvolil jsem si znovunaprogramování generátoru Sudoku. Nyní jsem po předešlých zkušenostech zvolil lepší koncepci generátoru (například jsem oddělil řešičku Sudoku, takže je teoreticky možné zadat jakékoliv nevyřešené Sudoku a program ho vyřeší). Verze generátoru v C++ je mnohem rychlejší, ale velkou zásluhu na tom má také fakt, že jsem omylem přišel na efektivnější algoritmus. Nový generátor Sudoku jsem zatím nedokončil.

Zkusil jsem se podívat na Win API (grafické rozhraní Windows, které pamatuje i Windows 1.0) a zjistil jsem, že to je na mě docela složité. Samozřejmě bych se tím po čase prokousal, ale nedokázal jsem se kvůli předmaturitnímu stresu na to pořádně soustředit, a tak jsem učení se C++ odložil na letní prázdniny (respektive pro mě začátek června).

Docela paradoxem je, že jsem si nedávno říkal, že zabývat se dnes desktopovým vývojem už ani nemá moc cenu. Všechno se přesouvá na internet (respektive do cloudu, ale to je jen jiné pojmenování stejné věci) a je jen otázka času, kdy desktop už nebude pro normální běžné Franty uživatele, kteří budou mít jen tablety, ale bude jen pro tvořící menšinu za nekřesťanský peníze.

Moje motivace pro učení C++ není pouze budoucí vývoj Lojzika 2, ale mám i takový dá se říct sen, co bych chtěl někdy naprogramovat.

Tantrix: Víčkova edice v1.0

Ve středu 26. února jsem zveřejnil novou JavaScriptovou hru, kterou si můžete zahrát na mém webu. Ve hře samozřejmě naleznete pravidla, takže se tu o nich rozepisovat nebudu. Věřte, že tato hra není tak jednoduchá, jak se na první pohled může zdát, proto na ty pravidla doporučuji kouknout.

Tantrix: Víčkova edice

O vývoji této hry jsem psal už před dvěma měsíci, i když jsem tehdy neprozradil její jméno. Původně jsem její vývoj odložil na duben, až budu mít kompletně hotový maturitní projekt, ale nakonec jsem se rozhodl dokončit verzi 1.0 už nyní.

Verzí 1.0 ale nechci skončit. Jakmile dokončím maturitní projekt, tak budu ve vývoji pokračovat. U spousty těchto miniprojektů jsem skončil verzí 1.0 i přesto, že jsem měl naplánovaný další vývoj. Odkládal jsem až jsem to odložil úplně. Tuto chybu s touto hrou udělat nechci. A na co se máte v dalších verzích těšit? Nechte se překvapit. Jen vám řeknu, že se chci při tom naučit jednu novou technologii, kterou s největší pravděpodobností využiju i na nové Elfánii.

A když je řeč o Elfánii - s jejím vývojem hodlám začít ihned po kompletním dokončení Tantrixu.

Hodnocení

Celkové hodnocení
5 hlasů
Vaše hodnocení
Vyberte počet hvězdiček

Komentáře

Jméno:
Předmět:
Komentář:
  :):-|:P:D;):(8)[evil][arrow][idea][?][!]
Kontrola:
Žádné komentáře.
© 2011 - 2019 SuperMartas a Tomáš Hypeš