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