-
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!news.internetia.pl!not-for-mail
From: Edek <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Co sie tu dzieje?...
Date: Mon, 29 Apr 2013 16:28:27 +0000 (UTC)
Organization: Netia S.A.
Lines: 104
Message-ID: <klm73b$ooe$6@mx1.internetia.pl>
References: <3...@4...com>
<c...@4...com>
<9...@g...com>
<5...@4...com>
<6...@g...com>
<klcnu3$d98$1@somewhere.invalid>
<8...@g...com>
<7...@r...googlegroups.com>
<kle28d$iv$1@mx1.internetia.pl>
<5...@s...googlegroups.com>
<klec7k$iv$2@mx1.internetia.pl> <klf36m$6e0$1@somewhere.invalid>
<klgghb$79t$3@mx1.internetia.pl> <klhl6o$cnr$1@somewhere.invalid>
<klhq1c$ehd$3@mx1.internetia.pl> <kljrr4$fu5$1@somewhere.invalid>
<klk9q7$q9d$1@mx1.internetia.pl>
<6...@a...googlegroups.com>
<kllspv$ooe$2@mx1.internetia.pl>
<b...@o...googlegroups.com>
NNTP-Posting-Host: 159-205-138-229.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1367252907 25358 159.205.138.229 (29 Apr 2013 16:28:27
GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Mon, 29 Apr 2013 16:28:27 +0000 (UTC)
X-Tech-Contact: u...@i...pl
User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.comp.programming:202964
[ ukryj nagłówki ]Dnia Mon, 29 Apr 2013 08:32:16 -0700 po głębokim namyśle Andrzej Jarzabek
rzekł:
> On Apr 29, 2:32 pm, Edek <e...@g...com> wrote:
>> Dnia Mon, 29 Apr 2013 04:29:20 -0700 po głębokim namyśle Andrzej
>> Jarzabek rzekł:
>> Działa ok w c++ dla prostych rzeczy, typu odczytaj dokument z bazki,
>> przetwórz, zapisz, ale mając nie jeden wątek tylko masę i bilioteki w
>> setkach tysięcy linii kodu nawet RAII robi się kłopotliwe gdy dołączona
>> jest reakcja zewnętrznych systemów.
>
> W ramach tego, że w C++ nie masz wbudowanych mechanizmów takich jak
> channel i goroutine, nie jest to bardziej kłopotliwe niż rozwiązanie bez
> wyjątków.
Ano jest: w sytuacji błędu z sąsiedniego systemu nie wystarczy tylko
rzucić wyjątek i wyczyścić stan. Para 'wynik, błąd' jest lepsza.
Ogólnie lepsze moimn zdaniem jest podejście takie, że logger,
monitoring, komunikacja, i cała reszta infrastruktury są dokładnie
takimi samymi modułami jak treść - powiedzmy propagowanie dokumentu
do działów. Na desktopie nie ma znaczenia czy logowanie jest "doklejone",
w rozproszonych już jest inaczej.
[... objawienie istnienia futures i przekazywania wyjątków ...]
[... 'nic to nie zmienia' bez pokrycia i jak to jest w Erlangu... ]
[snip...]
> No więc otóż również uważam, że C jest kiepskim językiem, w którym brak
> sensownych rozwiązań jest przyczyną dużej ilości problemów.
No więc ja uważam, że w Javie programują dwie grupy ludzi: dzieci
Javy lubiące ten język i osoby umiejące używać Javy.
> Ale twój argument dotyczył tego, że defer jest lepsze od sprzątania
> zasobów niż finally. Może i jest, ale to nie jest argument za tym, że
> bez wyjątków lepiej, bo przecież istnieje wiele mechanizmów językowych
> do sprzątania zasobów lepszych niż finally.
Tak, zastrzegałem: tylko mały przykład, fragment całości. Lista jest
dużo dłuższa.
> W Groovy na ten przykład, który ma dokładnie takie same wyjątki jak
> Java, problem zamykania pliku można załatwić w ten sposób:
>
> myFile.withWriter { writer ->
> zapisuj_do_pliku_używając writer
> }
W Javie, C++, C (!), Pythonie też. Różnica polega na ujęciu tego
w języku, w rdzeniu języka. W Go w rdzeniu języka są goroutines.
Nie ma sensu mówić o jednej cesze (?) języka bez uwzględnienia
pozostałych.
[... oczywista oczywistość ...]
> Ale dlaczego monolitycznego? Wątki masz takie, jakie sobie napiszesz.
> Dokładnie tak samo, jak rozumiem, jak goroutines - będzie ich tyle i
> takie duże, jak sobie programista podzieli program. Mylę się?
Trochę inny jest narzut składni nad treścią, inne debugowanie,
inne automatyczne detekcje, itd. itp.
>> To inna architektura,
>> trzeba przekazać informację o błędzie przez channele a nie tylko w górę
>> stosu.
>
> I czym to się różni od programu wielowątkowego w C++?
Z A.L. właśnie sobie to wyjaśnialiśmy. Trochę tak jak pomiędzy
systemem plików a dyskiem 2TB.
> Moja pozycja jest taka: w językach statycznie typowanych generyki w
> takiej czy innej formie są przydatne. Również, a może nawet przede
> wszystkim przy pisaniu złożonych systemów serwerowych, również w
> przypadku, kiedy są one współbieżne czy rozproszone.
Generyki Javy owszem, są przydatne, ale nie mam zamiaru o nich mówić,
bo nie warto. O programowaniu generycznym już mogę.
> W temacie czy Go ma generyki, wyjątki i tak dalej nie mam żadnego
> szczególnego stanowiska - tak czy inaczej raczej używać nie będę. Na
> podstawie tego, co widzę pobieżnie się przyglądając, Go ma wyjątki i
> generyki. Jeśli chcesz mi wyłumaczyć, dlaczego panic/recover nie są
> wyjątkami w takim sensie, jak exceptions z Javy czy C++, albo dlaczego
> interfejsy nie są typami generycznymi w takim sensie, jak w Javowych
> generics, to chętnie przeczytam i ewentualnie podyskutuję. Nie chce ci
> się - też dobrze, możemy w takim razie chyba zakończyć dyskusję na tym,
> że nasza rozbieżność zdań co do przydatności generyków i wyjątków bierze
> się stąd, że inaczej rozumiemy te pojęcia.
No bo o 'generykach Javy' mogę powiedzieć tyle, że są
- niespójne z systemem typów. Matematycy robią listy floatów,
mapy int na boolean, itd., generując kod.
- nie pozwalają pisać kodu zależnego od T
- w zasadzie to syntaktyczny cukier na zbędne classcasty wynikające
z braków w systemie typów Javy, nic więcej
O tym czy są przydatne już mówiliśmy.
--
Edek
Następne wpisy z tego wątku
- 29.04.13 19:07 Edek
- 29.04.13 19:26 M.M.
- 29.04.13 19:47 Adam Przybyla
- 29.04.13 20:01 A.L.
- 29.04.13 20:03 A.L.
- 29.04.13 20:03 A.L.
- 29.04.13 20:05 A.L.
- 29.04.13 20:05 A.L.
- 29.04.13 20:09 A.L.
- 29.04.13 22:32 Andrzej Jarzabek
- 30.04.13 00:00 Andrzej Jarzabek
- 30.04.13 02:54 A.L.
- 30.04.13 08:56 Andrzej Jarzabek
- 30.04.13 11:14 Edek
- 01.05.13 12:42 firr kenobi
Najnowsze wątki z tej grupy
- 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-05 Shrek, wzrośnie cena prądu :-)
- 2025-07-05 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-07-06 Płacić za wodę ze studni
- 2025-07-06 Kolejny inżynier...
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-04 od kiedy można obrażać Plastusia i do kiedy Batyra?
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=