-
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! \/) \ !
Następne wpisy z tego wątku
- 15.08.11 18:22 A.L.
- 15.08.11 18:24 A.L.
- 15.08.11 18:59 R. P.
- 15.08.11 19:37 slawek
- 15.08.11 19:39 A.L.
- 15.08.11 19:46 Maciej Sobczak
- 15.08.11 19:49 Maciej Sobczak
- 15.08.11 21:07 Michoo
- 15.08.11 21:48 R. P.
- 15.08.11 23:07 Andrzej Jarzabek
- 15.08.11 23:26 slawek
- 16.08.11 01:21 A.L.
- 16.08.11 04:32 Maciej Pilichowski
- 16.08.11 06:27 Michal Kleczek
- 16.08.11 06:32 Michal Kleczek
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-03 Warszawa => OpenText ECM Specialist <=
- 2024-10-03 Blokowanie informacji - test
- 2024-10-02 Warszawa => Fullstack Developer <=
- 2024-10-02 Katowice => QA Engineer <=
- 2024-10-02 Gdynia => Data Scientist <=
- 2024-10-02 Warszawa => Sales Development Representative (in German) <=
- 2024-10-02 Warszawa => SAP HANA Developer (Middle) <=
- 2024-10-02 Warszawa => SAP S/4HANA FI/CO Senior Consultant <=
- 2024-10-02 Warszawa => Senior SAP HANA Developers <=
- 2024-10-02 Warszawa => Senior PHP Laravel Developer (e-commerce) <=
- 2024-10-02 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-10-02 Warszawa => Software .Net Developer <=
- 2024-10-02 Warszawa => Programista Full Stack .Net <=
- 2024-10-01 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-10-02 GODZINA ZERO #48 - KRZYSZTOF STANOWSKI I ZBIGNIEW KAPIŃSKI PREZES IZBY KARNEJ SĄDU NAJWYŻSZEGO