Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: martin 12. 04. 2011, 09:57:01

Název: Jak se naučit programovat?
Přispěvatel: martin 12. 04. 2011, 09:57:01
Co byste doporučili běžnému Windows uživateli, který se chce naučit programovat v Linuxu? Tedy kromě toho přejít do prostředí Linuxu :-)

Základy mám pár desítek let za sebou a nepamatuji se, jak vlastně začít z nuly. Výběr jazyka je vcelku vedlejší. Spíš by mě zajímalo, co všechno člověk musí znát, aby byl schopen se jazyk naučit z knížky. Např. bude asi dobré vědět, co je to bajt, že :-)

Máte nějaké tipy? Nejlépe přímo zkušenosti začátečníků by mne zajímaly. Díky
Název: Re: Jak se naučit programovat?
Přispěvatel: Jork 12. 04. 2011, 10:33:42
doporučil bych především pokládat lépe (méně "obecně") dotazy.. sice je asi pravdou, že dobrý programátor je líný programátor, ale vše má své limity.. Hodně štěstí
Název: Re: Jak se naučit programovat?
Přispěvatel: asdvasdv 12. 04. 2011, 10:34:55
Clovek nemusi vediet nic - zalezi to len od knizky.

Inak pri uceni programovania by si sa mal naucit algoritmy a to do takej miery, do akej miery chces vediet programovat. A potom by si mal samozrejme vediet vymyslat nejake dalsie algoritmy s tym, ze sa inspirujes uz naucenym.

Veci ako "byte" alebo nejaka reprezentacia v PC a syntax jazyka su uz len trocha "omacky" okolo, ktoru sa clovek nauci velmi rychlo.
Potom su tu este veci, ktore sa pomerne dost intenzivne menia (velkosti cache, pipeliny u CPU) - u tych staci vediet nejaky zaklad, ktory je vsade rovnaky, ostatne sa da najst v dokumentacii. Tieto znalosti sice pomozu aj vyrazne zrychlit program (fungovanie cache), ale bez dobreho algoritmu to bude nanic.
Název: Re: Jak se naučit programovat?
Přispěvatel: smoofy 12. 04. 2011, 10:38:41
Obrnit se trpelivosti, ujistit se, jakemu typu programovani se chce clovek venovat (GUI aplikace, sitove aplikace daemoni etc.) a podle toho volit jazyk a pak zvolit vhodnou distribuci co se tyce prechodu na linux. Pokud clovek chce programovat tak asi nechce travit hodiny a hodiny nastavovanim a zprovoznovanim systemu, zejmena jako novacek.  Pro tyhle ucely je perfektni ubuntu. Mne pri mojich zacatcich s linuxem pomohlo moc.

Název: Re: Jak se naučit programovat?
Přispěvatel: v 12. 04. 2011, 10:44:06
http://xkcd.com/353/
Název: Re: Jak se naučit programovat?
Přispěvatel: JS 12. 04. 2011, 11:20:09
Ja popravde receno moc nechapu tu otazku. Z hlediska programovani je dnes uz castokrat operacni system vedlejsi zalezitost. Prakticky kazdy jazyk (snad krome C# a VB) ma implementaci i pro Linux. Takze by to asi chtelo upresnit, co konkretne se snazite programovat. A pokud vam nejde ani tak o jazyk, jako spis o programovani na urovni OS (tzn. nejake zaklady Unixu), nevim, co na tom resit, jak zacit - proste si asi koupit nejakou knizku, ja mam treba (uz trochu starsi) http://www.root.cz/clanky/linux-zaciname-programovat/ (http://www.root.cz/clanky/linux-zaciname-programovat/). Urcite vam lide v diskusi daji i mnohem lepsi doporuceni, pokud to trochu upresnite.
Název: Re: Jak se naučit programovat?
Přispěvatel: martin 12. 04. 2011, 12:04:49
Myslím, že knížka "Linux - Začínáme programovat" je pořád na uživatele, co neví, co je bajt nebo jak je reprezentová obrázek nebo text v souboru, stále dost velké sousto. Normální uživatel neví nic o ASCII natož UTF-8 nebo kontrolních znacích typu \t, \n atd.

Pokud je někdo schopen se z knížky naučit Diango nebo Rails, tak bude schopen se naučit i tlustou aplikaci s GUI. Problém je, že normální uživatel není schopen hned na začátek ani jedno právě pro zmíněnou absenci základů a čtení takové literatury je jako pro nefyzika číst kvantovou mechaniku.

Nebo se pletu? Lze do toho skočit po hlavě a základy pochytit v průběhu? Myslím, že pokud by existovalo nějaké rychlé shrnutí typu co je bajt, obrázek, soubor, binární soustava, tak by to docela urychlilo start.

Díky, za náměty.
Název: Re: Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 12. 04. 2011, 12:05:17
No já myslím, že na rozjezd je skvělé HTML, pokud ho neovládáte, je dobré se ho naučit, protože dříve, či později na něj narazíte. Je to sice programování v uvozovkách, dá se naučit rychle a během toho se zapřemýšlí, jakým směrem dál.
Název: Re: Jak se naučit programovat?
Přispěvatel: dvdmchl 12. 04. 2011, 12:26:44
HTML je značkovací jazyk, to fakt nemá s programováním nic společného, ani v uvozovkách ne.
Jinak pdo linuxem se programuje úplně stejně jako pod widlema, jen se používají jiné nástroje.

Pořád se dělá to samé. Veme se úkol, ten se rozdělí na dílčí podůkoly, ty se dále dělí až není na co dělit a to se pak napíše do kódu v nějakém jazyku.

Takže k původnímu dotazu. Naučte se programovat na libovolném systému. Pak budete umět programovat i pod linuxem, prostě proto, že se to v principu nijak neliší.
Název: Re: Jak se naučit programovat?
Přispěvatel: JS 12. 04. 2011, 12:41:42
Myslím, že knížka "Linux - Začínáme programovat" je pořád na uživatele, co neví, co je bajt nebo jak je reprezentová obrázek nebo text v souboru, stále dost velké sousto. Normální uživatel neví nic o ASCII natož UTF-8 nebo kontrolních znacích typu \t, \n atd.

Aha, tak to jsem to spatne pochopil. Myslel jsem, ze jste myslel, ze zaklady programovani mate uz nekolik let za sebou. Jinak totiz, jak uz psali ostatni, je volba platformy podradna. Doporucil bych zacit v Pythonu, na Linuxu je v kazde distribuci, nebo treba Active Python je pekna distribuce pod Windows. Mozna by bylo uzitecne koupit si k nemu nejakou knizku, ale ted vam zadne doporuceni nedam, protoze to nesleduji. (Kdybych mel deti, a chtel je ucit programovat, asi bych ted jel podle The Land of Lisp, ale to neni vas pripad.)
Název: Re: Jak se naučit programovat?
Přispěvatel: alefo 12. 04. 2011, 16:03:44
Tiez by som uvital vediet, co znamena ,,programovat v Linuxe".

Znamena to shell scripting? Ovladat to, co sa spomina v Advanced Linux Programming, teda procesy, vlakna, synchronizacne mechanizmy, IPC? Programovat moduly do jadra?

Alebo vyvijat GUI v GTK ci QT?
Název: Re: Jak se naučit programovat?
Přispěvatel: Ublas 12. 04. 2011, 16:41:45
Skus trebars tento odkaz: http://howto.py.cz/index.htm 
Název: Re: Jak se naučit programovat?
Přispěvatel: Michal Štrba 12. 04. 2011, 17:23:38
Skus trebars tento odkaz: http://howto.py.cz/index.htm
To je uz trosku out-of-date. Na python pokial knizku tak odporucam tuto: http://knihy.cpress.cz/python-3.html (http://knihy.cpress.cz/python-3.html) 8) pripadne nejaky tutorial na internete. Tiez odporucam ucit sa python 3 a nie 2 (je lepsi ;) ).
Název: Re: Jak se naučit programovat?
Přispěvatel: JS 12. 04. 2011, 17:33:17
To je uz trosku out-of-date. Na python pokial knizku tak odporucam tuto: http://knihy.cpress.cz/python-3.html (http://knihy.cpress.cz/python-3.html) 8) pripadne nejaky tutorial na internete. Tiez odporucam ucit sa python 3 a nie 2 (je lepsi ;) ).

Knizka o Pythonu je to mozna dobra, ale nevim, jestli je vhodna pro nekoho, kdo neumi vubec programovat (prece jenom, takove veci jako regularni vyrazy a vlakna.. a jen na konci mala nenapadna zminka o GUI).
Název: Re: Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 12. 04. 2011, 19:24:49
@dvdmchl ... máte pochopitelně pravdu, přesto je dobré ho znát :-D
Název: Re: Jak se naučit programovat?
Přispěvatel: Mirek Čech 12. 04. 2011, 20:33:02
Zdravím do programování soce nevidím vůbec ale myslím že tazatel by měl asi nejdříve napsat co chce vlastně vytvářet.
Název: Re: Jak se naučit programovat?
Přispěvatel: Michal Štrba 12. 04. 2011, 22:15:59
Zdravím do programování soce nevidím vůbec ale myslím že tazatel by měl asi nejdříve napsat co chce vlastně vytvářet.
Casto sa stava (pri hobby programovani) ze zistis co vlastne chces robit az ked uz programovat vies
Název: Re: Jak se naučit programovat?
Přispěvatel: blizz 12. 04. 2011, 22:22:20
Co byste doporučili běžnému Windows uživateli, který se chce naučit programovat v Linuxu? Tedy kromě toho přejít do prostředí Linuxu :-)

Základy mám pár desítek let za sebou a nepamatuji se, jak vlastně začít z nuly. Výběr jazyka je vcelku vedlejší. Spíš by mě zajímalo, co všechno člověk musí znát, aby byl schopen se jazyk naučit z knížky. Např. bude asi dobré vědět, co je to bajt, že :-)

Máte nějaké tipy? Nejlépe přímo zkušenosti začátečníků by mne zajímaly. Díky

Ja by som na tvojom mieste ako prvý jazyk skúsil Ruby + RoR.. Ruby je jednoduchý jazyk pochopí ho aj 10 ročné dieťa trošku sa podobá na Basic, má veľmi jednoduchú syntax nemusíš písať zbytočné zátvorky (presne ako v basicu). Na Railsy je veľa tutorialov. Keď sa naučíš ruby tak skús niečo iné trebárs C# prípadne Delphi a vytvor si v tom nejakú GUI aplikáciu, napríklad: torrent klient, video player, grafický editor, alebo jednoduchú hru. Takto sa najlepšie naučíś programovať. Dôleźité je aby si sa naučil myslieť objektovo, a na to sú najlepšie GUI aplikácie.
Název: Re: Jak se naučit programovat?
Přispěvatel: Michal Štrba 12. 04. 2011, 22:28:43
Keď sa naučíš ruby tak skús niečo iné trebárs C# prípadne Delphi
Pravdepodobne mala nepozornost z vasej strany: on chce robit v linuxe :)
Název: Re: Jak se naučit programovat?
Přispěvatel: dvdmchl 12. 04. 2011, 22:29:53
Delphi uz je mrtvy ne?
Název: Re: Jak se naučit programovat?
Přispěvatel: Mirek Prýmek 12. 04. 2011, 23:08:06
Přidám se k tomu, co už tady řekli jiní: prvně bysme potřebovali vědět, proč se vlastně chcete učit programovat a proč pod Linuxem. Bez toho se na tu otázku nedá odpovědět.
Název: Re: Jak se naučit programovat?
Přispěvatel: martin 12. 04. 2011, 23:55:20
Přidám se k tomu, co už tady řekli jiní: prvně bysme potřebovali vědět, proč se vlastně chcete učit programovat a proč pod Linuxem. Bez toho se na tu otázku nedá odpovědět.

1. protože řada lidí tvrdí, že je to zajímavé. Nováček to z podstaty těžko může rozhodnout.

2. protože je docela dost pracovních příležitostí pro takovou profesi

3. pod linuxem proto, že programátorů je pro tuhle platformu velmi málo, existují komunity, kde mohou poradit a až se překlene počáteční bariéra absence základů, tak existuje i velké množství dokumentace.

Toliko asi počáteční motivace.
Název: Re: Jak se naučit programovat?
Přispěvatel: Mirek Prýmek 13. 04. 2011, 06:44:36
1. protože řada lidí tvrdí, že je to zajímavé. Nováček to z podstaty těžko může rozhodnout.

To je určitě pravda. Minimálně proto, že to je (může být) kreativní činnost a člověk má velkou radost z toho, když stvoří něco, co funguje a slouží.

2. protože je docela dost pracovních příležitostí pro takovou profesi

To už je trochu horší. Nabídek je sice docela dost, ale marná sláva programování je (většinou) docela odborná činnost vyžadující hodně znalostí. Aby člověk aspoň trochu něco zvládal, chce to podle mě tak minimálně rok nepřetržitého učení (8-10 hodin denně) pod dobrým vedením, nebo takových pět let zkoušení po večerech (2-4 hodiny denně). Je určitě chvályhodné, že se chcete vzdělávat/rekvalifikovat, ale jestli v tomhle oboru nemáte žádné zkušenosti, nečekejte, že po půlročním snažení seženete dobře placenou práci. Tím vás nechci odrazovat, ale nepočítejte s "quick wins".

3. pod linuxem proto, že programátorů je pro tuhle platformu velmi málo, existují komunity, kde mohou poradit a až se překlene počáteční bariéra absence základů, tak existuje i velké množství dokumentace.

Zaměřením se na Linuxovou platformu si situaci ještě víc zkomplikujete, pokud vám jde o výdělek. Jakkoli může důležitost Linuxu/Unixu růst, pořád je to na desktopech silně okrajová platforma a programování serverových věcí není žádná sranda. Unixových programátorů je možná míň, takže možná i nabídky jsou lepší (nevím, nesleduju to), ale o to větší znalosti jsou pro tuhle pozici potřeba. Pokud bych chtěl najít práci, orientoval bych se spíš na oblasti, kde je jí hodně, než na oblasti, kde jí je málo :)

-----

Takže za mě: programování je super a je to bezvadný koníček. Vítejte do klubu! :) Ale pokud vám jde primárně o práci v něčem kolem počítačů (a máte věk nad třicet), zaměřil bych se na něco jiného - možná na nějaký support, správu sítí, hardware apod. Tam je penzum potřebných znalostí podle mého menší a práce pořád poměrně dost ve srovnání s nepočítačovým světem.

Druhou možností je zaměřit se na nějaké lehčí programování, třeba webové technologie, ale to bych taky moc nedoporučoval, protože mám pocit, že amatérů (bez urážky!) je v téhle oblasti až dost a s tím, jak se i tahle oblast profesionalizuje, budou mít čím dál tím míň práce.

Snad jsem vám aspoň trochu pomohl. Klidně se ptejte dál, můžete i soukromě na mail.
Název: Re: Jak se naučit programovat?
Přispěvatel: martin 13. 04. 2011, 09:34:25
Druhou možností je zaměřit se na nějaké lehčí programování, třeba webové technologie, ale to bych taky moc nedoporučoval, protože mám pocit, že amatérů (bez urážky!) je v téhle oblasti až dost a s tím, jak se i tahle oblast profesionalizuje, budou mít čím dál tím míň práce.

