RE: Jádro pudla (Cernobily svet) :-)

Marek Pavlu pavlu@HWserver.cz
Neděle Březen 5 22:31:26 CET 2006


Zdravim, 

Ta komunikace tasku me docela zajima, je o tom nekde clanecek? :). 

S pozdravem, 
                Marek Pavlu 

//  -----Original Message----- 
//  From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On 
//  Behalf Of Ales Prochaska 
//  Sent: Sunday, March 05, 2006 10:05 PM 
//  To: hw-list@list.hw.cz 
//  Subject: Re: Jádro pudla (Cernobily svet) :-) 
//  
//  Tyhle kontrolni funkce se normalne pouzivaji jen pri ladeni, pak se 
//  vypnou. Ale nemely by vadit ani v ostrem provozu (kde se ovsem 
//  exception osetruje zapisem do logu a tise se doufa, ze si toho 
//  zakaznik nevsimne driv nez dodavatel), protoze malokdy se narazi na 
//  misto kde by to vadilo z hlediska rychlosti. Program je totiz ve 
//  vetsine realnych pripadu bud s obrovskou rezervou dostatecne rychly, 
//  ze unese jeste spoustu dalsich veci a nebo je naopak natolik pomaly, 
//  ze se prislusna cast programu musi zgruntu predelat. 
//  
//  Jinak aby nedochazelo k mateni nezasvecenych: u Ady je tahle typova 
//  kontrola jakasi drobna samozrejmost, jeji hlavni sila je v perfektne 
//  propracovane synchronizaci tasku (threadu) a mezitaskove komunikaci a 
//  v portabilite na urovni zdrojaku dotazene ad absurdum. 
//  
//  Ales Prochaska 
//  
//  > Zdravim, 
//  
//  > Z reakci Marka Pasky na c/c++, programators, OS, konfetách vim, co je 
//  jeho 
//  > hoby a co je jeho studijni/pracovni zajem. 
//  > Je to 100% informatik, ktery zije na velkých systémech, to dokazuje i 
//  veta, 
//  > cituji: 
//  > "Pro kontrolu celočíselných mezí existuje v současných procesorech 
//  speciální 
//  > instrukce, takže režie s tím spojená se u reálných aplikací počítá na 
//  > jednotky procent." 
//  
//  > Ocividne zapomina na 99% ostatich procesoru mimo domenu velkych 
//  > procesoru:(((. Ale to jen takovy my lehky zhodnoceni, kampak Marek 
//  Paska by 
//  > chtel Adu pouzit:). 
//  
//  > Jinak to jedine, co mi prislo zajimave neni moznost nadefinovat nove 
//  > typy(C++ umi, pretizeni operatoru taky) a nechat se Adou privazat k 
//  posteli 
//  > a vydat se do raje sadomaso:), ale explicitne vymezit rozsah typu. 
//  
//  > Tohle muze byt z bezpesnostniho hlediska opravdu velke plus, jenze na 
//  druhe 
//  > strane to znamena, ze kazda operace s takovym typem musi po skonceni 
//  byt 
//  > otestovana, zda nahadou nedoslo k přetečeni. 
//  
//  > Jasne, da se rict, ono se to ted stejne dela, jenze je propastny 
//  rozdil, 
//  > jestli mam hranice datoveho typu dane binarni soustavou a tim padem 
//  testuji, 
//  > jestli pretekl bit nebo a nebo tam mam meze jako cisla, ktera nelze 
//  testovat 
//  > jednim bitem. 
//  
//  > Co tim myslim? : 
//  
//  > UINT16 0 - 65535 
//  
//  > Nula je OK, kdyz pretece 65535->65536 tak se mi nastavi carry v CPU a 
//  je to 
//  > OK. 
//  
//  > UserTyp  0 - 32456 
//  > A jsem v haji, test po kazde operaci, pokud chci testovat, zda doslo k

//  > preteceni musim resit jako rozdil hranice a hodnoty v takovem typu. 
//  
//  > Vetsina procesoru bude mit nutne rychlejsi praci s typem, jehoz meze 
//  jsou 
//  > 2^k-1 respektive -2^k ... 
//  
//  > Tohle se asi tezko da udelat rychleji, prtoze musim dat procesoru 
//  radove 
//  > vetsi mnozstvi informaci, aby tu typovou kontrolu program zpracoval, 
//  nez jen 
//  > stare dobre testovani příznaku :(... 
//  
//  
//  > S pozdravem, 
//  >                 Marek Pavlu 
//  
//  > //  -----Original Message----- 
//  > //  From: hw-list-bounces@list.hw.cz 
//  > [mailto:hw-list-bounces@list.hw.cz] On 
//  > //  Behalf Of Ales Prochaska 
//  > //  Sent: Sunday, March 05, 2006 7:12 PM 
//  > //  To: hw-list@list.hw.cz 
//  > //  Subject: Re: Jádro pudla (Cernobily svet) :-) 
//  > // 
//  > //  Uz zminovana Ada zadny "int" nema. Ma jen prostredky jak popsat 
//  > //  celociselny typ, napriklad 
//  > //      type int is range -32768..32767; 
//  > //  nebo jinak 
//  > //      type int is range -2**15 .. 2**15-1; 
//  > //  nebo 
//  > //      type int is digits 6; 
//  > //  jak je libo. A ted prekvapko: 
//  > //      var jablka is range -32768..32767; 
//  > //      var hrusky is range -32768..32767; 
//  > //  deklaruje dve _nekompatibilni_ promenne "jablka" a "hrusky". Ale 
//  > //  radeji se podivejte do clanku Marka Pasky 
//  > //  http://www.root.cz/clanky/bezpecne-programovani-ala-ada , tam je 
//  to 
//  > //  velmi prehledne shrnute. 
//  > // 
//  > //  Ales Prochaska 
//  > // 
//  //  >> Zdravim, 
//  > // 
//  //  >> Jak? 
//  //  >> Prece kazdy jazyk v základech dostane do vinku něco na způsob 
//  > //  celociselnych 
//  //  >> cisel a jejich operace, takze datovy typ. Dobře, nektere jazyky 
//  to 
//  > //  nemai tak 
//  //  >> dobře videt, ze to je int, ale ty operace a typy tam na pozadi 
//  jsou. 
//  > // 
//  //  >> Jaky jazyk nema datovy typ int(alespon schovany), ze do nej 
//  nemuzu 
//  > //  vlozit 
//  //  >> zadne cislo??? Protože JEN TAKOVY JAZYK BY SPLNIL VASE 
//  POZADAVKY... 
//  > // 
//  //  >> S pozdravem, 
//  //  >>                 Marek Pavlu 
//  > // 
//  //  >> //  -----Original Message----- 
//  //  >> //  From: hw-list-bounces@list.hw.cz 
//  //  >> [mailto:hw-list-bounces@list.hw.cz] On 
//  //  >> //  Behalf Of Ales Prochaska 
//  //  >> //  Sent: Sunday, March 05, 2006 9:12 AM 
//  //  >> //  To: hw-list@list.hw.cz 
//  //  >> //  Subject: Re: Jádro pudla (Cernobily svet) :-) 
//  //  >> // 
//  //  >> //  Jazyk to muze ovlivnit tak, ze programator je primo nucen 
//  zvolit 
//  //  >> //  datovy typ (ruzny od int). Pokud i potom poplete jednotky 
//  neni to 
//  > //  uz 
//  //  >> //  omyl ale sabotaz ;-) 
//  //  >> // 
//  //  >> //  Ales Prochaska 
//  //  >> // 
//  //  //  >>> Zdravim, 
//  //  >> // 
//  //  //  >>> Asi takoto, v C si muzu udelat extra datovy typ 
//  //  >> // 
//  //  //  >>> typedef mile int; 
//  //  //  >>> typedef meter int; 
//  //  >> // 
//  //  //  >>> A k tomu sadu konverznich funkci a MAM TYPOVOU KONTROLU 
//  :))). 
//  //  >> // 
//  //  //  >>> V C++ si vytvorim objekty mCmile a mCmeter, kterym pretizim 
//  > //  operatory 
//  //  >> //  pro 
//  //  //  >>> +,-,*,/,^ a mam ještě lepsi typovou kontrolu nez v C. 
//  //  >> // 
//  //  >> // 
//  //  //  >>> Tohle není problem jazyka, ale toho, ze 95% programatoru to 
//  > //  neudela, 
//  //  >> //  ale 
//  //  //  >>> udela toto: 
//  //  >> // 
//  //  //  >>> int mile, meter; 
//  //  >> // 
//  //  //  >>> mile = 1235; 
//  //  //  >>> meter = 5; 
//  //  >> // 
//  //  //  >>> mile += k*meter; 
//  //  >> // 
//  //  //  >>> //a nebo toto: 
//  //  >> // 
//  //  //  >>> mile += meter; 
//  //  >> // 
//  //  //  >>> // a spadne jim sonda za 100 milionu USD na budku, 
//  //  //  >>> // protože ZAPOMNELI VYNASOBIT METR KONSTANTOU!!! 
//  //  //  >>> // :)))))))))))))))))... 
//  //  >> // 
//  //  //  >>> Tak to je a i Pascal se z toho posere, respektive ta sonda, 
//  kdyz 
//  //  >> //  programátor 
//  //  //  >>> je prase a promenne s ruznymi jednotkami v kritických 
//  systémech 
//  //  >> //  nazabali do 
//  //  //  >>> tridy nebo neobali datovy typ funkcemi, aby typova kontrola 
//  byla 
//  > //  i k 
//  //  >> //  necemu, 
//  //  //  >>> nez jen k hovnu:(. 
//  //  >> // 
//  //  >> // 
//  //  //  >>> S pozdravem, 
//  //  //  >>>                 Marek Pavlu 
//  //  >> // 
//  //  //  >>> //  -----Original Message----- 
//  //  //  >>> //  From: hw-list-bounces@list.hw.cz 
//  //  //  >>> [mailto:hw-list-bounces@list.hw.cz] On 
//  //  //  >>> //  Behalf Of Ales Prochaska 
//  //  //  >>> //  Sent: Saturday, March 04, 2006 11:16 PM 
//  //  //  >>> //  To: hw-list@list.hw.cz 
//  //  //  >>> //  Subject: Re: Jádro pudla (Cernobily svet) :-) 
//  //  //  >>> // 
//  //  //  >>> //  No, kdyz neni bordel v navrhu, ani si nevsimnete ze 
//  nejaka 
//  > //  typova 
//  //  //  >>> //  kontrola existuje. 
//  //  //  >>> // 
//  //  //  >>> //  Ales Prochaska 
//  //  //  >>> // 
//  //  //  //  >>>> At 22:54 4.3.2006, Ales Prochaska wrote: 
//  //  //  //  >>>>>To co predevsim nemivaji nekteri programatori radi je 
//  //  //  //  >>>>>silna typova kontrola kterou povazuji za zbytecnou 
//  > //  administrativu 
//  > // 
//  //  >> //  a 
//  //  //  //  >>>>>brzdu tvurciho rozletu. Pak tvurcim zpusobem 
//  interpertuji 
//  > //  hodnotu 
//  > // 
//  //  >> //  v 
//  //  //  //  >>>>>metrech jako udaj ve stopach a spadne jim Mars Polar 
//  Lander 
//  > //  :-) 
//  //  //  >>> // 
//  //  //  //  >>>> To neni problem typove kontroly (int je int i kdyz jsou

