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

Marek Pavlu pavlu@HWserver.cz
Neděle Březen 5 21:48:24 CET 2006


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.






Další informace o konferenci Hw-list