V jakém pořadí se má teenager učit programovací jazyky?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 12:00

Ahojky,

jako skorozletilý student prváku na gymnáziu nejvíce inklinuji k práci s počítači a elektro(tech)nikou. Je to dlouhodobě moje největší hobby, jedna z hlavních životních motivací a "pohonů". Velice mne též baví angličtina, což se ale bohužel nedá stoprocentně říci o matematice, i když se to v poslední době prudce zlepšuje.

Řadu let se ve srovnání s okolím a při svém věku pokládám za člověka mimořádně elektrotechnicky nadaného a řada specialistů (mj. středoškolských profesorů) mi to potvrdila - patrně mám zde znalosti a zkušenosti o pěkných pár let před vrstevníky. Mám velice široký odborný rozhled a co je zajímavé, v hodně zaměřeních. S počítačem přirozeně nepracuji za peníze, ale pro zábavu. Jestli si myslíte, že jsem vášnivý pařmen, mýlíte se.

Tak bych se rád před výškou (uvažuji o nějaké s IT zaměřením) trochu posunul a naučil se nějaký ten programming language, ať si zachovám odstup :smile:. Troufám si říci, že minimálně ze skupinky 10 lidí pařím mezi dva nejgramotnější (po stránce IT) - ten druhý je možná ještě lepší v angličtině, ale co se týče všeobecného rozhledu, jsem jasná jednička :D.

Po přečtení spousty rad jsem došel k názoru, že nejpříjemnější postup je od nižších jazyků k vyšším. Začnu tedy Assemblerem, protože hacking je jedna z mých nejoblíbenějších odvětví a rád bych se přiučil disassemblingu. Na to v Česku vyšly dvě pěkné publikace, zatím čekám na jejich doručení. Je to Učíme se programovat v jazyce Assembler pro PC a Mistrovství v jazyce Assembler. Samozřejmě není lehké je sehnat, hlavně tu první, neboť byly zcela rozebrány a dotisk neexistuje.

Jenže co potom? Nebudu hnedka skákat na C nebo nedej bože C++, takže mě napadá Pascal, Delphi (tedy Object Pascal) a Python. Poté bych šel do C, za nímž bude následovat C++, pak Java a nakonec C#. Chtěl jsem i Visual Basic, ale nevím, k čemu má blízko, takže bych ho asi zařadil před C.

Takže pořadí by vypadalo asi následovně:

AssemblerPascalDelphi → (PythonVisual Basic →) CC++JavaC#

Myslíte, že jsem si zvolil dobře, nebo máte výhrady? Jakou literaturu byste doporučovali?

Mrzí mě, že v kvalitní edici Mistrovství chybí třeba moderní C#, ale do toho mám ještě daleko.

Podotýkám, že se to neučím z povinnosti, ale pro zábavu! Je mi jasné, že po Pascalu moc vysoká pracovní poptávka nebude, ale na pochopení principu to stačí.

Díky moc.

Reklama
Uživatelský avatar
kalkub
Level 2
Level 2
Příspěvky: 168
Registrován: květen 11
Bydliště: Hradec Králové
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod kalkub » 20 lis 2011 12:10

Ahoj, jen řeknů z mé zkušenosti :) Já před rokem jsem šel na programátorskou školu bez předešlých znalostí programování a hnedka jsme skočili na c#, protože se v něm dost programuje v dnešní době a jinak se po roce ještě učim javu a za rok skočím na c/c++ jen jestli by tě nějak zajímalo. Jinak radím nějaký knížky od cpress je to vydavatel zaměřený na počítače a máš tam i knížky o programování

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 12:15

Díky za příspěvek, Computer Press má opravdu moc dobré tituly. Ta odkazovaná literatura směřuje na jejich stránky. :smile:

Tak já raději budu gradovat nahoru, skok z C# níž, ouha, to musí být držkopád! :D

Hezky od těžších k lehčím. 8)

Můžu se ještě zeptat, na jakou programátorskou školu? Stačí říct název a zkušenosti, ono stejně spousta lidí dojíždí z jiných okresů.

Uživatelský avatar
kalkub
Level 2
Level 2
Příspěvky: 168
Registrován: květen 11
Bydliště: Hradec Králové
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod kalkub » 20 lis 2011 12:22

No ono to není pád k nižšímu java a c# jsou totéž a vlastně když se naučíš jeden programovací jazyk tak ztačí se naučit jiný syntaxe :) a c/c++ z něho vychází skoro všecko .Net jazyky. A jinak to je Škola z Hradce Králové a jmenuje se Střední škola aplikované kybernetiky. Jinak fakt se stačí naučit jiný syntaxe a podobně.

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 12:25

Vůbec přemýšlím, zda se učit zastaralý Visual Basic. Ale jisté je, že začnu tím Assemblerem.

Uživatelský avatar
kalkub
Level 2
Level 2
Příspěvky: 168
Registrován: květen 11
Bydliště: Hradec Králové
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod kalkub » 20 lis 2011 12:27

Dobře taky jsem někdy nad tim přemýšlel. A ten Visual basic mam dojem, že ten se píše do maker a podobně

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod faraon » 20 lis 2011 12:54

VisualBasicu se vyhni, stejně jako čemukoliv co má něco společného s BASICem. To říkám jako člověk který v něm na osmibitech začínal, a s vědomím že dodnes je to můj nejoblíbenější jazyk!
Assembler si nech až budeš chápat jak funguje procesor, registry, režimy, adresování paměti a portů, přerušení, DMA, sériové a paralelní sběrnice, komunikační protokoly... To určitě není věc pro začátečníka, hrabat na holý hardware počítače. Zvlášť ne v dnešních operačních systémech, které si to moc nenechají líbit. Navíc v assembleru (přesněji jazyce symbolických adres, který se assemblerem překládá do strojového kódu) se dnes programují spíš mikrokontrolery a podobné věci, aplikace (včetně operačních systémů) se dnes píší ve vyšších jazycích. Možná až moc vyšších.

Jestli jsi nikdy programovat nezkoušel, měl bys nejdřív pochopit jak funguje strukturované programování, dostat do krve zásady algoritmizace a dělení programu na menší celky. Pro úplné začátečníky (a děti od sedmi let) je jazyk Karel. Například na Stanford university si s ním studenti hrají prvních pár týdnů, a pak z něj plynule přecházejí na Javu. Existují i jiné, Logo, Petr, Alice, Scratch...

Speciálně pro výuku programování byl navržen jazyk Pascal, z něj vychází objektové Delphi, využívající GUI Windows. Velká výhoda Pascalu je, že hlídá každou blbost (například překročení mezí polí), takže ti při sebemenší chybičce hned nafackuje, což ti ušetří mnoho hodin hledání vlastních začátečnických chyb.
Abych to moc nerozváděl, kdysi dávno vznikl jazyk Algol, který přinesl právě strukturované programování, a pro jeho výuku byl určený Pascal. A pro výuku Pascalu zase Karel.

Z Algolu se postupně přes několik jazyků vyvinul jazyk C, velmi výkonný a také nebezpečný nástroj (ten na rozdíl od Pascalu nehlídá vůbec nic, vše je na zodpovědnosti programátora), základní jazyk Unixu a z něj odvozených systémů jako je Linux. Říká se o něm že to není programovací jazyk ale přenositelný assembler, což je do velké míry pravda. K začátečníkům bez zkušeností je velmi krutý :lol:

Po rozšíření objektového programování byl z C odvozený objektový C++, velmi komplexní a šíleně složitý jazyk, pro začátečníky vhodný ještě méně než C.

Syntaxi populárního C používají i další objektové jazyky, jako Python (poměrně jednoduchý i pro začínající programátory), Java, PHP, i jiné z nich odvozené, jako C# (kterému se říká zprzněná Java).

Zkušenosti z vyšších jazyků uplatníš i v assembleru, hlavní je napsat kód tak aby se v něm člověk i po letech vyznal, a v tom právě hodně pomáhá to strukturování. Jinak není problém napsat program podobný talíři špaget, ve kterém se po pár skocích úplně ztratíš a nebudeš vědět ani jak se jmenuješ ty sám, natož jak se jmenovalo předchozí návěští :evil:

Mimochodem, zapomeň na knížky typu "Programátorem za 21 dní", skutečně dobře zvládnout nějakou činnost (programování, krasobruslení, hra na klavír) je otázka nějakých deset tisíc hodin.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 13:04

Tak momentálně se zaměřuji na sehnání literatury pro jazyk Pascal.

Dosud jsem našel tyto varianty:

1) Pascal - učebnice základů programování a Pascal - pokročilejší programátorské techniky

nebo

2) Algoritmizace a Programování v Pascalu

Máte-li někdo s kteroukoliv z knížek zkušenosti, vyjádřete se prosím.

EDIT: Díky faraonovi za výživný příspěvek. :wink:

Pořadí tedy zřejmě přehodnotím a Assembler si nechám na později.

Pascal → Delphi → Python → C → C++ → Java → C# → Assembler

Tak je to správně?

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod faraon » 20 lis 2011 13:20

Pascal - učebnice základů programování jsou úplné základy, čili větvení, cykly a ostatní stavební materiál pro strukturované programování :smile:

Pascal - pokročilejší programátorské techniky na ní navazuje, to "pokročilejší" chápej ve smyslu pokročilejší začátečník, takže je tam třeba práce se soubory, záznamy, ukazateli...

Další dvě neznám, zatím jsem je ani neměl v ruce abych je mohl prolistovat. Mrknu na ty ukázky co tam mají, ty se zatím podívej sem: http://ideone.com/60LzX
Nahoře je zdrojový kód, dole výstup po spuštění.

"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 13:23

Díky díky, moc pěkné.

Ještě jsem našel http://knihy.cpress.cz/programovani-pro-uplne-zacatecniky.html, což je jediný titul o Pascalu od Computer Press.

Pošahaný sedmičky, abych otevřel cokoliv v MS-DOS, musím přes XP Mode anebo DOSBox... :x

Proč to úplně odstřihli?! V mnohem horších Vistách to ještě fungovalo. :mad:

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod faraon » 20 lis 2011 13:49

Tak tu Algoritmizaci bys asi mohl vynechat, i když ty vývojové diagramy tam mají moc pěkné :wink: V tom Programování v Pascalu je to (podle té ukázky) brané také od začátku, tak by ti snad nemělo nic chybět.
To poslední Programování pro úplné začátečníky podle příkladů co jsem stáhl vypadá tak na úrovni těch základů Pascalu.
Nejlepší by bylo kdyby sis je někde v knihkupectví prolistoval a podíval se sám, které podání ti bude nejvíc vyhovovat.

JInak to pořadí bych zkrátil na Karel>Pascal/Delphi a pak by se vidělo, on není problém začínat třeba přímo v Pythonu (má pár zvláštností) nebo Javě (o té se zase říká že vytváří špatné programátorské návyky), záleží k čemu chceš směřovat. Jestli tě láká vývoj her, nebo aplikací, nebo třeba nízkoúrovňové programování pro malé přístroje a řízení strojů...

To Delphi je vlastně jen název vývojového prostředí, jazyk se jmenuje ObjectPascal a je to prakticky TurboPascal rozšířený o objekty a windowsí grafiku. Takže je celkem jedno jestli začneš v DOSovém Pascalu na příkazovém řádku nebo rovnou v tom Delphi.
Nevím co všechno umí FreePascal, měl by být zpětně kompatibilní minimálně na úrovni textových programů, co se tam dá malovat netuším.

Nejde to spustit ani v okně Příkazového řádku? Já teda ten TP pouštím také přes DOSBox, kvůli tomu mi v něm nejde přímo spustit program, ale musím ho zkompilovat, ukončit TP a spustit .exe, ale já jedu na Linuxu. Zkoušel jsi ten FreePascal?
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

richard44
nováček
Příspěvky: 26
Registrován: srpen 11
Pohlaví: Muž
Stav:
Offline

Re: V jakém pořadí se má teenager učit programovací jazyky?

Příspěvekod richard44 » 20 lis 2011 14:02

Zkoušel jsem jak cmd, tak i DOSBox, ale až teď mi došlo, že funguju na x64 architektuře a tak je všechna snaha zbytečná, takže leda vyzkoušet XP Mode.

Holt už se pomalu upouští od kompatibility 16bit aplikací, to je třeba brát jako fakt...

Můžu poprosit vyexportovat executable? Třeba jsem to špatně zkompiloval, v tomhle jsem úplný začátečník. DOSBox by to teda rozjet měl, nezávisle na typu architektury.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti