Portál AbcLinuxu, 31. října 2025 11:40
Brouzdal jsem na disku a narazil na jeden svůj starý projekt. Něco přes 10k řádek v C++ a něco málo v Object Pascalu.
Jako adolescent jsem C++ doslova miloval. Tehdy jsem si to užíval, mohl jsem dělat OOP kouzla, přetěžovat operátory a třeba i použít virtuální vícenásobnou dědičnost. A přitom dělat ďábelské nízkoúrovňové kousky. Třeba jsem si udělal lehkotonážní skoroimplementaci COM, abych se vyhnul práci s windows registry. Prostě se nějak posílal ukazatel na tabulku virtuálních metod, detaily jsem dávno zapomněl. Protože klientská aplikace nemohla uvolnit objekt, který získala z DLL knihovny (každý modul má vlastní heap), musela se zavolat metoda Delete, kterou objekt spáchal elegantní sebevraždu.
void __stdcall xcfgM::Delete()
{
  delete this;
}
Používal jsem taky jednu krásnou fintu, kterou bych se ale chlubit neměl. Někde jsem potřeboval, aby funkce vracela celé číslo s nějakým chybovým kódem. Nechtělo se mi deklarovat k těmto chybovým kódům konstanty (např. const int ERROR_OPENING = 5;), tak jsem používal čtyřznakové identifikátory (uzavřené do apostrofů), které šly přiřadit do 32bitového integeru. 
int result = 'cnof'; // cannot open file
Problém C++ byl, že všelijakým triků se člověk nevyhnul i kdyby chtěl. Třeba přinutit k bezešvé spolupráci moduly překládané různými překladači vyžadovalo občas invenci.
/* Some compilers tried to set enum types size to 1 byte, this constant _
   is defined to make them set this size to 4 bytes.
*/
const int _32_BIT_ALIGMENT = 2147483647; // = 2**31-1
////////////////////////////////////////////////////////////////////////
enum TInitState   {
                    istInited    = 0,
                    istNotInited = 1,
                    istDefault   = 2,
                    istNone      = 3,
                    ist_32_bit_aligment =  _32_BIT_ALIGMENT
                   };
Potom jsem ale z C++ vyrostl. Oblíbil jsem si bezpečné, silně typované jazyky jako Ada, Java a C#. To jsou nástroje pro zralé muže .
.
Samozřejmě vím, že na spoustu projektů je C++ z různých důvodů nejlepší volba. Tak ať mě tu někdo nepranýřuje, že firewall se v Javě píše blbě, já to vím. (Ale v Adě už by to šlo
A z čeho jste vyrostli vy?
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
 . PHP bylo tehdy ještě nefrčelo.
. PHP bylo tehdy ještě nefrčelo.
             18.11.2005 01:24
wake             | skóre: 30
             | blog: wake
             | Praha
        18.11.2005 01:24
wake             | skóre: 30
             | blog: wake
             | Praha
         
             
             18.11.2005 09:14
Rezza             | skóre: 25
             | blog: rezza
             | Brno
        18.11.2005 09:14
Rezza             | skóre: 25
             | blog: rezza
             | Brno
         
             18.11.2005 13:48
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        18.11.2005 13:48
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
         
             18.11.2005 13:53
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        18.11.2005 13:53
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         
             .
 .
             
  
            ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.