Jelikož asi nemá cenu reagovat na konkrétní příspěvky, tak jen ve stručnosti v bodech (rýpání do C++ berte prosím s velkou rezervou, nechci rozpoutávat klasický flame C++ vs. Java ;-):
- Absolventi SŠ (především průmyslovek) s výukou IT/programování mají často problém dostat se, případně udržet se na VŠ s IT zaměřením. Gymnazisti programováním netknutí nikoliv.
- Je úplně jedno, jaký jazyk pro výuku používat – pokud to bude rozumný jazyk.
- Ti, co se dostanou na VŠ a případně ji i absolvují, beztak nebudou mít problém přejít na jiný jazyk.
- S ohledem na pragmatickou stránku bych volil jazyk se syntaxí jazyků z rodiny C, tedy přímo C, Javu, nebo klidně D. Kvůli nevýhodám C++ tento jazyk raději ne.
- C++ je zprasený hybrid nevhodný pro výuku začátečníků.
- Ti, co doporučují C++, to dělají jen proto, že oni sami v něm začínali a cítili by jakousi zhrzenost, kdyby někdo jiný měl začít v něčem jiném.
- Některé zhůvěřilosti C++, které se začátečník naučí, bude brát jako dogma, a bude se je snažit používat při případném přechodu do jiného jazyka.
- C++ programátoři se cítí být něčím víc, než ostatní (protože C++ je zbytečně složité a náchylné na chyby), nicméně jejich případné snahy vytvořit něco v Javě jdou na první pohled poznat a často je stejně nutné je přepsat (viz předchozí bod). Jímá mě hrůza, když v OOP jazyce vidím něco jako:
akce(objekt1, vysledek, objekt2);
namísto:
vysledek = objekt1.akce(objekt2);
PS: Já měl tu slušnost v tomto příkladu naznačit, co je vstup, a co výstup ;-)
- To, že C++ je zbytečně složité, neznamená, že by programátoři v něm byli lepší než ostatní, protože byli schopni se to naučit, ale naopak že dělají zbytečně moc práce navíc v něčem, co je špatně navrženo.
- V C se začátečník naučí myslet nízkoúrovňově, v Javě zase objektově, C++ mu pomotá hlavu. Volte pragmaticky podle zaměření školy s ohledem na budoucnost absolventů (viz první bod).
- Proč vůbec neučit první dva jazyky zároveň + důsledně vysvětlovat rozdíly?
- Java patří mezi mainstream (nikoliv zde na root.cz), berte na to ohledy (na obojí).
- I v Javě lze psát čistě procedurálně, byť je to k ničemu. Pro prvotní výuku to ale stačí a nějakou tu deklaraci třídy a main metody se začátečník naučí nazpaměť. Pak ale rychle na objekty, aby to nedopadlo jako v případě přechodu z C(++) na Javu ;-)
Učte především psát čitelně a přehledně. Jako se prvňáčci učí (nebo alespoň za mě učili) krasopis.
Tedy něco jako tohle – vykopíroval jsem to z jiného nedávného threadu, to opravdu ne(!):
if(hmotnost<minimalhmotnost)pocet++;
Učte také myslet a psát správně a přenositelně. Kód, kterému rozumí počítač, umí psát skoro každý. Ne každý ale umí psát kód, kterému rozumí i lidé.