eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk?Re: jaki wybrac jezyk?
  • Data: 2011-08-15 18:11:52
    Temat: Re: jaki wybrac jezyk?
    Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia 14-08-2011 o 14:23:40 Maciej Sobczak <s...@g...com>
    napisał(a):

    > On Aug 13, 10:56 pm, m...@t...pl wrote:
    >
    >> Nie znam takich języków jak Prolog, Lisp, Python, Perl. Zastanawiam
    >> się czy warto któregoś się pouczyć.
    >
    > Warto. wszystkich, może oprócz Perla.
    >
    >> Kiedyś Java była reklamowana w ten sposób, że pisząc w Javie
    >> popełnia się mniej błędów, że Java ma np. kontrolę zakresów
    >> tablic, itd.
    >
    > To jest akurat bzdurny argument. To, że Java ma kontrolę zakresów
    > tablic kompletnie nie przeszkodzi w zrobieniu błędu polegającego na
    > użyciu złego indeksu. W tej kategorii Java stoi na tym samym poziomie
    > co C, bo do obsługi indeksów ma jednego biednego inta.
    > Natomiast run-time Javy taki błąd wykryje i strzeli wyjątkiem, czyli
    > wywali się ładnie zamiast nieładnie. I to jest właśnie cały postęp:
    > można pisać programy, które się ładnie wywalają.
    > Faktem jest, że wielu ludziom to wystarcza, ale to nie jest ten sam
    > argument.

    To nie jest prawda. Jest możliwe, że taki program w C nie tyle wywali się
    nieładnie, co w ogóle się nie wywali - ba, w niektórych okolicznościach
    będzie nawet działał poprawnie. Zdecydowanie wolę, żeby program z marszu
    rzucił wyjątkiem niż żeby działał dalej w niezdefiniowany sposób. *W tym
    kontekście* absolutnie zgadzam się ze stwierdzeniem, że w Javie robi się
    mniej błędów.

    Poza tym chodzi tu o cały pakiet tego typu wymogów językowych - m.in.
    jawne deklarowanie rzucanych wyjątków, silniejsza kontrola typów i tak
    dalej.

    W dyskusji na temat tego, czy jeden język jest bardziej błędogenny od
    drugiego warto zastanowić się, czy rozmawiamy o teorii, czy o praktyce. W
    teorii jawne deklarowanie rzucanych wyjątków nie powstrzyma mnie przed
    zadeklarowaniem, że klasa rzuca Exception i olaniem całej kwestii. W
    praktyce czasami może zdarzyć się, że kompilator zgłosi mi, że nie
    obsłużyłem jakiegoś wyjątku, o którym po prostu zapomniałem - i już mam
    jedną ryzykowną sytuację z głowy.

    Ponadto kwestia błędogenności języka jest mocno subiektywna. Jeśli ktoś
    łapanie wyjątków ma głęboko gdzieś, to nie ma żadnego znaczenia, czy pisze
    w C++, w C# czy w Javie, bo w każdym z nich ma możliwość zignorowania
    rzuconego wyjątku.

    Pozdrawiam -- Spook.

    --
    ! ._______. Warning: Lucida Console sig! //) !
    ! || spk || www.spook.freshsite.pl / _ """*!
    ! ||_____|| spook at op.pl / ' | ""!
    ! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
    ! |_|[]_|_| May the SOURCE be with you! \/) \ !

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: