-
Data: 2013-02-14 09:18:03
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 13/02/2013 22:25, Maciej Sobczak wrote:
> W dniu środa, 13 lutego 2013 18:55:37 UTC+1 użytkownik Andrzej
> Jarzabek napisał:
>
>> systemów, dla których "prawdziwe" OO ma dobre rozwiązanie. Na
>> dzień dobry - kiepskie wsparcie dla współbieżności i związane z tym
>> wyścigi i problemy z synchronizacją.
>
> To jest argument podobny do "too slow". Nie widzę w jaki sposób OO ma
> mieć szczególne problemy ze współbieżnością. To są zupełnie
> ortogonalne zagadnienia a nawet można się pokusić o stwierdzenie, że
> aktywne obiekty w sposób naturalny realizują współbieżność, więc tym
> bardziej nie widzę tu starcia. Bo to, że można źle napisać
> wielowątkowy program OO, to wiadomo, ale to nie jest cecha ani OO ani
> statycznego systemu typów (w konsekwencji: dynamiczny niczego tu nie
> poprawia).
OO w realizacji takiej jak Java/C++ ma dokładnie takie same problemy ze
współbieżnością co programowanie strukturalne/proceduralne, którego jest
prostym rozwinięciem. Wszystkie te paradygmaty mają problem ze
współbieżnością, który jest związany z dzieleniem stanu, w porównaniu
np. z programowaniem funkcyjnym, gdzie się dzielonego stanu nie używa.
Również "modelowy" OO, chociaż opiera się na dzieleniu stanu, ma
rozwiązanie tego problemu, ale nie ma popularnych implementacji, bo taki
OO jest "too slow".
>> Natomiast w kwestii dynamicznego typowania nie ma takiego
>> konsensusu.
>
> To zależy, kogo zapytasz. Systemów lotniczych w Pythonie nie
> widziałem i zdaje się, że w ogóle nie miałyby szans ze względu na
> wymagania formalne. To jest dla mnie konsensus.
Przecież Python nie nadaje się do systemów czasu rzeczywistego i w ogóle
słabo do systemów embedded (wymaga interpretera i sporego wsparcia
systemu operacyjnego).
> O, przypadkiem dobre słowo - formalne. Metody formalne raczej
> polegają na statyczności systemu typów. Skądinąd mają też związek z
> niezawodnością. To też przyczynia się do tego konsensusu.
Nie znam się na tym prawdę mówiąc. Wiem, że są jakieś metody formalnej
weryfikacji programów w LISPie czy w Prologu (oba dyanmicznie typowane),
ale w praktyce nie wiem jak to wygląda - nie spotkałem się z tym, żeby
ktoś stosował metody formalne w komercyjnym oprogramowaniu.
W skrócie - nie mam nic do powiedzenia w kwestii czego używać do
tworzenia oprogramowania w przypadku, kiedy używa się metod formalnych,
ale czego by się nie używało, nie przyjmę tego za automatyczny dowód na
to, że te same technologie dadzą lepszą niezawodność również w sytuacji,
gdzie metod formalnych się nie używa.
>> Systemów w tych językach powstało i nadal powstaje sporo i nie ma
>> przekonywaujących dowodów empirycznych na to, że mają znacząco
>> większe problemy z niezawodnością niż systemy pisane w C++ czy w
>> Javie.
>
> Kto decyduje, czy dowody są przekonywujące?
Konsensus decyduje. Przekonywujące znaczy przekonują wystarczająco wielu
ludzi, żeby powstał konsensus.
Następne wpisy z tego wątku
- 14.02.13 10:22 Maciej Sobczak
- 14.02.13 11:11 firr kenobi
- 14.02.13 23:57 Andrzej Jarzabek
- 15.02.13 01:08 Andrzej Jarzabek
- 15.02.13 09:20 firr kenobi
- 15.02.13 10:37 Maciej Sobczak
- 15.02.13 10:59 Maciej Sobczak
- 15.02.13 11:20 AK
- 15.02.13 11:52 Andrzej Jarzabek
- 15.02.13 12:20 AK
- 15.02.13 12:29 Andrzej Jarzabek
- 15.02.13 15:34 firr kenobi
- 15.02.13 16:46 Maciej Sobczak
- 15.02.13 19:30 AK
- 16.02.13 11:18 Andrzej Jarzabek
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-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=