Opravdu moc díky za všechny komentáře. Určite něchci zůstat (mluvím v zástupu za danou osobu - moje ego to snad vydrží :-)) v průměru. Ty ambice jsou vyšší. Do roka bych se chtěl dostat na průměrnou úroveň a pak se postupně dostat výš. Webové technologie jsou určitě zajímavý směr po překlenutí toho bílého místa začátku.

Díky i ostatním za tipy na literaturu.
Název: Re:Jak se naučit programovat?
Přispěvatel: Tomáš 07. 12. 2012, 22:29:03
Doporučuji http://www.jakprogramovat.cz/ vše vysvětleno pro začátečníky navíc dva aktuální tutoriály pro úplné laiky v Pascal a VBA. Což jsou podle mě dobré jazyky do začátku. Lekce vychází průměrně jednou za týden co jsem se díval..skoro jsem zalitoval, že tyto základy mám již za sebou :D
Název: Re: Jak se naučit programovat?
Přispěvatel: Rax 08. 12. 2012, 11:13:58
Ty ambice jsou vyšší. Do roka bych se chtěl dostat na průměrnou úroveň a pak se postupně dostat výš.

Základy programování trvají zhruba 10 000 hodin, na to aby ses dostal na průměrnou úroveň potřebuješ dalších 5 000. Není to tedy záležitost jednoho roku. To proto že je třeba toho znát opravdu hodně. Začít můžeš třeba C a SQL, tím nic nezkazíš.
Naproti tomu pokud si chceš hrát třeba v PHP, tak to můžeš začít z fleku a hned to bude něco dělat, ale programovat se tam nenaučíš. Stejně tak další skriptovací jazyky jako Python a Javascript.

Delphi uz je mrtvy ne?

Delphi je reinkarnováno a je opět mezi námi, včetně 64-bit kompilátoru. WIN32 a WIN64 GUI aplikace se v tom stále dělají lépe než v C#. Pro Linux Delphi bylo, ale už asi nikdy nebude, byl to vysloveně ztrátový podnik.

1. protože řada lidí tvrdí, že je to zajímavé. Nováček to z podstaty těžko může rozhodnout.
2. protože je docela dost pracovních příležitostí pro takovou profesi
3. pod linuxem proto, že programátorů je pro tuhle platformu velmi málo, existují komunity, kde mohou poradit a až se překlene počáteční bariéra absence základů, tak existuje i velké množství dokumentace.

1) Programování pro Linux je všechno jenom ne zajímavé.
2) Možná pro Javu, ne pro programování pro Linux.
3) Profesionálních programátorů pro Linux je velmi málo proto, protože peníze investované do aplikací pro Linux se obvykle ani nevrátí a jenom výjimečně se něco vydělá. Psaním opensource programů pro Linux se neuživíš.
Název: Re: Jak se naučit programovat?
Přispěvatel: Mirek Prýmek 08. 12. 2012, 11:18:30
1) Programování pro Linux je všechno jenom ne zajímavé.
Mohl bys to rozvést? Chceš říct, že třeba programování pro MacOS nebo Windows je zajímavější? Proč?
Název: Re: Jak se naučit programovat?
Přispěvatel: Rax 08. 12. 2012, 11:41:18
Mohl bys to rozvést? Chceš říct, že třeba programování pro MacOS nebo Windows je zajímavější? Proč?

Protože pojmem zajímavý se dá označit hlavně tvůrčí práce a poměr tvůrčí práce versus nudné a otravné záležitosti je v neprospěch Linuxu. Nebudu to dále rozvádět, jinak se strhne velký flame.
Název: Re:Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 08. 12. 2012, 11:42:41
Pokud se budeme bavit o aplikacích, tak nejzajímavější programování je asi multiplatformní. To člověk potom musí zvládnout dost překážek a dost se naučí. Jinak co se týče programování pro Linux, tak nevidím jediný důvod, proč by mělo být nezajímavé? Pokud myslíte tu finanční stránku, tak pokud vím, tak je i dost komerčních aplikací. Ano musí být projekt dost zajímavý, aby lidé byly ochotni za něj zaplatit. Nicméně dnes už to platí na všech platformách. I když se to nezdá, tak na Windowsech a Macu možná víc, než na Linuxu.
Název: Re:Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 08. 12. 2012, 11:46:13
Mohl bys to rozvést? Chceš říct, že třeba programování pro MacOS nebo Windows je zajímavější? Proč?

Protože pojmem zajímavý se dá označit hlavně tvůrčí práce a poměr tvůrčí práce versus nudné a otravné záležitosti je v neprospěch Linuxu. Nebudu to dále rozvádět, jinak se strhne velký flame.

Tak toto fakt není záležitostí a problémem systému.
Název: Re:Jak se naučit programovat?
Přispěvatel: Rax 08. 12. 2012, 11:50:15
Tak toto fakt není záležitostí a problémem systému.

Ještě jsem ani nezačal a už tu máme flame :) Dneska na to nemám náladu, užijte si ho sami.
Název: Re: Jak se naučit programovat?
Přispěvatel: Mirek Prýmek 08. 12. 2012, 11:58:17
Protože pojmem zajímavý se dá označit hlavně tvůrčí práce a poměr tvůrčí práce versus nudné a otravné záležitosti je v neprospěch Linuxu. Nebudu to dále rozvádět, jinak se strhne velký flame.
Nemusíš naskakovat na flejm, stačí, když prostě jednoduše, stručně, ale hlavně výstižně řekneš, proč si to myslíš, a flejmoidní příspěvky můžeš nechat bez odpovědi.

Mně přijde, že by to mělo být úplně nastejno - pokud se bavíme třeba o klasických desktop aplikacích, tak v čem je výrazný rozdíl, pokud programuješ pod nějakým microsoftím MFC, WPF nebo já nevím, co oni tam mají na jedné straně - a v nějakém tom QT nebo WX na Linuxu? Že bych na Linuxu pod WX musel řešit nějak výrazně víc "nudných a otravných" záležitostí? Neumím to úplně posoudit, tohle moc nedělám, ale moc se mi to teda nezdá.
Název: Re:Jak se naučit programovat?
Přispěvatel: Mirek Prýmek 08. 12. 2012, 12:07:53
Pokud se budeme bavit o aplikacích, tak nejzajímavější programování je asi multiplatformní. To člověk potom musí zvládnout dost překážek a dost se naučí.
Mně přijde, že zajímavost programování je daná hlavně tím, co programuju. Určitě je zajímavější programovat AI nebo nějaký multiagentní systém, než miliontéprvní webové stránky :)

Pokud myslíte tu finanční stránku, tak pokud vím, tak je i dost komerčních aplikací. Ano musí být projekt dost zajímavý, aby lidé byly ochotni za něj zaplatit.
Nezapomínejme na to, že existují firmy, které jsou ochotné za psaní opensource platit. Pokud vím, třeba RedHat v Brně docela s chutí nabírá lidi. Implikace peníze <=> komerční soft prostě neplatí.
Název: Re:Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 08. 12. 2012, 13:22:21
Pokud se budeme bavit o aplikacích, tak nejzajímavější programování je asi multiplatformní. To člověk potom musí zvládnout dost překážek a dost se naučí.
Mně přijde, že zajímavost programování je daná hlavně tím, co programuju. Určitě je zajímavější programovat AI nebo nějaký multiagentní systém, než miliontéprvní webové stránky :)
Tak to je bez diskuze, to je jasná věc.

Pokud myslíte tu finanční stránku, tak pokud vím, tak je i dost komerčních aplikací. Ano musí být projekt dost zajímavý, aby lidé byly ochotni za něj zaplatit.
Nezapomínejme na to, že existují firmy, které jsou ochotné za psaní opensource platit. Pokud vím, třeba RedHat v Brně docela s chutí nabírá lidi. Implikace peníze <=> komerční soft prostě neplatí.
Jasně, to je také pravda, ale jsou i menší firmy, které mají zajímavé projekty, za které jsou lidé ochotni platit. Pravdou je, že nejeden člověk vyhořel na tom, jak z nějakého programu vytříská peníze. Typickým příkladem je multiplatformní, grafický editor Pixel.  Bohužel tady absolutně selhal lidský faktor. Projekt v tu dobu byl jinak více, než zajímavý.
Název: Re: Jak se naučit programovat?
Přispěvatel: bbbbb 08. 12. 2012, 13:43:52
Základy programování trvají zhruba 10 000 hodin, na to aby ses dostal na průměrnou úroveň potřebuješ dalších 5 000. Není to tedy záležitost jednoho roku. To proto že je třeba toho znát opravdu hodně. Začít můžeš třeba C a SQL, tím nic nezkazíš.
Naproti tomu pokud si chceš hrát třeba v PHP, tak to můžeš začít z fleku a hned to bude něco dělat, ale programovat se tam nenaučíš. Stejně tak další skriptovací jazyky jako Python a Javascript.

Dokáže mi tohle někdo objasnit? Kde se vzalo tolik hodin k základům programování? 10 let na základy programování? 15 na běžný průměr? Hmmm...
Název: Re: Jak se naučit programovat?
Přispěvatel: TomKol 08. 12. 2012, 19:36:59
To je samozrejmně hodně přestřelené. Dle mé zkušenosti je ale použitelný programátor opravdu až po velmi dlouhé době (10 let). Je totiž velmi důležité, aby si parkrát nabil hubu s geniálním návrhem co udělal, prošel si nekolikrát přerodem proč je tento jazyk zaručeně nejlepší a super. Nebo aby si zkusil udělat nejobecnější návrh, který nakonec stojí Nkrát více peněz a je k ničemu...

Prostě je to jako všude jinde. Člověk nemusí mít mozek na raketovou vědu. Důležitá je zkušenost, aby se pak celý tým nezdržoval řešeními, které nevedou k rozumnému řešení.

Základy programování trvají zhruba 10 000 hodin, na to aby ses dostal na průměrnou úroveň potřebuješ dalších 5 000. Není to tedy záležitost jednoho roku. To proto že je třeba toho znát opravdu hodně. Začít můžeš třeba C a SQL, tím nic nezkazíš.
Naproti tomu pokud si chceš hrát třeba v PHP, tak to můžeš začít z fleku a hned to bude něco dělat, ale programovat se tam nenaučíš. Stejně tak další skriptovací jazyky jako Python a Javascript.

Dokáže mi tohle někdo objasnit? Kde se vzalo tolik hodin k základům programování? 10 let na základy programování? 15 na běžný průměr? Hmmm...
Název: Re:Jak se naučit programovat?
Přispěvatel: bbbbb 08. 12. 2012, 20:01:54
...

Prostě je to jako všude jinde. Člověk nemusí mít mozek na raketovou vědu. Důležitá je zkušenost, aby se pak celý tým nezdržoval řešeními, které nevedou k rozumnému řešení.

Jak může být u programování důležitější zkušenost před hlavou? A kde všude to tak ještě je, že stačí blbec, který toho hodně udělal? :) Jen mě to tak napadlo, že je to dost divný.

Ale jinak souhlasím, že delší zkušenost může být přínosem v určitých ohledech. Nic to nemění na tom, že dobrý programátor může být třeba dva roky po škole. Nevím, na  co více by musel čekat.
Název: Re:Jak se naučit programovat?
Přispěvatel: Pavel 'TIGER' Růžička 08. 12. 2012, 20:36:56
Jak může být u programování důležitější zkušenost před hlavou? A kde všude to tak ještě je, že stačí blbec, který toho hodně udělal? :) Jen mě to tak napadlo, že je to dost divný.

Ale jinak souhlasím, že delší zkušenost může být přínosem v určitých ohledech. Nic to nemění na tom, že dobrý programátor může být třeba dva roky po škole. Nevím, na  co více by musel čekat.
Dostaneš nápad, co naprogramuješ, hlava vymyslí jak to udělat, ale zkušenost ví, jak to dobře udělat. Programuje kde kdo, ale málo kdo dobře a o to "dobře" jde především.

Ještě jsem nepotkal programátora, který by dva roky po škole byl dobrým programátorem. Je tam jakási nevyzrálost, teda ona nezkušenost, která z těchto jedinců sice dělá mistry světa, ale výsledná práce je potom průměrná, až podprůměrná.
Název: Re: Jak se naučit programovat?
Přispěvatel: Radovan 08. 12. 2012, 21:49:41
Základy programování trvají zhruba 10 000 hodin, na to aby ses dostal na průměrnou úroveň potřebuješ dalších 5 000. Není to tedy záležitost jednoho roku. To proto že je třeba toho znát opravdu hodně. Začít můžeš třeba C a SQL, tím nic nezkazíš.
Naproti tomu pokud si chceš hrát třeba v PHP, tak to můžeš začít z fleku a hned to bude něco dělat, ale programovat se tam nenaučíš. Stejně tak další skriptovací jazyky jako Python a Javascript.

Dokáže mi tohle někdo objasnit? Kde se vzalo tolik hodin k základům programování? 10 let na základy programování? 15 na běžný průměr? Hmmm...

K tomu abys zvládl nějakou činnost opravdu dobře, a je jedno jestli je to programování, krasobluslení, nebo hra na klavír, je potřeba zhruba 20000 hodin tréninku: http://norvig.com/21-days.html
Název: Re:Jak se naučit programovat?
Přispěvatel: Ivorne 08. 12. 2012, 21:57:33
Co je to tady za nekromancii?
Název: Re: Jak se naučit programovat?
Přispěvatel: Lenin POWER! 08. 12. 2012, 22:46:33
K tomu abys zvládl nějakou činnost opravdu dobře, a je jedno jestli je to programování, krasobluslení, nebo hra na klavír, je potřeba zhruba 20000 hodin tréninku: http://norvig.com/21-days.html

Hezky prislovi je: Kdykoliv se flakas tak si vzpomen ze mezitim na sobe nekdo maka a pak si vezme tvoje penize.
Název: Re:Jak se naučit programovat?
Přispěvatel: Lenin POWER! 08. 12. 2012, 22:50:06
to pravidlo 10 000 neproflakanych hodin plati v kazdym oboru. Produktivita profika vs produktivita zacatecnika je tak 10:1.

Pointa je: nesmite tu aplikaci zprasit. Jak zacnete psat class ktery ma 2000 radku, tak zapomente na 5000 radek tydne, budete radi i za tu tisicovku. Kdyz jsem ukazoval jak u nas programujeme na IoD, tak mi tam jeden z publika rek: No ale tohle neni programovani, to si proste jen hrajete s beanama.

Ale o tom to cely je. Cim jste lepsi, tim je to snadnejsi a rychlejsi. Stejne jako v zivote skonci vetsina lidi jako looseri, protoze jsou presvedceni ze zainvestovat aby se dostali vys se jim nevyplati, tak je to podobne i s programatorama. Je to cele smesne jednoduche a je spousta dobre literatury a nastroju jak efektivne programovat. Jakmile to zacnate patlat "po svem" tak nikdy nedate velky projekt.
Název: Re:Jak se naučit programovat?
Přispěvatel: Vertex 08. 12. 2012, 23:37:10
Je to cele smesne jednoduche a je spousta dobre literatury a nastroju jak efektivne programovat. Jakmile to zacnate patlat "po svem" tak nikdy nedate velky projekt.

Akú literatúru dopočuješ ty Lenine? Daj aspoň 3 knihy, nech je čo čítať.
Název: Re:Jak se naučit programovat?
Přispěvatel: Lenin POWER! 09. 12. 2012, 00:22:08
Akú literatúru dopočuješ ty Lenine? Daj aspoň 3 knihy, nech je čo čítať.

Extreme Programming Explained, PRVNI edice. Dostalo mne to, premyslel jsem o tom asi 3 tydny a pak jsme se do vydali realizovat.

Zaklad: Communication, Simplicity, Feedback and Courage

To jsou vsechno duchovni hodnoty. Vidte jak je Bible dulezita pro zivot. Ma mnohem hlubsi vliv nez si myslite.

dalsi: Manning Publications - dependency injection, Getting started with Grails, Enterprise Integration Patterns, Spring Batch in action, z/OS basic skills.

Hlavne musite pochopit k cemu a proc se poziva messaging. Ten se pouziva dost malo a to je skoda, protoze je to naprosto vynikajici vec pro skalovatelnost aplikace. Klasicka synchroni klient/server architektura, to je dnes uz o nicem spatne se to skaluje a integruje.

V zasade je potreba se naucit ty design patterny co se pouzivaji na mainframech uz 40 let: MQ, IMS, Batch, CICS, TPF, CF.
Název: Re:Jak se naučit programovat?
Přispěvatel: backup 09. 12. 2012, 12:23:35
V zasade je potreba se naucit ty design patterny co se pouzivaji na mainframech uz 40 let: MQ, IMS, Batch, CICS, TPF, CF.

Bingo  :D
Název: Re: Jak se naučit programovat?
Přispěvatel: iwtu 09. 12. 2012, 14:52:04
Skus trebars tento odkaz: http://howto.py.cz/index.htm
To je uz trosku out-of-date. Na python pokial knizku tak odporucam tuto: http://knihy.cpress.cz/python-3.html (http://knihy.cpress.cz/python-3.html) 8) pripadne nejaky tutorial na internete. Tiez odporucam ucit sa python 3 a nie 2 (je lepsi ;) ).

Moze byt lepsi.. ale ako sa pise vo famoznej knizke, Learn Python The Hard Way, citujem: "
Citace
A programmer may try to get you to install Python 3 and learn that. You should tell them, “When all of
the python code on your computer is Python 3, then I’ll try to learn it.” That should keep them busy for
about 10 years."
Svet funguje na Python 2. V Red Hate tusim frcia na Python 2.4, co v 2.6 je dost syntatickych krajsich veci.. Vo firme mame 2.6. Najnovsi dvojkovy Python ak sa nemylim je 2.7.
Název: Re:Jak se naučit programovat?
Přispěvatel: iwtu 09. 12. 2012, 15:02:05
Nerozumiem otazke. Ja sa na to divam tak. Alebo sa chcem ucit programovat obecne. V tom pripade je asi volba OS uplne irelevatna. Alebo uz obecne zaklady ako tak zvladam a chcem sa ucit nieco konkretne. Ak clovek zavlada obecne zakladny programovania a chce programovat pre linux, tak bez C sa velmi nezaobide. Ja odporucam literaturu z MFF http://mff.devnull.cz/.

Ak tazatel nevie co a ako, tak nech zacne s tym, co si mysi, ze ho bude bavit. Moznosti je vela. Problem vybrat je vzdy problem.
Název: Re:Jak se naučit programovat?
Přispěvatel: iwtu 09. 12. 2012, 15:04:01
@lennin dik za ten messaging. Kuknem na to. Pomaly prichadzam na to, ze mainstream je priemer a ani nie tazky.
Název: Re:Jak se naučit programovat?
Přispěvatel: Lenin POWER! 09. 12. 2012, 23:45:22
Ty pocty naprogramovanych radek co uvadim a kterym neverite pod tim se mysli pocet zmenenych radek, ne novych SLOC radek.

Pokud vam u vetsiho projektu zacnou nenadale narustat radky, tak to znamena ze lidi obvykle pisi neco co uz tam mate. Taky je potreba znat knihovny, dost tragedie je kdyz lidi neznaji apache commons lang to si pak kazda skupinka programatoru v projektu zacne psat svoje utility.
Název: Re:Jak se naučit programovat?
Přispěvatel: yad 10. 12. 2012, 00:04:01
Niekde som tu zachytil, že je dôležitý dať si cieľ, čo naprogramovať. Pokiaľ sa nejedná o učenie algoritmizácie (ktorú človek tak často zasa nevyužije), tak tam mám imho dobrý tip.

1. Spraviť si jednoduchú aplikáciu na ukladanie kontaktov, todo list a pod.
2. Nejaké ukladanie CSV, XML, SQL.
3. Ešte jedno ukladanie...
4. Spraviť z toho servlet s binárnym protokolom.
5. Pridať http protokol.
6. Vlákna/procesy do serveru.
6. Pre výpis dlhých dát pridať streaming.
7. Klienta prerobiť z konzoly do GUI.
8. Pridať do serveru asynchrónnu podporu (klient sa zavesí a čaká na zmenu; napríklad todo listu).

Je to skôr tip ako si osvojiť ako-tak danú platformu. Človek tak naberie širší rozhľad. Taktiež odporúčam čítať vecí o architektúrach aplikácií, analýze, "trikoch" v jazyku/technológií, best-practices atď.

Algoritmizácia je kapitola sama o sebe a vyžaduje skôr matematické myslenie (z ničoho niečo) ako čisto technické (z niečoho niečo).
Název: Re:Jak se naučit programovat?
Přispěvatel: Vertex 10. 12. 2012, 00:23:22
Ty pocty naprogramovanych radek co uvadim a kterym neverite pod tim se mysli pocet zmenenych radek, ne novych SLOC radek.

Pokud vam u vetsiho projektu zacnou nenadale narustat radky, tak to znamena ze lidi obvykle pisi neco co uz tam mate. Taky je potreba znat knihovny, dost tragedie je kdyz lidi neznaji apache commons lang to si pak kazda skupinka programatoru v projektu zacne psat svoje utility.

Lenine, celkom ma zaujíma, aké máš vzdelanie resp. matematické znalosti? Viem, že vo svojich príspevkoch si voči matike\teórií celkovo v informatickej praxi skeptický, ale zaujíma ma práve to, čo si ty z matematiky a teórie konkrétne využil v rámci svojej kariéry, nech mám predstavu, čo je využiteľné.
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 01:47:31
Nejlíp se člověk naučí programovat, když to učí ostatní.
Obecně opakování dělá mistra.

Re:Jak se naučit programovat?
A) Chce to začít s něčím, co má budoucnost, obecně vidím budoucnost v jazycích typu C#/Java, čím přísnější jazyk je, tím lepší pro začátečníka (JavaScript/PHPlike fujky fujky). Cčko tě nutí dělat voloviny s pamětí, což zbytečně odvádí od problému samotného.
Java (která je mrtvá) je krásná a čistá, není krásnějšího jazyka než Java! C# se vyvíjí, ale začíná byt poněkud zprasený a pořád se přidávají nové funkce, které z toho dělají pěkně složitou obludu. Někdy je méně více.

B) Je lepší vědět, co chci dělat, tedy jestli programovat pro web nebo pro mobil / desktop, zní to blbě, ale pokud se člověk neučí produktivně, výsledek není produktivní. A chce to znát knihovny, což někdy znamená rozdíl 3/4 práce, tj. neznáš knihovnu=děláš to blbě 4 hodiny, znáš knihovnu = děláš to 1 dobře. Myslíte si, že i když knihovnu neznáte, že to můžete udělat dobře? Blbost, možná na vašem malém hello_vole.php, jak na projektu dělá řada lidí, je extrémně problematické když někdo používá knihovní funkce a druhý si píše knihovnu vlastní ze všech hledisek.

C) Je lepší začít programovat od začátku pod dohledem někoho dobrého, mít vedení zkušeného člověka, protože při samodomo-prasení si bohužel člověk zažije řadu zlozvyků (čti prasáren), kterých se pak jen velmi těžko zbavuje. Tady budu zase kritizovat naše školství, protože i když se u nás na VŠ učí programování, neučí se tam programovat, protože většina těch uživatelů zná řekněme slova, ale nezná stavbu věty. Tj. většina těch magorů ti řekne, že co je prefix a co je sufix, ale už ti neřeknou, že takhle se to dělat nemá. Někteří mají to štěstí, že se alespoň dozví co je getter/setter. 

D) Chce to se učit čtením cizích programů, nejlépe od mistrů. Bohužel to chce vědět, jak vypadají návrhové vzory, chce to vědět jak to je správně a jak je to špatně. Chce to zkušenosti a cit. Umělci se také učí od ostatních umělců. Stejně tak to chce mít chuť dělat věci perfektně, přemýšlet o kódu co píšeš a zkoumat ho od shora dolů, tím se vytváří umělecké dílo. Genialita je v jednoduchosti, čím jednodušší a čistší kód, tím lepší. Plus to chce přidávat komentáře, ale obecně je nejlepší, pokud komentář není potřeba, protože vše je jasné z názvu funkce! private int _SectiDveInt(int a, int b){return a+b;}
Chce to klid, klídeček, mít dobrou náladu, nestresovat se, nenechat se hnát do termínů a psát krásný kód. Všechno si promysli a klidně než začneš psát samotný kód funkce, napiš si pro to unit testy.

Jsou tři druhy programátorů:
A) Umělci, ZEN programátoři, kteří používají hlavu, kteří píší umění.
B) Kodéři, něco jako pisálci z webů jako novinkykyky nebo ivčera.
C) Čuňata, jejich hlavní zbraní je CtrlC+CtrlV.

Pamatujte si, že když začnete programovat bez vhodného vedení, jen bůh Vás ochrání před tím, spadnout do kategorie C.
Bohužel řada zaměstnavatelů v zásadě chce programátory typu A, vyžaduje po nich alespoň výsledek typu B, ale podmínky jim vytváří typu C.
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 01:57:40
Krásný příklad z praxe:
Boss: "Hele, ta knihovna musí být hotová do 14-ti dnů!"
Programátor: "Hele, co to je za píčovinu? Vy kreténi jste se o tom hádali půl roku, než se to rozhodlo a já to teď mám za čtrnáct dní udělat? Ještě ani není hotová analýza!"
Boss: "Zbytečně to dramatizuješ, uvědom si, kdo tě platí!"
Programátor: "Hele, ten kód bude stát za píču!"
Boss: "To je jasný, ale hlavně když to bude fungovat, jo a fakt s tím mákni, vím že na to máš jen 14 dní, ale přespříští týden se musíš začít seznamovat s tím dalším projektem, který se bude dělat pak!"

Výsledek?
Ten kokot programátor nemá čas na rodinu, bouchá 12 hodin denně v práci i doma, v hlavě má totální zatmění, je vyřízenej a žere prášky.

Jak má den programátora vypadat?
8:00 až 9:00 vytváření plánu na dnešní den, stanovení si cílů, seznam funkcí, které se dnes musí dokončit
9:00 až 12:00 psaní testů a samotných funkcí
13:00 až 15:00 oprava chyb, testování, zjednodušení funkcí až na samotnou hranici funkčnosti a zlepšení čitelnosti
15:00 až 16:00 kochání se vlastním kódem, diskuze nad kódem s kolegou, probírání postupu, případně učení se nových věcí
16:00 odchod domů za rodinou, do přírody, s úsměvem na tváři, nezatížený problémy, relaxující.
Že to u Vás takhle nevypadá?
Tak za to si můžete sami!
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 02:03:03
PS: Možná to někdo nepochopil, ale ta poslední hodina každý den by opravdu měla být věnována tomu, abyste se učili nové věci.
A to beze srandy, fakt se musíte učit nové věci a zlepšovat se. A kdo říká, že se zlepšovat nemusí, je buď namyšlený prase nebo lhář.
Název: Re:Jak se naučit programovat?
Přispěvatel: Lenin POWER! 10. 12. 2012, 04:49:21
Lenine, celkom ma zaujíma, aké máš vzdelanie resp. matematické znalosti? Viem, že vo svojich príspevkoch si voči matike\teórií celkovo v informatickej praxi skeptický, ale zaujíma ma práve to, čo si ty z matematiky a teórie konkrétne využil v rámci svojej kariéry, nech mám predstavu, čo je využiteľné.

Z matyky mi byla nejuzitecnejsi geometrie a prace s maticema. Bezne zivotni potreby pokryva tabulka v Excelu. Daleko uzitecnejsi nez matyka mi byla fyzika a to i v obchodnich zalezitostech.
Název: Re:Jak se naučit programovat?
Přispěvatel: Squirrel 10. 12. 2012, 07:56:06
To Lenin POWER:

kde doporucujete sehnat v CR "Extreme Programming Explained" ?
P.S: na vety tipu: UTFG moc nereaguju, muzu si to vygooglit ale je lepsi se nekoho zeptat, pac uz s tim ma zkusenosti...
P.P.S: <rejp>matyka? :-P</rejp>
Název: Re:Jak se naučit programovat?
Přispěvatel: xxx 10. 12. 2012, 09:56:52
Jak má den programátora vypadat?
8:00 až 9:00 vytváření plánu na dnešní den, stanovení si cílů, seznam funkcí, které se dnes musí dokončit
9:00 až 12:00 psaní testů a samotných funkcí
13:00 až 15:00 oprava chyb, testování, zjednodušení funkcí až na samotnou hranici funkčnosti a zlepšení čitelnosti
15:00 až 16:00 kochání se vlastním kódem, diskuze nad kódem s kolegou, probírání postupu, případně učení se nových věcí
16:00 odchod domů za rodinou, do přírody, s úsměvem na tváři, nezatížený problémy, relaxující.
Že to u Vás takhle nevypadá?
Tak za to si můžete sami!

Jak má den programátora vypadat?

8:00 až 9:00 čtení root.cz
9:00 až 12:00 psaní kydů na root.cz
13:00 až 15:00 čtení root.cz
15:00 až 16:00 psaní kydů na root.cz
16:00 odchod domů, kde můžu pokračovat v psaní kydů na root.cz

Že to u Vás takhle nevypadá?
Tak za to si můžete sami!
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 10:14:10
Posláno « kdy: Dnes v 09:56:52 »
Že to u Vás takhle nevypadá?
Tak za to si můžete sami!

To máš samozřejmě pravdu, řada lidí ve státní správě to tak má zařízené. (Možná i ty ne?)
Nicméně ne všichni mohou pracovat ve státní správě.
Za většinou musí být vidět kus práce.
Název: Re:Jak se naučit programovat?
Přispěvatel: xxx 10. 12. 2012, 10:39:25
Já jen že kam se podívám, tam vidím příspěvky od KapitánRUM. Tak mi bylo divný, jak to jde dohromady s tou tvojí osnovou ;-) Jinak ve státní správě nepracuju, dělám sám na sebe, takže kus práce za mnou být vidět musí, jinak bych taky snadno mohl skončit na dlažbě - super motivace, doporučuju.
Název: Re:Jak se naučit programovat?
Přispěvatel: Mirek 10. 12. 2012, 12:12:16

Jsou tři druhy programátorů:
A) Umělci, ZEN programátoři, kteří používají hlavu, kteří píší umění.
B) Kodéři, něco jako pisálci z webů jako novinkykyky nebo ivčera.
C) Čuňata, jejich hlavní zbraní je CtrlC+CtrlV.


S vaším rozdělením programátorů moc nemohu souhlasit. Pokud bych to měl rozdělit tak následovně.


Pokud se chceš programovací jazyk naučit na úrovní profesionála. Je dobré aby tě ho naučil někdo kdo ve vybraném jazyce profesionálně programuje.

Podle mě mají budoucnost  a často i vyskytují inzeráty na PHP, ASP.NET / C#, Java , C#.




Název: Re:Jak se naučit programovat?
Přispěvatel: Tomas Trnka 10. 12. 2012, 12:46:31
a co python?
ten podla Vas nema buducnost ? Dost casto sa o nom hovorilo ako o dalsom c+.
Název: Re:Jak se naučit programovat?
Přispěvatel: Ondra Satai Nekola 10. 12. 2012, 13:20:39
Python ma minulost, soucasnost i budoucnost.

Jako jazyk pro zacatecnika je imo velmi vhodny, ale je v nem napsano i dost vyznamnych aplikaci. Netoci se v nem takove penize jako rekneme v Jave, urcite z nej nebude dalsi C++, ale da se v nem vyresit hodne problemu s relativne malou namahou.
Název: Re:Jak se naučit programovat?
Přispěvatel: JSH 10. 12. 2012, 14:20:52
Lidé kteří se dokáží naučit jakýkoliv programovací jazyk na úroveň profesionála. Tvoří všechno sami od nuly.
Člověk na profesionální úrovni NEtvoří všechno sám od nuly. Je málo stupidnějších věcí než znova a znova psát věci, ke kterým jsou dostupné kvalitní, rychlé a odladěné knihovny. Ani WYSIWYG automaticky není známka neprofesionála. Profesionál se pozná podle toho, že používá ten nejvhodnější nástroj a občas není nic vhodnějšího.
Název: Re:Jak se naučit programovat?
Přispěvatel: Mirek 10. 12. 2012, 14:29:12
Lidé kteří se dokáží naučit jakýkoliv programovací jazyk na úroveň profesionála. Tvoří všechno sami od nuly.
Člověk na profesionální úrovni NEtvoří všechno sám od nuly. Je málo stupidnějších věcí než znova a znova psát věci, ke kterým jsou dostupné kvalitní, rychlé a odladěné knihovny. Ani WYSIWYG automaticky není známka neprofesionála. Profesionál se pozná podle toho, že používá ten nejvhodnější nástroj a občas není nic vhodnějšího.

Ano. Máte částečně pravdu.
Název: Re:Jak se naučit programovat?
Přispěvatel: pedro 10. 12. 2012, 15:55:44
Celkem jednoduché řešení je Python. Kniha je http://www.diveintopython.net/ (http://www.diveintopython.net/). Jestli to není pro komerční účely tak to stačí. Dneska je programování "jednoduché". Já se kdysi na střední učil C, to vypadalo úplně jinak. V Pythonu s množstvím knihoven, co jsou k mání na netu, se dá napsat i celkem složitá aplikace ve velmi rozumném čase. Programování je super, pokud se člověk nemusí živit jako programátor :-)
Název: Re:Jak se naučit programovat?
Přispěvatel: Markus 10. 12. 2012, 16:07:32
Python je imho dost mimo, pokud tě to má živit.
Zpětně vidím, že mi ho doporučil zase jen student, který si s ním taky jen hrál.
A byla velká hloupost ho poslechnout!
Koukni se, co chtějí na www.prace.cz nebo jobs a uvidíš, já s Pythonem nepochodil, na hraní dobrý, ale jinak zahozenej čas.
Název: Re:Jak se naučit programovat?
Přispěvatel: yad 10. 12. 2012, 18:20:55
Python je imho dost mimo, pokud tě to má živit.
Zpětně vidím, že mi ho doporučil zase jen student, který si s ním taky jen hrál.
A byla velká hloupost ho poslechnout!
Koukni se, co chtějí na www.prace.cz nebo jobs a uvidíš, já s Pythonem nepochodil, na hraní dobrý, ale jinak zahozenej čas.
Niečo na tom je, ale problém pythonu vo väčších projektoch je, že sa udržuje celkom ľahko a s nižším počtom riadkov na splnenie cieľu sa v tom programátor nestráca, t.j. zvláda viac kódu. Preto tých programátorov v Pythone tak veľa nie je treba, ale keď sú treba, tak je to seriózna ponuka ako každá iná.
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 20:03:21
Niečo na tom je, ale problém pythonu vo väčších projektoch je, že sa udržuje celkom ľahko a s nižším počtom riadkov na splnenie cieľu sa v tom programátor nestráca, t.j. zvláda viac kódu. Preto tých programátorov v Pythone tak veľa nie je treba, ale keď sú treba, tak je to seriózna ponuka ako každá iná.

Jo, ovšem C# bývá často placený dvojnásobnou sazbou, byť k tomu vlastně nebývá důvod.

Jinak jsem se podíval na Jobs a první:
http://acjobs.jobs.cz/pd/490576822?rps=233&section=positions

20 až 30 tisíc?
V Brně?

A asi stejná firma C#
http://acjobs.jobs.cz/pd/490570513?rps=233&section=positions
30 až 45 tisíc.
V Brně.

Ale rozumím tomu, ten C# bude ten hezký, co bude mluvit se zákazníkem a Pythoňák ten podržtaška, co to odedře  ;D

Jiank Pytloun fakt nevypadá tak "nežádaně", ale osobně bych šel spíš do té Java/C#.
Byť uznávám, Pytlounovejch projektů je prostě méně, tedy je to poměrně řekl bych relevantní připomínka, že může být větší problém najít si práci jako Pytlouňák než jako C#.
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 20:59:54
Koukni se, co chtějí na www.prace.cz nebo jobs a uvidíš, já s Pythonem nepochodil, na hraní dobrý, ale jinak zahozenej čas.

To neházej na Python, ale na vlastní neschopnost. V Pythonu můžeš dělat všechno a pochybuju, že bys neměl šanci v něm nic dělat. Jako webař v něm můžeš dělat, jako běžný programátor v něm můžeš dělat, jako admin v něm můžeš dělat. Si šel prodávat kytky nebo co?
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 21:11:50
To neházej na Python, ale na vlastní neschopnost.

Á, tohle asi je ten moderní Linuxový přístup
"No jasně že Linux není na víc počítačích, protože jsou lidi neschopný!"
"No jasně že je lepší mít padesát X rozhraní, než jedno!"
"No jasně že je lepší programovat v něčem, co na Linuxu pojede, než v něčem, co v Linuxu nepojede!"

Proč z toho mám pocit, že na druhé straně sedí nafoukaný nedostudovaný pako, který dneska nedalo test, ale myslí si, že v 20-ti sežralo všechnu moudrost světa?

;D

A třeba se pletu  ;D
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 21:22:15
Python je skvělej jazyk a pokud už nenajdeš pozici jako Python programátor, tak ho využívej v práci. Také jsem poslední dobou žádnou pozici nenašel, ale v Pythonu dělám skoro každý den. Potřebuješ web pro uživatele? Python. Děláš nějaký složitější admin věci? Python. Jen tak chceš něco spíchnotu? Python. Využití má plno. Nedá se říct, že bys něco podobného mohl dělat v Javě, C# nebo v C. Klidně to může být Ruby, to je v podstatě jedno. Viděls někde plno pozic pro Ruby?
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 21:25:56
"No jasně že Linux není na víc počítačích, protože jsou lidi neschopný!"
"No jasně že je lepší mít padesát X rozhraní, než jedno!"
"No jasně že je lepší programovat v něčem, co na Linuxu pojede, než v něčem, co v Linuxu nepojede!"

