🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14996

Re: Wyj?tki w konstruktorze

#14996
From: Seweryn Habdank-Wojewódzki
Date: Wed, 30 Aug 2006 09:31
98 lines
5671 bytes
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++", a nie eiffel, czy haske, czy
pascal. Nota bene C powstał na przełomie 1969-73, więc jakoś równolegle do
Pascala.
 
>> 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. I
ciekawe czy jest możliwe metaprogramowanie za ich pomocą.

> 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. 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. 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. 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.

>> 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.

> No a gdybys znal jakies inne jezyki poza C++ i podstawami Javy, tobys mial
> inne zdanie.

Znam podstawy kilku języków i kilka znam średnio. Więc to zanie jest fałszywe.

> Programowac to sobie mozna nawet na jednotasmowej maszynie Turinga, albo w
> Brainf***. Ja temu nie przecze, ja sie tylko smieje, ze ktos moze sie
> zakochac w tak zaprojektowanej osmiornicy.

Nie wiem czy jestem zakochany, ale są rzeczy które lepiej się pisze w C++ niż w
Javie. Lepiej dla mnie to znaczy że program jest szybszy, co wcale nie oznacza
że pisanie jest szybsze czy, że kod jest tańszy. Ale w cale nie jest
powiedziane co tansze to lepsze.

> 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 >

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. Jest jeszcze masa innych takich kwiatków. Tylko, że abyy je
zobaczyć, trzeba spojrzeć krytycznie na język programowania. Zresztą kiedyś
przez rok pisem dla jednej firmy tylko w Javie więc coś wiem, może nie za
dużo, ale coś wiem.

> 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.
 
Pozdrawiam.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Technical Details
Message-ID: <ed3lkl$ob0$1@tkdami.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news2.isp.telenergo.pl!news.tcz.vectranet.pl!news.tcz.vectranet.pl!news.vectranet.pl!news.tkdami.net!news.tkdami.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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news2.isp.telenergo.pl!news.tcz.vectranet.pl!news.tcz.vectranet.pl!news.vectranet.pl!news.tkdami.net!news.tkdami.pl!not-for-mail
From: Seweryn Habdank-Wojewódzki <habdank@gmail.com>
Newsgroups: pl.comp.objects
Subject: Re: Wyj?tki w konstruktorze
Date: Wed, 30 Aug 2006 11:31:24 +0200
Organization: VectraNet Oswiecim
Lines: 99
Message-ID: <ed3lkl$ob0$1@tkdami.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>
Reply-To: habdank@gmail.com
NNTP-Posting-Host: 82.139.21.12
Mime-Version: 1.0
X-Trace: tkdami.pl 1156930005 24928 82.139.21.12 (30 Aug 2006 09:26:45 GMT)
X-Complaints-To: usenet@news.tkdami.pl
NNTP-Posting-Date: Wed, 30 Aug 2006 09:26:45 +0000 (UTC)
User-Agent: KNode/0.9.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit