-
Data: 2013-02-16 11:18:13
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 15/02/2013 15:46, Maciej Sobczak wrote:
> W dniu piątek, 15 lutego 2013 12:29:02 UTC+1 użytkownik Andrzej
> Jarzabek napisał:
>
>> 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.
Nie mam pojęcia jak jest naprawdę, ale niekoniecznie z tego, że takich
znasz, coś wynika. Może po prostu użytkownicy Ady są nadreprezentowani
wśród twoich znajomych? Ja mam jakiś przekrój czego sie używa w
instytucjach finansowych i firmach produkujących oprogramowanie dla
nich i wiem, czego się mniej więcej używa. Java, C++, C#, Python, Tcl,
nawet spotkałem się z F# i Fortranem, ale z Adą nigdy. Oczywiście nie
wykluczam, że gdzieśtam jakiś system napisany w Adzie jest, ale to też
nie wyklucza możliwości, że mimo wszystkich swoich zalet Ada jest złym
wyborem dla 99.99% zastosowań, gorszym np. od Pythona.
>> 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?
Nie jest zepsuty system który w takiej sytuacji po prostu działa tak,
jak powinien, mimo że jeden z jego komponentów został wymieniony bez
zmieniania pozostałych.
>>> I bardzo dobrze. To jest zaleta statycznego systemu.
>> Że się program wywali?
>
> Że się nie skompiluje przy normalnym wykorzystaniu.
Z mojej praktyki z C++ wynika, że korzystanie z bibliotek, które były
kompilowane oddzielnie od głównego programu, w tym dynamiczne
linkowanie, jest czymś całkowicie normalnym.
>>> 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.
No ale pięściak działa jeszcze lepiej.
>> 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.
Program napisany w języku dynamicznym w takiej samej sytuacji może działać.
>>> 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.
A ja napisałem program "Hello World", który działał. Tylko że nie radzę
nikomu, żeby zamiast pisać swoje programy, które czasem nie działają,
pisali Hello World, który zadziała na pewno.
> 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?
Powinieneś wiedzieć, że Turing-complete się nie stopniuje.
>>> 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.
Ale nie da się tego statycznie sprawdzić.
> Nie wolno takiego rzutu zrobić, nawet jeśli język nie określa tego
> jako błąd statyczny. Coś jak dzielenie przez 0.
No i luzik, przecież języki dynamiczne też mają różne sytuacje, gdzie
specyfikacja mówi, że operacja nie zadziała i np. rzuci wyjątkiem.
> 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.
Lepiej wziąć język, w którym co prawda jakichś tam błędów unikniesz, ale
programu robiącego to, co ma robić też nie napiszesz?
> 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.
Życzę miłego wyjazdu w takim razie, na pewno wątek będzie dalej wisiał
na serwerze jak wrócisz :)
Następne wpisy z tego wątku
- 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
- 22.02.13 11:07 Michal Kleczek
- 24.02.13 22:57 Maciej Sobczak
Najnowsze wątki z tej grupy
- 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??
- 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
Najnowsze wątki
- 2024-11-24 Czy Sejm RP zahamuje proceder zabijania dla organów?
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=