-
Data: 2013-02-15 16:46:51
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 piątek, 15 lutego 2013 12:29:02 UTC+1 użytkownik Andrzej Jarzabek napisał:
> Nadal będziesz miał ten sam problem - jeśli twoja baza danych
> przechowuje skompilowane jednostki (instantiation units w terminologii
> standardu) pochodzące z różnych translacji z różnymi źródłowymi
> definicjami typów danych, to nie ma żadnej gwarancji zadziałania.
Nie ma, bo standard jest niedospecyfikownany. Napisałem już: nie musi tak być i np. w
Adzie nie jest.
Natomiast nie rozumiem, co to daje w dyskusji o językach dynamicznych. One tym
bardziej nie działają, bo w ogóle nie mają mechanizmów zapewniania spójności. C++
chociaż próbuje takie mechanizmy mieć i nawet całkiem dobrze można się nimi
posługiwać. Ada próbuje lepiej i można się lepiej posługiwać. Języki dynamiczne w
ogóle nie próbują - i to jest ich ficzer?
> Badziewnośc realnie dostępnych narzędzi to bardzo dobry powód, żeby w
> praktyce wybrać inny język, który ma mniej badziewne narzędzia.
Np. Ada?
Bo język, który planowo w ogóle nie ma takich narzędzi, nie liczy się w kategorii "ma
mniej badziewne narzędzia".
> Na
> Adzie się nie znam, ale czy nie jest przypadkiem tak, że do wielu
> aplikacji biznesowych byłaby słabym wyborem ze względu na brak
> bibliotek i narzędzi właśnie?
Ja znam ludzi, którzy tego używają w systemach bankowych, więc może nie jest tak źle.
> Ale jeśli przez to, że wybiorę inny język może nie być zepsute, to po
> co w ogóle mam naprawiać?
Co nie jest zepsute? ClassDefNotFound i NoSuchFunction nie są zepsute?
> > I bardzo dobrze. To jest zaleta statycznego systemu.
>
> Że się program wywali?
Że się nie skompiluje przy normalnym wykorzystaniu.
> > Jeżeli dynamiczne techniki nie działają a statyczne działają, to jaki z tego
> > wniosek w kontekście tytułu tego wątku?
>
> Skoro programy komputerowe często nie działają, to może zamiast
> komputerów lepiej używać znacznie bardziej niezawodnych pięściaków?
Możesz tak zrobić. Ja natomiast spróbuję wybrać taki język, który działa lepiej, niż
gorzej.
> Akurat rozmawiamy o tym, czy Java jest językiem statycznie czy
> dynamicznie typowanym. Umówmy sie może w takim razie, że konstrukcja
> pozwalająca na niebezpieczne rzutowania nie dyskwalifikuje języka z
> bycia statycznie typowanym.
Dobrze, umówmy się tak.
1. Pytanie było o wybór między językami statycznymi a dynamicznymi.
2. Zauważyłeś, że jak się używa dynamicznych ficzerów, to program może nie działać.
Mój wniosek z tej dyskusji (jak też przed nią) jest taki, że im mniej dynamicznych
elementów w programie, tym łatwiej o poprawny program.
> > Tak. Jeżeli dynamiczne ficzery prowadzą do programów, które nie działają,
> > to est to argument przeciwko dynamicznym ficzerom.
>
> Każdy język, który jest Turing-complete ma dynamiczne ficzery, które
> nie działają.
Więc ich nie używajmy.
Ja napisałem parę programów bez używania tych ficzerów.
Czy może chcesz napisać, że im bardziej jakiś języki jest dynamiczny, tym bardziej
jest "Turing-complete"? Coś jakby synonim na "cool" dla geeków?
> > UB. Język wyraźnie mówi, że nie wolno tego static cast zrobić.
> > Kompilator nie nadąża, więc może język jest za mało statyczny?
>
> Jak napisałem, chodziło o sytuację, kiedy B dziedziczy po A.
A ja nadal będę pisał, że to jest UB i standard to wyraźnie określa. Nie wolno
takiego rzutu zrobić, nawet jeśli język nie określa tego jako błąd statyczny. Coś jak
dzielenie przez 0.
I wniosek mam konsekwentny: weźmy język, który będzie jeszcze bardziej statyczny. Bo
język, który będzie jeszcze bardziej dynamiczny sprawi nam jeszcze więcej problemów.
W tym momencie muszę przeprosić: wyjeżdżam na parę dni i nie będę miał dostępu do
sieci. Nie będę mógł więc kontynuować tej dyskusji, chociaż jestem pewny, że ona
powróci, bo na tej grupie jest zjawiskiem powtarzalnym.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 15.02.13 19:30 AK
- 16.02.13 11:18 Andrzej Jarzabek
- 16.02.13 13:22 Edek Pienkowski
- 17.02.13 17:56 R.e.m.e.K
- 17.02.13 19:06 Michal Kleczek
- 17.02.13 22:00 Piotr Chamera
- 19.02.13 09:39 Michal Kleczek
- 19.02.13 10:44 AK
- 19.02.13 11:06 Michal Kleczek
- 19.02.13 14:32 Piotr Chamera
- 19.02.13 16:08 Michal Kleczek
- 19.02.13 17:16 AK
- 21.02.13 09:18 Andrzej Jarzabek
- 21.02.13 09:34 AK
- 22.02.13 00:11 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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??
Najnowsze wątki
- 2025-02-14 Warszawa => International Freight Forwarder <=
- 2025-02-14 Olsztyn => Sales Specialist <=
- 2025-02-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-14 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-02-14 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-02-14 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-02-14 Ściemniacze na parkingach
- 2025-02-13 kilka pytań o klimę
- 2025-02-13 genialny pomysł
- 2025-02-12 diesel z otwartą komorą
- 2025-02-14 60 mA dużo czy spoko?
- 2025-02-13 Jaka moc wi-fi ?
- 2025-02-12 Drabina rozsuwana
- 2025-02-13 Dęblin => Node.js / Fullstack Developer <=