C nebo C++ v serverove aplikaci na Linuxu - delsi
Ing. Miloslav Ponkrác
miloslav.ponkrac na infos.cz
Úterý Červenec 2 10:25:40 CEST 2002
>Pouzivat vyjimky je velmi spatny napad - jednotlive verze gcc
>kompilatoru
>pri nich ruzne kolabuji, neuvolnuji pamet a delaji jine vylomeninu.
Osobně bych dnes nenazval kompilátorem C++ něco, co nezvládne výjimky.
Hledal bych raději jiný kompilátor, je-li ta možnost.
>Pokud je mozne se jim vyhnout uz pri navrhu doporucuji tak ucinit!!!
>(pokud tedy nehodlate nutit uzivatele pouzivat nejposlednejsi gcc z CVS)
>(stejne je to i s dynamickym pretypovanim)
Ani dynamické přetypování ne?
>> veci, jako je automaticke uvolnovani pameti, automaticke
>> "nafukovani" poli pri pridavani prvku, tridy pro bezpecnou praci
>
>To je tako blbost - na tohle si napisu v Cecku asi tak stejne
>efektivni macro set, ktery se bude chovat stejne jako string nebo
>vector.
Ano, v C, stejně tak jako jiném jazyku napíšete totéž. Také to lze psát v
assembleru například. IMHO není otázkou, jestli to lze napsat, ale jak
efektivně to lze napsat, a zacházet s tím.
>Myslim, ze s avifilem a C++ jsem si uzil celkem krusne chvilky - je
>nebetycne slozitejsi napsat C++ kod, ktery jakztaks zkompilujete na
>vsech
>moznych i nemoznych hardwarech - prenositelnost napr na Sun a jine
>platformy
>je kapitolou sama pro sebe - neinicializuji se tam staticke tridy apod.
Ano, souhlasím s tím, že málokterý (spíše žádný) kompilátor dnes nepodporuje
veškeré vymoženosti C++. Lze se domnívat, že během několika let tato
nevýhoda zmizí. Dnes je potřeba psát v podmnožině C++, tedy nejít až do
krajností jeho možností.
Pokud chcete psát naprosto přenositelně, tj. chcete to přenést na desítky
platforem, je výhodnější čisté C. Pokud ovšem jde třeba jen o Windows/Linux,
tak se slušný kompilátor sehnat snad dá. Třeba na Windows dnes už nejsou
prakticky problémy s překladači C++.
Co se týká Sunu, tak mám pocit, že tam je leccos takové podivné. Ať dělám,
co dělám, všude nacházím upozornění, že na Sunu jsou na všech stranách
problémy.
>Proste pokud chcete mit zaruku jistoty a stability ze vam kod pobezi
>vazne vsude - tak jedine Cecko - cas ktere ztratite tim, ze se budete
>trochu vice pachtit s nekterymi zalezitostmi na ktere v C++ jsou ruzne
>sablony apod se bohate vrati v tom, ze nebudete muset premyslet
>proc to proboha zase nefuguje tam ci onde...
Souhlasím. Na druhé straně dle mého stále C++ stojí za zvážení. Tak zlé to s
kompilátory není.
Jde o to, že standard C++ je mladší, než standard C, a kompilátory vlastně
stále standard C++ trochu dobíhají, alespoň na některých platformách.
Standard C++ je značně rozsáhlý, mnohonásobně rozsáhlejší, než v C. Na druhé
straně, co Vám brání využívat jen základ C++, i tak tím získáte mnoho.
Pokud ovšem nepožadujete absolutní přenositelnost, tak je zase úvaha ve
prospěch C++.
Na druhé straně si mnozí lidé představují přenositelnost tak, že to přeloží
GCC.
MP
Další informace o konferenci Linux