filozofie java bruce. Întrebări și teme pentru cartea în limba rusă Thinking in Java (Philosophy of Java) de Bruce Eckel. Despre cartea „Filosofia Java” de Bruce Eckel

În martie anul trecut am aplicat la o sucursală a unei mari companii internaționale din Samara (da, am avut o abundență de aroganță și ambiție încă din copilărie). Pe atunci cunoșteam html, css, java, javascript (basics), pascal, visualbasic6, mysql queries, php, prezentare generală: c++. Nu cunoșteam Java deloc. Mi-au oferit un loc de muncă ca layout designer, dar am refuzat. Doar un programator! Apoi au dat lista:

Bruce Eckel Thinking in Java (traducere în rusă a ediției a 2-a sau originalul celei de-a 4-a - citiți ambele)
-Steve McConnell - cod perfect.
-Gang of Four - Design de model. (acesta este aproape ABC-ul OOP)
- să înțeleagă cât mai clar posibilă diferența dintre j2se și j2ee.

în decembrie a apărut nevoia de muncă. am găsit un loc de muncă într-un mic studio web din Samara. A fost imediat clar că aceștia sunt escroci, dar aveam nevoie de orice muncă pe care aș putea să o arăt viitorilor angajatori. Nu au plătit (deși toți au fost urechi cu promisiuni), dar au adus codul la standardele de design și, cel mai important, ne-au învățat unde să căutăm și ce să căutăm în caz de erori, ce mici lucruri sunt ușor de ratat.

Pe lângă literatura de mai sus, am urmat cursul intuit (acum înțeleg că este ridicol în domeniul său de aplicare, dar în principiu elementele de bază sunt acolo)

La sfârșitul lunii februarie, mi-am retrimis CV-ul și am primit o invitație pentru un interviu. Au fost 6 interviuri în total și au durat 1,5 luni. Două dintre ele au avut loc prin intermediul unei legături video cu Moscova. Întreaga imagine amintea de filmul „Vino mâine”. Dar până la urmă am primit o ofertă de muncă. Contractul a fost întocmit pentru angajare cu jumătate de normă, deoarece... Pe vremea aceea nu aveam diploma. Luna trecută mi-am primit diploma și contractul a fost reînnoit pentru muncă cu normă întreagă.

Poziția actuală: Soft Engineer. Salariul este mai mult decât satisfăcător. Ieri, în legătură cu trecerea la munca cu normă întreagă, au crescut-o cu 30%.

Chiar și în acel birou strâmb au cerut exemple de muncă. Am prezentat munca pe care am finalizat-o ca freelancer. Chiar și lucrările în alte limbi sunt întotdeauna mult mai bune decât nicio lucrare.

Ps: diploma albastra in FIZICA. Sunt complet autodidact, așa că totul este în mâinile tale. Am doar engleza de la scoala libera (7 ore pe saptamana). deși americanul care a venit la noi în călătoria lui în jurul lumii nu îl cunoaște bine. Abia am înțeles jumătate din cauza accentului lui. dar acest lucru nu este atât de critic în departamentul meu. Toată documentația este în limba engleză - o vei învăța chiar dacă nu o știai)))))

Mulțumiri speciale acestui forum. De fapt, am studiat aici- în fiecare zi am studiat toate subiectele care au apărut)

Filosofia Java Bruce Eckel

(Fără evaluări încă)

Titlu: Filosofia Java

Despre cartea „Filosofia Java” de Bruce Eckel

Bruce Eckel este un programator remarcabil, autor al unui număr de cărți despre limbaje de programare. Opera sa a devenit rapid populară, deoarece a prezentat concepte complexe într-un limbaj simplu. Au ajutat mulți oameni să învețe programarea de la zero și să obțină succes în acest domeniu. Autorul a primit premii pentru munca sa de mai multe ori. Cărțile sale au fost întotdeauna primite cu căldură de critici, iar cei care doreau să studieze mai profund diferitele limbaje de programare așteptau cu nerăbdare noua sa lucrare. Cea mai faimoasă carte a autorului a fost „Filosofia Java”. S-a vândut în cantități uriașe și a fost retipărit de mai multe ori. Chiar și acum, după un deceniu, această lucrare este o lectură obligatorie pentru cei care doresc să devină programator profesionist.

În cartea sa „Filosofia Java”, autorul dezvăluie secretele acestui limbaj de programare. El sfătuiește să-l privească ca pe ceva viu. El dă cu pricepere exemple care dovedesc că limbajul de programare evoluează și i se fac diverse completări. Poate fi folosit pentru a descrie orice proces.

Majoritatea programatorilor începători nu reușesc să înțeleagă logica Java. Autorul încearcă să explice clar cititorilor despre ce este vorba. Odată ce vor înțelege acest lucru, va fi mult mai ușor să începeți să scrieți programe care nu vor bloca și nu vor încurca specialiștii. Datorită experienței autorului, va fi mai ușor să identificați și să corectați în mod independent erorile care sunt adesea făcute de programatori. Dacă studiezi și înțelegi mai profund limbajul de programare Java, se vor deschide perspective care până acum păreau imposibile.

Bruce Eckel, în cartea sa „Filosofia Java”, a încercat să explice probleme complexe într-un limbaj simplu. Pentru ca cititorii să nu se încurce în termeni, el îi conectează cu natura și situațiile cotidiene. Astfel, informațiile utile sunt reținute mai repede și rămân pentru totdeauna cu persoana. Când apar situații dificile, își amintește o poveste dintr-o carte și o folosește.

Bruce Eckel în cartea sa „The Philosophy of Java” a încercat să transmită toată experiența sa, așa că a rezolvat totul. Cititorii îl pot absorbi și îl pot folosi doar în munca lor zilnică. Datorită cărții, vei putea evita cele mai comune greșeli și vei deveni un programator excelent. Lucrarea autorului a ajutat mulți oameni să înțeleagă cum funcționează Java, să scrie programe excelente și să îmbunătățească software-ul.

Pe site-ul nostru despre cărți, puteți descărca site-ul gratuit fără înregistrare sau puteți citi online cartea „The Philosophy of Java” de Bruce Eckel în formate epub, fb2, txt, rtf, pdf pentru iPad, iPhone, Android și Kindle. Cartea vă va oferi o mulțime de momente plăcute și o adevărată plăcere de la lectură. Puteți cumpăra versiunea completă de la partenerul nostru. De asemenea, aici veți găsi cele mai recente știri din lumea literară, aflați biografia autorilor tăi preferați. Pentru scriitorii începători, există o secțiune separată cu sfaturi și trucuri utile, articole interesante, datorită cărora tu însuți poți să-ți încerci meșteșugurile literare.

Programarea este unul dintre cele mai populare servicii din domeniul IT. Mulți oameni au început să învețe despre această industrie dificilă și să lucreze în această direcție. Dacă cititorul a fost întotdeauna interesat de programare, dar nu a știut de unde să înceapă, atunci cartea „Filosofia Java” va fi un ghid excelent de pornire în această chestiune. Autorul, Bruce Eckel, este un adevărat vrăjitor al computerelor și explică rapid principiile de bază ale lucrului cu codul folosind un limbaj clar.

Limbajul Java este considerat unul dintre cele mai populare limbaje de programare din întreaga lume. Acest lucru se datorează flexibilității sale ridicate și posibilității de aplicare a acestuia în aproape orice domeniu legat de jocuri, software etc. Cartea pentru începători „Filosofia Java” vă va ajuta să stăpâniți principalele fundamente, precum și conceptele cheie, care vă permite să faceți o bază excelentă pentru un studiu mai profund și perfect al științei programării. Bruce Eckel a făcut o treabă cu adevărat colosală, oferind sute de exemple vii și explicând în detaliu toate punctele cheie de-a lungul cărții. Cu ajutorul acestui ghid, orice utilizator care dorește să învețe limbajul Java va putea să-și stabilească o bază de cunoștințe excelentă și, pe baza acestora, să înceapă un studiu aprofundat.

Autorul recomandă citirea cărții sale tuturor începătorilor și persoanelor care tocmai au început să facă programare de bază în limbajul Java. „Filosofia Java” este un ghid pentru a învăța rapid și eficient elementele de bază ale lucrului cu Java. Cartea acordă atenție tuturor lucrurilor mărunte, precum și subtilităților, începând cu interfața și setările de bază și terminând cu combinații și tehnici complexe, care sunt prezentate într-un exemplu real folosind comenzi și coduri clare cu comentarii de la autor.

Bruce Eckel vă va ajuta să vă concentrați asupra scopului principal și asupra filozofiei utilizării Java pentru muncă, afaceri și alte domenii. Autorul arată, de asemenea, multe exemple de probleme, vorbește despre motivele apariției lor și despre principalele metode de depanare a problemelor din codul programului. Specialiștii care lucrează în domeniul programării au apreciat foarte mult cartea „Filosofia Java”, deoarece este un manual de dezvoltare care te va ajuta să înveți mai bine limbajul Java. Deși aceasta este literatură de specialitate, este mult mai ușor de citit decât alte cărți de gen similar

Pe site-ul nostru literar puteți descărca gratuit cartea „Filosofia Java” de Bruce Eckel în formate potrivite pentru diferite dispozitive - epub, fb2, txt, rtf. Îți place să citești cărți și să fii mereu la curent cu noile lansări? Avem o selecție largă de cărți de diferite genuri: clasice, ficțiune modernă, literatură psihologică și publicații pentru copii. În plus, oferim articole interesante și educative pentru scriitori aspiranți și pentru toți cei care doresc să învețe să scrie frumos. Fiecare dintre vizitatorii noștri va putea găsi ceva util și interesant pentru ei înșiși.


Pentru a schimba documentul implicit, editați manual fișierul „blank.fb2”.

Prefața 13

Java SE5 și SE6 14

Multumesc 14

Capitolul 1: Introducere în obiecte 17

Dezvoltarea abstractizării 18

Obiectul are interfața 20

Unitatea oferă servicii 22

Implementare ascunsă 23

Reutilizarea implementării 24

Moștenirea 25

Obiecte interschimbabile și polimorfism 29

Ierarhie cu o singură rădăcină 33

Containere 33

Tipuri parametrizate 35

Crearea, utilizarea obiectelor și durata lor de viață 36

Gestionarea excepțiilor: tratarea erorilor 38

Execuție paralelă 38

Java și Internetul 39

Capitolul 2. Totul este un obiect 48

Toate obiectele trebuie create explicit 49

Obiectele nu trebuie niciodată șterse 53

Crearea de noi tipuri de date 54

Metode, argumente și valori returnate 56

Crearea unui program Java 58

Cuvânt cheie static 60

Primul nostru program Java 61

Comentarii și documentație încorporată 64

Stilul de proiectare a programului 70

Capitolul 3. Operatori 71

Comenzi simple de imprimare 71

Operatori Java 72

Literale 82

Java nu are dimensiunea () 92

Reluați 100

Capitolul 4. Structuri de control 101

Sintaxă foreach 105

rupe și continuă 108

Comanda Goto 109 greșită

Rezumatul 115

Capitolul 5: Inițializare și terminare 116

Constructorul garantează inițializarea 116

Supraîncărcarea metodei 118

Curățare: finalizare și colectarea gunoiului 130

Inițializarea membrilor clasei 137

Inițializare de către constructorul 140

Inițializarea matricelor 146

Rezumatul 151

Capitolul 6. Controlul accesului 152

Pachetul ca modul de bibliotecă 153

Specificatori de acces Java 159

Interfață și implementare 163

Acces la 164 de clase

Rezumatul 167

Capitolul 7: Reutilizarea claselor 169

Sintaxa compoziției 170

Sintaxa moștenirii 172

Delegația 176

Combinarea compoziției și a moștenirii 178

Compoziție versus moștenire 184

Conversie de tip ascendent 186

Cuvânt cheie final 188

Rezumatul 197

Capitolul 8. Polimorfismul 198

Din nou despre transformarea ascendentă. . . > 199

Caracteristici 201

Constructori și polimorfism 208

Covarianța tipului returnat 216

Dezvoltare cu moștenire 217

Reluați 220

Capitolul 9. Interfețe 221

Clase și metode abstracte 221

Interfețe 224

Separarea interfeței de implementare 227

Extinderea unei interfețe prin moștenire 233

Interfețele ca mijloc de adaptare 236

Interfețe imbricate 239

Interfețe și fabrici 242

Reluați 244

Capitolul 10. Clasele interioare 245

Crearea claselor interioare 245

Comunicare cu clasa externă 246

Construcţii.acest şi.nou 248

Clasele interioare și conversia ascendentă 249

Clase interioare fără nume 253

Clasele interioare: de ce? 261

Moștenirea din clasele interioare 272

Este posibil să trecem peste o clasă interioară? 272

Clasele interioare locale 274

Reluarea 276

Capitolul 11. Colecții de obiecte 277

Containere parametrizate și tipizate 277

Concepte de bază 280

Adăugarea de grupuri de elemente 281

Iteratoare 288

Setul 294

Coada 298

PriorityQueue 299

Colecție și Iterator 301

Idioma adaptor de metodă 306

Rezumatul 309

Capitolul 12. Gestionarea erorilor și excepțiilor 310

Principalele excepții 310

Prinderea excepțiilor 312

Crearea propriilor excepții 314

Specificații de excepție 319

Captarea excepțiilor arbitrare 320

Standard Java 328 Excepții

Se termină cu 330

Folosind în final cu returnare 334

Limitări la utilizarea excepțiilor 336

Constructori 339

Identificarea excepțiilor 343

Soluții alternative 344

Reluați 351

Capitolul 13 Informații despre tip 352

Nevoia de inferență de tip dinamic (RTTI) 352

Înregistrarea fabricilor 372

Reflecție: informații despre clasa dinamică 376

Intermediari dinamici 380

Obiecte cu o stare nedefinită 384

Interfețe și informații despre tip 390

CV 394

Capitolul 14. Parametrizare 397

Parametrizare simplă 398

404 interfețe parametrizate

Metode parametrizate 407

Construirea modelelor complexe 419

Restricții 437

Metacaracterele 440

Reluați 452

Capitolul 15. Matrice 454

Caracteristicile celor 454 de matrice

Matrice ca obiect 456

Returnează matricea 458

Rețele multidimensionale 460

Matrice și parametrizare 463

Crearea datelor de testare 465

Crearea de matrice folosind 470 de generatoare

Setul de instrumente suport Arrays 474

CV 482

Capitolul 16: Sistemul Java I/O 483

Dosarul clasei 484

Intrare și ieșire 489

Adăugarea de atribute și interfețe 491

Cursuri de cititor și scriitor 494

RandomAccessFile: singur 497

Utilizarea tipică a fluxurilor I/O 498

Cititoare și scriitoare de fișiere 505

Standard 507 I/O

I/O noi (nio) 510

Comprimarea datelor 531

Serializarea obiectelor 536

Preferințe 553

Reluați 555

Capitolul 17. Execuție paralelă 557

Firul 559 clasa

Artiștii 561

Partajarea resurselor 578

Comunicarea între fire 598

Blocaj 602

Componente noi de bibliotecă 607

CountdownLatch 607

Bariera ciclică 609

PriorityBlockingQueue 614

Semafoare 619

Modelare 624

Reluați 629

Index alfabetic 631

Introducere în obiecte

Disectăm natura, o transformăm în concepte și le atribuim un sens așa cum o facem în multe feluri, pentru că suntem cu toții părți la un acord care este valabil într-o societate legată de vorbire și care este consacrat în structura limbajului... Noi nu pot comunica deloc, decât prin acordul cu organizarea și clasificarea datelor stabilite prin prezentul acord.

Benjamin Lee Worf (1897-1941)

Apariția revoluției computerului îi datorăm mașinii. Prin urmare, limbajele noastre de programare încearcă să fie mai aproape de această mașină.

Dar, în același timp, computerele nu sunt atât mecanisme, ci mijloace de amplificare a gândurilor („biciclete pentru minte”, cum îi place să spună lui Steve Jobe) și un alt mijloc de auto-exprimare. Ca urmare, instrumentele de programare se înclină mai puțin spre mașini și mai mult spre mintea noastră, precum și alte forme de exprimare a aspirațiilor umane, precum literatura, pictura, sculptura, animația și cinematografia. Programarea orientată pe obiecte (OOP) face parte din transformarea computerului într-un mijloc de auto-exprimare.

Acest capitol vă va prezenta elementele de bază ale POO, inclusiv o discuție despre tehnicile de bază de dezvoltare a programelor. Ea, și cartea în general, presupune că aveți experiență de programare într-un limbaj procedural, nu neapărat C. Dacă simțiți că înainte de a citi această carte vă lipsesc cunoștințele despre programarea și sintaxa C, profitați de seminarul multimedia Thinking in C. care poate fi descărcat de pe site

După cum am înțeles, „Filosofia Java” a lui Bruce Eckel este prezentată în limba rusă în 6 forme (fără a număra edițiile foarte vechi):

spoiler

1. Bruce Eckel. Filosofia Java. Traducere de la a 3-a ediție „engleză”. Titlul original „Thinking in”
Java". Editura Peter. Număr de pagini 976. Anul lansării 2003. Cartea este dedicată java 1.4.
Se pare că nu este o ediție completă (sau poate completă), dar cu o traducere normală.

2. Bruce Eckel. Filosofia Java. Traducere de la a 4-a ediție „engleză”. Titlul original Thinking in Java.
Număr de pagini 640. Anul lansării 2009. Editura Peter. Ediție dublu decupată cu

3. Bruce Eckel. Filosofia Java. Traducere din a 4-a ediție „engleză”. Titlul original Thinking in Java.
Număr de pagini 640. An lansare 2011. Editura Peter. Ediție dublu decupată cu
traducere groaznică. Cartea este dedicată java 1.5.

4. Bruce Eckel. Filosofia Java. Traducere din a 4-a ediție „engleză”. Titlul original Thinking in Java.
Număr de pagini 640. An lansare 2013. Editura Peter. Ediție dublu decupată cu
traducere groaznică. Cartea este dedicată java 1.5.

5. Bruce Eckel - Filosofia Java. Traducere de la a 4-a ediție „engleză”. Anul publicării - 2015.
Editura „Petru”. Număr de pagini - 1165. Cartea este dedicată java 1.5. Așa-zisul complet
ediție. Traducerea nu pare a fi foarte bună.

6. Bruce Eckel - Filosofia Java. Traducere de la a 4-a ediție „engleză”. Anul publicării - 2017.
Numărul de pagini este de 1168. Traducerea este bună. Cartea este dedicată java 1.5.

7. Carte în două volume despre Core Java: Biblioteca Java pentru un profesionist. Kay S. Horstmann, Gary Cornell.
Volumul 1: Bazele. Volumul 2: Instrumente avansate de programare. An de fabricație 2014-2015 (al nouălea
editie, java 1.7). Până la ediția a noua inclusiv, această lucrare în două volume a fost publicată sub autoritatea lui Kay S.
Horstmann și Gary Cornell, apoi a fost publicat doar de Kay S. Horstmann.

8. Aceeași carte în două volume, dar sub paternitatea lui Kay S. Horstmann. Volumul 1: Bazele. Volumul 2: Instrumente avansate
programare. Anul lansării 2017 (ediția a zecea, java 1.8).

Horstmann are și 2 cărți mici (numerotare continuă):

9. Java SE 8. Curs de bază. Titlul original Core Java for the Impatient. Kay S. Horstmann, 464 p., 2016.

10. Java SE 8. Curs introductiv. Java SE 8 pentru cei cu adevărat nerăbdători. Kay S. Horstmann, 208 p., 2014.

Corectează-mă dacă greșesc sau am omis ceva cu privire la cărțile de mai sus. Ce lucruri bune/răi poți spune despre aceste cărți? Ce să citești și ce să nu citești? Ce alte cărți despre Java pot citi (în rusă sau engleză)? Anunțați întreaga listă, vă rog.