On Fri, Dec 02, 2005 at 12:04:16PM +0100, Ondra Nekola wrote: > >Jeji autor James Gosling vymyslel jenom samotny jazyk a princip platformy > >... > > Nutno podotknout, ze ani pri tom mnoho originality neprokazoval a > spis jenom spojil existujici prvky dohromady. Snad jedina novinka pro > mainstreamovy jazyk byly checkovane vyjimky.
Ona v podstate originalita v tom, jake rysy ma jazyk, snad ani neexistuje - kazda dobre navrzena vlastnost nepochybne z 90% procent navazuje na predchudce, casto na hodne spatne navrzene vlastnosti predchudcu. Jestli se CLU pocita jako mainstream, tak tam se checked exceptions objevily nekdy v sedmdesatych letech - aspon v tom smyslu, ktery bych si jako ustredni vybral ja: vyjimky jsou soucasti kontraktu metody, takze zadne jine nez specifikovane skutecne nesmeji z metody vyletet. (Kontrola je run-time, byl to prece jenom pravek.) Pokud se autori Javy neinspirovali CLU, urcite znali C++. Pro C++ byly specifikace vyjimek vymysleny Powellem, Stroustrupem a Tiemannem na jakesi tabuli nahodou ve firme Sun v roce 1989. Je to obdobne reseni jako v CLU, ale pochopitelne nepovinne (uz kvuli knihovnam v C). Mimo jine kvuli te nepovinnosti to v C++ na rozdil od CLU neni moc pouzitelne. Kdyz se clovek koukne ryze technicky, Java oproti C++ prinesla genialne navic naopak _unchecked_ exceptions, cimz (spolu s uplne novymi knihovnami) otevrela cestu k bezbolestne adopci informativnejsich specifikaci, nezli je (v C++ vlastne vsudypritomne) "throws Throwable". Alespon pro organizacne jednodussi softwarove celky, na nichz se Java puvodne etablovala, na rozdil treba od toho C++ nebo Ady. Jirka
