🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15025

Re: Wyj?tki w konstruktorze

#15025
From: Aleksander Galicki
Date: Thu, 31 Aug 2006 00:04
146 lines
7558 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> Witam
> 
> Aleksander Galicki wrote:
> 
> >> > No chyba nie powiesz ze ANSI C wprowadzil do uzycia enumy?
> >> 
> >> A gdzie były pierwsze. Znam je z C, który znam od 1989. Jeśli coś miało
> >> enumy wcześniej to mi powiedz, chętnie się czegoś dowiem. A napewno nie była
> >> to oryginalna konstrukcja C++.
> > 
> > No, np w Pascalu w 1970 roku. Typy algebraiczne w jezykach funkcyjnych tez
> > istnialy od dawna.
> 
> Tak, tylko że to w C się nazywają enum. Zreszta wszyscy wiedzą, że java
> powstaja jako "bardziej user friendly C/C++"

Nie.

>. Nota bene C powstał na przełomie 1969-73, więc jakoś równolegle do
> Pascala.

Andrzej Lewandowski juz napisal, ze to C bylo reakcja na Pascal, nie odwrotnie.

> >> Hehe, w szczególności notacja jest rżnięta. A może pomysł nie jest C++ owy,
> >> aby tworzyć klasy parametryzowane typami.
> > 
> > To sie nazywa parametric types i na pewno nie jest to pomysl c++. Istnialo to
> > w Eiffel, Ada, jezykach funkcyjnych i pewnie gdzies jeszcze.
> 
> Eifel powstał 1985, ciekawe czy od początku miał typy parametryzowane.

Mial parametryczne typy od poczatku.

> I
> ciekawe czy jest możliwe metaprogramowanie za ich pomocą.

Nie. Makrogeneracja jest bowiem pojeciem ortogonalnym to typow parametrycznych.

> > Zachowujesz sie jak typowy c++'owy zealot - "wszystko co dobre pochodzi od
> > c++". Ci to nawet sadza, ze GC zostal w C++ wymyslony.
> 
> Nie. Nie wszystko, ale Java tak jest.

Ponownie - nieuzasadniona megalomania. Java wywodzi sie ze Smalltalka, a
jeszcze bardziej z Objective-C. Rowniez te wszystkie C-like kawalki skladni
wywodza sie z Objective-C, nie z C++.

> Ich własna inwencja to jest początkowy
> porządek w drzewie klas, bo dziś w J2EE, jest burdel, klasy są popisane doś
> kiepsko, w szczególności, są one bardzo ciężkie i jest trochę kodu
> redundantnego.

Ziew. Pisz o tym, na czym sie znasz. To, ze piszesz o czyms, o czym nie masz
wystarczajacego pojecia jest zbyt oczywiste. Mozesz mi uwierzyc. Zeby pisac o
tym co jest nie tak z J2EE, trzeba w tym J2EE popracowac. Zawodowo i przez
pare lat. Dlaczego? Dlatego, ze starasz sie do tezy "cos musi byc z J2EE nie
tak" dopasowac swoje z J2EE doswiadczenie, a poniewaz owe doswiadczenie
ograniczaja sie do przejrzenia blizej niokreslonego "drzewka klas" to i
argumenty wychodza takie jak "są one bardzo ciężkie i jest trochę kodu
redundantnego". Pomoge Ci - JSR 277. Tam zobaczysz jedna z rzecz, ktora jest
niezwykle wazna dla Javy i dla J(2)EE, a jest bardzo zle w tej chwili rozwiazana.

> Jest wiele rzeczy, które w C++ są ściągnięte z języków
> funkcyjnych. Co mi się podoba. W C++ obiektowość jest zapożyczona ze
> Smalltalka.

Jednego z tych jezykow (C++, Smalltalk) musiales na zywe oczy nie widziec.

> Tylko, że to nikt się nie wstydzi, a światek Javistów jest taki
> pyszny, że niechce się przyznać, że wziął całkiem sporo rzeczy z C++ włączając
> składnię, którą C++ wziął z C.

To nie zadna pysznosc, to megalomania i ignorancja tych ktorzy twierdza, ze
Java cos tam od C++ wziela. Java ma korzenie w Objective-C i Smalltalku.
Konkretnie te C-like klamerki i typy prymitywne pochodza z Objective-C, nie z C++.

> 
> >> A realizacja
> >> jest wykonana na imarę Javy, czyli odeszli od typizacji statycznej na rzecz
> >> dynamicznej i dlatego ich funkcjonalność jest inna.
> > 
> > Pomerdala Ci sie typizacja z implementacja generic class jedna zwyczajna
> > klasa.
> 
> Tego zdania nie rozumiem. Wiesz jakbyś nie wiedział to napisałem kilka
> programików pisząc w nich klasy generyczne od zera, więc coś o tym wiem.
> Był już na grupie z Javy taki jeden, który pisał, że nie znam Javy i nie mam
> się co wypowiadać, poczym jak mu przykładowy kod pokazałem, to trochę zmienił
> zdanie - nie mówię, że jestem expertem, ale proszę mi nie imputować, że nie
> znam Javy, bo mam na swoim koncie kilka małych projekcików.

A ja w poprzednim tygodniu widzialem goscia (na job interview) z 15 lat
experience, ktory na pytanie "czy wie pan cos o MVC" skrzywil sie i powiedzial
 "tak, ale swojego czasu zaimplementowalem lepszy". Ja nie musze ogladac
zadnego kodu, zeby widziec, kiedy piszesz od rzeczy. 
Nieco upraszczajac sprawe: na jezyk jak i na technologie sklada sie trzy
rzeczy - skladnia, semantyka i pragmatyka. I to pragmatyka sie liczy
najbardziej. Niestety aby krytykowac pragmatyke, najczesciej nie wystarczy
pobieznie spojrzec na skladnie. To nie jest tak, ze nie ma co w Javie
krytykowac - wrecz przeciwnie - jest tego w cholere, ale zeby cos z sensem
krytykowac najczescie trzeba samemu tego bolesnie doswiadczyc. 


> 
> > Dziadzowski design - mowisz wiec o C++? :-) 
> 
> Zastanów się jaki design jest w Javie. co to jest niby dobry design?
> 
> Popatrz się na klasy *Holder i *Helper.
> 
> Czy nie lepiej było to napisac tak:
> Holder < T >
> Helper < T >

?? Ale o jakie klasy chodzi?

> A może chodzi o zgodność w dół? Czyli za kilka lat Jva 9.0 będzie ośmiornicą,
> która bazuje na Javie 1.4 i ma doszytą funkcjonalność na miarę możliwości javy
> 9.0?
> 
> Jest ich masa. Nie w Javie jest BooleanHelper i BooleanHelper i potem to samo
> dla Byte itd. 

Jaki BooleanHelper? O czym Ty piszesz?

> Jest jeszcze masa innych takich kwiatków. 

Wyimaginowanych, znaczy sie, kwiatkow? Ja nie moge patrzyc jak sie meczysz: i
chcesz cos skrytykowac i nie wiesz co... Pomoge Ci znalezc jedna okropna klase
w Javie - java.util.Calendar. Ta klasa - a takze kilka innych koszmarkow -
wyladowala w Javie za sprawa najwiekszego specjalisty od koszmarkow - IBM. 

> > Trudno o lepszy przyklad 
> > dziadowskiego designu. No, moze WS-* ostatnio staje sie niezla konkurencja.
> 
> Hehe. Zastanów się co mówisz zanim coś powiesz, bo chyba PHP nie znasz.

Znam. PHP nie pasuje, bo PHP nie wykazuje zadnych objawow designu.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Technical Details
Message-ID: <ed591i$a5i$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> <eci6qt$h30$1@inews.gazeta.pl> <ch3qe25s17dild5v1m7ei4c43b0n2tka4e@4ax.com> <ecm9eg$g71$4@kujawiak.man.lodz.pl> <a1l0f215rtj4kj6o35sora0fd2bl0qn0k9@4ax.com> <87lkpbs6yq.fsf@hector.domek> <ecs10b$795$1@srv.cyf-kr.edu.pl> <i0b3f25nvj9fr6ats7kjvntr20g3gsruiu@4ax.com> <ecsal7$vje$2@tkdami.pl> <lic3f2thihtcitu6eavf9p8q485e6n4aeg@4ax.com> <ecsg43$c0h$1@tkdami.pl> <ecsoqp$l6f$1@inews.gazeta.pl> <ect3d4$jg4$1@tkdami.pl> <ectapn$mcg$1@inews.gazeta.pl> <ecuen4$cra$1@tkdami.pl> <ecvh3d$24i$1@inews.gazeta.pl> <ed3lkl$ob0$1@tkdami.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Aleksander Galicki" <tretete.WYTNIJ@gazeta.pl>
Newsgroups: pl.comp.objects
Subject: Re: Wyj?tki w konstruktorze
Date: Thu, 31 Aug 2006 00:04:03 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 146
Message-ID: <ed591i$a5i$1@inews.gazeta.pl>
References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> <eci6qt$h30$1@inews.gazeta.pl> <ch3qe25s17dild5v1m7ei4c43b0n2tka4e@4ax.com> <ecm9eg$g71$4@kujawiak.man.lodz.pl> <a1l0f215rtj4kj6o35sora0fd2bl0qn0k9@4ax.com> <87lkpbs6yq.fsf@hector.domek> <ecs10b$795$1@srv.cyf-kr.edu.pl> <i0b3f25nvj9fr6ats7kjvntr20g3gsruiu@4ax.com> <ecsal7$vje$2@tkdami.pl> <lic3f2thihtcitu6eavf9p8q485e6n4aeg@4ax.com> <ecsg43$c0h$1@tkdami.pl> <ecsoqp$l6f$1@inews.gazeta.pl> <ect3d4$jg4$1@tkdami.pl> <ectapn$mcg$1@inews.gazeta.pl> <ecuen4$cra$1@tkdami.pl> <ecvh3d$24i$1@inews.gazeta.pl> <ed3lkl$ob0$1@tkdami.pl>
NNTP-Posting-Host: 203.109.151.60
X-Trace: inews.gazeta.pl 1156982643 10418 172.20.26.240 (31 Aug 2006 00:04:03 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Thu, 31 Aug 2006 00:04:03 +0000 (UTC)
X-User: tretete
X-Forwarded-For: 172.20.6.165
X-Remote-IP: 203.109.151.60
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit