-
Data: 2013-01-28 11:19:36
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu niedziela, 27 stycznia 2013 22:28:51 UTC+1 użytkownik Wojciech Muła napisał:
> Ahoj, przeglądam sobie czasem changelogi postgresa, gcc
> i innych dużych programów i mam nieodparte wrażenie, że
> spory odsetek błędów nigdy by nie powstał, gdyby program
> był pisany w języku z silnym systemem typów (czyli nie
> C/C++).
A może wystarczy skorzystać z silnego systemu typów w C/C++?
> Czy znacie publikacje
> analizujące zależność defektów programów od języka?
Tak. Ale to nie jest tylko sprawa systemu typów. Ogólnie - im bardziej statyczna jest
kultura jakiegoś języka, tym mniej błędów można w nim popełnić. A konkretniej -
popełnić można tyle same, ale zostaną wcześniej wykryte. System typów to tylko część
- np. system typów zagwarantuje, że w danym miejscu można użyć obiektu tylko
konkretnego typu, ale nie zagwarantuje, że ten obiekt będzie miał stan właściwy w
momencie użycia. Bez tego zapewnienia najlepsze co może zrobić język to zamienić
zachowania niezdefiniowane na zdefiniowane wyjątki - i to jest jedyny "sukces" Javy w
tej dziedzinie. Piszę "sukces", bo z punktu widzenia poprawności nie jest to żaden
postęp.
Tak, wybór języka ma wpływ na ilość bugów, które znajdą się w końcowym produkcie.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 28.01.13 11:28 M.M.
- 28.01.13 13:08 Michoo
- 28.01.13 18:45 darekm
- 29.01.13 02:59 Roman W
- 29.01.13 09:44 Maciej Sobczak
- 29.01.13 10:38 M.M.
- 29.01.13 19:41 Andrzej Jarzabek
- 29.01.13 19:42 Andrzej Jarzabek
- 30.01.13 10:12 Maciej Sobczak
- 30.01.13 19:58 Andrzej Jarzabek
- 31.01.13 00:14 M.M.
- 31.01.13 10:14 Maciej Sobczak
- 31.01.13 21:29 Marek Borowski
- 01.02.13 09:47 Maciej Sobczak
- 01.02.13 11:50 M.M.
Najnowsze wątki z tej grupy
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=