Domaci automatizace

Marek Pavlu marekpavlu@mybox.cz
Pátek Květen 13 12:16:05 CEST 2005


Zdravim,


// > Jenze si také pamatuji na tu uzasnou pomalost
// 
// No hry v BASICu boli nesporne pomale, ale potrebujete pri domacej
// automatizacii nieco riesit do 20ms?
[M.P.] 

Uz tehdy jsem se nezajimal jen o hry:).
Jenze jakpak asi bude rychla komunikace, pokud ji budete resit stylemm, 20ms
je prilis kratka doba na jeden byte z UARTu???
Jestlize z tohoto snazeni ma vyjit nejaky protokol, nebo nejaky smer uvah
vedouci k cemusi jako standard, tak urcite nelze spolehat, ze prezije, pokud
každý nod bude extremne pomaly. Jiste, nepotrebujeme z toho udelat
gigabitovy ethernet, ale proc probuh interpet do kazdeho nodu?
Vzdyt ta myslenka interpetu nic zavratneho neprinasi.
Navic si dnes nedovedu predstavit jazyk, který nepracuje s pojmem funkce
nebo pointer a vse predava hodnotou. Vzdyt i VisualBasic, který byl jakymsi
potomkem snah nad basicem se postupne prokousava k tomu, ze se z nej stal
kompilovany jazyk a navíc uz davno v nem existuje pojem funkce. Dokonce i
neco na zpousob reference z C++ a dnes i pointry.

Zatim nevidim zadne plus, ktere by tohle prinaselo při pouziti v nodech.
TO je proste jako kdybych ke kazdemu programu prilozil cely kompiler.

// 
// > a proto když jsem se zminoval
// > o nejakem Basicu, tak jsem ihned predpokladal
// neinterpetovany(kompilovany)
// > Basic, tedy prelozeny.
// 
// Tak to nie je Basic, to je hybrid. Presnejsie, straca akykolvek zmysel.
// 
// Ja som skor myslel interpretovane jazyky vo vseobecnosti. Mozeme sa
// rozpravat napr. o FORTHe (z tych 80tych rokov si zaiste pamatate Karela
// ci Zofku).
[M.P.] 

Ukazte tedy, co pozitivniho prinasi "klasicky" basic?

// 
// > Taktez si pamatuji na to, ze kolik Basicu, tolik
// > ruznych verzi. Ten jazyk snad nikdy nemal mit a nikdy mit nebude
// nejakou
// > ustalenou formu:(((.
// 
// No to urcite ano; ale FOR I=1 TO 10: PRINT I: NEXT I funguje vsade a
// nemusim sa nad tym vobec zamyslat.
// Na druhej strane presne to iste plati o akomkolvek inom jazyku, nech si
// hovorite co chcete.
// 
[M.P.] 

To je prece demagogie. For smycka se lysi v C(jiste odlisnosti jsou i v C++
od C), Pascalu i Basicu a mnoha dalsich.


// > Takze vzhledem k tomu, ze není Basic jako Basic jsem absolutne proti
// tomuto
// > jazyku. Take musite uvazovat, ze klasicke spectrum melo par desitek
// kilo
// > pameti RAM, 16k(nektere verze vic) pameti EEPROM (*) a Z80 nebo jeji
// klony byly
// > CISC procesory. Vzdyt mely par set instrukci, v podstate na kazdou
// prkotinu
// > jedna instrukce. Kdybych si mel predstavit vhodny interpretr v
// Microchipu,
// > AVRku nebo jinem RISC procesoru, který zvladne matematicke vypocty a
// mnoho
// > dalsiho, tak by Vam asi tech 16kB bylo sakra tesnych...
// 
// Pozerali ste sa na tie odkazy co som pripojil???
[M.P.] 

Zatím ne, nebyl cas:(.

// Hadam nezacneme po piatku flame RISC/CISC... :-o
// (*) jedno E mate navyse
// 
[M.P.] 

Mate pravdu, tenkrat EEPROM myslim ještě nebyly ani v plenkach:))).


// > To si tady asi moc dovolit nemuzeme, ze?
// >
// 
// Nechapem preco nie. Pamat akehokolvek druhu je dnes vyrazne lacnejsia
// nez pred 20 rokmi. Navyse si nepamatam, ze by sme sa zatial bavili o
// cenach vobec.
[M.P.] 

Pravsda o cenach jsme se nebavili, ale interpet bude VŽDY pametove a tim i
cenove narocnejsi. Nemohu si pomoci, zadne testy me o opaku zatím
nepresvedili.


// 
// 
// > Takztez temto interpetovanym basicum chybi jedna zakladni vlastnost,
// ktera
// > kompilovanemu jazyku nechybi. Typova kontrola pri prekladu. To je
// docela
// > dosti dulezite, alespon podle mne znamych nazoru na bezpecnost
// programu:)).
// 
// To je nejaka uplne scestna myslienka; typova kontrola sa pochopitelne
// nema robit pri preklade (to je presne to co vedie k problemom napr. u C)
// ale pri behu, a asi neexistuje interpretovany jazyk co toto neriesi.
// 
// 
// Zakladny rozdiel medzi vyssim jazykom a bastardami typu C je, ze pri
// pouziti vyssieho jazyka ma jednoducho nezaujimaju prostriedky, ktore
// jazyk pouziva (t.j. pamat, rychlost, umiestnenie dat), jednoducho to je
// vec jazyka a ja mam za ulohu rozmyslat v abstrakciach. Normalny jazyk
// potom jednoducho z principu nepripusti nejake pretecenie poli alebo zlu
// konverziu typov.
// 
[M.P.] 

Nuze, ja se v C nebo v C++ také nezabyvam tim, kde to lezi fyzicky(adresa),
to je problem kompileru, maximalne si naalokuju z heapu a zase vratim. Ale
jak prosim Vas resite v Basicu pristup mimo rozsah pole? Jak to osetrujete?
Pokud to je staticky, tak ještě, ale jak to udelate, pokud potrebujete do
pole cucet/zapisovat podle indexu v promenne???
To ani Basic neumi a z principu ani umet nemuze. Muze jen vyhodit hlasku
nebo zkolabovat a to se stane i v pripade C,C++,Javy,Pascalu nebo kdektereho
jineho jazyka, když to pole sedi na heapu, tedy je to dynamicke pole...

// 
// Cim nechcem povedat, ze BASIC ci iny interpret je absolutne vhodny na
// tuto ulohu, len to, ze nevidim pricinu ho apriori odmietat.
// 
[M.P.] 

Uz Vas opravdu nechapu, nejdrive se se vsi silou zastavate interpetru a pak
reknete, ze jej nepovazujete za absolutniho viteze k této uloze:((((.
Tak safra, jaky jazyk by jste Vy vyuzil???????????

PS: pripominam, ze kdo a co bude mit na svem CML/CMS/CBH v PC(pokud bude
vubec nutne)za interpetr je mi putna, ale stejne tak si myslim, ze by melo
existovat i rozhrani s kompilovanym programem...

// Howgh.
// 
// wek
// _______________________________________________
// HW-list mailing list  -  sponsored by www.HW.cz
// Hw-list@list.hw.cz
// http://list.hw.cz/mailman/listinfo/hw-list
[M.P.] 



S pozdravem,
		Marek pavlu



---
avast! Antivirus: Odchozi zprava cista.
Virova databaze (VPS): 0519-2, 12/05/2005
Testovano: 13.5.2005 12:14:56
avast! (c) copyright 2000-2003 ALWIL Software.
http://www.avast.com







Další informace o konferenci Hw-list