Article View: pl.comp.os.linux.programowanie
Article #347Re: Kilka pytan poczatkujacego
From: Dariusz K. Ladziak
Date: Mon, 13 Sep 1999 10:02
Date: Mon, 13 Sep 1999 10:02
44 lines
3028 bytes
3028 bytes
On Sun, 12 Sep 1999 21:20:34 GMT, noname@nowhere.com (anonimek) wrote: >Wybaczcie ze zadaje tak banalne pytania ale jestem bardzo poczatkujacy >jesli chodzi o programowanie w C/C++, prosze o wyrozumialosc. > >Chcialem sie tylko dowiedziec: >1. Dlaczego caly linux jest pisany w C a nie w C++ ? Co znaczy "caly"? Wszystkie uzytki, wszystkie aplikacje? Na pewno wszystko przejrzales? Bo mnie sie zdaje ze czesc uzytkow pisana jest w jezykach ciut nnych jak C i C++. A jesli myslisz o kernelu - no coz, kod kernela ma pracowac szybko. Technika programowania obiektowego sluzy zas temu zeby programy pisac szybko - czyli mamy naturalna sprzecznosc. Ta sama czynnosc obliczeniowa napisana nieobiektowo potrafi sie realizowac wielokrotnie szybciej niz implementacja obiektowa - po prostu obiekty wymagaja dynamicznego tworzenia w czasie wykonywania programu, spora czesc mocy maszyny idzie na zarzadzanie tym wszystkim. I poki mozna na etapie pisania kodu ostatecznie rozstrzygnac jakie byty programowe i w jakiej ilosci beda potrzebne - nie ma sensu stosowac obiektowosci jesli program nie ma byc "na wczoraj". Tak wiec przy tworzeniu interfejsow (kwestia czasu poswieconego pisaniu) czy systemow baz danych (kwestia dynamiki obiektow - ciezkiej i mozolnej do implementacji nieobiektowo) korzysta sie z obiektowosci - i wowczas wlasciwym jezykiem jest C++. Bez obiektowosci naprawde trudno rowniez stworzyc generator aplikacji - a takimi narzedziami zwykle buduje sie interfejsy graficzne czy konfiguruje systemy pomiarowe. Jesli jednak pisze sie kod czegos tak niskopoziomowego jak kernel - wowczas od wygody piszacego czy szybkosci pisania istotniejsza jest sprawnosc kodu wynikowego - i tu obiektowe pisanie nie jest specjalnie na miejscu. A jak nie piszemy obiektowo - po co C++? Wystarczy zwykle C. A i tak jak sie chce miec naprawde szybki kod - pozostaje asembler (choc przestaje to byc przenosne). Ruscy w tym chyba przoduja - sporo programow w calosci lub w duzej czesci pisza w asemblerze (np. caly Volkov Commander...) >2. Czy wobec tego nalezalo by raczej ukierunkowac zdobywanie wiedzy na >raczej niz na C++ C i C++ mozesz sie uczyc jednoczesnie - w koncu C++ to rozszerzenie C. Musisz sie tylko nauczyc gdzie konczy sie C a zaczyna C++. -- Darek
Technical Details
Message-ID:
<37dcc8a6.12005836@news.nask.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.swierk.pl!paa.gov.pl!opoka-warszawa!orion.cst.tpsa.pl!news.task.gda.pl!news.man.lodz.pl!news.nask.pl!not-for-mailReferences:
<37dc17fc.12685150@news.task.gda.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.swierk.pl!paa.gov.pl!opoka-warszawa!orion.cst.tpsa.pl!news.task.gda.pl!news.man.lodz.pl!news.nask.pl!not-for-mail From: ladzk@ite.waw.pl (Dariusz K. Ladziak) Newsgroups: pl.comp.os.linux.programowanie Subject: Re: Kilka pytan poczatkujacego Date: Mon, 13 Sep 1999 10:02:18 GMT Organization: Institute of Electron Technology Lines: 44 Message-ID: <37dcc8a6.12005836@news.nask.pl> References: <37dc17fc.12685150@news.task.gda.pl> Reply-To: ladzk@ite.waw.pl NNTP-Posting-Host: micro2.ite.waw.pl X-Newsreader: Forte Free Agent 1.11/16.235 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit