-
Data: 2011-08-15 19:46:29
Temat: Re: jaki wybrac jezyk?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Aug 15, 8:11 pm, "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
wrote:
> To nie jest prawda. Jest możliwe, że taki program w C nie tyle wywali się
> nieładnie, co w ogóle się nie wywali - ba, w niektórych okolicznościach
> będzie nawet działał poprawnie. Zdecydowanie wolę, żeby program z marszu
> rzucił wyjątkiem niż żeby działał dalej w niezdefiniowany sposób.
Tak, jest w tym jakaś wartość. Przynajmniej wiadomo, że program nie
brnie "w buraki".
> *W tym
> kontekście* absolutnie zgadzam się ze stwierdzeniem, że w Javie robi się
> mniej błędów.
Otóż nie, to nie przeszkadza w robieniu błędów. Ten mechanizm je co
najwyżej wykrywa. W run-time. Nic nie stoi na przeszkodzie, żeby
wysłać klientowi program z błędem i w tym kontekście uważam, że Java
nie wnosi istotnego postępu w dziedzinie poprawności.
> Poza tym chodzi tu o cały pakiet tego typu wymogów językowych - m.in.
> jawne deklarowanie rzucanych wyjątków,
Jawne deklarowanie wyjątków się nie sprawdziło w praktyce i Javowcy
masowo to pomijają. Nie, nie chodzi o początkujących adeptów, robią
tak również projektanci poważnych frameworków. Po prostu się nie
sprawdziło.
> silniejsza kontrola typów
Np. gdzie?
Bo ja znalazłem taki fajny przykład:
import java.util.TreeSet;
class NonComparable {}
public class Test {
public static void main(String[] args) {
TreeSet<NonComparable> mySet = new TreeSet<NonComparable>();
mySet.add(new NonComparable());
mySet.add(new NonComparable());
}
}
W funkcji main są trzy linijki.
W języku z poważną statyczną kontrolą typów powinien być błąd
kompilacji w pierwszej linii, gdzie tworzony jest bezsensowny typ
zbioru. Tak się stanie np. w Adzie (w równoważnym przykładzie).
W języku z trochę gorszą kontrolą typów poleci błąd kompilacji w
drugiej linii, gdzie dodawany jest element do zbioru. Tak jest w C++.
W języku, który jest niepoważny, błąd poleci dopiero w run-time i
dopiero w trzeciej linii, chociaż ona kompletnie nie różni się od
drugiej. Tak jest w Javie i większości skryptowych.
Sorki, ale dla mnie to lipa.
> i tak
> dalej.
To "i tak dalej" to głównie marketing.
> W dyskusji na temat tego, czy jeden język jest bardziej błędogenny od
> drugiego warto zastanowić się, czy rozmawiamy o teorii, czy o praktyce.
Oj, tak. :-D
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 15.08.11 19:49 Maciej Sobczak
- 15.08.11 21:07 Michoo
- 15.08.11 21:48 R. P.
- 15.08.11 23:07 Andrzej Jarzabek
- 15.08.11 23:26 slawek
- 16.08.11 01:21 A.L.
- 16.08.11 04:32 Maciej Pilichowski
- 16.08.11 06:27 Michal Kleczek
- 16.08.11 06:32 Michal Kleczek
- 16.08.11 07:56 Tomasz Kaczanowski
- 16.08.11 09:51 Wojciech \"Spook\" Sura
- 16.08.11 13:38 A.L.
- 16.08.11 20:27 Maciej Sobczak
- 16.08.11 20:29 Adam Przybyla
- 16.08.11 21:24 m...@t...pl
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają