-
X-Received: by 10.49.1.43 with SMTP id 11mr92911qej.29.1360943211614; Fri, 15 Feb
2013 07:46:51 -0800 (PST)
X-Received: by 10.49.1.43 with SMTP id 11mr92911qej.29.1360943211614; Fri, 15 Feb
2013 07:46:51 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!kc14no3712467pbb.1!
news-out.google.com!jm3ni9pbb.0!nntp.google.com!kc14no3712463pbb.1!postnews.goo
gle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 15 Feb 2013 07:46:51 -0800 (PST)
In-Reply-To: <1...@g...googlegroups.com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=195.182.34.201;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 195.182.34.201
References: <f...@g...com>
<kf1b5r$cvj$1@somewhere.invalid>
<51152b96$0$1306$65785112@news.neostrada.pl>
<3...@x...googlegroups.com>
<4...@g...com>
<kf61vl$fh0$1@somewhere.invalid>
<c...@g...com>
<kf8mrj$piq$1@somewhere.invalid>
<3...@g...com>
<kf9c7i$61o$1@somewhere.invalid>
<8...@g...com>
<kfbuak$lvs$1@somewhere.invalid>
<0...@g...com>
<kff8f5$nrb$1@somewhere.invalid>
<0...@g...com>
<kfjq4l$aiv$1@somewhere.invalid>
<6...@g...com>
<1...@g...googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c...@g...com>
Subject: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Fri, 15 Feb 2013 15:46:51 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:202062
[ ukryj 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
- 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-11 Wyważanie kół rowerowych
- 2024-11-11 Kosz, gdzie??
- 2024-11-11 Coraz mniej ludzi robi prawo jazdy
- 2024-11-11 Opole => SAP HANA Cloud Dev / Data Engineer <=
- 2024-11-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-11 Lublin => Senior PHP Developer <=
- 2024-11-11 Marki => Senior PHP Symfony Developer <=
- 2024-11-11 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-11 Gliwice => Specjalista ds. public relations <=
- 2024-11-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-11 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-11-11 Warszawa => Sales Development Representative (in German) <=
- 2024-11-11 Marsz niepodległości
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa