🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
141 messages
141 total messages Page 2 of 3 Started by Marek Wywiał Mon, 21 Aug 2006 07:25
Page 2 of 3 • 141 total messages
Re: Wyj?tki w konstruktorze
#14988
Author: Seweryn Habdank-Wojewódzki
Date: Sun, 27 Aug 2006 14:40
22 lines
1984 bytes
Witam

A.L. wrote:

> Doskonalosc techniczna" oddaje najlepiej nastepujacy cytat,
> potwierdzajacy to co od dawna wiadomo, a mianowicie ze C++ powstaje
> "metoda alchemiczna": Wkladamy troche g... do sloika i potrzasamy.
> Potem patrzymy co wyszlo. Jak rowneiz to ze tworcy jezyka nie sa w
> stanie zrozumeic co robia. Widac jest za trudny dla nich.

Awantura o niższości/wyższości C++ i Javy przewijała się już wiele razy i nic z
niej nie wynika. Te języki sa calkiem różne, chociaż składnie strasznie myli.
Nie ma możliwości w pełni zastąpić Javy C++'em, ani C++ Javą. Co więcej cały
czas twórcy Javy korzystają z doświadczeń twórców i koderów C++, więc nie wiem
dokładnie o co chodzi w tej wojnie.

Pozdrawiam.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Re: Wyj?tki w konstruktorze
#14989
Author: A.L.
Date: Sun, 27 Aug 2006 15:02
40 lines
3095 bytes
On Sun, 27 Aug 2006 16:40:58 +0200, Seweryn Habdank-Wojewódzki
<habdank@gmail.com> wrote:

>Witam
>
>A.L. wrote:
>
>> Doskonalosc techniczna" oddaje najlepiej nastepujacy cytat,
>> potwierdzajacy to co od dawna wiadomo, a mianowicie ze C++ powstaje
>> "metoda alchemiczna": Wkladamy troche g... do sloika i potrzasamy.
>> Potem patrzymy co wyszlo. Jak rowneiz to ze tworcy jezyka nie sa w
>> stanie zrozumeic co robia. Widac jest za trudny dla nich.
>
>Awantura o niższości/wyższości C++ i Javy przewijała się już wiele razy i nic z
>niej nie wynika. Te języki sa calkiem różne, chociaż składnie strasznie myli.
>Nie ma możliwości w pełni zastąpić Javy C++'em, ani C++ Javą. Co więcej cały
>czas twórcy Javy korzystają z doświadczeń twórców i koderów C++, więc nie wiem
>dokładnie o co chodzi w tej wojnie.

Ja tez nei wiem. Chyba chodzi o to ze niektorzy do jezyka takiego
czy owego zywia "uczucia wyzsze" czyli milosc. Na drobna uwage ze
"panienka jest troszke garbata i ma lekko krzywy nos" reaguja z
wsciekloscia.

Rzecz nie jest anegdotyczna, byla pzredmiotem badan psychiatrow
amerykanskicg. Stwierdzono, ze spora czesc spoleczenstwa
"uczlowiecza" przedmioty i traktuje je jak ludzi, lacznie z
zywieniem w stosunku do nich owych "uczuc wyzszych". Stwierdzono w
palme pierwszenstwa maja wlasciele samochodow nadajacy swym
samochodom pieszczotliwe imiona i czepiacy przyjemnosc z fizycznego
kontaktu z owymi. Drudzy w kolejnosci sa programisci zakochujacy sie
w swoich jezykach. Trzeci  - posiadacze broni.

Natomiast zgadzam sie s powyzsza uwago co do relacji C++ i Java,
aczkolwiek nie zgadzaem sie z, cytuje, "Co więcej cały czas twórcy
Javy korzystają z doświadczeń twórców i koderów C++" albowiem o ile
mi wiadomo to tworcy Javy w duzej czesci wywodza sie ze spolecznosci
Smalltalka.

A.L.
Re: Wyj?tki w konstruktorze
#14990
Author: Seweryn Habdank-Wojewódzki
Date: Sun, 27 Aug 2006 16:14
24 lines
2157 bytes
Witam

A.L. wrote:

> aczkolwiek nie zgadzaem sie z, cytuje, "Co więcej cały czas twórcy
> Javy korzystają z doświadczeń twórców i koderów C++" albowiem o ile
> mi wiadomo to tworcy Javy w duzej czesci wywodza sie ze spolecznosci
> Smalltalka.

Co do społeczności Smalltalka nie mogę się wypowiadać. Natomiast, co do
nieustannego pobierania pewnych idei czy pomysłów z C++, to przykładami, o
czym była wiele razy mowa, są: szblony - zamienione na genericsy, friendy -
zwięte dokładnie z C++, nawet spomentowane jako coś co nie miało być w Javie,
ale jednak zotało wciągnięte z C++ jako dobra cecha. Jest jeszcze parę
ficzerów trochę odleglejszych i mocno zmienionych jednak ideologicznie
pochodzą z C lub C++. Większość tego "materiału" została dogłębnie omówiona na
tej grupie i na grupie z C.

Pozdrawiam.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Re: Wyj?tki w konstruktorze
#15147
Author: Andrzej 'Rudy' Dąbrowski
Date: Sun, 27 Aug 2006 18:17
31 lines
2543 bytes
A.L. narzeźbił(a):

> On Sun, 27 Aug 2006 16:40:58 +0200, Seweryn Habdank-Wojewódzki
> <habdank@gmail.com> wrote:
> 
>>Witam
>>
>>A.L. wrote:
>>
>>> Doskonalosc techniczna" oddaje najlepiej nastepujacy cytat,
>>> potwierdzajacy to co od dawna wiadomo, a mianowicie ze C++ powstaje
>>> "metoda alchemiczna": Wkladamy troche g... do sloika i potrzasamy.
>>> Potem patrzymy co wyszlo. Jak rowneiz to ze tworcy jezyka nie sa w
>>> stanie zrozumeic co robia. Widac jest za trudny dla nich.
>>
>>Awantura o niższości/wyższości C++ i Javy przewijała się już wiele razy i
>>nic z niej nie wynika. Te języki sa calkiem różne, chociaż składnie
>>strasznie myli. Nie ma możliwości w pełni zastąpić Javy C++'em, ani C++
>>Javą. Co więcej cały czas twórcy Javy korzystają z doświadczeń twórców i
>>koderów C++, więc nie wiem dokładnie o co chodzi w tej wojnie.
> 
> Ja tez nei wiem. Chyba chodzi o to ze niektorzy do jezyka takiego
> czy owego zywia "uczucia wyzsze" czyli milosc. Na drobna uwage ze
> "panienka jest troszke garbata i ma lekko krzywy nos" reaguja z
> wsciekloscia.

Czy w społeczności Javy też są tacy ludzie? Zastanawia mnie geneza takiego
podejścia.

-- 
Pozdrawiam, Andrzej
Re: Wyj?tki w konstruktorze
#14991
Author: Aleksander Galicki
Date: Sun, 27 Aug 2006 18:38
43 lines
3282 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> Witam
> 
> A.L. wrote:
> 
> > aczkolwiek nie zgadzaem sie z, cytuje, "Co więcej cały czas twórcy
> > Javy korzystają z doświadczeń twórców i koderów C++" albowiem o ile
> > mi wiadomo to tworcy Javy w duzej czesci wywodza sie ze spolecznosci
> > Smalltalka.
> 
> Co do społeczności Smalltalka nie mogę się wypowiadać. Natomiast, co do
> nieustannego pobierania pewnych idei czy pomysłów z C++, to przykładami, o
> czym była wiele razy mowa, są: szblony - zamienione na genericsy, friendy -
> zwięte dokładnie z C++, nawet spomentowane jako coś co nie miało być w Javie,
> ale jednak zotało wciągnięte z C++ jako dobra cecha. Jest jeszcze parę
> ficzerów trochę odleglejszych i mocno zmienionych jednak ideologicznie
> pochodzą z C lub C++. Większość tego "materiału" została dogłębnie omówiona na
> tej grupie i na grupie z C.

Nonsens. Zadnego friend w Javie nie ma i mam nadzieje nie bedzie. Jesli juz
Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo Eiffel.
Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++. I nie -
Java generics nie sa wzorowowane na tym potworze. W Javovych genericsach sie
nie da programowac.

No i to co niektorym umyka: nie ma dualizmu Java/C++ - spolecznosc C++ jest
zabawna sama w sobie - zupelnie bez Javy czy jakiegos innego jezyka. Zauwaz,
ze jak ktos sie nabija z C++, to zupelnie nie musi wspominac Javy. O Javie
bowiem wspominaja prawie wylacznie ci od C++. Maja widocznie jakies kompleksy
co do jezyka, ktory w mainstreamie zdetronizowal C++.


A.

PS. Ja tam zaluje ze w PL Ruby i Lisp nie sa popularne. Spolecznosci tych
jezykow sa chyba nawet bardziej obiecujace niz ta od C++. 


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15148
Author: Aleksander Galicki
Date: Sun, 27 Aug 2006 18:46
21 lines
2086 bytes
Andrzej 'Rudy' Dąbrowski <a.r.dabrowskiSPAM@gmail.com> napisał(a): 

> A.L. narzeźbił(a):
> > Ja tez nei wiem. Chyba chodzi o to ze niektorzy do jezyka takiego
> > czy owego zywia "uczucia wyzsze" czyli milosc. Na drobna uwage ze
> > "panienka jest troszke garbata i ma lekko krzywy nos" reaguja z
> > wsciekloscia.
> 
> Czy w społeczności Javy też są tacy ludzie? Zastanawia mnie geneza takiego
> podejścia.

Sa. Ale - ciekawostka - bardziej to dotyczy frameworkow i bibliotek niz samego
jezyka. Z tego powodu zjawisko to jest zdecydowanie bardziej hermetyczne.

Popularnym obiektem milosci jest tez wszystko co ma w nazwie Agile. To nie
dotyczy co prawda jezyka, ale wiezi emocjonalne sa dosc mocne.

A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15150
Author: Michal Przybylek
Date: Sun, 27 Aug 2006 19:05
63 lines
4059 bytes
"A.L." <alewando@fala2005.com> wrote:

> Rzecz nie jest anegdotyczna, byla pzredmiotem badan psychiatrow
> amerykanskicg. Stwierdzono, ze spora czesc spoleczenstwa
> "uczlowiecza" przedmioty i traktuje je jak ludzi, lacznie z
> zywieniem w stosunku do nich owych "uczuc wyzszych". Stwierdzono w
> palme pierwszenstwa maja wlasciele samochodow nadajacy swym
> samochodom pieszczotliwe imiona i czepiacy przyjemnosc z fizycznego
> kontaktu z owymi. Drudzy w kolejnosci sa programisci zakochujacy sie
> w swoich jezykach. Trzeci  - posiadacze broni.

Wydaje mi sie, ze w naszym folklorze rzecz jest o wiele bardziej
skomplikowana...

Zawsze ciekawilo mnie co jest odpowiedzialne za powstawanie subkultur
celebrujacych pewne aspekty (np. Linuks, C++, Python, Lisp, Haskell, Perl) i
chorobliwie zwalczajacych inne (np. Micorsoft, Windows, C++, Perl).
Zauwazylem, ze glowne powody sa trzy:

1. Poczucie indywidualnosci.

Chec wyobcowanie sie od reszty "szarej masy", nabrania tozsamosci, wyrazenia
buntu przeciwko "reszcie". Czesto takie subkultury tworza sie wokol idei
malo popularnych.

Podlozem trawalosci subkultury jest trudnosc dostania sie do niej
(skomplikowanie narzedzia, niewygosnosc urzycia, poziom intelektualny
potrzebny do opanowania ; to jest tez mocno zwiazane z koleinym punktem).

Co ciekawe, z czasem jezeli taka subkultura zaczyna sie dostatecznie
rozrastac, tworzy sie kontr-kultura przeciwstawiajaca sie tejze.

2. Dysonans poznawczy.

Kiedy posiascie danej rzeczy wymaga wiele wysilku, kiedy narzedzie jest
niewygodne, zas my stoimy juz _po fakcie_ podjecia tych nieprzyjaznych
dzialan, wtedy z pomoca przychodzi nam dysonans poznawczy. Jest to
mechanizm, ktory pomaga zachowac nam spokoj poprzez dorobienie ideologii do
podjetego dzialan. Skoro podjelismy pewne dzilanie i nie ma silnych
przeslanek tlumaczacych trud podejcia, umysl dorabia nam przeslanki
sztuczne, zazwyczaj bazujace na silnych emocjach, tak abysmy mogli poczuc
sie wewnetrznie spojni, spojrzec bez wstydu w lustro i powiedziec "tak, nie
jestem idiota, to co robie ma gleboki sens".

Nt. dysonansu poznawczego bylo wiele badan i niektore wyniki sa wrecz
szokujace. Radze poczytac :-)

3. Przywiazanie.

Jest wiele rzeczy na swiecie. Ale te, ktorych my urzywamy sa jedynymi
szczegolnymi. Wyrazistymi. Kazda jest inna i z unikalnym charakterem (w
przeciwienstwie do pozostalych, ktore obserwujac z daleka staja sie
jednolite i metne).

Pozatym, maja te wazna ceche, ze sa nasze.

***

Do ciekawych zjawisk dodam jeszcze ludzi chorobliwie zwalczajacych wszelkie
subkultury (takze to co nie jest subkultura, ale im sie "kojarzy").


mp
Re: Wyj?tki w konstruktorze
#15152
Author: Michal Przybylek
Date: Sun, 27 Aug 2006 19:12
10 lines
1520 bytes
"Michal Przybylek" <mrp@neostrada.pl> wrote:

>  urzywamy

używamy

Pisalem w pospiechu.


mp
Re: Wyj?tki w konstruktorze
#14992
Author: Seweryn Habdank-Wojewódzki
Date: Sun, 27 Aug 2006 21:43
64 lines
3271 bytes
Witam

Aleksander Galicki wrote:

> Nonsens. Zadnego friend w Javie nie ma i mam nadzieje nie bedzie.

Cytuje:

http://blogs.sun.com/gbracha/entry/developing_modules_for_development

post z 7 Kwietnia tego roku.

"I'd favour the introduction of a "friend" keyword that can apply to packages,
classes and members. C++ was not all bad."

> Jesli juz 
> Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
> konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
> inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo
> Eiffel.

Może i tak, być.

A co z historią dokładania enumów, które nota bene były już w dziadku - ANSI C?

> Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.

Oczywiście, że nie, bo w C++ są szablony.

> I nie - Java generics nie sa wzorowowane na tym potworze. W Javovych
> genericsach sie nie da programowac.

Oczywiście.

> Zauwaz, 
> ze jak ktos sie nabija z C++, to zupelnie nie musi wspominac Javy. 

Oczywiście.

> O Javie bowiem wspominaja prawie wylacznie ci od C++.

A kolegium na rzecz Ruby, co mówi o Javie?

> Maja widocznie jakies kompleksy co do jezyka, ktory w mainstreamie
> zdetronizowal C++. 

Chciałeś powiedzieć, że wyparł C, a C++ nigdy nie był w mainstreamie. To co
ludzie nazywają C++ nigdy nie było C++, tylko C z dołożonym słowem kluczowym
class i tyle. Zresztą w Javie też ludzie (oczywiście nie wszyscy) paskudnie
piszą. Szczególnie popatrz na projekty które wymagają znacznego przemyślenia i
znajomości nie tylko kodowania, ale także tematu.

Proponuję Ci poszukanie błędów projektowych np. w JSR-73. Ja znalazłem ich
kilka, a wiem, że nie dokładnie wszystko sprawdziłem.

> PS. Ja tam zaluje ze w PL Ruby i Lisp nie sa popularne. Spolecznosci tych
> jezykow sa chyba nawet bardziej obiecujace niz ta od C++.

Oczywiście.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Re: Wyj?tki w konstruktorze
#14993
Author: Aleksander Galicki
Date: Sun, 27 Aug 2006 23:44
71 lines
3820 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> Witam
> 
> Aleksander Galicki wrote:
> 
> > Nonsens. Zadnego friend w Javie nie ma i mam nadzieje nie bedzie.
> 
> Cytuje:
> 
> http://blogs.sun.com/gbracha/entry/developing_modules_for_development
> 
> post z 7 Kwietnia tego roku.
> 
> "I'd favour the introduction of a "friend" keyword that can apply to packages,
> classes and members. C++ was not all bad."

To komentarz postronnego internauty. Nic przeciez z tego nie wynika.

> > Jesli juz 
> > Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
> > konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
> > inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo
> > Eiffel.
> 
> Może i tak, być.
> 
> A co z historią dokładania enumów, które nota bene były już w dziadku - ANSI C?

No chyba nie powiesz ze ANSI C wprowadzil do uzycia enumy?

> > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
> 
> Oczywiście, że nie, bo w C++ są szablony.

No wiec Java nie korzystala tu z doswiadczen C++. 

> > O Javie bowiem wspominaja prawie wylacznie ci od C++.
> 
> A kolegium na rzecz Ruby, co mówi o Javie?

Zupelnie co innego niz kolegium od C++ :-) I z innego powodu. 

> > Maja widocznie jakies kompleksy co do jezyka, ktory w mainstreamie
> > zdetronizowal C++. 
> 
> Chciałeś powiedzieć, że wyparł C, a C++ nigdy nie był w mainstreamie. To co
> ludzie nazywają C++ nigdy nie było C++, tylko C z dołożonym słowem kluczowym
> class i tyle. Zresztą w Javie też ludzie (oczywiście nie wszyscy) paskudnie
> piszą. Szczególnie popatrz na projekty które wymagają znacznego przemyślenia i
> znajomości nie tylko kodowania, ale także tematu.

To kwestia nazewnictwa. Chcesz nazwac to C z klasami - prosze bardzo - niczego
to nie zmienia. 
[Moim ulubionym jest porownanie C++ do osmiornicy, ktora stworzono przybijac
psu cztery dodatkowe nogi. To nic dziwnego, ze zranione zwierze probuje
poruszac sie za pomoca czterech oryginalnych nog. Trzeba niezwyklego
samozaparcia by nauczyc sie korzystac z dodatkowych konczyn.]

> 
> Proponuję Ci poszukanie błędów projektowych np. w JSR-73. Ja znalazłem ich
> kilka, a wiem, że nie dokładnie wszystko sprawdziłem.

No ale co to ma do tematu? Ja wcale nie twierdze ze Java jest idealna. Mnie w
pracy bola zupelnie inne JSRy.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#14994
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 28 Aug 2006 10:02
87 lines
4683 bytes
Witam

Aleksander Galicki wrote:

> Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a):
>
>> http://blogs.sun.com/gbracha/entry/developing_modules_for_development
>> 
>> post z 7 Kwietnia tego roku.
>> 
>> "I'd favour the introduction of a "friend" keyword that can apply to
>> packages, classes and members. C++ was not all bad."
> 
> To komentarz postronnego internauty. Nic przeciez z tego nie wynika.

Nie dokońca postronnego, bo blog jest na sun.com.
 
>> > Jesli juz
>> > Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
>> > konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
>> > inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo
>> > Eiffel.
>> 
>> Może i tak, być.
>> 
>> A co z historią dokładania enumów, które nota bene były już w dziadku - ANSI
>> C?
> 
> 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++.

>> > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
>> 
>> Oczywiście, że nie, bo w C++ są szablony.
> 
> No wiec Java nie korzystala tu z doswiadczen C++.

Hehe, w szczególności notacja jest rżnięta. A może pomysł nie jest C++ owy, aby
tworzyć klasy parametryzowane typami. Idea jest wzięta z C++. A realizacja
jest wykonana na imarę Javy, czyli odeszli od typizacji statycznej na rzecz
dynamicznej i dlatego ich funkcjonalność jest inna.

Nie jestem w ogóle przekonany o tym, że ani procent pomysłu nie został wzięty z
C++. A znam różnice, bo kilka programów/przykładów napisałem tak, aby klasy
były generyczne, więc mniej więcej znam różnice pomiędzy szablonami i
genericsami.

>> > O Javie bowiem wspominaja prawie wylacznie ci od C++.
>> 
>> A kolegium na rzecz Ruby, co mówi o Javie?
> 
> Zupelnie co innego niz kolegium od C++ :-) I z innego powodu.

Nie ma to znaczenia. Ludzie lubią mówić o wyższości Świąt jednych nad drugimi.
 
> To kwestia nazewnictwa. Chcesz nazwac to C z klasami - prosze bardzo -
> niczego to nie zmienia.

Chodzi nie o język, tylko oto, jak go ludzie używają.

> [Moim ulubionym jest porownanie C++ do osmiornicy, ktora stworzono przybijac
> psu cztery dodatkowe nogi. To nic dziwnego, ze zranione zwierze probuje
> poruszac sie za pomoca czterech oryginalnych nog. Trzeba niezwyklego
> samozaparcia by nauczyc sie korzystac z dodatkowych konczyn.]

Czyżbyś dopuszczał kastę magików, która potrafi poruszać tymi 4 doszytymi
kończynami. Proszę zalicz mnie do nich, bo potrafię pomimo teoretycznej
trudności poruszać nimi i to nawet dość sprawnie.

> No ale co to ma do tematu? Ja wcale nie twierdze ze Java jest idealna.

Więc właśnie. Każdy język ma wady. Mnie denerwuje dziadowski i mało
optymalizowalny design.

Tak na marginesie, podobno mają wejść do Javy szybkie kontenery, które nie będą
sprawdzać np. czy ktoś nie wyskoczył poza zakres - czy to przypadkiem nie jest
pomysł twórców C++, aby nie obciązać kontenerów niepotrzebną funkcjonalnością?

Pozdrawiam.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Re: Wyj?tki w konstruktorze
#15155
Author: Adam Karpierz
Date: Mon, 28 Aug 2006 12:48
11 lines
1573 bytes
"A.L." <alewando@fala2005.com> wrote in message:

> Drudzy w kolejnosci sa programisci zakochujacy sie
> w swoich jezykach.

> Trzeci  - posiadacze broni.

Boze ! Dziekujemy Ci ze jednak Sektor jest tylko zakochanym
programista :))

AK
Re: Wyj?tki w konstruktorze
#15149
Author: Adam Karpierz
Date: Mon, 28 Aug 2006 13:00
30 lines
2370 bytes
"Andrzej 'Rudy' Dąbrowski" <a.r.dabrowskiSPAM@gmail.com> wrote:

>> Ja tez nei wiem. Chyba chodzi o to ze niektorzy do jezyka takiego
>> czy owego zywia "uczucia wyzsze" czyli milosc. Na drobna uwage ze
>> "panienka jest troszke garbata i ma lekko krzywy nos" reaguja z
>> wsciekloscia.
>
> Czy w społeczności Javy też są tacy ludzie?

Niestety sa :)

> Zastanawia mnie geneza takiego
> podejścia.

To jest odwieczna walka perfekcjonizmu z realizmem ;).

1. Perfekcjonista: Znalezlem Swietego Graala ! : Naucze sie go, jednego
            najlepszego, bede mial spokoj.
            Reszte bede tepil i ignorowal.
2. realista: Wszytsko to syf :(, Nie ma w IT nic doskonalego
     Trzeba umiec po trochu wszytsiego i tylko troche nadto co konieczne, a 
gdy
    zaczyna cos brzydko pachniec odrzucic dana konstrukcej/rzecz starajac 
sie
   _w kazdym_  jezyku czy technilogii robic prosto(ale nie prostacko) 
czytelnie
   klarownie => _zrozumiale_.

AK [byly perfekcjonista]
Re: Wyj?tki w konstruktorze
#14995
Author: Aleksander Galicki
Date: Mon, 28 Aug 2006 19:44
110 lines
5781 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> Witam
> 
> Aleksander Galicki wrote:
> 
> > Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a):
> >
> >> http://blogs.sun.com/gbracha/entry/developing_modules_for_development
> >> 
> >> post z 7 Kwietnia tego roku.
> >> 
> >> "I'd favour the introduction of a "friend" keyword that can apply to
> >> packages, classes and members. C++ was not all bad."
> > 
> > To komentarz postronnego internauty. Nic przeciez z tego nie wynika.
> 
> Nie dokońca postronnego, bo blog jest na sun.com.

To sie wpisz tam i napisz, ze oczekujesz wprowadzenia do Javy pare konstrukcji
z Brinf***? Jak sadzisz: zmieni to cos?

> >> > Jesli juz
> >> > Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
> >> > konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
> >> > inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo
> >> > Eiffel.
> >> 
> >> Może i tak, być.
> >> 
> >> A co z historią dokładania enumów, które nota bene były już w dziadku - ANSI
> >> C?
> > 
> > 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.

> >> > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
> >> 
> >> Oczywiście, że nie, bo w C++ są szablony.
> > 
> > No wiec Java nie korzystala tu z doswiadczen C++.
> 
> 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.


> Idea jest wzięta z C++.

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

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

> 
> Nie jestem w ogóle przekonany o tym, że ani procent pomysłu nie został wzięty z
> C++. A znam różnice, bo kilka programów/przykładów napisałem tak, aby klasy
> były generyczne, więc mniej więcej znam różnice pomiędzy szablonami i
> genericsami.

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

> > [Moim ulubionym jest porownanie C++ do osmiornicy, ktora stworzono przybijac
> > psu cztery dodatkowe nogi. To nic dziwnego, ze zranione zwierze probuje
> > poruszac sie za pomoca czterech oryginalnych nog. Trzeba niezwyklego
> > samozaparcia by nauczyc sie korzystac z dodatkowych konczyn.]
> 
> Czyżbyś dopuszczał kastę magików, która potrafi poruszać tymi 4 doszytymi
> kończynami. Proszę zalicz mnie do nich, bo potrafię pomimo teoretycznej
> trudności poruszać nimi i to nawet dość sprawnie.

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. 

> > No ale co to ma do tematu? Ja wcale nie twierdze ze Java jest idealna.
> 
> Więc właśnie. Każdy język ma wady. Mnie denerwuje dziadowski i mało
> optymalizowalny design.

Dziadzowski design - mowisz wiec o C++? :-) Trudno o lepszy przyklad
dziadowskiego designu. No, moze WS-* ostatnio staje sie niezla konkurencja.

> Tak na marginesie, podobno mają wejść do Javy szybkie kontenery, które nie będą
> sprawdzać np. czy ktoś nie wyskoczył poza zakres - czy to przypadkiem nie jest
> pomysł twórców C++, aby nie obciązać kontenerów niepotrzebną funkcjonalnością?

We Wrozce to przeczytales? :-) To juz na poziomie bytecode'u jest
niewykonalne. Proba wywolania metody na null zawsze skonczy sie
NullPointerException, a proba wyjscia poza zakres tablicy -
ArrayOutOfBoundException. Innych mechanizmow do budowania kontenerow nie ma.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15085
Author: Piotr Dembiński
Date: Mon, 28 Aug 2006 19:51
7 lines
1479 bytes
"Aleksander Galicki" <tretete.WYTNIJ@gazeta.pl> writes:

[...]

> Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++. 

Yup.  To było już w Moduli-3.
Re: Wyj?tki w konstruktorze
#15151
Author: Piotr Dembiński
Date: Mon, 28 Aug 2006 19:55
8 lines
1507 bytes
"Michal Przybylek" <mrp@neostrada.pl> writes:

[...]

> Co ciekawe, z czasem jezeli taka subkultura zaczyna sie dostatecznie
> rozrastac, tworzy sie kontr-kultura przeciwstawiajaca sie tejze.

'Objects have failed'
Re: Wyj?tki w konstruktorze
#15072
Author: Sektor van Skijlen
Date: Tue, 29 Aug 2006 11:59
54 lines
3740 bytes
Dnia Sun, 27 Aug 2006 18:38:17 +0000 (UTC), Aleksander Galicki skrobie:
> Nonsens. Zadnego friend w Javie nie ma i mam nadzieje nie bedzie. Jesli juz
> Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
> konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
> inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo Eiffel.

To znaczy? Na razie są tylko kłótnie na JSR, a goście nie mogą się zdecydować.
Zaproponowano jakieś konkretne rozwiązanie?

> Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.

A w czym? Może w Adzie? W Eifflu?

> I nie - Java generics nie sa wzorowowane na tym potworze. W Javovych
> genericsach sie nie da programowac.

Javowych genericsów, zacznijmy od tego, w ogóle nie da się używać, poza
najprostszymi konstrukcjami typu zawieranie pól określonego typu.

> No i to co niektorym umyka: nie ma dualizmu Java/C++ - spolecznosc C++ jest
> zabawna sama w sobie - zupelnie bez Javy czy jakiegos innego jezyka.

Czytając publikacje nt. Javy mam dokładnie takie samo wrażenie nt.
społeczności Javy.

> Zauwaz,
> ze jak ktos sie nabija z C++, to zupelnie nie musi wspominac Javy.

To ciekawe, bo rzadko kiedy zauważyłem, żeby ktoś nabijał się z C++ nie
wspominając Javy.

Ciekawsze jest to o tyle, że nikt jakoś nie "dobija" C++ wspominając C#-a. A
to jest jak na razie jedyny język, który swoimi właściwościami jest w stanie
rzeczywiście rywalizować z C++.

> O Javie
> bowiem wspominaja prawie wylacznie ci od C++. Maja widocznie jakies kompleksy
> co do jezyka, ktory w mainstreamie zdetronizowal C++.

Ja mam akurat dokładnie odwrotne wrażenie. Co do tego "zdetronizowania w
mainstreamie" to nie polegałbym tylko na statystykach ze stron www.

> PS. Ja tam zaluje ze w PL Ruby i Lisp nie sa popularne. Spolecznosci tych
> jezykow sa chyba nawet bardziej obiecujace niz ta od C++. 

Pod względem nabijania się z nich? Proszę bardzo - skończ biadolenie o C++, a
zacznij biadolenie o Rubym i Lispie.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15156
Author: Sektor van Skijlen
Date: Tue, 29 Aug 2006 12:10
21 lines
2055 bytes
Dnia Mon, 28 Aug 2006 14:48:42 +0200, Adam Karpierz skrobie:
> "A.L." <alewando@fala2005.com> wrote in message:

> > Drudzy w kolejnosci sa programisci zakochujacy sie
> > w swoich jezykach.

> > Trzeci  - posiadacze broni.

> Boze ! Dziekujemy Ci ze jednak Sektor jest tylko zakochanym
> programista :))

Adam, ciebie to chyba muszę kiedyś stuknąć.

Najlepiej kuflem od piwa.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15074
Author: Michal Przybylek
Date: Tue, 29 Aug 2006 12:56
15 lines
1869 bytes
"Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid>
wrote:

> > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
>
> A w czym? Może w Adzie? W Eifflu?

Na pewno nie w Adzie i na pewno nie w Eiffelu.

Prawdopodobnie "generyki" zblizone do obecnych pojawily sie gdzies w obrebie
CLU i ML'a. Ale pelne zrozumienie tego mechanizmu przyszlo o wiele pozniej
(koniec lat 80-tych / poczatek 90-tych).


mp
Re: Wyj?tki w konstruktorze
#15099
Author: Sektor van Skijlen
Date: Tue, 29 Aug 2006 13:04
22 lines
2308 bytes
Dnia Tue, 29 Aug 2006 14:56:53 +0200, Michal Przybylek skrobie:
> "Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid>
> wrote:

> > > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
> >
> > A w czym? Może w Adzie? W Eifflu?

> Na pewno nie w Adzie i na pewno nie w Eiffelu.

> Prawdopodobnie "generyki" zblizone do obecnych pojawily sie gdzies w obrebie
> CLU i ML'a. Ale pelne zrozumienie tego mechanizmu przyszlo o wiele pozniej
> (koniec lat 80-tych / poczatek 90-tych).

Nie "TAKIE" generyki. Z nich pochodzi co najwyżej koncepcja tworzenia
generycznych konstrukcji.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze [OT]
#15157
Author: Adam Karpierz
Date: Tue, 29 Aug 2006 13:30
23 lines
1978 bytes
"Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid> 
wrote:
>
>> > Drudzy w kolejnosci sa programisci zakochujacy sie
>> > w swoich jezykach.
>
>> > Trzeci  - posiadacze broni.
>
>> Boze ! Dziekujemy Ci ze jednak Sektor jest tylko zakochanym
>> programista :))
>
> Adam, ciebie to chyba muszę kiedyś stuknąć.

No to probuj Wasc.
Warze 105kg i mierze 1.93m, a Ty ? ;)

> Najlepiej kuflem od piwa.

Widziels takie stateczki w butelce ? Fajne prawda ?
Sektor w kuflu piwa.. Hm.. tez moze byc fajne !
(chociaz ci bedzie ciut duszno).

AK
Re: Wyj?tki w konstruktorze [OT]
#15158
Author: Adam Karpierz
Date: Tue, 29 Aug 2006 13:50
7 lines
1569 bytes
"Adam Karpierz" <karpierz@NOOOOSPAAAAMpython.pl> wrote:

> Warze 105kg i mierze 1.93m, a Ty ? ;)

No jasne ze mialo byc: Waze :)

AK 
Re: Wyj?tki w konstruktorze
#15100
Author: Michal Przybylek
Date: Tue, 29 Aug 2006 18:17
21 lines
1984 bytes
"Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid>
wrote:

> > Prawdopodobnie "generyki" zblizone do obecnych pojawily sie gdzies w
obrebie
> > CLU i ML'a. Ale pelne zrozumienie tego mechanizmu przyszlo o wiele
pozniej
> > (koniec lat 80-tych / poczatek 90-tych).
>
> Nie "TAKIE" generyki. Z nich pochodzi co najwyżej koncepcja tworzenia
> generycznych konstrukcji.

A jakie, w takim razie ?

Takie jakie sa w Javie, zostaly wprowadzone w Javie.

Takie jakie sa w C++ zostaly, podobno, wprowadzone w makrogeneratorach z lat
'60. O to chodzi ?


mp
Re: Wyj?tki w konstruktorze
#15144
Author: Aleksander Galicki
Date: Tue, 29 Aug 2006 20:17
66 lines
3830 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisał(a): 

> Dnia Sun, 27 Aug 2006 18:38:17 +0000 (UTC), Aleksander Galicki skrobie:
> > Nonsens. Zadnego friend w Javie nie ma i mam nadzieje nie bedzie. Jesli juz
> > Java bedzie ulepszana pod wzgledem wprowadzania bardziej fine-grained
> > konstrukcji do kontroli dostepu do pakietow/klas/... to niech juz za
> > inspiracje posluzy im cos bardziej sensownego niz C++: chocby Ada albo Eiffel
> .
> 
> To znaczy? Na razie są tylko kłótnie na JSR, a goście nie mogą się zdecydować.

