Re: Expertyza, czyli o Jacku slow kilka

Autor: Kolory (kolory_at_njusy.invalid)
Data: Sat 30 Jun 2001 - 23:02:17 MET DST


This is a multi-part message in MIME format.

------=_NextPart_000_00BE_01C101B8.B5B91360
Content-Type: text/plain;
        charset="utf-8"
Content-Transfer-Encoding: 8bit

"Michal Zalewski" <lcamtuf_at_coredump.cx>
>...
>Natomiast zupelnie nietrafione wydaje mi sie uzywanie Javy jako pierwszego
>albo podstawowego jezyka. Rozsadne wydaja mi sie dwie mozliwosci - albo
>uczymy powaznego, eleganckiego programowania i tworzenia stabilnego,
>uzytecznego kodu, i chcemy miec jezyk, ktory jakos do tego pasuje - wtedy
>Java nadaje sie dosc srednio, lepiej siegnac po cos innego, Ada, jezyki
>funkcyjne, czy cus - ktorych czytelnosc i sklonnnosc do propagowania
>niebezpiecznych praktyk programistycznych jest duzo nizsza.
Jakich to niebezpieczne nawyki masz na myśli ? Nie wiem czy zdajesz sobie
sprawę, że rynek nie zgłasza zapotrzebowania na programistów Ady czy
konkretnych języków funkcyjnych. Można więc traktować je jako ciekawostkę,
ale nie ma sensu opierać na nich programu nauczania.
>Albo uczymy
>"jak komputer piszczy", jakie sa relacje miedzy kodem i maszyna, i
>wybieramy do tego narzedzie typu asembler lub C, jak ktos lubi, od biedy
>moze wybrac C++...
W jakim celu ? Co przyjdzie informatykowi czy programiście z nauczenia się
programowania sprzętu ? Zakładając, że jakimś cudem ktoś mu zleci
oprogramowanie sprzętu, to czemu w szkole nie mógłby nauczyć się tego w
językach stricte obiektowych ?
>Java ani tu, ani tu nie pasuje (nie, nie jest
>kompromisem, nie jest ani ladna, ani niskopoziomowa ;), wydaje mi sie, ze
>uczy calej masy brzydkich rzeczy dziedziczonych z C++, wielu rzeczy w niej
>po prostu brakuje (np. dosc prymimtywny strong typing dziedziczony po
>przodku),
Zupełnie nie rozumiem zarzutu. Chodzi o to, że wszyscy jej używają a
chciałbyś tylko Ty snobować się nią ?
>i rownoczesnie alienuje takiego poczatkujacego od maszyny i
>systemu.
Dziwne ?
>Po prostu przeraza mnie to, ze wiele ludzi bedzie umialo napisac "Hello
>world" tylko wykorzystujac klasy, przeciazanie operatorow, strumienie itp,
>natomiast nie bedzie umialo zrobic tego bez tych technik
>programistycznych, w C, w assemblerze, i ze swiat miedzy obiektami a tym,
>jak teoretycznie dziala komputer (bo tego na PJWSTK, szczesliwie, ucza),
>bedzie niebawem mial wielka ostrzegawcza tablice "here be dragons". I ze
>ludzie nie beda mieli pojecia, czemu taki a nie inny kod odpowiada ich
>obiektowemu hello world, co wlasciwie robi z tym kodem system, co system
>(znany lub nieznany) chce nam przekazac pokazujac jakis stack dump, jak
>ten system zrozumiec i stwierdzic, czy to my, czy jego autorzy popelnili
>blad... skoro tak sie sklada, ze wiekszosc systemow operacyjnych nie jest
>napiana w Javie, nie uzywa obiektow ;)
Systemy operacyjne oczywiście nie są pisane w językach wysokiego poziomu co
wcale nie oznacza, że ich kod nie jest obiektowy. Teza, że można pisać
inaczej jest chybiona. Tak czy siak funkcja wypisująca „Hello World” na
ekranie nie jest bytem niezależnym a składnikiem jakiegoś obiektu. Kwestia
tylko czy programista wykorzystujący ją ma tego świadomość. Jeśli nie ma to
znaczy, że został źle wykształcony i tyle. Języki takie jak C, assembler są
zupełnym nieporozumieniem w nauczaniu. Mogą nauczyć jak działa procesor, ale
nie jak implementuje się algorytmy. Co więcej, assembler kompletnie nie
nadaje się do zapisu algorytmów, bo choć da się je w nim zapisać to z
przejściem w drugą stronę jest poważny problem.
>No i widzialem paru programistow uprawiajacych voodoo... tzn gdy cos nie
>dziala w ich kodzie (w przypadkach, ktore widzialem - w C++), chociaz
>teoretycznie powinno, nie zastanawiaja sie, co sie dzieje na stosie, co
>sie dzieje z pamiecia, w ktorym momencie pojawiaja sie problemy, tylko po
>prostu panikuja, i zaczynaja wstawiac komentarze, zmieniac jedna postac
>kodu, ktory powinien dzialac na inna, i tak dalej... Straszne.
Kiedyś uczyłem się w szkole elektronicznej. Mieliśmy warsztaty. Robiliśmy
młotki. Jeśli ktoś nie może sobie tego wyobrazić to informuję, że dostaje
się kawałek stali z huty, bo szkoła była przyzakładowa, i go obrabia aż
będzie miał odpowiedni kształt, czyli rozmiary i płaszczyzmy pod
odpowiednimi kątami np. prostymi. Potem robiliśmy klucze do rur. W podobny
sposób, dostaje się kawałki metalu i po obrobieniu składa klucze. Potem
mając praktykę w centrali telefonicznej z wybierakami, kopaliśmy rowy pod
oświetlenie w parku, więc „zachorowałem”. I tak przez 3 lata. Aż przyszedł
ostatni rok, kiedy jako jedyny dostąpiłem zaszczytu przygotowania płytki
drukowanej, co de facto sprowadzało się do nauczenia ćwiczącego jak to robić
dobrze, bo jakoś nie miał okazji. Inni niestety nie załapali się. Skończyli
szkołę choć o elektonice mają zerowe pojęcie. Jestem jednak pewien, że do
końca życia nie zapomną jednak jak się robi młotki i klucze. Po skończeniu
wybrałem się na studia informatyczne by studiować informatykę. Niestety pech
chciał, że w programie była elektronika. Dla odmiany była teoria. Poznaliśmy
Z80 wraz z układami towarzyszącymi. Mieliśmy co prawda różne przedmioty
informatyczne np. trzeba było znać składnię dyrektyw kompilatora paskala dla
dos, czemu niestety nie sprostałem, bo przed studiami skończyłem policealkę,
co mi teraz umknęło, gdzie co prawda używałem kompilatora paskala ale dla
windows, w którym potrzeba stosowania dyrektyw ograniczyła się do
zadeklarowania opisu programu zupełnie pomijalnego i obojętnego
zaimplementowanym algorytmom, w efekcie na studiach pytania nie zaliczyłem.
Trochę to trwało nim po różnych przebojach skończyłem studia. Po kilku
latach od tego czasu, kiedy miałem okazję pracować jako programista i
administrator sieci, nieodmiennie uważam, że traciłem tylko czas. Niemal
cała moja wiedza wynika z doświadczeń własnych powstałych zarówno w okresie
studiów jak i w pracy zawodowej. A wszystko właśnie przez nawiedzonych,
którzy na elektronice uczą mechaniki a na informatyce chcą uczyć sprzętu.
>>a porownanie z C.. hmm.. dosc podobna skladnia, sporo wbudowanych
>>funkcji... z lista funkcji na ekranie i lekkim pojeciem o tym jak sie
>>w javie pisze da sie pisac niewiele wolniej niz w C, gdy np. pierwszy
>>raz uzywa sie jakiegos wikeoszego liba.
>Niz w C++, owszem. W C klepie sie dosc bezmyslnie, tysiac linii w dwie
>godziny to nic nadzwyczajnego - tylko, oczywiscie, pozniej zarzadzanie tym
>kodem (czytaj: odczytanie go nastepnego ranka, nie mowiac juz o zmianach
>przez inna osobe ;) jest ciezkie. C++ probowal byc odpowiedzia na te
>problemy i ograniczenia C, ale pomieszanie wolnej amerykanki z C z
>namiastkami strong typingu, i metodami "ladnego programowania" (klasy ;)
>wyszlo tak sobie - tzn. podobnie jak w C, trzeba patrzec sobie na palce
>zeby nie popelniac bledow, ktore moglyby byc dosc latwo unikniete w innych
>jezykach, i zeby kod byl pozniej czytelny. Java moim zdaniem nieco
>podniosla czytelnosc, ale nadal daleka droga ;> Wyprowadzanie czytelnych i
>bezpiecznych jezykow z C jest conajmniej dziwnym pomyslem.
Rynek zgłasza zapotrzebowanie na Javę a nie na Adę, Haskele itp itd. Używa
się jej nie tylko w zastosowaniach stricte programistycznych ale jako
wsparcie, czyli cała gama języków skryptowych. Można takie skrypty
zaaplikować np. Exchange'owi by uzyskać pożądaną funkcjonalność np. dla
uzupełnienia o część text/html przesyłek pocztowych i niusowych czy dla
odrzucania przesyłek zawierających wirusy lub niewłaściwie przygotowanych.
Podobnie można tworzyć dynamiczne witryny. Możliwość użycia w tym miejscu
języków, na jakich usiłujesz wzorować się nie istnieje.

-- 
To ja, to ja, prawda ...
------=_NextPart_000_00BE_01C101B8.B5B91360
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<STYLE><!-- 
BLOCKQUOTE { COLOR: green }
BLOCKQUOTE BLOCKQUOTE { COLOR: red }
BLOCKQUOTE BLOCKQUOTE BLOCKQUOTE { COLOR: orange }
BLOCKQUOTE BLOCKQUOTE BLOCKQUOTE BLOCKQUOTE { COLOR: gray }
:link { TEXT-DECORATION: none }
:visited { TEXT-DECORATION: none }
:active { TEXT-DECORATION: none }
:hover { FONT-WEIGHT: bold! important }
 -->
</STYLE>
<META content=3D"MSHTML 6.00.2479.6" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV>"Michal Zalewski" &lt;<A=20
href=3D"mailto:lcamtuf_at_coredump.cx">lcamtuf_at_coredump.cx</A>&gt;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>...</DIV>
  <DIV>Natomiast zupelnie nietrafione wydaje mi sie uzywanie Javy jako=20
  pierwszego</DIV>
  <DIV>albo podstawowego jezyka. Rozsadne wydaja mi sie dwie mozliwosci =
-=20
  albo</DIV>
  <DIV>uczymy powaznego, eleganckiego programowania i tworzenia=20
stabilnego,</DIV>
  <DIV>uzytecznego kodu, i chcemy miec jezyk, ktory jakos do tego pasuje =
-=20
  wtedy</DIV>
  <DIV>Java nadaje sie dosc srednio, lepiej siegnac po cos innego, Ada,=20
  jezyki</DIV>
  <DIV>funkcyjne, czy cus - ktorych czytelnosc i sklonnnosc do=20
propagowania</DIV>
  <DIV>niebezpiecznych praktyk programistycznych jest duzo=20
nizsza.</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Jakich to niebezpieczne nawyki masz na my=C5=9Bli ? Nie =
wiem czy zdajesz=20
sobie spraw=C4=99, =C5=BCe rynek nie zg=C5=82asza zapotrzebowania na =
programist=C3=B3w Ady czy=20
konkretnych j=C4=99zyk=C3=B3w funkcyjnych. Mo=C5=BCna wi=C4=99c =
traktowa=C4=87 je jako ciekawostk=C4=99, ale=20
nie ma sensu opiera=C4=87 na nich programu nauczania.</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>Albo uczymy</DIV>
  <DIV>"jak komputer piszczy", jakie sa relacje miedzy kodem i maszyna, =
i</DIV>
  <DIV>wybieramy do tego narzedzie typu asembler lub C, jak ktos lubi, =
od=20
  biedy</DIV>
  <DIV>moze wybrac C++... </DIV></BLOCKQUOTE>
<DIV dir=3Dltr>W jakim celu ? Co przyjdzie informatykowi czy =
programi=C5=9Bcie z=20
nauczenia si=C4=99 programowania sprz=C4=99tu ? Zak=C5=82adaj=C4=85c, =
=C5=BCe jakim=C5=9B cudem kto=C5=9B mu zleci=20
oprogramowanie sprz=C4=99tu, to czemu w szkole nie m=C3=B3g=C5=82by =
nauczy=C4=87 si=C4=99 tego w j=C4=99zykach=20
stricte obiektowych ?</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>Java ani tu, ani tu nie pasuje (nie, nie jest</DIV>
  <DIV>kompromisem, nie jest ani ladna, ani niskopoziomowa ;), wydaje mi =
sie,=20
  ze</DIV>
  <DIV>uczy calej masy brzydkich rzeczy dziedziczonych z C++, wielu =
rzeczy w=20
  niej</DIV>
  <DIV>po prostu brakuje (np. dosc prymimtywny strong typing =
dziedziczony=20
  po</DIV>
  <DIV>przodku),</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Zupe=C5=82nie nie rozumiem zarzutu. Chodzi o to, =C5=BCe =
wszyscy jej u=C5=BCywaj=C4=85=20
a chcia=C5=82by=C5=9B tylko Ty snobowa=C4=87 si=C4=99 ni=C4=85 ?</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>i rownoczesnie alienuje takiego poczatkujacego od maszyny i</DIV>
  <DIV>systemu.</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Dziwne ?</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>Po prostu przeraza mnie to, ze wiele ludzi bedzie umialo napisac=20
  "Hello</DIV>
  <DIV>world" tylko wykorzystujac klasy, przeciazanie operatorow, =
strumienie=20
  itp,</DIV>
  <DIV>natomiast nie bedzie umialo zrobic tego bez tych technik</DIV>
  <DIV>programistycznych, w C, w assemblerze, i ze swiat miedzy =
obiektami a=20
  tym,</DIV>
  <DIV>jak teoretycznie dziala komputer (bo tego na PJWSTK, szczesliwie, =
  ucza),</DIV>
  <DIV>bedzie niebawem mial wielka ostrzegawcza tablice "here be =
dragons". I=20
  ze</DIV>
  <DIV>ludzie nie beda mieli pojecia, czemu taki a nie inny kod =
odpowiada=20
  ich</DIV>
  <DIV>obiektowemu hello world, co wlasciwie robi z tym kodem system, co =
  system</DIV>
  <DIV>(znany lub nieznany) chce nam przekazac pokazujac jakis stack =
dump,=20
  jak</DIV>
  <DIV>ten system zrozumiec i stwierdzic, czy to my, czy jego autorzy=20
  popelnili</DIV>
  <DIV>blad... skoro tak sie sklada, ze wiekszosc systemow operacyjnych =
nie=20
  jest</DIV>
  <DIV>napiana w Javie, nie uzywa obiektow ;)</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Systemy operacyjne oczywi=C5=9Bcie nie s=C4=85 pisane w =
j=C4=99zykach wysokiego=20
poziomu co wcale nie oznacza, =C5=BCe ich kod nie jest obiektowy. Teza, =
=C5=BCe mo=C5=BCna=20
pisa=C4=87 inaczej jest chybiona. Tak czy siak funkcja wypisuj=C4=85ca =
=E2=80=9EHello World=E2=80=9D na=20
ekranie nie jest bytem niezale=C5=BCnym a sk=C5=82adnikiem jakiego=C5=9B =
obiektu. Kwestia tylko=20
czy programista wykorzystuj=C4=85cy j=C4=85 ma tego =
=C5=9Bwiadomo=C5=9B=C4=87. Je=C5=9Bli nie ma to znaczy, =C5=BCe=20
zosta=C5=82 =C5=BAle wykszta=C5=82cony i tyle. J=C4=99zyki takie jak C, =
assembler s=C4=85 zupe=C5=82nym=20
nieporozumieniem w nauczaniu. Mog=C4=85 nauczy=C4=87 jak dzia=C5=82a =
procesor, ale nie jak=20
implementuje si=C4=99 algorytmy. Co wi=C4=99cej, assembler kompletnie =
nie nadaje si=C4=99 do=20
zapisu algorytm=C3=B3w, bo cho=C4=87 da si=C4=99 je w nim zapisa=C4=87 =
to z przej=C5=9Bciem w drug=C4=85=20
stron=C4=99 jest powa=C5=BCny problem.</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV>No i widzialem paru programistow uprawiajacych voodoo... tzn gdy =
cos=20
  nie</DIV>
  <DIV>dziala w ich kodzie (w przypadkach, ktore widzialem - w C++),=20
  chociaz</DIV>
  <DIV>teoretycznie powinno, nie zastanawiaja sie, co sie dzieje na =
stosie,=20
  co</DIV>
  <DIV>sie dzieje z pamiecia, w ktorym momencie pojawiaja sie problemy, =
tylko=20
  po</DIV>
  <DIV>prostu panikuja, i zaczynaja wstawiac komentarze, zmieniac jedna=20
  postac</DIV>
  <DIV>kodu, ktory powinien dzialac na inna, i tak dalej...=20
Straszne.</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Kiedy=C5=9B uczy=C5=82em si=C4=99 w szkole =
elektronicznej. Mieli=C5=9Bmy warsztaty.=20
Robili=C5=9Bmy <U>m=C5=82otki</U>. Je=C5=9Bli kto=C5=9B nie mo=C5=BCe =
sobie tego wyobrazi=C4=87 to informuj=C4=99,=20
=C5=BCe dostaje si=C4=99 kawa=C5=82ek stali z huty, bo szko=C5=82a =
by=C5=82a przyzak=C5=82adowa,&nbsp;i go=20
obrabia a=C5=BC b=C4=99dzie mia=C5=82 odpowiedni kszta=C5=82t, czyli =
rozmiary i p=C5=82aszczyzmy pod=20
odpowiednimi k=C4=85tami np. prostymi. Potem robili=C5=9Bmy klucze do =
rur. W podobny=20
spos=C3=B3b, dostaje si=C4=99 kawa=C5=82ki metalu i po obrobieniu =
sk=C5=82ada klucze. Potem maj=C4=85c=20
praktyk=C4=99 w centrali telefonicznej z wybierakami, kopali=C5=9Bmy =
rowy pod o=C5=9Bwietlenie=20
w parku, wi=C4=99c&nbsp;=E2=80=9Ezachorowa=C5=82em=E2=80=9D.&nbsp;I tak =
przez 3 lata. A=C5=BC przyszed=C5=82 ostatni=20
rok, kiedy jako jedyny dost=C4=85pi=C5=82em zaszczytu przygotowania =
p=C5=82ytki drukowanej, co=20
de facto sprowadza=C5=82o si=C4=99 do nauczenia =C4=87wicz=C4=85cego jak =
to robi=C4=87 dobrze, bo jako=C5=9B=20
nie mia=C5=82 okazji. Inni niestety nie za=C5=82apali si=C4=99. =
Sko=C5=84czyli szko=C5=82=C4=99&nbsp;cho=C4=87 o=20
elektonice maj=C4=85 zerowe poj=C4=99cie. Jestem jednak pewien, =C5=BCe =
do ko=C5=84ca =C5=BCycia nie=20
zapomn=C4=85 jednak jak si=C4=99 robi m=C5=82otki i klucze. Po =
sko=C5=84czeniu wybra=C5=82em si=C4=99 na=20
studia informatyczne by studiowa=C4=87 informatyk=C4=99. Niestety pech =
chcia=C5=82, =C5=BCe w=20
programie by=C5=82a elektronika. Dla odmiany by=C5=82a teoria. =
Poznali=C5=9Bmy Z80&nbsp;wraz z=20
uk=C5=82adami towarzysz=C4=85cymi. Mieli=C5=9Bmy co prawda =
r=C3=B3=C5=BCne przedmioty informatyczne np.=20
trzeba by=C5=82o zna=C4=87 sk=C5=82adni=C4=99 dyrektyw kompilatora =
paskala dla dos, czemu niestety=20
nie sprosta=C5=82em, bo przed studiami sko=C5=84czy=C5=82em =
policealk=C4=99, co mi teraz umkn=C4=99=C5=82o,=20
gdzie co prawda u=C5=BCywa=C5=82em kompilatora paskala ale dla windows, =
w kt=C3=B3rym potrzeba=20
stosowania dyrektyw ograniczy=C5=82a si=C4=99 do zadeklarowania opisu =
programu zupe=C5=82nie=20
pomijalnego i oboj=C4=99tnego zaimplementowanym algorytmom,&nbsp;w =
efekcie na=20
studiach pytania nie zaliczy=C5=82em. Troch=C4=99 to =
trwa=C5=82o&nbsp;nim po r=C3=B3=C5=BCnych przebojach=20
sko=C5=84czy=C5=82em studia. Po kilku latach od tego czasu, kiedy =
mia=C5=82em okazj=C4=99 pracowa=C4=87=20
jako programista i administrator sieci, nieodmiennie uwa=C5=BCam, =
=C5=BCe traci=C5=82em tylko=20
czas. Niemal ca=C5=82a moja wiedza wynika z do=C5=9Bwiadcze=C5=84 =
w=C5=82asnych powsta=C5=82ych zar=C3=B3wno w=20
okresie studi=C3=B3w jak i w pracy zawodowej. A wszystko =
w=C5=82a=C5=9Bnie przez nawiedzonych,=20
kt=C3=B3rzy na elektronice ucz=C4=85 mechaniki a na informatyce =
chc=C4=85 uczy=C4=87 sprz=C4=99tu.</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <BLOCKQUOTE=20
  style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px =
solid">
    <DIV>a porownanie z C.. hmm.. dosc podobna skladnia, sporo =
wbudowanych</DIV>
    <DIV>funkcji... z lista funkcji na ekranie i lekkim pojeciem o tym =
jak=20
    sie</DIV>
    <DIV>w javie pisze da sie pisac niewiele wolniej niz w C, gdy np.=20
    pierwszy</DIV>
    <DIV>raz uzywa sie jakiegos wikeoszego liba.</DIV></BLOCKQUOTE>
  <DIV>Niz w C++, owszem. W C klepie sie dosc bezmyslnie, tysiac linii w =
  dwie</DIV>
  <DIV>godziny to nic nadzwyczajnego - tylko, oczywiscie, pozniej =
zarzadzanie=20
  tym</DIV>
  <DIV>kodem (czytaj: odczytanie go nastepnego ranka, nie mowiac juz o=20
  zmianach</DIV>
  <DIV>przez inna osobe ;) jest ciezkie. C++ probowal byc odpowiedzia na =
te</DIV>
  <DIV>problemy i ograniczenia C, ale pomieszanie wolnej amerykanki z C =
z</DIV>
  <DIV>namiastkami strong typingu, i metodami "ladnego programowania" =
(klasy=20
  ;)</DIV>
  <DIV>wyszlo tak sobie - tzn. podobnie jak w C, trzeba patrzec sobie na =
  palce</DIV>
  <DIV>zeby nie popelniac bledow, ktore moglyby byc dosc latwo unikniete =
w=20
  innych</DIV>
  <DIV>jezykach, i zeby kod byl pozniej czytelny. Java moim zdaniem =
nieco</DIV>
  <DIV>podniosla czytelnosc, ale nadal daleka droga ;&gt; Wyprowadzanie=20
  czytelnych i</DIV>
  <DIV>bezpiecznych jezykow z C jest conajmniej dziwnym=20
pomyslem.</DIV></BLOCKQUOTE>
<DIV dir=3Dltr>Rynek zg=C5=82asza zapotrzebowanie na Jav=C4=99 a nie na =
Ad=C4=99, Haskele itp=20
itd. U=C5=BCywa si=C4=99 jej nie tylko w zastosowaniach stricte =
programistycznych ale jako=20
wsparcie, czyli ca=C5=82a gama j=C4=99zyk=C3=B3w skryptowych. Mo=C5=BCna =
takie skrypty zaaplikowa=C4=87=20
np. Exchange'owi by uzyska=C4=87 po=C5=BC=C4=85dan=C4=85 =
funkcjonalno=C5=9B=C4=87 np. dla uzupe=C5=82nienia o =
cz=C4=99=C5=9B=C4=87=20
text/html przesy=C5=82ek pocztowych i niusowych czy dla odrzucania =
przesy=C5=82ek=20
zawieraj=C4=85cych wirusy lub niew=C5=82a=C5=9Bciwie przygotowanych. =
Podobnie mo=C5=BCna tworzy=C4=87=20
dynamiczne witryny. Mo=C5=BCliwo=C5=9B=C4=87 u=C5=BCycia w tym miejscu =
j=C4=99zyk=C3=B3w, na jakich usi=C5=82ujesz=20
wzorowa=C4=87 si=C4=99 nie istnieje.</DIV></BODY></HTML>
------=_NextPart_000_00BE_01C101B8.B5B91360--


To archiwum zostao wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 16:51:32 MET DST