cas a 32-bit platformy

Ing. Miloslav Ponkrác postovni.holub na atlas.cz
Úterý Červen 20 20:37:18 CEST 2000


>> Pokud by to byla norma pro C, tak je to jedno,
>> protože stejně pro to nebudou překladače.

>To neni otazka prekladace, ale jednoho systemoveho headeru.

Máte pravdu. Ale v podstatě třetina normy jazyka C je jenom v systémových
headerech. Uznávám, že napsat si případně jeden header nikoho nezabije. Ale
nerad bych se po pár dalších úpravách normy dostal k tomu, že u každého
přeladače, ke kterému se dostanu si nejdříve napíšu takových dvacet
hedříků...

>> Dodnes na mnoha místech narážím na Ritchieho C, a ANSI leckde v
>> nedohlednu. Když budete chtít psát trochu přenositelně, tak na žádné
>> nové typy spoléhat nebudete.

>Zalezi na definici prenostitelnosti.

Pro mě je zdrojový kód přenositelný tehdy, když lze přenositelný algoritmus,
který je nezávislý na operačním systému (například třídění, matematické
operace, práce s datumem a časem, atd.) napsat třeba v C tak, aby se při
přenosu na jiný překladač nemusely ani trochu upravovat.

Na druhé straně uznávám, že je to hodně optimistická definice, a v mnoha
případech je k tomu dost daleko. A je to škoda.


>>Co se týká normy C++, tak to je někdy strašné prokletí.

> To mi povídejte.

Já se jenom bojím, aby se C++ nestal takovým dinosaurem odsouzeným později k
vyhynutí. Už je to dneska takový docela neskladný kolos, a udělat pro C++
překladač je moc komplikované. Dokonce i norma má strašně moc trhlin a
nekonzistencí. Dnes mnohé firmy nedokázaly udělat překladač C++ podle normy
ani po mnoha letech usilovného vývoje.

Osobně si myslím, že největší průšvih u C++ jsou knihovny. Dnes různí
analytici neposuzují programovací jazyky podle jeho konstrukcí, ale vlastně
veškeré hodnocení je v knihovnách. A tady je C++ na tom hodně špatně. V
podstatě má několik knihoven, které jsou v podstatě nalepováky jedna na
druhou. Muslím si, že C++ s dobrou knihovnou by dokázalo převálcovat mnohé
moderní jazyky s velkým předstihem. Stačí jenom vysledovat, jak moc se
zvedla obliba díky STL, jenomže STL řeší jenom malou část potřebných věcí.

Na druhé straně jsem za jazyk C++ rád, protože větší projekty jsou v C++
mnohem méně komplikované, než v C při dobrém návrhu. Kód je přehlednější,
líp se ladí, lépe se programuje v týmu.

Miloslav Ponkrác




Další informace o konferenci Linux