Start Java programování

Re:Start Java programování
« Odpověď #15 kdy: 14. 10. 2020, 15:04:29 »
Síce Javu nenávidím, ale kvôli tomu že som na VŠ mal predmet kde bola Java, tak mám knihu Mistrovství Java od Herbert Schildt, a myslím že to sa celkom dá.

Osobne Javu (rovnako ako PHP) neodporúčam ani nepriateľovi.

Chápem keď niekto nemá rád PHP, ani ja ho nemám rád, aj keď som ho (nechtiac) používal niekoľko rokov, ten jazyk bol pôvodne navrhnutý ako template engine a preto je ukecaný a niektoré konštrukcie sú priam otrava, nehovoriac o nekonzistenciách v "ekosystéme"... ale čo je zlé na Jave?

Zaujímali by ma konkrétne výhrady voči jave alebo teda aspoň nejaké argumenty prečo je java podľa teba zlá


Re:Start Java programování
« Odpověď #16 kdy: 14. 10. 2020, 15:21:37 »
Síce Javu nenávidím, ale kvôli tomu že som na VŠ mal predmet kde bola Java, tak mám knihu Mistrovství Java od Herbert Schildt, a myslím že to sa celkom dá.

Osobne Javu (rovnako ako PHP) neodporúčam ani nepriateľovi.

Chápem keď niekto nemá rád PHP, ani ja ho nemám rád, aj keď som ho (nechtiac) používal niekoľko rokov, ten jazyk bol pôvodne navrhnutý ako template engine a preto je ukecaný a niektoré konštrukcie sú priam otrava, nehovoriac o nekonzistenciách v "ekosystéme"... ale čo je zlé na Jave?

Zaujímali by ma konkrétne výhrady voči jave alebo teda aspoň nejaké argumenty prečo je java podľa teba zlá

Navrhuju, jestli te to zajima, at zalozis zvlastni vlakno... at to tady neunasime...

Re:Start Java programování
« Odpověď #17 kdy: 14. 10. 2020, 15:57:53 »
drzim palce, do zacatku je java asi ok. na ruzne problemy clovek prijde az s casem.
zkus si udelat nejaky webovy test, podobny vstupnim testum do zamestnani.
i zde ti lide poradi.

treba nacti vstup z textoveho souboru a vypis pocet radku, pocet, slov, pismen.
frekvenci zastoupenych slov v textu. naucis se cteni souboru, mapy, listy, prace se stringy atd.

Re:Start Java programování
« Odpověď #18 kdy: 15. 10. 2020, 08:06:41 »
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

No jo ono to je takove typicke internetove doporuceni (od Kita). Nic o tom nevim (knihu necetl, java nepouziva), ale budu rozdavat rady co jsem kde zaslechl a znelo to chytre :)

Kit

  • *****
  • 547
    • Zobrazit profil
    • E-mail
Re:Start Java programování
« Odpověď #19 kdy: 15. 10. 2020, 08:50:19 »
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

No jo ono to je takove typicke internetove doporuceni (od Kita). Nic o tom nevim (knihu necetl, java nepouziva), ale budu rozdavat rady co jsem kde zaslechl a znelo to chytre :)

Knihu jsem četl a Javu používám. Co tam máš dál?


Kit

  • *****
  • 547
    • Zobrazit profil
    • E-mail
Re:Start Java programování
« Odpověď #20 kdy: 15. 10. 2020, 09:05:08 »
Bruce Eckel: Thinking in Java.

Je v té knize něco špatně?

Je uplne mimo, posledni vydani je 2004.

Kit

  • *****
  • 547
    • Zobrazit profil
    • E-mail
Re:Start Java programování
« Odpověď #21 kdy: 15. 10. 2020, 09:12:45 »
Citace: Kit rlink=topic=23670.msg338037#msg338037 date=1602675593
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

Je na té knize něco špatně?

Re:Start Java programování
« Odpověď #22 kdy: 15. 10. 2020, 09:32:48 »
Citace: Kit rlink=topic=23670.msg338037#msg338037 date=1602675593
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

Je na té knize něco špatně?

Ty asi vis houby i o Jave, co? Od petky se dost koncpcne zmeilo to, jak idomaticka Java vypada a ta kniha to proste nemuze reflektovat.

Kit

  • *****
  • 547
    • Zobrazit profil
    • E-mail
Re:Start Java programování
« Odpověď #23 kdy: 15. 10. 2020, 10:09:40 »
Citace: Kit rlink=topic=23670.msg338037#msg338037 date=1602675593
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

Je na té knize něco špatně?

Ty asi vis houby i o Jave, co? Od petky se dost koncpcne zmeilo to, jak idomaticka Java vypada a ta kniha to proste nemuze reflektovat.

OOP se koncepčně nezměnilo a to je v té knize popsáno velmi kvalitně. Co je podle tebe tak zásadní koncepční změnou, že diskvalifikuje tuto knihu? Dle mého jsou to jen marginálie.

Re:Start Java programování
« Odpověď #24 kdy: 15. 10. 2020, 10:35:54 »
OOP se koncepčně nezměnilo a to je v té knize popsáno velmi kvalitně. Co je podle tebe tak zásadní koncepční změnou, že diskvalifikuje tuto knihu? Dle mého jsou to jen marginálie.

Jenomze Java neni o OOP, Java je cim dal vic multiparadigmaticka. A vetsina te FP casti je proste az od osmicky dal. A jak uz tu psal Filip, jsou docela zajimave i zmeny mimo tenhle smer, zejmena "try with resources" je to, co by zacatecnika mohlo zajimat docela dost.
(A to se nebavime o vecech, jako je modularizace, ktere uplneho zacatecnika zajimat nemuseji.)

jano6

Re:Start Java programování
« Odpověď #25 kdy: 15. 10. 2020, 10:44:25 »
Cítim pri tejto knihe nejakú nostalgiu, keďže to bola moja prvá kniha o Jave. Avšak rozhodne by som ju už dnes
neodporúčal. Nielenže nereflektuje 15 rokov vývoja (Date vs LocalDate, try-with-resources...), ale je plná podivností a chýb.
Autor nemá asi rád System.out.println, preto si tam zadefinuje vlastnú print funkciu a v mnohých príkladoch
používa cez statický import `import static net.mindview.util.Print.*`. Inokedy predsa len používa System.out.println`, ale potom zas
dokonca `out.println`. To je riadne mätúce.

Všade pchá triedy, dokonca aj keď vysvetľuje dátové typy alebo základné konštrukcie. Úplne zbytočne tak mätie začiatočníka.

Používa FileReader, čož by nemal, pretože táto triedy vychádza z systémovej lokalizácie; bolo to opravené v Java 11, kde sa
kódovanie dá explicitne nastaviť. To je jedna z mnoha vychytáviek, ktoré skúsení Java programátori vedia, ale začiatočník
je v tom stratený. Samozrejme pri Swing aplikácii nespustí program na EDT (túto závažnú chybu sme vtedy robili asi všetci).

Samostatná kapitola sú výnimky, čo tam on s nimi robí...

Posúďte sami; autor vysvetľuje dedičnosť na tomto príklade:

Kód: [Vybrat]
//: reusing/Detergent.java // Inheritance syntax & properties.
import static net.mindview.util.Print. * ;
class Cleanser {
  private String s = "Cleanser";
  public void append(String a) {
    s += a;
  }
  public void dilute() {
    append(" dilute()");
  }
  public void apply() {
    append(" apply()");
  }
  public void scrub() {
    append(" scrub()");
  }
  public String toString() {
    return s;
  }
  public static void main(String[] args) {
    Cleanser x = new Cleanser();
    x.dilute();
    x.apply();
    x.scrub();
    print(x);
  }
}
public class Detergent extends Cleanser { // Change a method:   
  public void scrub() {
    append(" Detergent.scrub()");
    super.scrub(); // Call base-class version   
  } // Add methods to the interface:   
  public void foam() {
    append(" foam()");

  } // Test the new class:   
  public static void main(String[] args) {
    Detergent x = new Detergent();
    x.dilute();
    x.apply();
    x.scrub();
    x.foam();
    print(x);
    print("Testing base class:");
    Cleanser.main(args);
  }
}
/* Output: Cleanser dilute() apply() Detergent.scrub() scrub() foam() Testing base class: Cleanser dilute() apply() scrub()
    */

Drbne tam dve main funkcie??!!

Osobne by som odporúčal buď Cay Horstmanna alebo  Herbert Schildta.

http://sd.blackball.lv/library/Thinking_in_Java_4th_edition.pdf



Citace: Kit rlink=topic=23670.msg338037#msg338037 date=1602675593
Bruce Eckel: Thinking in Java.

Je uplne mimo, posledni vydani je 2004.

Je na té knize něco špatně?

Re:Start Java programování
« Odpověď #26 kdy: 15. 10. 2020, 11:04:20 »
... alebo  Herbert Schildta.
Jeho knížky o Javě jsou dobré? Protože co spáchal o C a C++ dalo vzniknout výrazu "bullschildt", jak to bylo zlé.

jano6

Re:Start Java programování
« Odpověď #27 kdy: 15. 10. 2020, 11:12:19 »
Citace
Ahoj komunito, je mi 36 let (já vím, pořád mladý  ;) ), není ale pozdě začít směrovat kariéru na JAVA programming?

Svojím spôsobom vek nie je podstatný. Otázne je však ako je možné, že si doteraz nekódil. Ja som sa nevedel dočkať, kedy
si nasporím na svoj prvý počítač (Didaktik M) aby som sa mohol hrať a programovať.

Prečo chceš začať programovať? Prečo práve Java? Čo ja vidím, tak ľudia si nájdu v inzerátoch relatívne pekné platy
pre Java pozície, tak nad tým uvažujú. Programovanie je však remeslo a musí to človeka baviť.

Java je OK, ale osobne by som sa skôr prikláňal k .NET. C# je komerčne úspešný jazyk, s množstvom pracovných pozícií.
C# je klon Javy s tým, že má množstvo vecí vylepšených a lepšie navrhnutých.  S .NET má človek oveľa väčší výber -- je
tam desktop, IOT, ML, web, hry, cloud. Java si vo viacerých oblastiach ani neťukne.


.NET má skvelú dokumentáciu https://docs.microsoft.com/en-us/dotnet/ a kanál s výukovými videami https://www.youtube.com/c/dotNET/videos.

Aj keby človek nakoniec predsa len skončil na Java pozícii, tak prechod od C# na Javu nie je problém. 

jano6

Re:Start Java programování
« Odpověď #28 kdy: 15. 10. 2020, 11:23:37 »
Hmm, tak ruku do ohňa za to nedám. Core Java od Cay Horstmanna mám doma a tá je OK. Je to niečo medzi
výukovým materiálom a referenčnou príručkou.

Knihu od Herbert Schildta som si prezeral v kníhkupectve, je staršia verzia v preklade (Java 7). Čo som
si tak letmo prezeral, tak vyzerala byť OK. Má tiež celkom dobré referencie.


... alebo  Herbert Schildta.
Jeho knížky o Javě jsou dobré? Protože co spáchal o C a C++ dalo vzniknout výrazu "bullschildt", jak to bylo zlé.

Re:Start Java programování
« Odpověď #29 kdy: 15. 10. 2020, 11:41:49 »
Podobně jako jano6 bych se chtěl vrátit k původnímu tématu tazatele.
S algoritmizací očividně problém nemáš, to je ostatně základ. Vyzkoušel sis to na tom, co už máš za sebou. Jako další významný skok považuji přechod k OOP (objektově orientované programování). To je dost významná změna v uvažování a z vlastní zkušenosti vím, že to chvíli trvá, než to pořádně docvakne (ale kdoví, možná jsem jen pomalejší :-D ). Od té chvíle může člověk smolit celkem kdeco v celkem kdečem, zvládnutí syntaxe konkrétního jazyka je podle mě to nejjednodušší.
Osobně ale považuji za nejklíčovější obsáhnout celý ekosystém, zvlášť pokud se jedná o Javu - zkušenější mě možná doplní, sám jsem totiž zůstal většinově u C/C++ (s nevýznamnými odbočkami do jiných jazyků).