> jak dlouho vam trva, nez z lamy udelate Java programatora, > ktery muze psat produkcni systemy? > ... > A je sakra rozdil psat hada jakozto semestralku pro softwarove inzenyrstvi vs > produkcni system. Na jak dlouho to tedy vidite a co ucici krivka?
Java je podle mne v současné době nejlepší jazyk pro vstup do světa programování. Nabízí prakticky vše, co je potřeba, a na druhou stranu toho neumí zbytečně moc, takže ji můžete do studentů nalít za semestr. O druhém takovém jazyku nevím. Na některých školách prosazují pro úvodní kurzy Python, ale já se domnívám, že to, že v jazyku napíšete jednodušší Hello World a snadněji v něm inicializujete seznam, z něj ještě nedělá vhodnější jazyk pro výuku. Dynamické jazyky by se podle mne měly učit až poté, co už má student-programátor něco za sebou a umí se dobrovolně ukáznit, protože jinak mu mohou připravit šeredná překvapení. My učíme v prvním semestru programování a v druhém mix technologií + sw inženýrství. Pak se studenti rozdělí na ty, kteří dají přednost managementu (těch je většina) a ty, kteří dají přednost programování. Ti pak mají předmět Moderní programovací techniky, v němž jim předvádím Groovy. Ne proto, že by bylo nejlepší (i když je ;-), že), ale proto, že nabízí většinu toho, co najdete v ostatních jazycích typu Python, Ruby, Smalltalk atd., a přitom se studenti nemusí učit novou syntaxi. Neustále se jim snažím vtloukat, ať se učí především principy, protože jazyky přicházejí a odcházejí, ale principy přežívají neporovnatelně déle. Vývoj produkčních systémů ale není jenom o programování. Je to bohužel o těch všech frameworcích, o spolupráci mezi různými aplikacemi, o kontinuální integraci, průběžném testování atd. atd. Vstřebat vše musí trvat dlouho. Pokud ale student přijde někam, kde dostane konkrétní úkol na konkrétním projektu, stačí mu toho k donastudování výrazně méně a může být velmi rychle platným členem týmu. Důležité je, aby to byl student, který se ve škole nenaučil jen jazyk, ale nasál opravdu používané paradigma, protože jinak se v tom plácá a neví, která bije.
