Jak se naučit dobře programovat?

MyEgo.cz

home foto blogy mywindows.cz kontakt

Jak se naučit dobře programovat?

Technologie 15.05.04

Pro člověka, co se chce naučit programovat je hlavní praxe. Tedy, pořád psát, psát a psát nějaký kód.

Jak jsem se k programování dostal já? Pojmu to mírně historicky:

Sinclair aneb první setkání s počítačem, Basic - ve 13 letech

Prodigy

Můj první počítač byl Sinclair Spectrum. Na svoji dobu úžasná věc. Celých 64kB RAM, napojení na televizi, malinkatý, Z80 CPU o (asi?) 8MHz. Mělo to integrovaný Basic, na každé klávese se psalo cca 10 slov, přes další přepínací klávesy. Gumové klávesy. Byl jsem z něj nadšený. Hry mě moc nebavily, navíc, načítaly se tam desítky minut, z kotoučového magnetofonu.

Začal jsem si psát svoje programy. V Basicu to ale moc nešlo. První věc, kterou jsem si napsal, byl barevný, blikající, hrající "učitel matematiky" pro moji mladší sestru. Tátovi se to líbilo. A začal jsem přesvědčovat rodiče, ať mi koupí počítač skutečný.

CP/M, fantastický Commodore C128, assembler a C - v 15 letech

V 15 letech mi rodiče koupili naprosto skvělý počítač (nejen na tu dobu; mám jej stále). Commodore C128, s 2x disketovou jednotkou (místo kazeťáku!!), monochromatickým (zeleným) monitorem. V době, kdy měl každý Sinclaira, či Atari, či Commodore C64, byl C128 bomba. A to hlavně v operačním systému. Již žádný Basic, ale profesionální operační systém CP/M!

Programoval jsem v tehdy C. Bavilo mě to. Dokumentace k překladači C pod CP/M skoro žádná. Navíc, na C128 nebyl k sehnání žádný software. Internet neexistoval. Počítač za 20.000 Kčs nikdo kolem mě neměl. Chtěl jsem české fonty? Musel jsem sehnat, horko těžko, dokumentaci ke grafické kartě, k BIOSu počítače, k přerušením, empiricky testovat, co to dělá, a napsat si vlastní fonty a ovladače grafické karty. Chtěl jsem českou klávesnici? Musel jsem si ji napsat. Chtěl jsem EGA grafický režim? Musel jsem si jej opět napsat. Chtěl jsem databázi? Opět, první dBase již existovala, ale… já jsem ji neměl. Sehnal jsem jen jakousi uživatelskou dokumentaci k dBase a napsal jsem si v C a v assembleru databázi vlastní, která funčnost dBase emulovala, včetně interpretovaného programovacího jazyku, a v tomto prostředí jsem potom dále programoval.

Třeba programy na učení se slovíček. Triviální. Ale to, že to běželo na mém systému, v mé databázi, s mými fonty, ovladači, atd., to bylo jedinečné! Tam byla ta hlavní práce. Cílem nebylo ani tak se učit slovíčka, to jsem zvládal v pohodě, cílem bylo získat nějakou záminku, dělat něco relativně smysluplného, a učit se tím programovat!

Dnešní kluci tyto pionýrské doby neznají. Přijdou ke klikacím Windows, či středně klikacímu Linuxu a… nevědí kde začít. Navíc, kód se v té době musel psát mimořádně efektivně. Jak z hlediska jeho velikosti (128kB RAM), tak z hlediska výkonu (procesory v řádech MHz).

Jeden můj moudrý známý má kluka, kterému je 12 let. Je to bohatý člověk. Ale jeho kluk má pro sebe doma jen starou i486 s 32MB RAM, MS-DOSem, Borland C++, a WordStarem. Proč? Ten člověk chápe, že pokud znáte základy, tak rozumíte věcem daleko lépe. A základy klikacích operačních systémů nemáte šanci poznat. Rozhodně ne ve 12 letech.

(Borland) Turbo Pascal a první PC - v 19 letech

Straw 2

První PC jsem si koupil v roce 1992. Za svoje peníze, cca 50.000 Kč. Dost peněz, na tu dobu. Pár měsíců po pádu komunismu jsem si založil svoji první "firmu", tedy, živnost. Na Gymnáziu, v Třebíči, jsem na tamních PC (žluté opékače topinek, IQ 151, s Basicem, jsem ignoroval, maximálně jsem tam dělal něco v assembleru pro učitele, kteří toho, oproti mě, moc neuměli..) a napsal 2 hodně dobré programy. Programy pro tvorbu rozvrhu hodin škol (což je DOST matematicky složitý problém), a jeho změny a suplování a statistiku, tisky pro žáky, atd.

Ten software byl velice úspěšný. Prodal se cca 100 středním školám v ČR. Měl rozhraní textové, které ovšem vypadalo graficky. Skoro jako dnešní Windows. Udělal jsem si vlastní fonty, třeba rámečky, které nebyly v polovině znaku, jako v Latin2, ale na okrajích znaku. Pár měsíců na to přišlo s podobných rozhraním Norton Utilities. Bylo to rychlé, a vypadalo to prostě skvěle! Vždy mě zajímalo, nejenom JAK co daný program dělá, metody, postupy, analýza, ale i zda je RADOST s ním pracovat pro jeho uživatele. Zaměření na klienta…

Programoval jsem tehdy hlavně v (Borland) Turbo Pascalu, v té době to byla nejlepší volba pro programování v MS-DOSu. Objektově! Napsal jsem si svoje vlastní třídy, knihovny, když se na to dívám dnes na 5.25" disketách, byla to, v podstatě, taková jednoduchá, ale kompletní, emulace dnešního Windows API. Ale DOS. Byly tam jak objekty pro low-level věci (klávesnice, myš, tiskárna, hotkeys), okna, ukládání obsahu oken, posouvání oken na obrazovce, složité zpracování formulářů a jejich automatické vytváření a vyplňování, funkce pro práci se soubory, řazení v databázi (quick-sort) velkých souborů, práce s pamětí, statistické funkce, a mraky dalších věcí.

Borland C++ a Intel-386 - v 21 letech

V 21 letech jsem již pár let programoval profesionálně v Borland Pascalu, v C, ale slušně i v C++. Borland C++. Když jsem se v 18 letech rozhodoval, kam jít na školu, udělal jsem přijímačky na práva, matematickou informatiku, a ekonomii (bankovnictví a finance). Vše Masarykova Univerzita, Brno. Byl jsem všude přijat. Na právech jsem skončil v první desítce při přijímačkách, na ekonomii taktéž. Rozhodně jsem nebyl "jen programátor". Dějepis, zeměpis, ekonomie, angličtina, obecný rozhled, mi rozhodně nebyl cizí.

Nakonec jsem zůstal u ekomomie. Uhrovité obličeje matfyzáků mě moc nebavili. Sympatické studentky ekonomie jsou mé osobnosti mnohem bližší. A enthusiasmus a nadšení Američanů (třeba z Yale), kteří v roce 1990-95 působili jako profesoři v ČR mě fascinovalo.

Programování jsem se ale nevzdal. V C++ jsem dělal v jedné firmě na projektech optimalizací stavebních prací (CPM/PERT). Opět, slušně složité. Matematicky. Psal jsem cca 2.000 řádků kódu denně. Kvalitního, funkčního kódu. Ostatní lidé, ti druzí nejlepší (v dané firmě), zvládali tak 500 řádků kódu denně.

Proč? Když programuji, nemusím přemýšlet, jako ostatní, o koncepci. Jsem ji schopen analyzovat tak rychle, že… prostě píšu rovnou kód. Objektový kód. Znovupoužitelný kód.

Příklad? Mám napsat obchodní modul. Vím, že má mít registraci klientů. Nákupní košík. Checkout. Návaznost na výrobky. Tisk. Redakční systém. Má si tyto údaje nějakou dobu pamatovat. Tyto celky jsou metody daného objektu "obchod". A mám to udělat za 3 hodiny. Každá metoda se dále dělí na další a další funkce. Začnu s celkem, a potom dopisuji menší a menší detaily. Každá funkce má maximálně jednu stránku A4, typicky ale mnohem méně. V tom se dá vyznat, to se dá odladit, nastavit breakpointy, watches. Dá se to okomentovat a vyznat se v tom i po 5 letech. Programování je fantastická kreativita. Preciznost.

Oracle a velké projekty - v 23 letech

Měl jsem obrovskou konkurenční výhodu. Byl jsem v top-10 studentů na ekonomii, a uměl jsem výborně programovat. Lépe než řada matfyzáků. Výsledkem byl můj vlastní vývoj software pro obchodování na Burze cenných papírů Praha. Rok 1996. Rok kupónové privatizace. Zákazníci? Komerční banka, Česká spořitelna, Atlantik, PPF burzovní, Expandia, J&T, Union banka, Stratego Invest, a mnozí další. Systém jsem, v podstatě, nejen sám navrhnul, ale i naprogramoval. Pak jsem najal programátory, pěknou (blonďatou) sekretářku, a začal jej prodávat a dále rozvíjet.

Ve 22 letech jsem si koupil svůj první Mercedes (E-klasa). Člověk, který by rozuměl problematice bankovnictví, financí, kapitálových trhů, a zároveň uměl skvěle programovat, a vést projekty, takového člověka konkurence neměla.

Nebyl to ale jen Oracle. Takové napojení na MAOS, SPAD a další real-time systémy BCPP si žádalo další a další technologie.

Java a tří-úrovňová architektura - v 25 letech

Straw 1

Velké projekty nelze dělat jen dvou-úrovňově. Tedy klient (Delphi, C++, Borland Paradox) a databáze (Oracle). Ano, naprostá většina procesů je psána nad databází, jako uložené procedury a triggery (PL/SQL). Kvůli rychlosti, nezávislosti na klientovi, a integritě dat.

V případě rozsáhlých pobočkových řešení a pomalých přenosových linek v roce 1998 se ale toto nedá použít. Na řadu musel přijít třetí prvek. Aplikační server. Psaný v Javě. Klient rovněž v Javě. Databáze opět Oracle. 3-tier architecture.

Sun, Solaris, Forte C++, web, XHTML, GSM, wap - v 27 letech (až dnes)

Pro amerického investora jsem dělal velké projekty založené na Oracle, Sun, Solaris, Forte C++ a Cisco. Není problém se naučit v podstatě jakoukoliv novou technologii, pokud již znáte Oracle, C++, Pascal, assembler, Javu. Jakýkoliv jiný programovací jazyk je otázkou jednoho, dvou dnů, pro základní pochopení, a týdne pro profi programování.

Člověk se hlavně musí neustále učit! Jinak… zakrní.

Závěr?

Chcete-li se naučit kvalitně programovat, nedělejte věci, které jsou jednoduché. Mějte nadšení pro věci, co děláte. Chcete se naučit PHP? Nebo Perl? Nebo C++? Ok. Vykašlete se na Blogger.com. Stáhněte si špičkový blog v PHP. Nebo Movable Type. Nebo zdrojáky Linuxu. A zlepšujte je. Dívejte se na kód, kvalitní, který napsal někdo jiný. Smažte Windows. Dávejte si nesnadné úkoly. Dávejte si záminky, aby jste mohli programovat. Pokud blogujete, neberte to jako cíl, ale jako prostředek, jak se něco naučit. Váš blog je odborný? No právě! Psaní článků z Vás odborníka neudělá. Programování systémů ano!

A hlavně… pokud nechcete být jen řadový programátor, zajímejte se i o věci kolem. Programátor nikdy nenapíše skvělou analýzu systému, kterému nerozumí. A analytik zase nechápe, co je možné rychle a reálně a otestovaně udělat. Pokuste se obě osoby sloučit v jedinou! To je budoucnost.


Komentáře

  1. 1 Jiří Macich ml. 15.05.04, 01:05:39
    FB

    Pěkné, moc pěkný článek :D

  2. 2 Miroslav Navrátil 15.05.04, 09:05:07
    FB

    Hezký :-) V tom případě bych ale měl začít něco dělat ... Já začínám zakrňovat (umím dost slušně Win, něco s Office taky splácám, XHTML, CSS, trošku PHP a databáze [když se k tomu přidá nějaká knížka tak pohoda] apod.)

  3. 3 Cyberluk 15.05.04, 09:05:53
    FB

    No hezky clanek.

    Ja o sobe nechavam posoudit ostatni. Zacinal jsem v 9ti letech na 486ce v Cecku a ted umim jakykoliv OOP jazyk. Bohuzel mi jeste neni 18, takze jednu tak trochu na vlastni triko, ale mam sponzora a takove ty vecicky.

    Cestina vam moc nejde :-) (par chybicek v i/y)...a nevrtejte do mne,ze pisu bez diakritiky :) Ja jsem prave vylez z programovani...

    Napsat 2000 radku za den / videt hned za Obchodem nekolik objektu (:D) - to vsechno je pouze otazka cviku - kdyz v tom dela clovek o nekolik let vice nez ostatni a ma vice zkusenosti nez ostatni, tak je vzdycky nejlepsi - to je snad samozrejmost.

    No a kdybych dneska ja zacinal s pocitacem a otec mi dal 486ku tak ho asi namiste zabiju :-) .Kdybych pred par lety umel skvele anglicky jako ted,mel neomezeny internet jako ted a mel nabuseny comp s DirectX/OpenGL ,plnou dokumentaci apod. Tak jsem dneska skoro mistr :-)

    Mno zaver je : Cim lepsi pocitac (at uz na zacatek) ,tim vetsi moznosti = rychlejsi vyvoj. Deti za 10 let budou mit nekolikanasobne rychlejsi pocitace a to co my zvladneme dneska napr. v 10ti letech, oni budou umet uz ve trech. Proste Svet jde dal a my s nim :-)

    Asi pred pul rokem jsem se dokazal napr. naucit Java socket server bez jakekoliv predchozi znalosti Javy - vsechno proste vychazi z C++ a vetsinou je to vsechno orezane.

    Ted delam na jednom obrovskem projektu - masivni online multiplayerova hra pro nekolik tisicovek hracu. Pouzivam Javu,Actionscript,MySQL,PHP,Apache. Vetsina je open-source,protoze ten -podle meho nazoru- je ted nejlepsi. Hra pobezi na vetsine OS(Windows,Linux,Unix,Sun,OS/2,...) a na nekolika rucnich zarizenich(PDA,Smartphone,Mobilni 'telefony')

    Mam rad Linux a novy Sun Solaris ve 3D (videl jsem pouze video :( ) - jenze jsem nucen pouzivat Windows, protoze vsichni porad delaji programy pro Windows - hry,winamp,Macromedia. Na ostatnich OS jsou vetsinou chabe nahrazky. Ale ted co ukradli par tisicovek radku zdrojovych kodu Windows NT a 2000, by mohli rozlusit spousteni .exe souboru a udelat konecne neco poradneho pro Linux, takze bych mohl pouzivat pouze Linux a ne Windows a v okne emulatoru(Virtual PC) nejaky Linux.

    Tak doufam ze mne vsichni pochopili, vezmou si z tohoto komentare hlavne to dobre a ze nezacnu nejake flame wars :-)

    S pozdravem Lukas Satin

  4. 4 Radek Hulán 15.05.04, 11:05:20
    FB

    [3] souhlas, Lukáši, C++ je naprostej základ. Pokud člověk zná dobře C++ naučí se cokoliv jiného za pár dní. Profesionálně..

    Plus SQL a PL/SQL.. Databáze jsou potřeba taky.

  5. 5 Hekerle Vitezslav 15.05.04, 12:05:52
    FB

    [4] proc C++, na to staci Java, Pascal, Basic... vpodstate cokoli - krome PHP. PHP se snazi az prilis zjednodusit praci takze prejit od nej k cemukoli jinemu (idealne striktne typovemu) je asi peklo.

  6. 6 Radek Hulán 15.05.04, 01:05:01
    FB

    [5] PHP rozhodně ne. Ale Basic taky rozhodně ne. Vytváří VELICE špatné taky-programátorské návyky.

    Pascal snad ano, nicméně, objekty v C++ jsou mocnější, a syntaxe C++ je bližší ostatním jazykům více než Pascal. Proto spíše C++...

  7. 7 lolek 15.05.04, 01:05:07
    FB

    Nevim, ale pokud chci opravdu myslet objektove, tak sahnu po smalltalku, protoze ten je skutecne objektovy (objektem je i samotny smalltalk). Jen jsem si stournul .... :D

    A k tem clankum, neni jen skvele, ze umite programovat (excelentne) ... musite i umet skvele komunikovat s ostatnimi, jinak je to k nicemu ...

    -- tento článek není jen o programování. Vůbec ne. Pokud jste jej celý četl, víte, že mám vzdělání ekonomické. Jsem manažer. Tedy vzděláním formálním. ;) Pokud člověk nechce zůstat jen řadovým programátorem, je umění řízení lidí, projektů, finanční analýza zcela klíčová. Zde se je co učit a poznávat celý život.. Na druhou stranu, jen "čistý manažer", bez znalosti (dobré) programování samotného, může těžko špičkově řídit, úkolovat, kontrolovat, delegovat na programátory.. --

  8. 8 Roman Chlebec, Mgr. 15.05.04, 01:05:35
    FB

    Gumák má 48KB ramm, 3,75MHz procesor.

    --je to možné, gumáka jsem už 15 let neviděl, nicméně, pokud si pamatuji, byla verze, původní, co měla 48kB, pak 64kB, a dokonce jedna s 128kB ;)--

    C128 nema graficku kartu ale cip ktory sa vola VIC. A nema ani BIOS. BIOS (tusim je to skratka Basic input/output system) iba na pocitacoch PC XT/AT. C128 nema EGA. Bud si tam zabudol popisat ze po C128ke si dostal PC.

    -- samozřejmě, že těch počítačů bylo víc. Ta EGA karta byla na "tehdy luxusním" PC XT, ani ne AT, bližší konfiguraci si už nepamatuji.. Měl jsem v rukách i ten C64, či Atari.. Popisovat to vše nemá smysl.. --

    Btw. zacinal som na PMD85 (96-96), Spektrum (1988-89), Commodore64 (1992-> az doteraz) Tie ostatne sunky co prisli po tom uz ani nie je hodne spominat ;-)

  9. 9 Hekerle Vitezslav 15.05.04, 02:05:37
    FB

    [8] ona mela 64 KB nicmene z toho bylo 16 KB ROM a 48 RAM. Takze by to tak sedelo.

  10. 10 llook 15.05.04, 07:05:29
    FB

    Pro osvojení správných návyků je podle mě hlavní psát, psát a zase psát, nezávisle na tom, co máte za hw a sw. Časem člověk ty návyky objeví.

    [3] "...by mohli rozlusit spousteni .exe souboru..." - spouštění exe(resp. PE) souborů je dávno rozluštěné, ale větší problém je Win32API, tj. olbřímí sada knihoven.
    Existuje projekt WINE, jehož cílem je právě implementace winapi pro různé unixové systémy vč. Linuxu, ale nikdy to asi nebude úplně identický klon. Vždy bude například potíž s aplikacemi(typicky hrami) založenými na DirectX. Další spousta omezení je dána bezpečností.
    Přesto lze už dnes velké množství aplikací pro Windows spustit i na Linuxu. Někteří výrobci dokonce dodávají Linuxové verze svých programů, které jsou přeloženy a slinkovány s libWINE(např. volně šiřitelný Corel Photopaint 9).

  11. 11 Jiří Macich ml. 15.05.04, 09:05:51
    FB

    Já začínal ve čtyřech letech s prográmky "Ahoj světe" v Basicu na C64. Jak šel čas, tak jsem přecházel postupně na Quick Basic, Visual Basic, Turbo Pascal a nyní C++. Když se teď koukám na další programovací jazyky, tak mi všechno strašně připomíná C++ a začíná to být takové jednoduché a snad i intuitivní. Škoda, že nemám na učení programování tolik času.

    BTW: Nyní se učím s Delphi a C++

  12. 12 Cyberluk 16.05.04, 09:05:45
    FB

    jj vim vo tom :-) WINE nebude nikdy dostatecne dobry - lepsi je emulovat primo celou masinu i s BIOSem a nainstalovat si tam jakykoliv x86 system [10]

  13. 13 Jirka Lahvička 16.05.04, 09:05:49
    FB

    Jen pár upřesnění k Sinclair Spectrum alias gumákovi:
    Paměť byla 48 kB RAM (z toho 6192 bytů video RAM) + 16 kB ROM.
    Na každé klávese byly cca 3 příkazy Basicu + 2 znaky, ne 10 (viz http://66.240.157.66/person... ).
    Hry se nenačítaly desítky minut, naplnění celé paměti z magnetofonu trvalo cca 5 minut. Desítky minut mělo Atari, než někdo napsal Turbo :-). Něco jiného jsou hry s dohrávkami, kdy po dohrání určitého levelu se opět musel nahrát další z pásky (a po vypadnutí se musel nahrát zpět první... ale i tak jsem to Operation Wolf dohrál do konce :-)

  14. 14 dgx 16.05.04, 03:05:29
    FB

    >> Člověk se hlavně musí neustále učit! Jinak... zakrní.

    Ještě před rokem jsem neznal moc z toho, na čem dnes stavím. A tohle platí po celých 19 let, co programuju. A bude platit ještě hodně dlouho, dokud je vývoj sw technologií ve svém boomu.

    Kdo chvíli stál už stojí opodál (Jan Neruda)

  15. 15 Tankvej 23.06.04, 01:06:24
    FB

    Zdarek panové članek je fakt zajimavej alestej ne sem se nebozvedel jak mma začít no jen programovat ale co vsechno ktomu potrebuju a jak to nainstalovat a jak se vtom pracuje a udelat ten nejakej slovnik kdyz jsem jeste nic nenaprogramova tak to nevim.Jestli tu je nekdo kdo mi chce pomoc z uplnim zacatkem programovanim tak mu budu vdecny doufam ze tu nekdo takovy je moc dik predem dekuji za jakou koliv odpoved a preji krasny den Tankvej

  16. 16 kErAm 14.12.04, 03:12:39
    FB

    Neee tak ted jsem odeslal svuj dlouhy prispevek a system me obvinil z toho, ze jsem robor prispevek zrusil i přes to, že jsem se naposlednii chvili snazil o rychle zmacknuti CTRL+A -> CTRL+C...
    Tak ted trosku zkracene i kdyz vy pisete 2000 radku denne :-)
    Mne je 15 let, jsem celkem ucenlivy. Veskery svuj volny cas stravim na PC. Proto ovladam snad vsechno ve Windows a i ve starem Manazeru 602. Umim HTML (bez framu zvladam psat zdrojovy kod do poznamkoveho bloku - framy si musim nekde upravit) a chtel bych se naucit PHP a databaze MySQL.
    Pokusil jsem se stahnout z dc++ (i jinych p2p klientu) nejaky zdrojovy kod. Jenomze tam jsou uz cele aplikace a ja se v tom jako spravna lama vubec neorientuju.
    Proto bych byl rad, kdyby mi nekdo pomohl, predem dekuju.

    ps. moc pekna stranka :) az na tu kontrolu proti spamu...

  17. 17 pyty 23.12.04, 09:12:06
    FB

    [16]že jsem se naposlednii chvili snazil o rychle zmacknuti CTRL+A -> CTRL+C...

    a co nieco ako "Back" ?? (alebo pouzivas firefox ?) mal by som na svoj weblog napisat nieco o Keyloggeroch...

  18. 18 PPZT 18.03.05, 03:03:33
    FB

    Velmi dobře si pamatuji na IQ 151, když jsem se sním měl od 1986 do 1990 učit. S nadějí jsem si v roce 1996 zakoupil i Notebook Leo s úctyhodnými 8 MB RAM, 680 MB HDD, FDD, OS DOS s nadstavbou Win 3.11 - to byla bomba, kterou jsem neocenil. Se spolupracovníkem jsem se seznámi s dBASE a dnešní PC s tisíci MHz, tisíci MB na HDD a tak dále mi připadá jako něco co je od základů hodně daleko. Dnes se začínám učit tvořit stránky WWW v HTML. Hry nehraju - ztráta času a tak ocením i méně výkonné PC. Sám mám 350 MHz, 10GB HDD, FDD, CD-RW, CD, 8MB grafiku. Také koukám po tom, jak začít programovat a s čím, ale v mých 33 let si stále nechci přiznat, že mi ujel vlak a navzdory tomu se učím, učím a učím.

  19. 19 Míla 03.04.05, 07:04:37
    FB

    [1] je to moc hezký,ale nedočetla jsem se tam,jak vůbec pomoci synovi 12 let,když chce vůbec začít...........existuje nějaká střední škola.lidově řečeno "na programátora"?:-))))všichni nejsou takový geniové...nebo se pletu?

  20. 20 Honza 26.05.05, 01:05:46
    FB

    Velice zajímavý článek... Je vidět, že jste třída. Dodělávám teď jeden školní projekt. Každý ze třídy si mohl vybrat nějaké téma na programování, učitel ho buď schválil nebo odmítnul. Byl jsem jediný kterému návrh schválil, ostatním přidělil něco sám. Můj projekt není nic světoborného ani nijak zvláštního jen obyčejný program na výuku autoškoly(Delphi), ale naučil jsem se přitom hodně nových věcí, hlavně při ošetřování programu tzv.
    blbuvzdornosti. Myslíte, že takový výukový systém má smysl? Já myslím, že je to lepší než sedět každou hodinu nad jiným programem... Lepší naprogramovat něco většího, složitého. Je mi jen 18, ale taky jsem programoval v QuickBasicu. Taky jsem mel starsi počítače. Muj první počítač s procesorem 80386 na 33 Mhz v roce 1994 byla fakt sunka, ale člověk se na ni dobře naučí.

  21. 21 oldsoft 16.03.06, 06:03:25
    FB

    Gumák má procesor Z80 běžící na 3.5MHz, nikoli 3.75MHZ, to jen tak pro naprostou přesnost.

  22. 22 Tim 17.03.06, 06:03:17
    FB

    [5] Ne asi, ale určitě. Já na PHP vyrostl a dlouhou dobu mi to stačilo. Do té doby, než musel být semestrální projekt na VŠ v C++. A to teprve začalo to pravé peklo - typová kontrola, ukazatele - věci do té doby nepoznané. Ještě dnes mě při těchto dvou slovech polévá studený pot :-D
    Člověk se dobře učí neustálou prací, ale úplně nejlepší je učit někoho jiného. Kámoše jsem naučil základy PHP+MySQL a nasměroval ho (snad) správným směrem k dalšímu zdokonalování. Přitom jsem se naučil spoustu nových postupů a porozumněl mnoha věcem, které jsem do té doby znal jen povrchně.

  23. 23 --==[FReeZ]==-- 27.03.06, 10:03:23
    FB

    Moc hezky clanek, jen doplnim sve poznatky. Dnesni programovaci jazyky (prip. vyvojova prostredi) maji v sobe hotove vsechny mozne dily.

    Dnesni "moderni" programator pouze tyto dily navzajem slepi a sem tam k nim prida berlicku.

    Kazda firma chce toho "moderniho" programatora, ktery neumi vic, nez lepit dohromady dily tak, aby vyprodukoval kvalitni nabytek.

    Drive si kazdy nejprve musel naprogramovat sve dily, pak teprve mohl z techto dilu stavet. Bylo to moc zajimave, zabavne a dnes to uz zvladne opravdu malokdo. To co se delalo driv je u mne Programovani (velke P) dnes uz se jen prevazne modeluje (slepuje, programovani uz to neni).

    99% potrebnych dilu mame hotovych a ihned dostupnych, pracuje se na tom, aby jsme uz nemuseli dopisovat do svych produktu ani ty berlicky, takze budoucnost vidim v tom, ze predem hotove dily budou stale vetsi a vetsi.

    Napr. Dnes potrebuji pouzit 5 komponent, poslepovat je do 3 vetsich a dopsat 10 berlicek (ochranu vstupu od usera) ale v budoucnu uz budou k mani rovnou 3 vetsi dily a berlicky nebudou potreba.

    Tzn. pracujeme se stale vetsimy celky, je porad jednodussi udelat celek, to, co vytvarim v Delphi 10 minut bych vytvarel v Borland Pascalu 7.0 nekolik mesicu, nebo let.

    Temer nikdo si neuvedomuje, jak je to dnes snadne, opravdu mne nebavi PHP, HTML, Delphi, ... tak moc, jako Borland Pascal s Assemblerem.

    Takova je doba, brzy to bude jeste jednodussi, je nutne se s tim smirit a pracovat ihned, jak je to mozne s temi obrovskymy hotovymy dily, je to lepsi, nez zacinat od nuly.

    PS: Osobne jsem zacal uplne odspodu, tzn. od DOSu a sepsal jsem si strasne moc dilu sam, nyni uz tomu rozumim tak, ze jsem se dal na Windows a predem hotove celky v nich obsazenych. A co vy ostatni ?

  24. 24 Malíř 01.04.06, 06:04:01
    FB

    Když si tady pročítám jednotlivé příspěvky od vás všech, nedá mi to, abych něco také nepřihodil.

    Můj první počítač byl C64. Hraní her mne brzy přestalo bavit, napsal jsem pár prográmků v Basicu a začal se poohlížet po nějakém rychlejším kódu.

    Po večerech jsem se jako správný samouk učil Assembler a při tom mne napadlo, zkusit si opět nějakou tu hru, ovšem nahrávání z kazetového magnetofonu, byť v Turbu250 nebo 61-K, bylo opravdu únavné.

    Někde v šuplíku se mi povalovala kartridž (dejte pokoj s angličtinou) s nějakou hrou, jejíž název si už nepematuji.
    Začal jsem koumat a přemýšlet, jak že to v tom mém miláčkovi vlastně pracuje a po měsíci jsem do patice pro ROM moduly s hrou, vsadil jednu 2kb EPROM-ku se systémovým zavaděčem a s Turbem 250.

    Šílené na tom bylo to, že jsem si celý strojový kód musel z výpisu paměti C64 na obrazovce přepsat na papír, potom jej pracně naklepat do jiného počítače, který měl zásuvný modul s EPROM programátorem. V roce 1990 jsem si nemohl dovolit koupi drahého počítače jenom tak na hraní, proto jsem musel toto celé absolovovat. A docela rád :-)
    Mimochodem byl to programovací přístroj PG 675 pro automaty Simatic S5, se dvěma 370 KB disketovými jednotkami, takže si jistě umíte představit, co to bylo za "dělo" :-)

    Po zasunutí takto nově "naprogramovaného" modulu do EXPAND portu C64 stačilo stisknout tlačítko na modulu a poté 1 stisk klávesy RESTORE a - HOP Turbo 250 bylo v paměti C64 a aktivní :-)

    Někteří z vás si jistě pamatují hru ALIENS od TRIADU pro C64, kde rychle došlo střelivo.
    Musel jsem najít místo v kódu, kde se střelivo odečítá, no a pak již stačilo vložit na ta správná místa v paměti instrukce NOP a nesmrtelnost s nekonečným střelivem byla na světě :-)

    Nebavilo mne ani tak hry hrát, ale spíš koumat, jak to ti programátoři napsali a co se stím vším dá dělat. Musel jsem uznat, že neměli jednoduchou práci, když v té době se muselo šetřit každým bajtem volného místa v RAM.

    C64-ku po čase nahradila 486-ka PC, ale jelikož jsem neměl čas, používal jsem svůj nový stroj pouze pro tvorbu grafiky v programovém balíku COREL 5.
    Běželo to, pomalu, ale běželo - sláva :-)

    Blížily se vánoce a já jsem náš vánoční stromeček rosvítil světelným hadem, připojeným přes USER port na C64-ku - přeci ho nevyhodím. Nevěřil jsem, co dokáže program v Assembleru navyvádět se svítivýma diodama za efekty. Už jste si někdy naprogramovali - posouvající se "tmu" na světelném hadovi? Tak to někdy zkuste, budete zírat :-))

    Svoje programátorské snažení na 8-bitech jsem zakončil tím, že jsem z rozbitého Commodoru 64 vytahal všechny obvody z patic a na kontaktním poli "postavil" jednoduchý minipočítač, napsal provozní systém a "vdechl mu život", který se projevoval blikáním 8 svítivých diod podle zvukového signálu z rádia :-)

    Tím vším jsem chtěl dát za pravdu Vám všem, kteří se nespokojíte s klikáním na ikonky Billových Woken XP, ale chcete dosáhnout výš, naučit se o něco více, než ti všichni kolem, kteří si říkají "programátoři."

    Já se s nějvětší pravděpodobností programátorem nestanu, nemám na to čas a přiznávám že mi již dávno ujel vlak - výpočetní technika jde rychle kupředu, ale myslím si, že není na škodu se občas podívat nazpět - třeba jenom tak, pro zábavu :-)