</blah>
... vse jde napsat treba i ve strojaku potazmo v assembleru (napr. os menuetos) nebo i v java ... ale pravdou zustava ze kdyz se programuje velky informacni system tak java je urcite vyhodou ... ne proto ze by programy v jave napsane byly nejake lepsi (to zalezi jen na navrhu a implementaci), ale ten kod je snaze udrzovatelny (muj subj. nazor.) ... proste nemusite hlidat jestli nahodou nekdo nepretizil operator "+", jestli se dobre uvolnila pamet po vystupu z bloku, jestli ... neznamena to sice ze by jsme to cele nemohli udelat treba v pascalu ...
a mela by byt java a/nebo mono v distribucich linuxu? ... to zalezi na distributorech ... ale osobne preferuji aplikace ktere nejsou zavisle na mono ... asi jen zvyk?
</blah>
C++ kod je podla mna tiez dost dobre udrzovatelny. Vsetko to stoji samozrejme na kvalite pociatocneho navrhu. Ale chybny objektovy navrh mozte spravit aj v jave:)
Skuseni programatori nemaju zvycajne problemy s memory leaks. Je to pre nich prakticky rutina. Ak sa nejaky predsa len najde, tak je to otazkou maximalne par hodin, kedy sa problem lokalizuje a odstrani. U nas sa operatory + len tak benevolentne nepretazuju. To je prave vec, ktora zaciatocnikov laka na vsetko si porobit kadejake operatory. Prakticky to ale nema zmysel, iba to v konecnom dosledku zneprehladnuje kod.
..jo a pracujem na projekte ktory ma viac ako 100 riadkov :)
Mozno sa toho v C/C++ uz vela zmenilo ale mne najviac vadili kniznice. Java ma dnes prakticky uz v standarde baliky prakticky na vsetko. Pluginovacie systemy napr. na encryption znamenaju ze moj kod je nezavisly od implementacie konkretnych algoritmov. Samozrejme vela je odpozorovane s CORBA a C++ ale je to urobene dobre.
V C/C++ stale kazda kniznica pozaduje iny sposob uvolnovania pamate naalokovanych zdrojov a podobne. A pisat si vzdy vsetko znovu nie je cesta. Naviac mnohe kniznice multiplatformove nie su.
Vo vela veciach mate pravdu a verim vam, ze su kniznice v jave dobre. Ja som ale reagoval na nieco trosku ine. Mam bohate skusenosti s multiplatformovym vyvojom a to co popisujete je najskor problem tych kniznic a nie C++ vo vseobecnosti. To su predsa dve uplne odlisne veci - jazyk a nejaka kniznica v nom pouzitelna.
Ked uz od veci, tak si zoberte taky pripad PHP, kde sa tieto dve veci zaciatocnikom prakticky prekryvaju. Potom sa nestacim cudovat ake bastle obcas vidim, pretoze takito programatori zvycajne povazuju nacitanie suboru za "nejaku instrukciu" a tomu aj zodpoveda pocet iteracii :)
Jenže použitelnost jazyka stojí a padá s kvalitou STANDARDNÍCH knihoven. Standardní knihovny (či spíše jejich specifikace) jsou de facto součástí jazyka. Nejde o "nějaké" knihovny napsané Frantou od vedle. Mám C++ hrozně rád, ale tady má jedno velké mínus. Standardizace knihoven pro C++ skončila někde na úrovni STL. Je velká ostuda, že pro práci s časem musíte v C++ volat Céčkové funkce, neexistuje standardní třída pro reprezentaci času. A takových věcí je spousta. Standardizace C++ je velice konzervativní a zkostnatělý proces. Přitom inspirací je spousta, třeba vynikající projekt Boost.
Tady má Java obrovský náskok - existují specifikace a implementace standardních knihoven pro prácí snad úplně se vším, nebo se alespoň připravují do dalších verzí.