Article View: pl.comp.lang.c
Article #950Re: malloc czy (type *)malloc?
From: Michal Malecki
Date: Mon, 02 Feb 1998 13:12
Date: Mon, 02 Feb 1998 13:12
148 lines
7787 bytes
7787 bytes
Karpierz <karpierz@inter.intertele.pl> wrote:
: Uwazam Cie po prostu za pozbawionego kultury w dyskusji i zbyt
: zadufanego w swa wiedze mlodego zdolnego i niedoswiadczonego
: goscia (co nie przeczy Twej inteligencji) i dlatego taka "nienormalna"
: byla moja odpowiedz, czyli w stylu w ktorym Ty zaczales.
Ma pan absolutna racje.
:> : Jak myslisz "fachowcu" czy 7 latek w C++ (w moim przypadku)
:> : i w dwoch przypadkach stycznosc i kilkukletnia praca z kodami wielkosci
:> : 3MB i 8MB zrodel to duzo czy malo zeby jednak chociaz troche lepiej od
:> : Ciebie poznac te jezyk... ?
:> HA HA HA! Dobre sobie!
:> Ja moglbym przerobic i 20 GB kodu! I mysli pan moze, ze bylbym wtedy
:> ekspertem od tego jezyka ? Nawet po 20 latach pracy ?
: Napewno wiekszym niz w tej chwili. Bo w tej chwili nawet nie czujesz
: co ta praktyka daje i nie czujesz czego nie umiesz i z tego sie bierze
: Twoja zarozumialosc.
A wcale niekoniecznie!
Ja rozumiem, jezeli sie te iles megabajtow kodu napisze samemu. I przerobi
sie najrozniejsze metodologie programowania. Ale to JAKOSC, a nie ILOSC
tej pracy "swiadczy". I wylacznie to mialem na mysli.
:> IMHO: Nie staz i ilosc gigabajtow swiadczy o programiscie, lecz to, jak
:> zna on jezyk no i ... jak zna sie na programowaniu. Bo to sa - prawde
: mowiac
:> - dwie rozne rzeczy. O tym - mam nadzieje - "pan" wie.
: Eh.. mlodziezy... :) Tez kiedys tak mi sie zdawalo ...
No coz... i znow wprowadzilem nieporozumienie piszac trzy rzeczy i dodajac
"to sa dwie rozne rzeczy". Mnie oczywiscie chodzilo o rozroznienie
znajomosci jezyka i znajomosci programowania. Przeciez chyba pan nie
zaprzeczy.
: Szkoda slow... Jest tam taki rozdzial. Zwie sie "Raport jezyka".
: Sprobuj go docenic.
:>Jest to owszem calkiem niezla pozycja, jezeli ktos uwaza sie
:> za prawie eksperta, ale na pewno nie do nauki tego jezyka.
Jak ja owa ksiazke pierwszy raz wzialem do reki, to sie przerazilem. Mimo,
ze akurat wtedy znalem C++ juz w miare dobrze. Ale przerazilem sie, jak
zareagowalby ktos, kto sie pierwszy raz z tym jezykiem zetknal.
: Dla ekspertow jest zdecydowanie smiesznie niewystarczajaca...
A ciekaw jestem dlaczego ? Czy brakuje tam jakichs szczegolow na temat
jezyka ?
Z tego co sie orientuje, ksiazka ta jest o mozliwosciach jezyka, a nie o
metodologiach programowania.
: Ale Tobie i wszystkim (szczegolnie pracodawcom) polecam jeden
: rozdzial z tej ksiazki. 11. "Projektowanie i konstrukcja oprogramowania",
: a w niej szczegolny podrozdzial 11.4.3 "Ludzie"..
: Tak trafne spostrzezenia mogl napisac tylko ktos kto naprawde jadl
: chleb z niejednego pieca i to nie tylko z perspektywy akademickiej.
Ano domyslam sie. Juz od jakiegos czasu zamierzam sie na ta ksiazke. Ale
ciagle cos mi w tym przeszkadza (wszystko by bylo juz ok, gdyby nie brak kasy).
: A tu przyklad "konsekwencji":
: [...] napisales
:> Ja za to - przyznam bez ukrycia - jestem zagorzalym zwolennikiem tego
:> jezyka i nauczylem sie juz myslec w sposob obiektowy. Przyznam, nie bez
:> problemow. Ale zrozumienie mechanizmow obiektowych, jak rowniez innych
:> ciekawych mechanizmow w C++ zajelo mi troche mniej, niz 7 lat.
: [...] a za chwile
:> Coz, ja - prawde mowiac - stosuje obiekty, jezeli musze i to calkiem
:> sporadycznie. Ja wcale nie mysle o tym, czy program pisze obiektowo, czy
:> jakos inaczej. Ja po prostu programuje. A co z tego wyjdzie zalezy od
: mojej
:> tworczosci.
: komentarz chyba zbyteczny
Mozliwe. Ale moim zdaniem cale cytowanie bylo zbyteczne. I to ma byc przyklad
konsekwencji (lub nie) ?
:> Wyjatki powinny byc wyjatkowe.
: Nie zgadzam sie. To bardzo dobry mechanizm i powinien byc
: stosowany (zwlaszcza w jezykach obiektowych w polaczeniu
: z "garbage collection") jak najczesciej.
A ja sie zgadzam. Co prawda powinny byc stosowane, ale tylko do tego,
zeby zuniwersalizowac obsluge bledow. I tu - zgadzam sie, ze jak najczesciej.
Niemniej jednak wyjatki to bardzo silny mechanizm i dajacy multum mozliwosci.
A jak to zwykle z takimi rzeczami bywa, bardzo latwo jest uzyc je w sposob
zupelnie niezamierzony przez ich implementatora, np. w celu przekazywania
sterowania programu z jednego miejsca do drugiego.
: [...]
:> : z GUI tylko wxWindows i to tylko prywatnie a
:> : nie w pracy..., a gdzie CORBA , obiektowe bazy danych... RPC.. itp,
: itd...
:> Ech... prosze pana bo sie zaraz zalamie i pojde zebrac na centralny...
: Twoj wybor :) ale nie lepiej poswiecic jeszcze kilka latek na nauke ? :)
Tak tez zmierzam zrobic (oczywiscie to drugie). Coz, moze bedzie to wiecej,
niz pare lat. W koncu czlowiek uczy sie cale zycie.
:> : Ze wspomne o metodologiach projektowania (te wszystkie Rationale, UML-e
:> : itp...). Szkoda mowic...
:> Pewnie ze szkoda. Czy nie lepiej sie skupic na jedynym slusznym C++ ?
:> Jeden jezyk, a mozliwosci wiele. Moze wiecej maja tylko jezyki
: tokenizowane.
Oczywiscie zlekka przesadzilem. No ale ...
: Nie lepiej, jezyki tez przemijaja. Jezyk to tylko narzedzie i tak je nalezy
: traktowac. Nie ma narzedzi slusznych do wszystkiego.
Zgoda.
: Sprobuj napisac np system ekspertowy nie w Lispie czy w Prologu
: a w C, lub sprobuj napisac kernel Linuxa w SQL-u albo w UML-u...
Nie widze problemu. Oczywiscie w zrobieniu tego wszystkiego w C++.
Ale niekiedy nie ma co wytaczac armate na wrobie. Jezeli to ma byc program,
ktory ma cos warunkowo odpalac (z crontaba powiedzmy) to chyba lepiej
napisac skrypt shella.
: Co rozumioesz pod pojeciem "jezyki tokenizowane" ?
Np. Jave. Wieksze mozliwosci wynikaja z dwoch rzeczy: po pierwsze mozna
odpalic to na dowolnym sprzecie po skompiloaniu. Druga zaleta to to, ze
pola struktur identyfikowane sa po nazwie (czyli pelne wiazanie nastepuje
w momencie uruchomienia). Niemniej jednak ten jezyk jest po pierwsze obciety
o pewne mozliwosci w stosunku do C++, a po drugie jest wielokrotnie wolniejszy
(co chyba nie jest dziwne).
: Istnieje cale mnostwo starych i nowych jezykow ktore maja wieksze
: mozliwosci od C++. I C++ raczej w sensie formalnym i mozliwosci
: zostaje w tyle. Gdzie indziej tkwi przyczyna sily i popularnosci C++.
Tak ? Gdzie ? Wiem, ze takie jezyki istnieja, ale prosze mi podac mozliwosci,
jakich C++ nie posiadajac zostaje w tyle (przy okazji: wielozadaniowosc
nie bedzie tu najszczesliwszym przykladem, przynajmnije dla UNIX'a).
:> Owszem. Ja mam swoje przyzwyczajenia i mnie nic nie przekabaci.
: Zycie czyli praca, praktyka, szefowie , zona itd/itp :)
: Porozmawiamy za kilka lat...
Nie, nic z tego. Chyba, ze ktos wymysli lepszy jezyk. Ale to nie bedzie
zmiana przyzwyczajen.
--
.---. . . - Michal Malecki <mmalecki@technologist.com>/The things that
\___ ,-. | , |- ,-. ,- mUd: zly.mud.org.pl 4000. /can't destroy you
\ |-' |< | | | | uRl: www.kis.p.lodz.pl/~sektor /make you
`---' `-' ' ` `' `-' ' pGp: sektor@zly.kis.p.lodz.pl /stronger...
Technical Details
Message-ID:
<6b4goq$477@polonez.man.lodz.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!news.man.lodz.pl!not-for-mailReferences:
<34CCAF18.4877@imm.org.pl> <6ak737$hru$1@helios.man.lublin.pl> <01bd2b0e$c612cfa0$89baccc2@karpierz.dyn.ml.org> <6alcq4$7u6@polonez.man.lodz.pl> <01bd2b80$36ada5c0$84baccc2@karpierz.dyn.ml.org> <6aqknk$p7k@polonez.man.lodz.pl> <01bd2cf4$7ff8dc20$8ebaccc2@karpierz.dyn.ml.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!news.man.lodz.pl!not-for-mail From: Michal Malecki <sektor@zly.kis.p.lodz.pl> Newsgroups: pl.comp.lang.c Subject: Re: malloc czy (type *)malloc? Date: 2 Feb 1998 13:12:58 GMT Lines: 148 Message-ID: <6b4goq$477@polonez.man.lodz.pl> References: <34CCAF18.4877@imm.org.pl> <6ak737$hru$1@helios.man.lublin.pl> <01bd2b0e$c612cfa0$89baccc2@karpierz.dyn.ml.org> <6alcq4$7u6@polonez.man.lodz.pl> <01bd2b80$36ada5c0$84baccc2@karpierz.dyn.ml.org> <6aqknk$p7k@polonez.man.lodz.pl> <01bd2cf4$7ff8dc20$8ebaccc2@karpierz.dyn.ml.org> NNTP-Posting-Host: sektor@zly.kis.p.lodz.pl User-Agent: tin/pre-1.4-980105 (UNIX) (SunOS/5.5.1 (i86pc)) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit