Přičemž k těm nejjednodušším programovým konstrukcím patří třeba to, že každá funkce dělá právě jednu činnost, a to tu, která je zdokumentovaná. Takže například metoda setVisible(boolean) nastavuje viditelnost objektu, a nesnaží se uhodnou, jestli si programátor náhodou neplete viditelnost s existencí.
Existují programovací jazyky, které se jednoduchosti použití snaží docílit tím, že před programátorem spoustu věcí skrývají a snaží se je nějak vyřešit za něj, ale Java je přesný opak takových jazyků. Java je assembler nad JVM a její jednoduchost spočívá v tom, že stojí na několika základních jednoduchých principech. To ale nemá nic společného s tím, že by se překladač nebo běhové prostředí nějak pokoušely uhodnout, co programátor chtěl – právě naopak. Nenechte se mást tím, že má Java GC, který něco dělá zdánlivě automaticky a bez dohledu uživatele. Za prvé jsou pravidla pro programování s tímto typem GC možná jednodušší, než pravidla pro programování s explicitní alokací paměti, za druhé ta automatika není mezi uživatelským programem a JVM, ale mezi JVM a systémem. Je to asi na stejné úrovni, jako je pro nativní programy přerovnávání instrukcí procesorem – tedy daleko za hranicí toho, co běžně potřebujete. Pro běžné případy ale úplně stačí vědět, že dokud existují na objekt tvrdé odkazy, je objekt dostupný a zabírá místo v paměti. Jinak je myslím zbytečné dál toto téma rozebírat, buďte rád, že jste se něco o správě odkazů v Javě dozvěděl už teď při takovéhle jednoduché záležitosti – třeba při vícevláknovém programování je někdy potřeba vědět o vzniku a zániku referencí mnohem podrobněji, protože můžete třeba snadno pracovat s objektem, který ještě nebyl zcela vytvořen. Filip Jirsák Lepsi kdyz to studuje expert, nez amater. Nakonec expert by to mozna > napsal lepe v C++. Proto je Java tak oblibena, ze se v ni chyb da > delat mene a jsou snadneji odhalitelne. > > Situace je jina, pokud mate aplikaci, kterou od zacatku do konce > vyvijite sam nebo aspon nad vyvojem mate dohled. V beznem zivote ale > na vas spadne existujici aplikace (nebo lepe nekolik aplikaci), na > ktere se behem radu let vystridala rada lidi s ruznym stupnem znalosti > Javy, Swingu (a pripadne hafo dalsich knihoven). Pak jste vdecny za co > nejjednodussi programove konstrukce, ve kterych nelze udelat chyba.