S tímhle ale souhlasím :D
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 22:07:00
Python je skvělej jazyk a pokud už nenajdeš pozici jako Python programátor, tak ho využívej v práci. Také jsem poslední dobou žádnou pozici nenašel, ale v Pythonu dělám skoro každý den. Potřebuješ web pro uživatele? Python. Děláš nějaký složitější admin věci? Python. Jen tak chceš něco spíchnotu? Python. Využití má plno. Nedá se říct, že bys něco podobného mohl dělat v Javě, C# nebo v C. Klidně to může být Ruby, to je v podstatě jedno. Viděls někde plno pozic pro Ruby?

Pytlouna používal snad Seznam pro svůj portál, než to myslím zahodili, ale to nic nemění na tom, že to použitelné je a na řadu věcí opravdu univerzálně použitelné. Jinak by možná stálo za to, kdyby se naučil trochu v Cčku, to se hodí v Linuxu na ledacos.
Obvykle pokaždé, když musíš něco zkompilovat, tak je dobré vědět, jak se to dělá.
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 22:33:52
Na Linuxu se obvykle nic nekompiluje, tak si to klidně může nechat ujít. Ale jestli mu zbyde čas, tak proč ne.
Název: Re:Jak se naučit programovat?
Přispěvatel: neprihlaseny hawran 10. 12. 2012, 22:49:24
Na Linuxu se obvykle nic nekompiluje, tak si to klidně může nechat ujít. Ale jestli mu zbyde čas, tak proč ne.

Huh?!
(Toto jsem uz nevydžel.)
:-)
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 22:57:42
Co tam kompiluješ? Já obvykle nic.
Název: Re:Jak se naučit programovat?
Přispěvatel: Lenin POWER! 10. 12. 2012, 23:33:19
Klidně to může být Ruby, to je v podstatě jedno. Viděls někde plno pozic pro Ruby?

railsy
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 10. 12. 2012, 23:37:49
railsy
A zase má Lenin pravdu, RoR je mazlík srovnatelný snad jen s Javou.
Resp. lepší než Java bych řekl, protože J2EE je dost sprasená Servlety/JSP/JSF a milionem dalších hurá gadgetů.

Na Linuxu se obvykle nic nekompiluje, tak si to klidně může nechat ujít. Ale jestli mu zbyde čas, tak proč ne.
Huh?!
(Toto jsem uz nevydžel.)
:-)

Třeba má nějakou novější verzi než my, já naposledy musel kompilovat ovladač k síťovce, protože defaultní jel jako šnek a předtím ovladač k poli, ještě předtím pár toolů sestavených pro jinou verzi jádra....atd. No vývoj jde dál, třeba už se nekompiluje.
Název: Re:Jak se naučit programovat?
Přispěvatel: pyth 10. 12. 2012, 23:51:31
Klidně to může být Ruby, to je v podstatě jedno. Viděls někde plno pozic pro Ruby?

railsy

???

Kde že máš ty pozice, které předčí Javu nebo Python?
Název: Re:Jak se naučit programovat?
Přispěvatel: KapitánRUM 11. 12. 2012, 00:06:02
V zahraničí jedou Ruby víc než u nás. (Lenin má bussiness tuším v USA.)
Jinak platy programátorů Ruby jsou myslím velmi zajímavé.
Ovšem původní tazatel nepsal, že by se tím chtěl živit, proto ten Pytloun není až tak od věci.
Popravdě, kdybych nechtěl používat stejný jazyk pro web/mobil/desktop, tak buď jedu Androidní Javu nebo kdybych to chtěl omezit na využití pod Linuxem a na tooly, tak právě toho Pytlouna.

V Pytlounovi jde udělat řada věcí nesmírně jednoduše.
Jestliže PHP je spíš na Web, Ruby buď jako skript do něčeho nebo ve spojení s Rails zase na Web, Cčko vyžaduje podstatně víc disciplíny a hodí se hlavně na desktop, Java svůj runtime a J2EE je sprasená, pak Pytloun vychází jako poměrně logická volba.

Viděl jsem v Pytlounovi:
- Web
- bóta na Travian
- nějaké univerzální tooly
ATD...

Je pravda, že Pytloun je poměrně mocný nástroj, s takovou elegancí v Cčku bóta pro webovku prostě nenapíšeš.
Název: Re:Jak se naučit programovat?
Přispěvatel: Death Walker 11. 12. 2012, 17:51:19
Třeba má nějakou novější verzi než my, já naposledy musel kompilovat ovladač k síťovce, protože defaultní jel jako šnek a předtím ovladač k poli, ještě předtím pár toolů sestavených pro jinou verzi jádra....atd. No vývoj jde dál, třeba už se nekompiluje.

Od fedory 13 som este nic nekompiloval, staci stiahnut z repozitarov a funguje, naposledy v pohode chodila aj hybridna grafika (radeon+ibm) na Dell Inspiron 17R... ale to ma strasil ubuntak :D mile prekvapenie bolo ze ked som do toho laptopu strcil tablet (genius F610) tak tiez fungoval ihned, pri tom sa na forach stazovali ze na linuxe chodit nechce :)
Název: Re:Jak se naučit programovat?
Přispěvatel: cyp 12. 12. 2012, 00:07:43
jediny a nejdulezitejsi urcujici predpoklad je chtit.

takze najit si trivialni ukol, ktery chces realizovat. vylosovat si cim a pak se do toho zakousnout jako poradny bojovy plemeno.
Název: Re:Jak se naučit programovat?
Přispěvatel: cyp 12. 12. 2012, 00:29:31
pokud muzu radit z osobni zkusenosti, tak system je nasledujici.

interpretovane jazyky s dynamickym nebo duck typovanim s castecnou podporou doplnovani kodu ve vybranych editorech pri splneni urcitych podminek. do te skupiny patri ruby, python, groovy, javascript a nemalo dalsich jazyku.
tyhle jazyky se hodi na maly skriptik do tisice radku a knihovny rozsirujici standartni knihovny daneho jazyka. cokoliv vetsiho psat je utrpeni a to se zvysuje s poctem vyvojaru na projektu. je to primy dusledek volby dynamickeho nebo duck typovani onoho jazyka a nemoznosti poradneho fungovani doplnovani kodu.

staticky typovane jazyky trpi pro zmenu opacnym problemem. ukecanost, pretypovani, nutna dukladnejsi znalost syntaxe a navic typu standartni knihovny a nejcasteji pouzivanych knihoven. vzhledem k tomu vic syntakticke omacky, ktera jde u dynamickych vynechat. za odmenu ale fungjujici rychle doplnovani kodu kdykoliv a kdekoliv.

srovnani skoro vzdy z toho vypadne nasledujici (vlevo dynamicke vs. vpravo staticke typovani)
mizerne doplnovani vs funkcni doplnovani
mene kodu vs vice omackoveho kodu
beznavrhovy vyvoj a protoypovani vs. minimalni nutny navrh
orientace v jednoduchem vs. orientace ve slozitem
vzdalenejsi hranice slozitosti vs. nebezpecne blizka hranice jednuchosti co se snadno prekroci
unikatni atypicke zdvojene api jedno zjednodusovane api knihoven a druhe obsahlejsi ale stale nekompletni vs. fakticky standartni objemne detailni tezkopadne api se vsim vsudy az na minimum vyjimek, co ale nejsou ani nikde jinde k dispozici na stejne platforme.