Kak
71 отговора
3168 прегледа
Мнооого внимателничко...
...го премествам в другия крачол и отивам някъде да пия водка.
Решил съм да не се ядосвам за глупости и да живея до 120 години
Решил съм да не се ядосвам за глупости и да живея до 120 години
Re: Kak
я раздуй като за един ATL/WTL/STL фен защо темплейтите на Ц++ да са гадно нещо? шаблоните(да използвам родната думичка), според теб, са гадни по принцип или просто твоите колеги ги ползват по особено гаден начин?
комплексиран... като баба ти!!!
комплексиран... като баба ти!!!
Re: Мнооого внимателничко...
Супер стратегия, ще ми се и аз да можех така. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Kak
За един code reusage фен шаблоните са много хубаво нещо, за един copy-paste фен са нещо лошо. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Kak
1. Templatite iziskwat po-dobri coding skills i znania - az lichno sum nazad malko s materiala. Sushto i njakoi ot kolegite mi. Znachi li che trjabwa da uchim izlishni neshta za da si wurshim rabotata? Tuka imash tochka obache - rano ili kusno trjabwa da se nauchat po-dobre tezi neshta
2. Skorostta na compilirane pada znachitelno. Njamame wuzmozhnost pod MSVC i CodeWarrior da polzwame njakakwi uskoriteli - koito MSVC-to ima.
3. Razmera na object faila se uvelichawa znachitelno (debug informatziata) - tova znachi po-goljama pamet za debugwane (EXE-to ni za XBOX e 14MB, no za PS2 e kum 50MB poradi fakta che GCC_to ne optimizira dobre neshtata - no tam ima i drugi problemi)
4. Debugwaneto e znachitelno po-trudno (ne debugwame samo sus MSVC ili .NET, no i sus ProDG i Metrowerks - i te chesto sa i nestabilni)
5. Zloupotrebjawa se s tjah - naprimer - chesto koda se postawja wuw HEADER failovete (wizh tochka 2). Templatizirat se i enumove - i chesto se stiga do tam che za danni ot pochti edin i sushti tip (da kazhem int, i njakolko drugi enuma) se generira razlichen kod - ot tam i uvelichenie na faila (pishem za konsoli - 24MB pamet ima GameCube-a da kazhem - "EXE"-to mozhe da e maximum 4MB).
6. Chesto se poluchwa nerazbiraem (ot pruw pogled) kod - C++ sus wuzmozhsnostite si predostawja na programista da napravi nehstata po-mnogo razlichen nachin i chesto se poluchawa konfrontatzia mezhdu programistite. Tipichen primer za raznite tam functori. Njakoi kazwat Scott Myers trjabwa da se chete - obache njakoi kazwat che i drugi hora trjabwat.
7. STL-a ne e tolkova portable, i bez problemi - osven tova BLOATVA dosta koda. Dissasembliraj i wizh. Ot tuka ima i srutwane na L1/L2 cache, uvelichenie na EXE koda i razni drugi raboti.
Moga i oshte da izbroja...
Za toolove e idealen, no za video-game console development - NE!
Chisto moe mnenie obache - njakude kum 75-80% ot ekipa mi smjatat che ne sum prav.
Bih iskal da rabotja w japonska kompania - kato Namco, Capcom ili Konami - kudeto wse oshte pishat dosta dobri (edni ot naj-dobrite) igri - i to samo na chisto C (eh ne chisto - no znaesh kakvo imam predvid) - te prosto sa swiknali da ne se pritesnjawat sus novoizlezlite formi na "programen govor" - predpochitat sus "prosti dumi" da pishat i ottam stabilnost, portabilnost, burza skorost na kompilirane i ne na poslednoto mjasto - takuv kod po-lesno se proverjawa ot programni sredstwa kato LINT - po-lesen za analiz e - sushto i po-lesen za kompilatora da go smeli.
Tova ot moja strana ;)
Da ne propusnem che i ABI-to na C++ wse oshte ne e nanikude,
i ako reshish da pravish biblioteka - to togava trjabwa da e prekompilirash za wseki kompilator kojto shte se izpolzwa. Naprimer za GCC 2.95.3, GCC 2.96, GCC 3.02 - ako e na C - mozhe samo edna biblioteka za wsichkite da izpatkash - sushtata shte se polzwa i bez problem pod Metrowerks....
ta tova ;)
tirulirutatuutuu
2. Skorostta na compilirane pada znachitelno. Njamame wuzmozhnost pod MSVC i CodeWarrior da polzwame njakakwi uskoriteli - koito MSVC-to ima.
3. Razmera na object faila se uvelichawa znachitelno (debug informatziata) - tova znachi po-goljama pamet za debugwane (EXE-to ni za XBOX e 14MB, no za PS2 e kum 50MB poradi fakta che GCC_to ne optimizira dobre neshtata - no tam ima i drugi problemi)
4. Debugwaneto e znachitelno po-trudno (ne debugwame samo sus MSVC ili .NET, no i sus ProDG i Metrowerks - i te chesto sa i nestabilni)
5. Zloupotrebjawa se s tjah - naprimer - chesto koda se postawja wuw HEADER failovete (wizh tochka 2). Templatizirat se i enumove - i chesto se stiga do tam che za danni ot pochti edin i sushti tip (da kazhem int, i njakolko drugi enuma) se generira razlichen kod - ot tam i uvelichenie na faila (pishem za konsoli - 24MB pamet ima GameCube-a da kazhem - "EXE"-to mozhe da e maximum 4MB).
6. Chesto se poluchwa nerazbiraem (ot pruw pogled) kod - C++ sus wuzmozhsnostite si predostawja na programista da napravi nehstata po-mnogo razlichen nachin i chesto se poluchawa konfrontatzia mezhdu programistite. Tipichen primer za raznite tam functori. Njakoi kazwat Scott Myers trjabwa da se chete - obache njakoi kazwat che i drugi hora trjabwat.
7. STL-a ne e tolkova portable, i bez problemi - osven tova BLOATVA dosta koda. Dissasembliraj i wizh. Ot tuka ima i srutwane na L1/L2 cache, uvelichenie na EXE koda i razni drugi raboti.
Moga i oshte da izbroja...
Za toolove e idealen, no za video-game console development - NE!
Chisto moe mnenie obache - njakude kum 75-80% ot ekipa mi smjatat che ne sum prav.
Bih iskal da rabotja w japonska kompania - kato Namco, Capcom ili Konami - kudeto wse oshte pishat dosta dobri (edni ot naj-dobrite) igri - i to samo na chisto C (eh ne chisto - no znaesh kakvo imam predvid) - te prosto sa swiknali da ne se pritesnjawat sus novoizlezlite formi na "programen govor" - predpochitat sus "prosti dumi" da pishat i ottam stabilnost, portabilnost, burza skorost na kompilirane i ne na poslednoto mjasto - takuv kod po-lesno se proverjawa ot programni sredstwa kato LINT - po-lesen za analiz e - sushto i po-lesen za kompilatora da go smeli.
Tova ot moja strana ;)
Da ne propusnem che i ABI-to na C++ wse oshte ne e nanikude,
i ako reshish da pravish biblioteka - to togava trjabwa da e prekompilirash za wseki kompilator kojto shte se izpolzwa. Naprimer za GCC 2.95.3, GCC 2.96, GCC 3.02 - ako e na C - mozhe samo edna biblioteka za wsichkite da izpatkash - sushtata shte se polzwa i bez problem pod Metrowerks....
ta tova ;)
tirulirutatuutuu
Re: Kak
Spored men tryabva. Pyk i az lichno predpochitam da vodya lekcii, otkolkoto da implementiram neshta, koito veche sym si izyasnil v detayli (prosto ne mi e interesno).
V prednata firma obache mi se kachiha na glavata. Ne, che prekalyavaha s vyprosite, no "blagodarnostite" im nyakak si ne mi haresaha... Ta sega vnimavam. Sha vzimam merki, ako/kato se naloji.
> и ти да попиташ де
Silno se nadyavam tova da ne prozvuchi samohvalno, ama ne go vijdam koga shte doyde tova vreme. V tova vinagi sym bil nay-dobriyat - uchene i prepodavane. V byrzoto kodirane napr. hich me nyama naposledyk, odyrtyah.
> или трябва да ги оставите да се гърчат и да четат сами
Po princip tryabva. Ama mi e trudno da otkazvam.
> май човек трябва да е лош, за да го уважават а?
Hich ne e zadyljitelno. No samo s uvajenie ne se jivee.
V prednata firma obache mi se kachiha na glavata. Ne, che prekalyavaha s vyprosite, no "blagodarnostite" im nyakak si ne mi haresaha... Ta sega vnimavam. Sha vzimam merki, ako/kato se naloji.
> и ти да попиташ де
Silno se nadyavam tova da ne prozvuchi samohvalno, ama ne go vijdam koga shte doyde tova vreme. V tova vinagi sym bil nay-dobriyat - uchene i prepodavane. V byrzoto kodirane napr. hich me nyama naposledyk, odyrtyah.
> или трябва да ги оставите да се гърчат и да четат сами
Po princip tryabva. Ama mi e trudno da otkazvam.
> май човек трябва да е лош, за да го уважават а?
Hich ne e zadyljitelno. No samo s uvajenie ne se jivee.
Re: Kak
Да, и аз мисля по подобен начин вече.
Шаблоните стават, за нещо като STL, ама прекалената им употреба води до увеличаване на времената за компилация и преливане на кода от cpp-тата в header-ите.
За debug-ването си абсолютно прав! За четимоста също - сега като се замисля в предния проект колко код би бил по разбираем и дебъгваем ако си беше на чисто C!! Четох наскоро сорсове на Quake 3 и просто се изумих колко чисто и ясно е всичко (малко зле структурирано, ама..).
И да - говорим си за гейм-девелопинг тука, спор да няма. Не знам какво е ATL/WTL, много им здраве на всички спецове в тази област, ама аз там без нужда не стъпвам...
Шаблоните стават, за нещо като STL, ама прекалената им употреба води до увеличаване на времената за компилация и преливане на кода от cpp-тата в header-ите.
За debug-ването си абсолютно прав! За четимоста също - сега като се замисля в предния проект колко код би бил по разбираем и дебъгваем ако си беше на чисто C!! Четох наскоро сорсове на Quake 3 и просто се изумих колко чисто и ясно е всичко (малко зле структурирано, ама..).
И да - говорим си за гейм-девелопинг тука, спор да няма. Не знам какво е ATL/WTL, много им здраве на всички спецове в тази област, ама аз там без нужда не стъпвам...
Re: Kak
a ako idiota si ostavi otpechatacite po tvoite tvorbi i pochnat da te vdigat posrednosht prez den zashtoto krashva v production /poneje idiota i da go vdigat vse taia/?
Re: Kak
>>За четимоста също - сега като се замисля в предния проект колко код би бил по разбираем и дебъгваем ако си беше на чисто C!!
айде айде, тук можем да почнем поредната свещена война на езиците. на мен примерно са ми по-читаеми няколко класа и полиморфизъм отколкото дебели switch-ове и ненормални структури с указатели към функции.
колкото до производителността - прави сте, по-бързо е... ама и хасан е хора и иска да му е лесно и добре организирано нали?
комплексиран... като баба ти!!!
айде айде, тук можем да почнем поредната свещена война на езиците. на мен примерно са ми по-читаеми няколко класа и полиморфизъм отколкото дебели switch-ове и ненормални структури с указатели към функции.
колкото до производителността - прави сте, по-бързо е... ама и хасан е хора и иска да му е лесно и добре организирано нали?
комплексиран... като баба ти!!!
Re: Kak
za da sushtestvuva 'obuchenie' sa neobhodimi 2 entities - obuchavasht i obuchavan. samo s 1nia ne stava
nikoga ne sum otkazala da obiasnia nishto na kogoto i da e. nezavisimo kolko mi e nelicepriaten choveka otsreshta. tova koeto uporito otkazvam da pravia obache e da obiasniavam kakvoto i da e po 2 puti. jivotut e kratuk i niamam namerenie da go gubia v bezmisleni obiasnenia s hm nevazpriemashti individi, da rechem
no moje bi Resurrector e prav. kak puk na men ne mi se nalaga niakoi da me obuchava?
nikoga ne sum otkazala da obiasnia nishto na kogoto i da e. nezavisimo kolko mi e nelicepriaten choveka otsreshta. tova koeto uporito otkazvam da pravia obache e da obiasniavam kakvoto i da e po 2 puti. jivotut e kratuk i niamam namerenie da go gubia v bezmisleni obiasnenia s hm nevazpriemashti individi, da rechem
no moje bi Resurrector e prav. kak puk na men ne mi se nalaga niakoi da me obuchava?
Re: Kak
абе така е то, обаче като намесиш вътре темплейтите и цялата четимост отива по дяволите...за дебъгваемостта и времето за компилиране да не говорим. ние затуй сме минимизирали отвсякъде използването им и template е почти мръсна дума тук.
Re: Мнооого внимателничко...
nevazmojnostta mi da posledvam suveta ti e fizicheski obuslovena
Re: Kak
е това е спорно :) your mileage may vary
кое е по-четливо?
//container c;
for(int z = 0; z < count; z++)
{
//razpyvame tuka kvoto sha pravim s c[z]
}
или
for_each(c.begin(), c.end(), MyFunc);
да не говорим, че ако е нещо стандартно (тва дето се прави в MyFunc) можеш да си лепнеш някой от стандартните функтори... или да използваш bind за да си пригодиш нещо. айде спирам, виждам как не отиваме наникъде
комплексиран... като баба ти!!!
кое е по-четливо?
//container c;
for(int z = 0; z < count; z++)
{
//razpyvame tuka kvoto sha pravim s c[z]
}
или
for_each(c.begin(), c.end(), MyFunc);
да не говорим, че ако е нещо стандартно (тва дето се прави в MyFunc) можеш да си лепнеш някой от стандартните функтори... или да използваш bind за да си пригодиш нещо. айде спирам, виждам как не отиваме наникъде
комплексиран... като баба ти!!!
Kak taka
stana che vsichki det sa v toia forum vse te obiasniavat i vse na tiah im prechat :))), edva li e taka
Re: Kak
Geniite winagi ostawat nerazbrani (kakwoto i da znachi towa),
a doktor Qndra preporychwa klizma (az syshto preporychwam).
pochitaniq,
Yontchew
a doktor Qndra preporychwa klizma (az syshto preporychwam).
pochitaniq,
Yontchew
Re: Kak
за всяко нещо си има приложение - трябва да се преценят плюсовете/минусите за конкретния проект и да не се прекалява с абстракции и работи, които уж помагат
а проблемът е, че обикновено нещата се използват по навик или (много по-лошо) защото така е модерно
типичен пример - сваляш някакъв сорс от нета и като го отвориш да го разгледаш - вътре класове бъкани с виртуални функции, template-и, наследявания, простотии, а то кво - съществения код е някакви си 20 реда, които едва успяваш да издириш из няколкото (!) файла...идиотия на мах
а проблемът е, че обикновено нещата се използват по навик или (много по-лошо) защото така е модерно
типичен пример - сваляш някакъв сорс от нета и като го отвориш да го разгледаш - вътре класове бъкани с виртуални функции, template-и, наследявания, простотии, а то кво - съществения код е някакви си 20 реда, които едва успяваш да издириш из няколкото (!) файла...идиотия на мах