- 
 1. Data: 2010-04-17 20:12:44
 Temat: Embedded language - jaki ?
 Od: Sebastian Biały <h...@p...onet.pl>
 Witam. 
 
 Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
 sobie tutaj zasięgnąc rady.
 
 Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
 wolne. Jest to ARM.
 
 Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
 wygodny język programowania embedded ktory w szczególności:
 
 a) nie wymaga kompilacji w sposob jawny - dostarczam do CPU kod źrodlowy.
 
 b) blizej mu do językow skryptowych niż silnie typowanych
 
 c) ma skladnię zbliżoną do C/C++/Java/Javascript - "klamrowy" lub
 podobny w sensie wyglądu kodu
 
 d) jesli BASIC to jakiś normalny (przykaład nienormalnego - TigerBasic).
 
 e) Możliwie nie zaczyna się na "Fort..." ;)
 
 f) nie uzywa malloc/free (nie ma tam MMU), _idealnie_ jesli posiada
 kompaktujący GC.
 
 g) jesli to ja dostarczam abstrakcję pamięci, to można sie pokusić o coś
 w rodzaju swapa tylko dla niego (w systemie istnieje dysk hdd).
 
 h) prędkośc bez znaczenia (w granicach rozsądku).
 
 Niestety z punktu widzenia mojego punkt f) jest dośc istotny,
 fragmentacja pamieci jest katastrofą dla mojego CPU, a wsadzenie czegoś
 z MMU oznacza zasadniczy skok kosztów.
 
 Teraz pytanie, czy ktoś ma pomysł co wklepać w google? Najbardziej
 chciałbym JavaScript, ale wszystkie jego engine które oglądałem
 zakładają że istnieje malloc/free/new/delete i używają tego bardzo
 rozrzutnie (nie jest też możliwe zrobienie kompaktującego GC).
 
 PS. Pytalem kiedyś o coś podobnego, ale teraz mam _wypasioną_ pamięć
 64kB więc zmieniają się warunki ;)
 
- 
 2. Data: 2010-04-17 20:59:46
 Temat: Re: Embedded language - jaki ?
 Od: Sławomir Szczyrba <c...@o...the.night>
 Welcome to the desert of the real, Sebastian Biały... 
 > Witam.
 >
 > Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
 > sobie tutaj zasięgnąc rady.
 >
 > Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
 > wolne. Jest to ARM.
 > Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
 > wygodny język programowania embedded ktory w szczególności:
 >
 Whoa, dejavu...
 Jakiś czas temu prowadziłem podobne poszukiwania.
 W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
 basic jeszcze z czasów 8052 (jesli ktoś ma dość zapału na konwersję, to niech
 da znać jak mu poszło ;) oraz uBasic < http://www.sics.se/~adam/ubasic/ >
 Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.
 
 Sławek
 --
 ________
 _/ __/ __/ Ooooo, jesst mały problem. -- Sid
 \__ \__ \___________________________________________________
 ____________
 /___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl
 
- 
 3. Data: 2010-04-17 21:31:18
 Temat: Re: Embedded language - jaki ?
 Od: Jacek Czerwinski <...@...z.pl>
 Sławomir Szczyrba pisze: 
 > Welcome to the desert of the real, Sebastian Biały...
 >> Witam.
 >>
 >> Sprawa jest nie do końca związana z konkretnym językiem, więc pozwalam
 >> sobie tutaj zasięgnąc rady.
 >>
 >> Mam CPU z 64kB RAM i 128kB ROM w którym około 80kB jest w tej chwili
 >> wolne. Jest to ARM.
 >> Ze względu na specyfikę zastosowania chciałbym umieścić wewnatrz jakiś
 >> wygodny język programowania embedded ktory w szczególności:
 >>
 > Whoa, dejavu...
 > Jakiś czas temu prowadziłem podobne poszukiwania.
 > W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
 > basic jeszcze z czasów 8052
 
 Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,
 zauwazyla, że jedyny sposób na ograniczone potzreby RAM ze wzgledu na
 kompilacje i ładowanie, to jezyk niestrukturalny (w praktyce Basic z
 numerami linii lub Forth - jednostką kompilacji jest pojedyncza linia
 lub podobny byt). Posiadanie bloków, instrukcji strukturalnych (klamerek
 z C) wymusza pojawienie się drzewa programu (AST) o rozmiarze
 odwzorowującym potencjalnie cały program.
 
 Maszyna wirtualna to co innego jeśli chodzi o spojrzenie przez RAM.
 
 Co nie zmienia faktu że historycznie na 64kB RAM bywały już kompilatory
 (zwykle jednak z nakładkami lub etapami), może jakies szkolne w jednym
 "kawałku"
 
- 
 4. Data: 2010-04-17 21:36:23
 Temat: Re: Embedded language - jaki ?
 Od: Sebastian Biały <h...@p...onet.pl>
 Sławomir Szczyrba wrote: 
 > W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
 
 maszyne wirtualną Javy z kompaktacją pamięci sobie wlasnie skrobie na
 boku, ale chodzi mi raczej o trywialny język typu procedura, pętla,
 zmienna ktory jest wygodny w zapisie dla tumanisty który to będzie misla
 czasem z lekka poprawić.
 
 > Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.
 
 Dzieki. Acz basica staram się uzyć w ostateczności.
 
- 
 5. Data: 2010-04-17 21:46:14
 Temat: Re: Embedded language - jaki ?
 Od: Sebastian Biały <h...@p...onet.pl>
 Jacek Czerwinski wrote: 
 > Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,
 
 50MHz i słaby sprzęt :P
 
 > zauwazyla, że jedyny sposób na ograniczone potzreby RAM ze wzgledu na
 > kompilacje i ładowanie, to jezyk niestrukturalny (w praktyce Basic z
 > numerami linii lub Forth - jednostką kompilacji jest pojedyncza linia
 > lub podobny byt).
 
 Słabo znam się na interpretatortach, ale zanim zaczne zastanawiać się
 nad JVM/Dalvik i pośrednią kompilacją (co jest wyjsciem chyba dość
 rozsądnym na tyle RAMu) wole wybadac, bo może akurat nie muszę męczyć
 się z Javą jeśli jest jakiś gotowieć w rodzaju ładnego embedded BASICa
 na "już".
 
 > Co nie zmienia faktu że historycznie na 64kB RAM bywały już kompilatory
 > (zwykle jednak z nakładkami lub etapami), może jakies szkolne w jednym
 > "kawałku"
 
 Nie spodziewam się że ktoś zrobi szybki, wydajny i mały interpretter
 JavaScriptu mieszczący się w 64kB RAM. Choć na nim zależało by mi
 najbardziej, nawet wycinając funkcjonalność :)
 
- 
 6. Data: 2010-04-19 06:21:59
 Temat: Re: Embedded language - jaki ?
 Od: Jacek Czerwinski <...@...z.pl>
 Sebastian Biały pisze: 
 > Jacek Czerwinski wrote:
 >> Z kolei moja myśl idąc przez interpretery na tak slaby sprzet,
 >
 
 > Nie spodziewam się że ktoś zrobi szybki, wydajny i mały interpretter
 > JavaScriptu mieszczący się w 64kB RAM. Choć na nim zależało by mi
 > najbardziej, nawet wycinając funkcjonalność :)
 
 Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
 zainteresowałeś się http://www.lua.org/ ręcznie wykonany (podawany w
 rankingach jako szybki), o nieprzesadnym zuzyciu RAM (co nie znaczy, że
 obiecuję zmieszczenie się w Twoich kryteriach), bardzo dużo
 funkcjonalności wyniesione do opcjonalnych modułów. Nawet 'podstawowy
 typ liczbowy' da się podmieniać.
 
 Wbudowywałem kiedyś do aplikacji C++, więc jest znacznie mniejszy od
 SpiderMonkey-a.
 
- 
 7. Data: 2010-04-19 06:44:32
 Temat: Re: Embedded language - jaki ?
 Od: Sebastian Biały <h...@p...onet.pl>
 Jacek Czerwinski wrote: 
 > Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
 > zainteresowałeś się http://www.lua.org/
 
 Używałem go już kilka razy w róznych okoliocznościach i nie przekonuje
 mnie składnią, choć jest lepiej niz w BASICu oczywiście. Niestety będą
 kłopoty z pamięcią, o ile pamiętam engine lua robi malloc/free podczas
 pracy co w moim wypadku oznacza szatkowanie skromnej pamięci.
 
- 
 8. Data: 2010-04-19 07:11:31
 Temat: Re: Embedded language - jaki ?
 Od: Jacek Czerwinski <...@...z.pl>
 Sebastian Biały pisze: 
 > Jacek Czerwinski wrote:
 >> Z języków 'z klamerkami' o jakim-takim przyjęciu na rynku, czy
 >> zainteresowałeś się http://www.lua.org/
 >
 > Używałem go już kilka razy w róznych okoliocznościach i nie przekonuje
 > mnie składnią, choć jest lepiej niz w BASICu oczywiście. Niestety będą
 > kłopoty z pamięcią, o ile pamiętam engine lua robi malloc/free podczas
 > pracy co w moim wypadku oznacza szatkowanie skromnej pamięci.
 a) przez wrapper(pojedynczy interfejs) więc jest na to jakiś wpływ
 (sub-alokator, te wzorce).
 b) wg mojej intuicji (nie mam twardych dowodów) chyba nie da się
 intepretera zrobić do języka strukturalnego (tzw nie basic tylko z
 numerami linii typu ZxSpectrum, Commodore lub z innej strony Forth) bez
 alokowania (być może podmienionym alokatorem). Nos mówi mi, że to
 związane. Jednak np radykalnie stosowa koncepcja Forth'a ułatwia
 nieszatkowanie pamięci. Nigdy nie przeprowadziłem z kims dyskusji, czy
 taki wymyślony związek to tylko moja chora wyobraźnia, czy realia tzw
 'życia'.
 
 
 
 
 
- 
 9. Data: 2010-04-19 08:18:38
 Temat: Re: Embedded language - jaki ?
 Od: Grzegorz Krukowski <r...@o...pl>
 On Sat, 17 Apr 2010 23:36:23 +0200, Sebastian Biały 
 <h...@p...onet.pl> wrote:
 
 >Sławomir Szczyrba wrote:
 >> W rezultacie na placu boju pozostały z dwie maszyny wirtualne (NVM i nanoVM),
 >
 >maszyne wirtualną Javy z kompaktacją pamięci sobie wlasnie skrobie na
 >boku, ale chodzi mi raczej o trywialny język typu procedura, pętla,
 >zmienna ktory jest wygodny w zapisie dla tumanisty który to będzie misla
 >czasem z lekka poprawić.
 >
 >> Mozesz też rzucić okiem na pakiety : nesla, ee, probasic czy picoc.
 >
 >Dzieki. Acz basica staram się uzyć w ostateczności.
 
 Ależ Basic był w tym celu stworzony. To że Tobie to nie pasuje to
 jedno ;) wczuj się w użytkownika, Basicowate są proste jak tylko mogą
 być. Na dodatek dla Basica masz bardzo dużą bazę tutoriali i na
 podstawowym poziomie są bardzo przenośne.
 --
 Grzegorz Krukowski
 
- 
 10. Data: 2010-04-19 13:38:29
 Temat: Re: Embedded language - jaki ?
 Od: Sebastian Biały <h...@p...onet.pl>
 Grzegorz Krukowski wrote: 
 >>Dzieki. Acz basica staram się uzyć w ostateczności.
 > Ależ Basic był w tym celu stworzony. To że Tobie to nie pasuje to
 > jedno ;) wczuj się w użytkownika, Basicowate są proste jak tylko mogą
 > być.
 
 Nie. BASIC w implementacjach embedded zazwyczaj nie ma procedur ( a
 tylko głupie bezparametrowe gosub), pojecia zmiennych lokalnych, trzeba
 pamiętać o różnicach miedzy zmiennymi nie string a string (to śmieszne
 $), brzydką składnię z numeracją linii itd. Program w javaScripcie
 wyglada znacznie bardziej przejrzyście niż w BASICu. Przetestowalem to
 na humanistach, tumanistach i innych nie inżynierach i wnioski są
 właśnie takie. Łatwiej tumaniscie poprawić coś w JavaScricie niż w BASICu.
 
 > Na dodatek dla Basica masz bardzo dużą bazę tutoriali i na
 > podstawowym poziomie są bardzo przenośne.
 
 E tam, BASIC ma chyba najwięcej niezgodnych z sobą implementacji. Nie
 wiem czy przebija to jakikolwiek inny język na świecie, na pewno na
 kilkanascie jakie miałem w ręku różnice były kolosalne. Po ostanich
 przejściach z TigerBasic-em wolałbym oszczędzić userowi całego stada
 problemów jakie napotkałem. Dlaetgo basic tak, ale to ostatczenośc,
 prędzej napiszę to JVM ...
 


 do góry
 do góry![Jak mierzyć i oceniać skuteczność mailingu. 5 najważniejszych wskaźników [© maicasaa - Fotolia.com] Jak mierzyć i oceniać skuteczność mailingu. 5 najważniejszych wskaźników](https://s3.egospodarka.pl/grafika2/mailing/Jak-mierzyc-i-oceniac-skutecznosc-mailingu-5-najwazniejszych-wskaznikow-219695-150x100crop.jpg) 
![Dlaczego firmom opłaca się korzystać z kantorów internetowych? [© Halfpoint - Fotolia.com] Dlaczego firmom opłaca się korzystać z kantorów internetowych?](https://s3.egospodarka.pl/grafika2/wymiana-walut/Dlaczego-firmom-oplaca-sie-korzystac-z-kantorow-internetowych-219575-150x100crop.jpg) 
![Jak reklamować ośrodek wypoczynkowy lub hotel? [© kadmy - fotolia.com] Jak reklamować ośrodek wypoczynkowy lub hotel?](https://s3.egospodarka.pl/grafika2/reklama-internetowa/Jak-reklamowac-osrodek-wypoczynkowy-lub-hotel-221435-150x100crop.jpg) 
 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
 
![Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie [© wygenerowane przez AI] Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie](https://s3.egospodarka.pl/grafika2/oszczedzanie-pieniedzy/Milion-na-koncie-Wystarczylo-inwestowac-po-okolo-2-tysiace-miesiecznie-269397-150x100crop.jpg) 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 


