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

Odpovedet emailem