Ada
Marek Pavlu
pavlu@HWserver.cz
Neděle Březen 5 23:02:22 CET 2006
Zdravim,
Diky, kouknu se na to.
Tohle je v MSVC trosku boj, v Linuxu zase v C/C++ je to jedno a to same, ale
ne zrovna nijak pohodlne, proste ta komunikace procesu mi v Linuxu nejak
nesedi:).
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:48 PM
// To: hw-list@list.hw.cz
// Subject: Re: Ada
//
// O zadnem clanku bohuzel nevim. Podivej se do referencni prirucky
// (googlem ADA and AARM), take mam k dispozici cesky preklad referencni
// prirucky Ady 83 (jen v papirove podobe :-)). Ale nutno priznat, ze
// z referencni prirucky neni uplne vsechno na prvni pohled jasne :-)
//
// Tasky komunikuji metodou randez-vous, snaha autoru jazyka byla aby to
// pripominalo volani procedury.
//
// Ales Prochaska
//
// > 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.
//
//
//
// > _______________________________________________
// > 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 23:02:22
avast! - copyright (c) 2000-2003 ALWIL Software.
Další informace o konferenci Hw-list