Knihy na začátek s jazykem Java

Re:Knihy na začátek s jazykem Java
« Odpověď #15 kdy: 10. 05. 2022, 00:35:12 »
Ta Java 8 od Herba Schildta je super. Dle mého nic lepšího (myšleno stylem psaní) v češtině k Javě není. Pecinovského nebrat.


mukel

Re:Knihy na začátek s jazykem Java
« Odpověď #16 kdy: 10. 05. 2022, 02:19:20 »
Ta Java 8 od Herba Schildta je super. Dle mého nic lepšího (myšleno stylem psaní) v češtině k Javě není. Pecinovského nebrat.

Rozmyslal som nad Pecinovskym a Schildt-om. Bude vyhovujuca kniha Java 8 od Schildt-a, alebo mam kupit nieco novsie? Mam po socitabi Java 8 presedlat na Mistrovstvi v Java od toho isteho autora?

Niekto tu spominal, ze sa mam vykaslat na jazyk a zohnat knihu, ktora bude ucit OOP. aku knihu mi na vyucbu OOP odporucate? pisete, ze herout uci len syntax a nie mysliet objektovo... ktora kniha teda uci programovat objektovo... doporucte.

Herout uci iba syntax? ako to je potom s jeho knihou o cecku? tiez tam uci iba syntax a nie programovat? (Rozmyslal som, ze ked ma java chyti, tak by som sa pozrel aj na cecko a tam je najviac odporucana/legendarna kniha od herouta.)
 

Re:Knihy na začátek s jazykem Java
« Odpověď #17 kdy: 10. 05. 2022, 08:01:18 »
Ta Java 8 od Herba Schildta je super. Dle mého nic lepšího (myšleno stylem psaní) v češtině k Javě není. Pecinovského nebrat.
Herout uci iba syntax? ako to je potom s jeho knihou o cecku? tiez tam uci iba syntax a nie programovat? (Rozmyslal som, ze ked ma java chyti, tak by som sa pozrel aj na cecko a tam je najviac odporucana/legendarna kniha od herouta.)

Ano, v tomto je Heroutova kniha (i po tech letech) stale *skvela*. Uci jazyk C, vetsina zakouti je pekne okomentovana v poznamkach. Je to zamereno skutecne na cecko, takze tady titulek nelže. Algoritmy nebo navrh datovych struktur tam neresi, taky neni proc (urcite to neni prvni kniha, kterou by mel nekdo vzit do ruky, aby vubec zacal programovat).

Re:Knihy na začátek s jazykem Java
« Odpověď #18 kdy: 10. 05. 2022, 08:08:38 »
Já bych bral stopro Schildta, je to jeden z nejprodávanějších autorů literatury ohledně programování na světě. Někdo může napadnout jeho drobné chyby, kterých se v některých knihách dopustil, ale jeho styl psaní je prostě best. Vždycky jsem měl kopřivku při čtení knih od jiných autorů, přišlo mi, že někteří skáčou sem a tam, Schildt to má prostě vymakané. Např. u Pecinovského jsem občas přemýšlel, co chce vůbec sdělit a proč to píše jak to píše.

Jestli jít od Javy 8 od Schildta k Mistrovství od stejného autora - nevím, tam je myslím Java 7, osmička Java je taková "revoluční", pořád ji vídám v inzerátech jako požadavek (často Java 8, 14). Začít osmičkou, to nelze šlápnout vedle :) Mimochodem, Schildt je i autorem legendární knihy "Nauč se sám C", dřív bylo naprosto super začít touhle knihou a pokračovat Heroutem, to ještě v devadesátkách. To Céčko od Herouta je taky super, jsou to dvě levné knihy, myslím, že nadávno došlo opět k přepracování.

Na OOP se často doporučovalo "Myslíme v jazyku Java" od Bruce Eckela, snad je pořád dobrá. S Heroutem a jeho Javou nemám zkušenost, ale celkem bych se nedivil, že by to byla jeho přepsaná kniha C => Java.


Re:Knihy na začátek s jazykem Java
« Odpověď #19 kdy: 10. 05. 2022, 08:15:31 »
Ucit se to cesky je neomluvitelne. Bez ohledu na par vynikajich ucitelu, co jsem potkal. Knihy byly z 90% intelektualni masturbace.

Potom se divite, ze mate polovicni plat proti zapadu a INdove vas vsude vytlacuji.
A Cechove nemaji spatnou povest, oni nemaji zadnou.

BTW, kvuli diteti jsem pred nekolika mesici navstivil prazsky IT gympl. Vyuka anglictiny a "rustiny nebo spanelstiny", nadsene podporovano rodici. Ze prej snadno sehnali ucitele a Spanelstiny je po svete hodne. OK, good luck. Moje dite se nauci IT jinak.


Re:Knihy na začátek s jazykem Java
« Odpověď #20 kdy: 10. 05. 2022, 09:10:22 »
Ucit se to cesky je neomluvitelne.

Pravda, ale asi bych to napsal tak, že číst IT literaturu v angličtině, je výhodnější.

1. Lokalizátor se často nevyhne křečovitým snahám o překlad, i toho, co je považováno za "odbornou hantýrku" a riskujete tak do budoucna zmatení jazyků (víte např., co je to "roura" příp. poteticky "datovod"? co je ale "pipe", je každému linuxáři jasné..; četl jsem také např. v moudré knížce, že si mám vytvořit "spoušť" v databázi (trigger), ale nikdy jsem neslyšel nikoho to reálně říkat -- teda, ne že bych neviděl lidi dělat spoušť v databázích, ale to je zas o něčem jiném...).  Pokud lokalizátor zvolí ustálené pojmy nepřekládat, pomalu to zní jako "čengliš" kde je víc anglických slov než českých a skoro ta lokalizace působí zbytečně:  např. "tento getter vrací string, toto implementuje interface.." Takhle ale mezi sebou ajťáci normálně mluví, ale v literatuře to vypadá divně.

2. Angličtina je must have kvalifikace pro programátora, alespoň na "úrovni čtení technické dokumentace".
Čtením v angličtině se tak zabijí dvě mouchy jednou ranou. Stejně se tu angličtinu (a termíny týkající se domény toho programovacího jazyka v angličtině) člověk musí naučit, tak proč to neudělat rovnou.

Akorát si nějak kolikrát nejsem jistý, jestil ti Indové umí anglicky :)  Ale respektuju, že pro ně je třeba nástupní hrana horší (stejně jako pro Číňany atd.), my máme alespoň podobnou abecedu..


Re:Knihy na začátek s jazykem Java
« Odpověď #21 kdy: 10. 05. 2022, 09:28:20 »
Ucit se to cesky je neomluvitelne.

Jak pro koho.
Pokud někdo anglicky neumí, tak je mnohem lepší, aby se naučil programovat v češtině a později se naučil anglicky. Případně, aby se prvně naučil anglicky a pak se učil programovat v angličtině.

Je mnohem snazší přelézt 2 samostatné metrové ploty, než jeden dvoumetrový plot. Jestli chcete filtrovat ty schopnější od méně schopných, tak proč ne (viz slavné Perils of Java Schools o zvládání dvou abstrakcí naráz). Ale jestli je vaším cílem se něco naučit (nebo někoho), tak je fakt lepší dělat jednu věc naráz.

Pokud je někdo dospělý, má nějaké rozumné základy angličtiny a nějaký vhled do programování, tak bude anglická učebnice Javy skvělá věc, která ho posune v obou směrech (i když to bude trochu bolet).

Pokud moje dítě zatím anglicky moc nevládne, tak anglická učebnice Javy bude důvod, proč se rozhodne, že ho programování nebaví.

Re:Knihy na začátek s jazykem Java
« Odpověď #22 kdy: 10. 05. 2022, 09:41:21 »
Tak pak je otázka, jestli nebude kvůli tomu, že si "zkrátil" cestu k cíli,  pak přelézat další plot (a nebude to o to těžší). Hodně záleží, jak moc je ta literatura rozumně přeložená a jak se překladatel utrhnul ze řetězu..  Překladatel podle mého názoru by měl co nejvíce používat anglické, původní, termíny (jinými slovy, moc to nepřekládat :)) a zbytek mezi těmi doménovými názvy je docela jednoduchá gramatika (protože psát IT nějak beletristicky, básnicky, nemá smysl a navíc je autor také třeba často cizinec a neuměl by to). Minimálně si člověk musí udržovat mentální mapu český překlad -> původní termín kde na stejný původní termín může odkazovat více alternativ (viz zmatení překladů u "pipe"). Což ten jeden plot dělá trochu vyšší ;-)

Souhlasím s tvrzením, že angličtina se do určité (a podle mne relativně jednoduché) úrovně, dá považovat za prerekvizitu.

Ale je to věc názoru...

Re:Knihy na začátek s jazykem Java
« Odpověď #23 kdy: 10. 05. 2022, 09:43:06 »
NE.

Seniori by meli vyslat jednoznacnou zpravu (jasne, tohle je anglikanismus).

Dvoumetrovy plot neprelezu, i se zebrikem si nabiju kokos. Ale knizku se slovnikem zvladnu, to neni dobry primer.
Metrovy plot zahy prelezu, ale pravdepodobne spatnou technikou, budu to skakat snozmo. To mi nejen nepomuze u dvoumetroveho plotu, zhorsi mu mu to situaci.

O par let pozdeji si semiseniori porad jeste diskutuji, jak se pripravit na interview v anglictine.
Anglictina v ucebnich IT je opravdu jednoducha.
A jak bylo receno, ceske vyrazy jim v tom udelaji kasi.


Citace
Jak pro koho.
Pokud někdo anglicky neumí, tak je mnohem lepší, aby se naučil programovat v češtině a později se naučil anglicky. Případně, aby se prvně naučil anglicky a pak se učil programovat v angličtině.

Je mnohem snazší přelézt 2 samostatné metrové ploty, než jeden dvoumetrový plot. Jestli chcete filtrovat ty schopnější od méně schopných, tak proč ne (viz slavné Perils of Java Schools o zvládání dvou abstrakcí naráz). Ale jestli je vaším cílem se něco naučit (nebo někoho), tak je fakt lepší dělat jednu věc naráz.
« Poslední změna: 10. 05. 2022, 09:44:40 od pruzkumbojem »

Re:Knihy na začátek s jazykem Java
« Odpověď #24 kdy: 10. 05. 2022, 10:34:08 »
NE.

Seniori by meli vyslat jednoznacnou zpravu (jasne, tohle je anglikanismus).

Dvoumetrovy plot neprelezu, i se zebrikem si nabiju kokos. Ale knizku se slovnikem zvladnu, to neni dobry primer.
Metrovy plot zahy prelezu, ale pravdepodobne spatnou technikou, budu to skakat snozmo. To mi nejen nepomuze u dvoumetroveho plotu, zhorsi mu mu to situaci.

O par let pozdeji si semiseniori porad jeste diskutuji, jak se pripravit na interview v anglictine.
Anglictina v ucebnich IT je opravdu jednoducha.
A jak bylo receno, ceske vyrazy jim v tom udelaji kasi.


Citace
Jak pro koho.
Pokud někdo anglicky neumí, tak je mnohem lepší, aby se naučil programovat v češtině a později se naučil anglicky. Případně, aby se prvně naučil anglicky a pak se učil programovat v angličtině.

Je mnohem snazší přelézt 2 samostatné metrové ploty, než jeden dvoumetrový plot. Jestli chcete filtrovat ty schopnější od méně schopných, tak proč ne (viz slavné Perils of Java Schools o zvládání dvou abstrakcí naráz). Ale jestli je vaším cílem se něco naučit (nebo někoho), tak je fakt lepší dělat jednu věc naráz.

Učím se anglicky - metrový plot - nepříjmené, ale zvládnu to.
Učím se programovat v jazyce, kterému dobře rozumím - metrový plot - složité, vaří se mi mozek, ale zvládnu to.

Pokud se rozhodnu, že budu překonávat obě překážky naráz, tak se může stát, že už to bude na mě moc. Doprčic, nechápu tyhle abstrace a pořád k tomu listuji slovníkem, cože tohle slovo znamená. Tady u toho slova jsem blbě zachytil význam, takže mi to celé nedává žádný smysl. Tohle nedám, kašlu na to, budu tancovat u tyče.

To je úplné základy pedagogiky známé už od dob Komenského, není chybou toho příkladu, že to nechápeš, případně že tvým cílem není naučit, ale vytřídit toho, kdo má velmi dobré schopnosti a vůli od těch, kdo nemají.

Zmatek české vs. anglické názvosloví je nemilý, ale pořád je to pro člověka menší problém, než se učit něco v jazyce, kterému nerozumí. Jistě, učebnice programování nebývají zrovna extra složité, ale pořád jsou lidi, na které je to moc.

Je jednodušší se naučit plavat ve dvou krocích. Prvně nafukovacím kruhem techniku a později k naučené technice bez kruhu přidat i to držení se na hladině. Je to jednodušší, než se pokoušet učit obojí naráz. Jasné, že jste tu všichni gerojové, co jste se naučili plavat bez kruhu, takže kruh je zbytečnost. Ale ti lidi, co se pokoušeli naučit plavat bez kruhu a nezvládli to (a utopili se), ti sem už nenapíší.

Jestli se někdo naučí plavat s kruhem a stačí mu to a odmítá kruh odložit, tak to je nemilé, ale pořád lepší, než se nenaučit plavat vůbec.


Re:Knihy na začátek s jazykem Java
« Odpověď #25 kdy: 10. 05. 2022, 11:10:02 »
tak jinak.

Anglicky vsichni musi umet uz pred tim, nez se pusti do programovani.
Do te situace by se nemeli vubec dostat.
Ale dneska snad uz kazdy umi dostatecne anglicky, aby zvladl jednoduchou anglictiny ucebnice, trebaze o slozitem tematu.

Pokud ma problem, tak mozna programovani javy neni pro nej to prave, mozna IT admin je lepsi kariera?

sorry, ale ja si proste musime myslim, ze musime vyvijet tlak, aby se kluci drali kupredu. Musi pochopit, ze jim zadarmo nikdo nic neda.

Re:Knihy na začátek s jazykem Java
« Odpověď #26 kdy: 10. 05. 2022, 11:17:36 »
Na objektové myšlení bych nepořizoval učebnici Javy, ale učebnici OOP. Ty principy jsou obecné a pak jen stačí si to aktualizovat pro konkrétní jazyk.


1. Přidávám se k už napsaným názorům, že jedna věc je nenaučit se to (a naučit se to později) a druhá věc je naučit se to blbě. Na to pozor. S úsečkou, která dědí z bodu jsem se skutečně také setkal, ale nevím jestli zrovna v Heroutovi. Už je to hodně let, co jsem ho četl a teď jsem jen rychle proskenoval pdf.

2. Ad Herout: Shrnul bych svůj pocit výrazem "so-so". Samotnou syntax javy popisuje dobře (byť je to "předosmičková" éra). Asi by se dalo polemizovat o tom, jestli je kvádr obdélník ("is-a" vztah) - viz kap. 11. Jestli může kvádr zastoupit objekt v místě, kde je požadován obdélník. Nicméně, možná mám nějaké aktualizované vydání, ale zaprvé Herout spíše zdůrazňuje kompozici (a věnuje se ji i dřív než inheritanci) a na úvod kapitoly o dědičnosti zdůrazňuje princip is-a vs has-a, což je správně. Nepřijde mi to úplně špatně, metodicky na to jde správně a pak to kontruje tím příkladem, kdy z obdélníka dědí kvádr :) :)  aby v zápětí hned upozornil (píše "byl jsem upozorněn při korektuře"), že to tak nejspíš není optimální návrh. Že varianta "kvádr MÁ šest stěn co jsou obdélníky" je možná příhodnější. Možná (nejspíš) mám nějaké aktualizované vydání.

Pak tam vidím ve cvičení nějaký příklad s kolem (předek, ve kterém má být boolean proměnná "máPřehazovačku") a horským kolem (speciální případ kola, který má navíc proměnné převodyVpředu, převodyVzadu a máPřehazovačku nastavuje na true). Tak nevím, tohle na mne působí trochu divně. Já bych to pojmul jinak. MáPřehazovačku je interface, a objekt, který o sobě říká že MáPřehazovačku musí umět vrátit objekt Přehazovačka. Převody vepředu a vzadu pak nejsou vlastností přímo kola, ale té Přehazovačky. Koneckonců, co je kolu do toho ,jak je uvnitř poskládaná ta přehazovačka :) Co mne tam přijde divné je ten boolean "máPřehazovačku" v předkovi a na mne působí jako nějaký leak pozdější, speciální implementace. To pak budu do rodiče dávat proměnné "máGalusky", "máBaterii" atd.?  Divné. Vlastně příklady na dědičnost v té učebnici fakt působí "šroubovaně".

2. Souhlasím s tím, co píše Filip J., co se týká reálných java programů (alespoň těch "běžných podnikových"), tam je OOP v hodně ořezané aplikaci a skoro je to dobře. DI frameworky přímo vybízejí ke skládání objektů. Pokud se v těchto aplikacích použije dědičnost tak spíš jako nástroj pro sdílení nějaké společné implementace, což je otázka, jestli je vždy dobře. A pokud se vývojář okouzlený možností dědit utrhne ze řetězu a začne dědičnost zavádět do entit, servis, api endpointů atd. tak to často smrdí průšvihem.

Mimochodem se mi líbí, jak to má Go, ale to už jsme hodně offtopic.

3. Také souhlas, že se java dělí na "předosmičkovou" a "osmičkovou" a žádná z dalších věcí už nepřinesla tak významnou revoluci (ruku na srdce, snad každý z profi vývojářů javy používá "lambdy" ale kdo z patra vyjmenuje fíčury verzí 10, 12... a používá je). "předosmičková" java je pravěk, ale pořád je to základ, na kterém je ta "osmičková" postavená, takže se člověk neučí nic špatně a jen si pak dostuduje nadstavbu.

Re:Knihy na začátek s jazykem Java
« Odpověď #27 kdy: 10. 05. 2022, 11:20:13 »
Naučit se programovat je především věc přemýšlení – terminologie je méně podstatná. Pokud někdo neovládá angličtinu na stejné úrovni, jako mateřský jazyk, může pro něj být výhodou učebnice v mateřském jazyce, která umožní některé věci pochopit snáze nebo víc do hloubky. V tom mohou být výhodou i učebnice psané rodilým mluvčím (v mateřském jazyce čtenáře), protože tam mohou být třeba nějaké kulturní odkazy, které mohou být matoucí.

Takže za mne je zcela v pořádku učit se programovat z českých materiálů, jenom je pak potřeba naučit se i anglické termíny – což by ale měla být samozřejmost u českých materiálů, že tam budou uvedené i anglické termíny (ve spoustě případů tam stejně nemůže být nic jiného, než anglické termíny, protože české neexistují).

Ale dneska snad uz kazdy umi dostatecne anglicky, aby zvladl jednoduchou anglictiny ucebnice, trebaze o slozitem tematu.
Otázka je, zda je to nejlepší řešení. Já si myslím, že i někomu, kdo se anglicky domluví, může česká učebnice pomoci, aby věc pochopil lépe nebo rychleji.

Re:Knihy na začátek s jazykem Java
« Odpověď #28 kdy: 10. 05. 2022, 11:41:10 »
Ještě k tomu Heroutovi: knížku C i javu jsem četl. Myslím si, že to jsou dobré učebnice pro vysvětlení syntaxe jazyka. Herout píše dobře a nevymýšlí si zrovna moc "čistonosoplen" při překladu.

S tím OOP je to skutečně na hraně. Takto jak je to prezentované. Na jednu stranu teorie, kterou má evidentně dobře, na druhou stranu kontruje špatným příkladem (a přiznává, že může být "neoptimální"). Protože vysvětluje dědičnost na něčem, kde není ta dědičnost dobrý nástroj, podle mne. Vždyť mu to nezapadá do toho rámce is-a, has-a, který popisuje pář řádků nad tím. "Kvádr je obdélník" zní blbě.  "Kvádr MÁ šest stěn, co jsou obdélníky." resp. "Kvádr MÁ podstavu, což je obdélník, a výšku" zní jako lepší varianta. Tak proč rovnou nepřijít s příkladem, který je na tu dědičnost příhodnější.

Kdyby tam byl jenom ten kvádr jako speciální případ obdélníka bez další diskuze (a chyběla právě ta diskuze o has-a, is-a), tak bych to asi příkře odsoudil jako bad practice, takhle z toho mám rozporuplný pocit.

To s tím kolem a speciálním horským kolem s přehazovačkou zavání (zne)užitím dědičnosti také a špatným použitím (resp. nepoužitím ) zapouzdření. Ok, dokud mám jenom obyč kolo a horské kolo, tak to jde, ale brzo takovýto návrh přestane škálovat, si myslím.

Ale když se vykašleme na tu nešťastnou dědičnost...
Dle mého názoru Heroutovy učebnice patří mezi velmi dobré.

Čeština se dá zkousnout. Důsledně se uvádějí anglické termíny (buď jediné nebo s českým překladem) tam kde by to mohlo být matoucí a vývojář se bude 100% v budoucí profesi potýkat s anglickým výrazem ("wrapper class", "override").  Ne všechny české knížky ale takové jsou!
« Poslední změna: 10. 05. 2022, 11:44:53 od premekv »

Re:Knihy na začátek s jazykem Java
« Odpověď #29 kdy: 10. 05. 2022, 11:43:18 »
tak jinak.

Anglicky vsichni musi umet uz pred tim, nez se pusti do programovani.
Do te situace by se nemeli vubec dostat.

Můj syn má 10 let a anglicky umí velmi bídně. Do programování se už pustil a celkem mu to jde a baví ho to. Co teď? Mám ho zastřelit a udělat si nového a toho pustit k programování až později?

Ale dneska snad uz kazdy umi dostatecne anglicky, aby zvladl jednoduchou anglictiny ucebnice, trebaze o slozitem tematu.

Ne neumí. Například můj desetiletý syn neumí. A pak je spousta dospělých lidí, co anglicky neumí, ale mohli by zjistit, že programování je baví a jde jim a angličtinu by se mohli doučit později.

Pokud ma problem, tak mozna programovani javy neni pro nej to prave, mozna IT admin je lepsi kariera?
Pokud má někdo problém naučit se plavat tak, že ho hodíme do vody bez kruhu, tak možná plavání není pro něj. Možná by se měl raději třeba učit jezdit na kole. Tak nějak to myslíš?

sorry, ale ja si proste musime myslim, ze musime vyvijet tlak, aby se kluci drali kupredu. Musi pochopit, ze jim zadarmo nikdo nic neda.
Já si myslím, že jsi velmi špatný učitel, který vůbec neví nic o pedagogice. Na tom není v principu nic špatného. Jenom je zarážející, jak vehementně tu prosazuješ svoje pedagogická pravidla.