//  to 
//  > //  hrusky 
//  > // 
//  //  >> //  nebo 
//  //  >> // 
//  //  //  //  >>>> jabka), ale bordelu v navrhu. 
//  //  //  >>> // 
//  //  //  //  >>>> (A to je presne problem tehle debaty: micha jabka a 
//  hrusky 
//  > //  :o) ) 
//  //  //  >>> // 
//  //  //  >>> // 
//  //  //  //  >>>> Jindroush (kubecj@avast.com) 
//  //  //  //  >>>> http://www.kostky.org - Pro fany stavebnic LEGO. 
//  //  //  >>> // 
//  //  //  //  >>>> _______________________________________________ 
//  //  //  //  >>>> HW-list mailing list  -  sponsored by www.HW.cz 
//  //  //  //  >>>> Hw-list@list.hw.cz 
//  //  //  //  >>>> http://list.hw.cz/mailman/listinfo/hw-list 
//  //  //  >>> // 
//  //  //  >>> // 
//  //  //  >>> //  _______________________________________________ 
//  //  //  >>> //  HW-list mailing list  -  sponsored by www.HW.cz 
//  //  //  >>> //  Hw-list@list.hw.cz 
//  //  //  >>> //  http://list.hw.cz/mailman/listinfo/hw-list 
//  //  >> // 
//  //  >> // 
//  //  >> // 
//  //  //  >>>   _____ 
//  //  >> // 
//  //  //  >>> avast! Antivirus <http://www.avast.com>  : Odchozi zprava 
//  cista. 
//  //  >> // 
//  //  >> // 
//  //  //  >>> Virova databaze (VPS): 0609-3, 03.03.2006 
//  //  //  >>> Testovano: 5.3.2006 7:55:40 
//  //  //  >>> avast! - copyright (c) 2000-2003 ALWIL Software. 
//  //  >> // 
//  //  >> // 
//  //  >> // 
//  //  //  >>> _______________________________________________ 
//  //  //  >>> HW-list mailing list  -  sponsored by www.HW.cz 
//  //  //  >>> Hw-list@list.hw.cz 
//  //  //  >>> http://list.hw.cz/mailman/listinfo/hw-list 
//  //  >> // 
//  //  >> // 
//  //  >> //  _______________________________________________ 
//  //  >> //  HW-list mailing list  -  sponsored by www.HW.cz 
//  //  >> //  Hw-list@list.hw.cz 
//  //  >> //  http://list.hw.cz/mailman/listinfo/hw-list 
//  > // 
//  > // 
//  > // 
//  //  >>   _____ 
//  > // 
//  //  >> avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 
//  > // 
//  > // 
//  //  >> Virova databaze (VPS): 0609-3, 03.03.2006 
//  //  >> Testovano: 5.3.2006 18:29:38 
//  //  >> avast! - copyright (c) 2000-2003 ALWIL Software. 
//  > // 
//  > // 
//  > // 
//  //  >> _______________________________________________ 
//  //  >> HW-list mailing list  -  sponsored by www.HW.cz 
//  //  >> Hw-list@list.hw.cz 
//  //  >> http://list.hw.cz/mailman/listinfo/hw-list 
//  > // 
//  > // 
//  > //  _______________________________________________ 
//  > //  HW-list mailing list  -  sponsored by www.HW.cz 
//  > //  Hw-list@list.hw.cz 
//  > //  http://list.hw.cz/mailman/listinfo/hw-list 
//  
//  
//  
//  >   _____ 
//  
//  > avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 
//  
//  
//  > Virova databaze (VPS): 0609-3, 03.03.2006 
//  > Testovano: 5.3.2006 21:48:24 
//  > avast! - copyright (c) 2000-2003 ALWIL Software. 
//  
//  
//  
//  > _______________________________________________ 
//  > HW-list mailing list  -  sponsored by www.HW.cz 
//  > Hw-list@list.hw.cz 
//  > http://list.hw.cz/mailman/listinfo/hw-list 
//  
//  
//  _______________________________________________ 
//  HW-list mailing list  -  sponsored by www.HW.cz 
//  Hw-list@list.hw.cz 
//  http://list.hw.cz/mailman/listinfo/hw-list 



  _____  

avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 


Virova databaze (VPS): 0609-3, 03.03.2006
Testovano: 5.3.2006 22:31:26
avast! - copyright (c) 2000-2003 ALWIL Software.






Další informace o konferenci Hw-list