srovnani delphi & c++ & c#

Tomáš Hamouz hamouz@alsoft.cz
Středa Únor 2 09:45:52 CET 2005


>> - pokud knihovny prilinkovavam ke svemu programu, mohu si pouzit
>>   jakou chci konvenci bez ohledu na jazyk - je to interni zalezitost

SS> Zalezi na platforme, tohle bohuzel kazdy kompiler C/C++ neumi.
SS> Alespon zaryti UNIXaci mi tvrdili, ze pouze cdecl, nic jineho.

Pripomina mi to zdejsi obcasny flame Win/Linux.

SS> Jinak klasicke funkce jsou volany cdecl a to je vetsina volani 
SS> (jine volani totiz omezuje synataxi, neumoznuje promenny pocet
SS> parametru).

Vyhody cdecl jsou mi znamy, ale pokud napisu funkci ktera nepouziva
promenny pocet parametru a vim ze bude volana velmi cast, nevidim
jediny duvod proc neprovest rucni optimalizaci a deklarovat ji s jinou
volaci konvenci. Nastesti toto lze provest pro kazdou funkci
individualne.

SS> Dival jsem se na preklad c# do ASM a take volal pomoci zasobniku.

Je pravda ze to je C standard, a zde asi nejvetsi zpomaleni neni.

>> - pokud chci pouzit sdilene knihovny (dll) jen pro sebe, mohu pouzit
>>   libovolnou konvenci, bez ohledu na jazyk.

SS> Tohle jiz neni pravda, nebot se u DLL ocekava nektery typ volani a
SS> zadny jiny. Napriklad UDF pro Firebird, nebo DLL do nekterych
SS> aplikaci, ktere ktere umi volat DLL ocekavaji jen urcity typ
SS> volani (stdcall).

Stale zde nevidim rozpor. Pokud chci napsat UDF pro Firebird (par
jsem jich jiz napsal), _musim_ pouzit konvenci kterou urcili vyvojari
Firebirdu. Pokud si budu psat _vlastni_ program, ktery z duvodu
modularity rozdelim na exe a hromadu dll, mohu klidne pouzit volani
jake mi v danem okamziku prijdou nejucelnejsi (nema ovsem smysl byt
originalni za kazdou cenu).

>> Nejak nemohu najit kde ma Delphi tak obrovske vyhody proti
>> C++. Navic si myslim ze pomalost programu je jen hodne
>> vyjimecne zpusobena rezii jazyka (predavani parametru apod.), 

SS> Tohle bych si nedovolil tvrdit, rezie napriklad u c# je velmi podstatna
SS> (garbage collector).

GC jsem na mysli nemel (i kdyz i to ma na svedomi jen cca 10-15%
casu), mel jsem na mysli rezii danou predavanim parametru, pripadne
kvalitou optimalizace generovaneho kodu.

Uz zde zaciname byt OT.
Tomas

>> podstatne casteji nevhodnou volbou algoritmu ci nevhodnym 
>> resenim veci v tesne smycce (vypis prubehu vypoctu na obrazovku...)

SS> Souhlas.





Další informace o konferenci Hw-list