Panskie postrzeganie rzeczywistosci jest - jak zawsze - niezwykle przenikliwe.

> > Co do genericsow: nie, nie - genericsy nie zostaly wymyslone w C++.
> 
> A w czym? Może w Adzie? W Eifflu?

Nieeee. W C++. 

> > I nie - Java generics nie sa wzorowowane na tym potworze. W Javovych
> > genericsach sie nie da programowac.
> 
> Javowych genericsów, zacznijmy od tego, w ogóle nie da się używać

Slusznie, slusznie - nikt ich nie uzywa.

> 
> > Zauwaz,
> > ze jak ktos sie nabija z C++, to zupelnie nie musi wspominac Javy.
> 
> To ciekawe, bo rzadko kiedy zauważyłem, żeby ktoś nabijał się z C++ nie
> wspominając Javy.

Widzi pan, osoby nie widzace swiat inaczej jak przejrza poczatek tego watku to
stwierdza, ze pierwsza osoba, ktora wspomniala o Javie, byl niejaki M.
"Sektor" Malecki - 25 sierpnia. A pan tego nie widzi!
W jezyku fachowym to sie nazywa Morbus Bleuleri. 
Urlop panu nie sluzy, oklady na glowe pan odmawia. Jedyna nadzieja jest plec
piekna.

> > O Javie
> > bowiem wspominaja prawie wylacznie ci od C++. Maja widocznie jakies kompleksy
> > co do jezyka, ktory w mainstreamie zdetronizowal C++.
> 
> Ja mam akurat dokładnie odwrotne wrażenie. 

Oczywiscie, panie Sektorze. Jest wlasnie tak jak pan mysli.

Na marginesie: zna pan jakas dziewczyne w swojej okolicy...?


> > PS. Ja tam zaluje ze w PL Ruby i Lisp nie sa popularne. Spolecznosci tych
> > jezykow sa chyba nawet bardziej obiecujace niz ta od C++. 
> 
> Pod względem nabijania się z nich? Proszę bardzo - skończ biadolenie o C++, a
> zacznij biadolenie o Rubym i Lispie.

E tam. Widzi pan, tu nie chodzi o jezyk - tu chodzi o ludzi. Jak bede pisal o
Lispie, to przeciez pan nie odezwie sie seria dwudziestu doskonalych postow.
Wiec ja na razie pozostane przy C++.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#14996
Author: 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
`\/\/   
Re: Wyj?tki w konstruktorze
#15025
Author: 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/
[OT} Re: Wyj?tki w konstruktorze
#15026
Author: Grzesiek G.
Date: Thu, 31 Aug 2006 11:03
13 lines
2005 bytes
Aleksander Galicki napisał(a):
[...]
> 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".
[...]
Może do był twórca MVP, który jest uważany przez niektórych z lepszy?

Pozdrawiam

-- 
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!
Re: Wyj?tki w konstruktorze
#15027
Author: Piotr Kobzda
Date: Thu, 31 Aug 2006 11:24
50 lines
3006 bytes
Aleksander Galicki wrote:

> Java ma korzenie w Objective-C i Smalltalku.

Niewątpliwie.

> Konkretnie te C-like klamerki i typy prymitywne pochodza z Objective-C, nie z C++.

Z Objective-C Gosling wykorzystał też interfejsy.

Choć co do klamerek, to takie same są w C, więc nic odkrywczego 
Objective-C w tej kwestii akurat nie wniósł.


Poza tym swych bliskich relacji z C/C++ Java też nigdy nie ukrywała.


"(c) firstperson, inc.

Oak Language Specification

This document is a preliminary specification of the Oak language. Both 
the specification and the language are subject to change. When a feature 
that exists in both Oak and ANSI C isn't explained fully in this 
specification, the feature should be assumed to work as it does in ANSI C."

I z przypisu od sekcji Exceptions:

"Oak exception handling closely follows the proposal in the second 
edition of The C++ Programming Language, by Bjarne Stroustrup."

Oba powyższe cytaty pochodzą z:
http://weblogs.java.net/jag/old/green/OakSpec0.2.ps


A to już bezpośrednio cytat z JLS:

"JAVA is a general-purpose, concurrent, class-based, object-oriented 
language. It is designed to be simple enough that many programmers can 
achieve fluency in the language. Java is related to C and C++ but is 
organized rather differently, with a number of aspects of C and C++ 
omitted and a few ideas from other languages included.

(...)

Chapter 3 describes the lexical structure of the Java programming 
language, which is based on C and C++."


piotr
Re: Wyj?tki w konstruktorze
#15098
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 14:37
30 lines
2496 bytes
Dnia Tue, 29 Aug 2006 20:17:50 +0200, Michal Przybylek skrobie:
> "Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid>
> wrote:

> > > Prawdopodobnie "generyki" zblizone do obecnych pojawily sie gdzies w
> obrebie
> > > CLU i ML'a. Ale pelne zrozumienie tego mechanizmu przyszlo o wiele
> pozniej
> > > (koniec lat 80-tych / poczatek 90-tych).
> >
> > Nie "TAKIE" generyki. Z nich pochodzi co najwyżej koncepcja tworzenia
> > generycznych konstrukcji.

> A jakie, w takim razie ?

> Takie jakie sa w Javie, zostaly wprowadzone w Javie.

Tak. Na bazie tego, co było w C++, z odpowiednimi modyfikacjami (bez słowa
template, z dodaniem koncepcji).

> Takie jakie sa w C++ zostaly, podobno, wprowadzone w makrogeneratorach z lat
> '60. O to chodzi ?

Podobno to znaczy skąd to wiesz?

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15145
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 14:39
14 lines
1851 bytes
Dnia Tue, 29 Aug 2006 20:17:28 +0000 (UTC), Aleksander Galicki skrobie:
[...]

Ups, najmocniej przepraszam.

Zapomniałem, że siedzisz w kilfajlu.
Drugi raz tego błędu nie popełnię.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15030
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 15:40
54 lines
3724 bytes
Dnia Thu, 31 Aug 2006 13:24:10 +0200, Piotr Kobzda skrobie:
> Aleksander Galicki wrote:

> > Java ma korzenie w Objective-C i Smalltalku.

> Niewątpliwie.

Buhahahaha :)

Po pierwsze, twierdzenie, że coś ma korzenie w "Objective-C i Smalltalku" jest
śmieszne już samo w sobie, biorąc pod uwagę, że Objective-C to jest język
stuprocentowo bazowany na Smalltalku.

Po drugie, szczególnie koncepcja statycznej typizacji, rzutowanie i
ograniczanie wywoływania metod przez referencję do obiektu tylko do klasy, w
której zadeklarowano metodę - nie, wcale to nie pochodzi z C++... :) Również
proponuję się zapoznać z tym, jak się wywołuje metody w Smalltalku i
Objective-C i czym jest w owych językach referencja.

Jeśli już coś ze Smalltalka zostało zapożyczone to jedynie trzy elementy:
odśmiecacz, pełne przedefiniowywanie metod oraz pojedyncze dziedziczenie.

Tyle że pojedyncze dziedziczenie w Smalltalku jest usprawiedliwione jego
konstrukcją obiektowości: jeśli klasa danego obiektu nie rozpoznaje danej
metody, to kieruje ją do klasy bazowej. Czegoś takiego nie ma ani w Javie, ani
w C++, które są pod tym względem podobne.

> > Konkretnie te C-like klamerki i typy prymitywne pochodza z Objective-C, nie z C++.

> Z Objective-C Gosling wykorzystał też interfejsy.

Jeśli już to "protokoły".

> Choć co do klamerek, to takie same są w C, więc nic odkrywczego 
> Objective-C w tej kwestii akurat nie wniósł.

Jeśli ktoś by chciał usprawiedliwiać wymienienie Objective-C przez
podobieństwo składni, to radziłbym przed potwierdzaniem takich idiotyzmów
najpierw zapoznać się, jak się w Objective-C deklaruje klasy i metody, jak się
to robi w C++, a następnie porówna, które z nich jest bliższe Javie.

Żeby twierdzić, jakoby Java była bazowana na Objective-C, bo "też ma
klamerki", to trzeba chyba dużo taniego wina najpierw wypić.

> Poza tym swych bliskich relacji z C/C++ Java też nigdy nie ukrywała.

Zgadza się, od jej autorów począwszy.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15031
Author: Piotr Kobzda
Date: Thu, 31 Aug 2006 16:28
10 lines
1508 bytes
Sektor van Skijlen wrote:

>> Z Objective-C Gosling wykorzystał też interfejsy.
> 
> Jeśli już to "protokoły".

Tak, a dokładniej "protokoły formalne". Niefortunnie to napisałem po prostu.


piotr
Re: Wyj?tki w konstruktorze
#15073
Author: Piotr Dembiński
Date: Thu, 31 Aug 2006 17:27
21 lines
2137 bytes
"Aleksander Galicki" <tretete.WYTNIJ@gazeta.pl> writes:

[...]

> Ponownie - nieuzasadniona megalomania. Java wywodzi sie ze
> Smalltalka, a jeszcze bardziej z Objective-C. 

Raczej średnio na jeża.  Chociaż środowisko najbardziej znanych
programistów Javy wywodzi się rzeczywiście ze środowiska programistów
Smalltalka.

> Rowniez te wszystkie C-like kawalki skladni wywodza sie 
> z Objective-C, nie z C++.

W Objective-C są nawiasy kwadratowe.

-- 
http://www.piotr.dembiński.prv.pl

'Giving people a dynamically-typed language does not mean that they write
dynamically-typed programs.'  John Aycock, 'Aggressive Type Inference'
Re: Wyj?tki w konstruktorze
#15032
Author: Piotr Dembiński
Date: Thu, 31 Aug 2006 17:29
9 lines
1676 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:

[...]

> Po pierwsze, twierdzenie, że coś ma korzenie w "Objective-C 
> i Smalltalku" jest śmieszne już samo w sobie, biorąc pod uwagę, 
> że Objective-C to jest język stuprocentowo bazowany na Smalltalku.

Objective-C to C ze smalltalkowym podejściem do obiektów.
Re: Wyj?tki w konstruktorze
#15033
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 17:29
19 lines
2262 bytes
Dnia Thu, 31 Aug 2006 19:29:13 +0200, Piotr Dembiński skrobie:
> Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:

> [...]

> > Po pierwsze, twierdzenie, że coś ma korzenie w "Objective-C 
> > i Smalltalku" jest śmieszne już samo w sobie, biorąc pod uwagę, 
> > że Objective-C to jest język stuprocentowo bazowany na Smalltalku.

> Objective-C to C ze smalltalkowym podejściem do obiektów.

Źle się wyraziłem. Chodziło mi o "język, który posiada nakładkę obiektową
stuprocentowo bazowaną na Smalltalku".

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15036
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 17:30
19 lines
2212 bytes
Dnia Thu, 31 Aug 2006 19:30:30 +0200, Piotr Dembiński skrobie:
> Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:

> [...]

> > Tyle że pojedyncze dziedziczenie w Smalltalku jest usprawiedliwione
> > jego konstrukcją obiektowości: jeśli klasa danego obiektu nie
> > rozpoznaje danej metody, to kieruje ją do klasy bazowej. 

> W Pythonie klasy bazowe tworzą krotkę (entkę), która jest przez
> interpreter przeszukiwana od lewej do prawej.

No bo w Pythonie akurat też jest tak.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15034
Author: Piotr Dembiński
Date: Thu, 31 Aug 2006 17:30
10 lines
1724 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:

[...]

> Tyle że pojedyncze dziedziczenie w Smalltalku jest usprawiedliwione
> jego konstrukcją obiektowości: jeśli klasa danego obiektu nie
> rozpoznaje danej metody, to kieruje ją do klasy bazowej. 

W Pythonie klasy bazowe tworzą krotkę (entkę), która jest przez
interpreter przeszukiwana od lewej do prawej.
Re: Wyj?tki w konstruktorze
#15075
Author: Sektor van Skijlen
Date: Thu, 31 Aug 2006 17:39
31 lines
2535 bytes
Dnia Thu, 31 Aug 2006 19:27:43 +0200, Piotr Dembiński skrobie:
> "Aleksander Galicki" <tretete.WYTNIJ@gazeta.pl> writes:

> [...]

> > Ponownie - nieuzasadniona megalomania. Java wywodzi sie ze
> > Smalltalka, a jeszcze bardziej z Objective-C. 

> Raczej średnio na jeża.  Chociaż środowisko najbardziej znanych
> programistów Javy wywodzi się rzeczywiście ze środowiska programistów
> Smalltalka.

O! I to stwierdzenie jest już znacznie bardziej bliskie prawdy.

> > Rowniez te wszystkie C-like kawalki skladni wywodza sie 
> > z Objective-C, nie z C++.

> W Objective-C są nawiasy kwadratowe.

Zgadza się - a dodatkowo klasy definiuje się w nim w dwóch osobnych miejscach,
jako @interface i @implementation, metody przez + i -, i tak dalej...

Jak to dobrze, że mam tego gościa w kilfajlu i nie muszę czytać
takiego steku bzdur.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Re: Wyj?tki w konstruktorze
#15059
Author: Piotr Dembiński
Date: Thu, 31 Aug 2006 18:53
45 lines
2561 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:

> Dnia Thu, 31 Aug 2006 19:30:30 +0200, Piotr Dembiński skrobie:
>> Sektor van Skijlen
>> <ethouris@guess.if.gmail.com.is.valid.or.invalid> writes:
>
>> [...]
>
>> > Tyle że pojedyncze dziedziczenie w Smalltalku jest
>> > usprawiedliwione jego konstrukcją obiektowości: jeśli klasa
>> > danego obiektu nie rozpoznaje danej metody, to kieruje ją do
>> > klasy bazowej.
>
>> W Pythonie klasy bazowe tworzą krotkę (entkę), która jest przez
>> interpreter przeszukiwana od lewej do prawej.
>
> No bo w Pythonie akurat też jest tak.

IMO bardzo proste i dzięki temu dobre rozwiązanie problemu wielu metod
o takich samych sygnaturach w więcej niż jednej klasie nadrzędnej.
Jedyny problem jest z tym, że Python nie rozpoznaje sygnatur metod, 
a jedynie identyfikatory (nazwy), przez co poniższy kawałek kodu nie 
zadziała tak, jak mógłby się tego spodziewać programista C++:

<code>

class Super_1:
    def foo(self, x):
        return 42 + x

class Super_2:
    def foo(self):
        return 'foo'

class A(Super_1, Super_2):
    pass

a = A()
a.foo()

</code>


-- 
http://www.piotr.dembiński.prv.pl
Re: Wyj?tki w konstruktorze
#15071
Author: Aleksander Galicki
Date: Thu, 31 Aug 2006 20:01
59 lines
3548 bytes
Piotr Kobzda <pikob@gazeta.pl> napisał(a): 

> Aleksander Galicki wrote:
> 
> > Java ma korzenie w Objective-C i Smalltalku.
> 
> Niewątpliwie.
> 
> > Konkretnie te C-like klamerki i typy prymitywne pochodza z Objective-C, nie z
>  C++.
> 
> Z Objective-C Gosling wykorzystał też interfejsy.
> 
> Choć co do klamerek, to takie same są w C, więc nic odkrywczego 
> Objective-C w tej kwestii akurat nie wniósł.
> 
> 
> Poza tym swych bliskich relacji z C/C++ Java też nigdy nie ukrywała.
> 
> 
> "(c) firstperson, inc.
> 
> Oak Language Specification
> 
> This document is a preliminary specification of the Oak language. Both 
> the specification and the language are subject to change. When a feature 
> that exists in both Oak and ANSI C isn't explained fully in this 
> specification, the feature should be assumed to work as it does in ANSI C."
> 
> I z przypisu od sekcji Exceptions:
> 
> "Oak exception handling closely follows the proposal in the second 
> edition of The C++ Programming Language, by Bjarne Stroustrup."
> 
> Oba powyższe cytaty pochodzą z:
> http://weblogs.java.net/jag/old/green/OakSpec0.2.ps

To tylko pokazuje jak sie roznia pierwsze wersje Oak od tego co pozniej
zostalo nazwane Java. Ludzie od Obj-C dolaczyli do teamu pracujacym nad Oak
dopiero po jakims czasie.

> 
> A to już bezpośrednio cytat z JLS:
> 
> "JAVA is a general-purpose, concurrent, class-based, object-oriented 
> language. It is designed to be simple enough that many programmers can 
> achieve fluency in the language. Java is related to C and C++ but is 
> organized rather differently, with a number of aspects of C and C++ 
> omitted and a few ideas from other languages included.

A to imho raczej element marketingowej strategii Sun'a - Sun w sposob
oczywisty liczyl na to ze spory kawalek olbrzymiej armii programistow C/C++
przejdzie na Jave - bez tego Java by nie stala sie tym czym jest dzis.


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15061
Author: Marcin 'Qrczak' Kowalczyk
Date: Thu, 31 Aug 2006 21:32
17 lines
2322 bytes
pdemb@gazeta.pl (Piotr Dembiński) writes:

>>> W Pythonie klasy bazowe tworzą krotkę (entkę), która jest przez
>>> interpreter przeszukiwana od lewej do prawej.
>>
>> No bo w Pythonie akurat też jest tak.
>
> IMO bardzo proste i dzięki temu dobre rozwiązanie problemu wielu metod
> o takich samych sygnaturach w więcej niż jednej klasie nadrzędnej.

To nie jest aż takie proste jak przeszukiwanie od lewej do prawej.
http://www.python.org/download/releases/2.3/mro/

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/
Re: Wyj?tki w konstruktorze
#15063
Author: Piotr Dembiński
Date: Fri, 01 Sep 2006 17:46
23 lines
2134 bytes
Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> writes:

> pdemb@gazeta.pl (Piotr Dembiński) writes:
>
>>>> W Pythonie klasy bazowe tworzą krotkę (entkę), która jest przez
>>>> interpreter przeszukiwana od lewej do prawej.
>>>
>>> No bo w Pythonie akurat też jest tak.
>>
>> IMO bardzo proste i dzięki temu dobre rozwiązanie problemu wielu
>> metod o takich samych sygnaturach w więcej niż jednej klasie
>> nadrzędnej.
>
> To nie jest aż takie proste jak przeszukiwanie od lewej do prawej.
> http://www.python.org/download/releases/2.3/mro/

A nie przeraża cię ten 'serious order disagreement', w którym nie
można utworzyć Z(A, B)?

Co do starego algorytmu, to był b. intuicyjny.

-- 
http://www.piotr.dembiński.prv.pl
Re: Wyj?tki w konstruktorze
#15065
Author: Marcin 'Qrczak' Kowalczyk
Date: Fri, 01 Sep 2006 19:49
14 lines
2179 bytes
pdemb@gazeta.pl (Piotr Dembiński) writes:

>> To nie jest aż takie proste jak przeszukiwanie od lewej do prawej.
>> http://www.python.org/download/releases/2.3/mro/
>
> A nie przeraża cię ten 'serious order disagreement', w którym nie
> można utworzyć Z(A, B)?

Nie. Obecne reguły są właśnie takie, jak powinny być.

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/
Re: Wyj?tki w konstruktorze
#15067
Author: Piotr Dembiński
Date: Sat, 02 Sep 2006 21:43
18 lines
2073 bytes
Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> writes:

> pdemb@gazeta.pl (Piotr Dembiński) writes:
>
>>> To nie jest aż takie proste jak przeszukiwanie od lewej do prawej.
>>> http://www.python.org/download/releases/2.3/mro/
>>
>> A nie przeraża cię ten 'serious order disagreement', w którym nie
>> można utworzyć Z(A, B)?
>
> Nie. Obecne reguły są właśnie takie, jak powinny być.

Gwoli ścisłości: Python ma teraz dwa algorytmy -- jeden prosty, dla
klas starego stylu, i drugi trudny, dylanowy, dla klas nowego stylu.
Ja osobiście unikam klas nowego stylu.

-- 
http://www.piotr.dembiński.prv.pl
Re: Wyj?tki w konstruktorze
#15076
Author: Seweryn Habdank-Wojewódzki
Date: Sun, 03 Sep 2006 09:59
202 lines
8446 bytes
Witam

Aleksander Galicki wrote:

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

Czy ja wskazałem, że C był pierswszy? Nie, napisałem, że powstał w podobnym
czasie.
 
>> I
>> ciekawe czy jest możliwe metaprogramowanie za ich pomocą.
> 
> Nie. Makrogeneracja jest bowiem pojeciem ortogonalnym to typow
> parametrycznych.

Znaczy suię mówisz o języku C i składni: 

#define macro(...) ...

W C++ szablony mają o wiele większą funkcjonalność, w szczególności są
kontrolowane typy, popatrz się na kod poniżej, który realizuje złożenie
dwóch
funkcji dwu argumentowych, jest on realizowany abstrakcyjnie, czyli zwracany
jest funktor, który możesz wywoływać jak funkcję (to jest transparentne dla
kogoś kto wykorzystuje tą skałdnię):

// f ( g ( x, y ), g ( x, y ) ) 

 /* Adaptator class compose_f_gxy_gxy
  */
  template <class OP1, class OP2>
  class compose_f_gxy_gxy_t
  : public std::binary_function<typename OP2::first_argument_type,
                typename OP2::second_argument_type,
                typename OP1::result_type>
  {
  private:
    OP1 op1;    // calculate: op1(op2(x,y),op2(x,y))
    OP2 op2;
  public:
    // constructor
    compose_f_gxy_gxy_t (const OP1& o1, const OP2& o2)
    : op1(o1), op2(o2) {
    }

    // function call
    typename OP1::result_type
    operator()(const typename OP2::first_argument_type& x,
        const typename OP2::second_argument_type& y) const {
      return op1(op2(x,y),op2(x,y));
    }
  };

  /* useful function for creating adaptator compose_f_gxy_gxy
  */
  template <class OP1, class OP2>
  inline compose_f_gxy_gxy_t<OP1,OP2>
  compose_f_gxy_gxy (const OP1& o1, const OP2& o2) {
    return compose_f_gxy_gxy_t<OP1,OP2>(o1,o2);
  }

wynikiem compose_f_gxy_gxy jest funktor, który zachowuje się jak funkcja.

A jak to napiszesz jako define? Zauważ, że nie ma podanych typów dla
argumentów
funkcji g, one są uzyskiwane na drodze szablonowego rozpoznania.

#define compose_f_gxy_gxy(f,g) ....

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

Jest to tylko częściowo prawda. Właśnie jak się zabardzo wejdzie w
stereotypy
pisarskie w jakiejś bibliotece/języku/module to wtedy ma się tylko takie
myślenie, chociaż byłoby ono do bani. Bardzo dobrze jest na jakiś projekt
spojrzeć z wielu stron. A nie tylko z jednej, bo to powoduje że człowiek
brnie
w starych błędach.

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

Mylisz się, ale już przyzwyczaiłem się, do tego, że ludzie z ekipy Javy
nietrafnie mnie oceniają. 

A to przykład kodu z języka, którego nie widziałem na oczy. Ot taka
pojedyncza
metoda zwracająca finalState, który jest wyliczany poprzez sekwencyjne
dodawanie wartości do temporalState, po tym kiedy stwierdzone jest istnienie
elementu item. A wszystko dzieje się w pętli do: []. Poprzedzonej kreacją
obiektu State, aby było co zwracać.

fitValue: inputState
  | finalState temporalState |
  finalState := State new.
  inputState
    do:
      [:stream | temporalStream := stream copy.
        ( temporalStream nextAvailable:
          item size
        ) = item
          ifTrue: [ finalState add: temporalState ]
      ].
  ^ finalState

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

Tak? To super. Wreszcie się ktoś przyznał, że Java pochodzi z któregoś z
języków C. Przepraszam, myślałem, że z C++.

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

O. Super, cieszę się, że masz tak wielkie wyczucie. Wiesz inni też tak
sądzili
i mylili się. A mylili się, bo nie mogą zrozumieć, czemu piszę w C++ i
Javie,
bo oni jak już weszli w Javę, to ją tak pokochali, że już nie potrafią się
od
niej oderwać.

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

Więc właśnie z powodu moich doświadczeń krytykuję, bo kiedyś też, myślałem,
że
wszstko da się najlepiej zrobić w Javie, ale okazało się, że nie i to był
początek mojego krytycyzmu. Teraz na ile moge staram się rozszerzać
horyzonty.
 
>> 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?

Napisałem, wyraźnie *Helper i *Holder.

org.omg.CORBA.AnyHolder
org.omg.CORBA.AnySeqHolder
org.omg.CORBA.BooleanHolder
org.omg.CORBA.BooleanSeqHolder
org.omg.CORBA.ByteHolder
org.omg.CORBA.CharHolder
org.omg.CORBA.CharSeqHolder
org.omg.DynamicAny.AnySeqHelper
org.omg.DynamicAny.AnyHelper // uwaga dokumentacja jest zepsuta
org.omg.CORBA.CharSeqHelper
org.omg.CORBA.BooleanSeqHelper
 
> 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.

Jasne, SUN za nic nie jest odpowiedzialny.

Np. błędy też są w JSR-73. Tylko, że ludzie z którymi to omawiałem, nie są
zarozumiali, nie twierdzą że ich pomysły sa jedyne słuszne. Okazuje się, że
oni potrafią dyskutować i widzieć błędy, ale Ty nawet tego nie wiesz, że
można
spojrzeć krytycznie na Javę (i kto tujest zaślepionym i zakochanym
megalomanem).
Wrezultacie dyskusjj ze mną jakoś ekipa JSR-73 nie obraziła się - wręcz
odwrotnie - spodobały się im moje krytyczne suygestie.

Chciałbym, abyś nie pisał na temat mojej wiedzy bądź nie wiedzy, ale podawał
konkrety związane nie z moją osobą, ale z językami programowania.

Pozdrawiam.

-- 

|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/   
Re: Wyj?tki w konstruktorze
#15077
Author: Aleksander Galicki
Date: Sun, 03 Sep 2006 22:54
71 lines
4227 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> > ?? Ale o jakie klasy chodzi?
> 
> Napisałem, wyraźnie *Helper i *Holder.
> 
> org.omg.CORBA.AnyHolder

To sa klasy *wygenerowane* przez IDL-to-Java compiler i maja sie raczej do
specyfikacji OMG (java to idl mapping) niz do javy jako takiej (pakiet
org.omg.* a nie java.*). Myslisz ze jest wiekszy sens krytykowac design Javy
na podstawie specyfikacji OMG? Moim skromnym zdaniem to zupelnie nie ma sensu.

> 
> Np. błędy też są w JSR-73. Tylko, że ludzie z którymi to omawiałem, nie są
> zarozumiali, nie twierdzą że ich pomysły sa jedyne słuszne. Okazuje się, że
> oni potrafią dyskutować i widzieć błędy, ale Ty nawet tego nie wiesz, że
> można
> spojrzeć krytycznie na Javę (i kto tujest zaślepionym i zakochanym
> megalomanem).
> Wrezultacie dyskusjj ze mną jakoś ekipa JSR-73 nie obraziła się - wręcz
> odwrotnie - spodobały się im moje krytyczne suygestie.

..

> O. Super, cieszę się, że masz tak wielkie wyczucie. Wiesz inni też tak
> sądzili
> i mylili się. A mylili się, bo nie mogą zrozumieć, czemu piszę w C++ i
> Javie,
> bo oni jak już weszli w Javę, to ją tak pokochali, że już nie potrafią się
> od
> niej oderwać.
> 

..

> Więc właśnie z powodu moich doświadczeń krytykuję, bo kiedyś też, myślałem,
> że
> wszstko da się najlepiej zrobić w Javie, ale okazało się, że nie i to był
> początek mojego krytycyzmu. Teraz na ile moge staram się rozszerzać
> horyzonty.
>  

Zauwaz, ze jestes w tym watku jedyna osoba, ktora kiedykolwiek myslala, ze
"wszstko da się najlepiej zrobić w Javie".

> Chciałbym, abyś nie pisał na temat mojej wiedzy bądź nie wiedzy, ale podawał
> konkrety związane nie z moją osobą, ale z językami programowania.
> 

Mylisz sie jesli myslisz, ze obrywa Ci sie za krytyke Jave. Obrywa Ci sie za
paplanie bez sensu. Jakies 90% tego co tu piszesz to banialuki (o wplywie C++
na Jave, o friend, o "redundantnych" klasach w J2EE, o kontenerach co to nie
beda sprawdzac zakresu, o Holderach i Helperach). Wiem, ze przyjemniej jest
myslec o sobie jako ofiarze nagonki za sluszna krytyke, ale Ty zwyczajnie
gadasz zupelnie bez sensu. To jest jak krytykowanie KRK za to ze ksieza
zabijaja masowo niemowleta i gwalca dziewice. Moze i jest za co krytykowac
KRK, ale na pewno nie za to.
Jest wielka roznica pomiedzy paplaniem bez sensu i sensowna krytyka. Paplanie
bez sensu, to kiedy bierzesz losowe klasy, ktorych nie uzywales i ktore sa
zwiazane z technologia CORBA i zaczynasz na tej podstawie krytykowac
technologie Javy.

To byloby na tyle. EOT.


A.


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15078
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 04 Sep 2006 11:29
95 lines
4930 bytes
Witam

Aleksander Galicki wrote:

> Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a):
> 
>> > ?? Ale o jakie klasy chodzi?
>> 
>> Napisałem, wyraźnie *Helper i *Holder.
>> 
>> org.omg.CORBA.AnyHolder
> 
> To sa klasy *wygenerowane* przez IDL-to-Java compiler i maja sie raczej do
> specyfikacji OMG (java to idl mapping) niz do javy jako takiej (pakiet
> org.omg.* a nie java.*). Myslisz ze jest wiekszy sens krytykowac design
> Javy na podstawie specyfikacji OMG? Moim skromnym zdaniem to zupelnie nie
> ma sensu.

Tak, tak uważam, bo wszystkie tego typu konstrukcje tak są robione. Zresztą,
nie widzę przyczyny dla czego Java 1.5 zwana czasem 5.0 mając generyki, nie
została przeprojektowana, a stare klasy uznane jako deprecated. I powiedzmy
utrzymywane do wersji 7.0, bo patrzącc po wersji 6.0 nie wiele się zmienia.

> Zauwaz, ze jestes w tym watku jedyna osoba, ktora kiedykolwiek myslala, ze
> "wszstko da się najlepiej zrobić w Javie".

EEE. Jakoś nie wiedzę się po takiej stronie. Jak narazie wszyscy, kótrzy nie
znają Modern C++ (a znają C z makrogeneratorem) nie powiedzieli ani słowa
pozytywnego o C i reszcie, a chwalą Javę jakby była jedynym słusznym
językiem.
 
> Mylisz sie jesli myslisz, ze obrywa Ci sie za krytyke Jave. Obrywa Ci sie
> za paplanie bez sensu. Jakies 90% tego co tu piszesz to banialuki (o
> wplywie C++ na Jave, o friend, o "redundantnych" klasach w J2EE, o
> kontenerach co to nie beda sprawdzac zakresu, o Holderach i Helperach).

Widzisz Twoja metodyka dyskusji polega na tym, że to o czym nie masz
pojęcia, lub musiałbyś się zemną zgodzić skrzętnie kasujesz z moich postów
lub komentujesz "..". Tak więc nagle okazuje się, że faktycznie reszta to
może jest 90%, a czy to są bzdury to zapewne częściowo masz rację - bo nie
twierdzę, że jestem nie omylny, ale nie toleruję tego typu metodyki
dyskusji.

> Wiem, ze przyjemniej jest myslec o sobie jako ofiarze nagonki za sluszna
> krytyke, ale Ty zwyczajnie gadasz zupelnie bez sensu.

Może bez sensu dla kogoś kto nie potrafi prześledzić mojego toku
rozumowania.

> To jest jak 
> krytykowanie KRK za to ze ksieza zabijaja masowo niemowleta i gwalca
> dziewice. Moze i jest za co krytykowac KRK, ale na pewno nie za to.

Rozumiem, że twirdzisz, że nie mam prawa krytykować Javy, za to co uważam za
dotkliwe, bo ty uważasz za dotkliwe inne rzeczy jednak ja nie ma prawa mieć
swojego zdania. To mi przypomina takie powiedzonko: "Co wolno wojewodzie,
to nie tobie kasztelanie".

> Jest wielka roznica pomiedzy paplaniem bez sensu i sensowna krytyka.

Więc a'propo konstruktywnej krytyki, jak myślisz jaka różnica jest pomiędzy
takimi dwoma kontraktami:

public class Foo {

private double x;

public double getX();
public void setX(double x);

}

public class Foo {

private double x;

// i hipotetyczne friend

friend class Bar;

}

> Paplanie bez sensu, to kiedy bierzesz losowe klasy, ktorych nie uzywales i
> ktore sa zwiazane z technologia CORBA i zaczynasz na tej podstawie
> krytykowac technologie Javy.

Biorę właśnie je bo one są przykładem projektu bez sensu i dlaczego mam
używać coś co jest bezsensu. Pomijając fakt, że tak właśnie pisze się w
Javie takie klasy, bo odgórnie idzie kiepski przykład.

Pozdrawiam.

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/'
Re: Wyj?tki w konstruktorze
#15083
Author: Aleksander Galicki
Date: Mon, 04 Sep 2006 20:55
18 lines
2153 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> napisał(a): 

> > Paplanie bez sensu, to kiedy bierzesz losowe klasy, ktorych nie uzywales i
> > ktore sa zwiazane z technologia CORBA i zaczynasz na tej podstawie
> > krytykowac technologie Javy.
> 
> BiorÄ&#65533; wĹ&#65533;aĹ&#65533;nie je bo one sÄ&#65533; przykĹ&#65533;adem projektu bez sensu i dlaczego mam
> uĹźywaÄ&#65533; coĹ&#65533; co jest bezsensu.

Znaczy ktos Cie zmusza do recznego grzebania w CORBA? A to przykre.

I btw: wiesz co to EOT?


A.

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wyj?tki w konstruktorze
#15084
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 04 Sep 2006 21:46
14 lines
1695 bytes
Witam

Aleksander Galicki wrote:

> I btw: wiesz co to EOT?

A czy Ty wiesz?

Pozdrawiam.


-- 
|\/\/|   Seweryn Habdank-Wojewódzki
`\/\/'
Re: Wyj?tki w konstruktorze
#15069
Author: Adam Karpierz
Date: Fri, 08 Sep 2006 09:45
7 lines
1658 bytes
""Piotr Dembiński"" <pdemb@gazeta.pl> wrote:

> Ja osobiście unikam klas nowego stylu.

Duuuuzy blad.

AK 
Page 2 of 3 • 141 total messages
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads