eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk? › Re: jaki wybrac jezyk?
  • Data: 2011-08-17 13:12:23
    Temat: Re: jaki wybrac jezyk?
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2011-08-17, Michal Kleczek <k...@p...onet.pl> wrote:
    > On 2011-08-17 14:12, Stachu 'Dozzie' K. wrote:
    >>>>
    >>>> Przepraszam, ale w poważnym języku o statycznym systemie typów taka
    >>>> głupota zostanie wykryta na etapie kompilacji.
    >>>
    >>> Zostaje wykryta - ja dostaje warning w 1 i 2 linijce main()
    >>
    >> Wykryte są jedynie niesprawdzone operacje rzutowania. To zdecydowanie za
    >> mało. Jest istotna różnica między dodaniem Integera i Stringa do
    >> kontenera Integerów: pierwsze powinno się powieść, drugie powinno
    >> wylecieć w powietrze, choćby w czasie wykonania programu przy operacji
    >> dodania elementu.
    >>
    >
    > W koncu nie wiem, czy chcesz miec kontrole statyczna, czy dynamiczna.

    Chcę statyczną, ale jak się nie da (bo Java jest typowana statycznie ale
    dynamicznie), to niech będzie *jakakolwiek*. A nie żeby mnie zaskakiwało
    że mimo wszystko do ArrayList<Integer> da się dodać Stringa.

    > Jesli chodzi o statyczna - to jest.

    No właśnie niespecjalnie.

    >>>> Java jest ewenementem, bo
    >>>> to język o typowaniu statycznym ale dynamicznym.
    >>>>
    >>>
    >>> Tzn chodzi ci o to, ze informacja o typie jest dostepna w runtime?
    >>
    >> Nie. Chodzi o to, że *mimo że* informacja o typie jest dostępna w czasie
    >> kompilacji, to sprawdzanie typu zostaje w większości (w kontenerach)
    >> zrzucone na run-time.
    >>
    >
    > Nie rozumiem. W ogolnosci po wprowadzeniu generykow nie ma potrzeby
    > _explicite_ sprawdzac typu w runtime (czyli nie ma potrzeby robienia
    > rzutowania explicite). Niczym to sie nie rozni od dowolnego innego
    > jezyka bez RTTI.

    Trochę się różni. Miałeś przykład. Typowanie statyczne albo jest, albo
    go nie ma. W Javie jest taka podpierdółka, więc liczy się że nie ma.

    > TreeMap (TreeSet) jest wyjatkiem, bo jej wymagania co do kluczy
    > (elementow) sa takie, ze albo jest dostarczony Comparator, albo typ
    > elementu jest podtypem Comparable. To znowu wynika z tego, ze te klasy
    > powstaly przed wprowadzeniem generykow.

    Nieprawda. To wynika z tego, że generyki są słabą podróbką systemu
    szablonów, która bazuje na cukrze składniowym.

    --
    Secunia non olet.
    Stanislaw Klekot

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: