26

no laoo to poszedłeś po bandzie ... mnie się podobało!!!

Żyję bo Bóg tak chciał.

27

laoo: chyba zapomniales ze forth jest jezykiem interpretowalnym, a "kompilacja" w przypadku fortha to utworzenie nowego "slownika" oraz dopisanie go do interpretera.

co do oszczednosci pamieci - to nie forth jest oszczedny, tylko sposob kodowania do jakiego on zmusza.
gdyby w assemblerze pisac wedlug filozofii fortha (male procedurki, ktore glownie skladaja sie z odkladania czegos na stosie, po czym wywolywania innych procedurek -> maaaasa skokow)
to tez wyjasnia dlaczego ten jezyk jest wolniejszy niz pisane recznie w assmeblerze programy.

jesli ktos naprawde zainteresuje sie forthem - to polecam jego blaszana wersje w postacji projektu reva ktory to jest kompilatorem (napisanym wa assemblerze), ktorego ciekawostka moze byc ze w niektorych benchmarkach (i to nie przygotowywanych specjalnie na jego podtrzeby :] ) potrafi okazac się szybszy nawet niz gcc.

btw. forth to jeden z najfajniejszych jezykow...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

28

jellonek: chyba brak Ci należytego luzu, humoru i zbyt się związałeś z forth`em. Laoo miał do tymatu wyraźnie zabowowe podejście i doczepił się do słów, które zostały napisane. Informatyk to ścisłowiec a nie filozof i ma pełne prawo do takiej właśnie interpretacji!

Żyję bo Bóg tak chciał.

29

To o wiekszej oszczędności fortha niż asemblera przypomniało mi, jak kiedyś ktoś w Commodore&Amiga napisał, iż język ADA jest "szybszy od asemblerów".

KMK
? HEX$(6670358)

30 Ostatnio edytowany przez ilr (2006-05-11 09:34:55)

Co prawda, na Atari forth nie jest kompilatorem, ale też jest napisany w assemblerze :). Gdyby ktoś miał ochotę zobaczyc jak to jest zrobione na naszym ukochanym sprzęcie,  to jego źródełka można znaleźć tutaj: ftp://ftp.spudster.org/CTH/Programming/ … g65ram.zip albo tutaj: ftp://ftp.spudster.org/CTH/Programming/ … orth65.zip

Byl hrozný tento stát, když musel jsi se dívat, jak zakázali psát a zakázali zpívat,
a bylo jim to málo, poručili dětem modlit se jak si přálo Veličenstvo Kat.

31

Więc FORTH to interpreter! To czemu jest taki szybki?! Czytałem, że to taki mix - interpretator i kompilator w jednym -  ale musiało mi się coś poplątać.
A jakie są wersje na Atarynkę. W forum ktoś wspomniał o 'Extended fig-FORTH'. To najlepsza wersja tego języka?!

32

Programowanie w FORTu polega na definiowaniu tzw. słów, które wykonują operacje stosowe oraz wywołują istniejące słowa utworzone w FORTHu lub w kodzie maszynowym. W praktyce oznacza to, że zasadnicza część definicji słowa - tzw. sekcja parametrów - składa się głównie z wywołań istniejących już słów. Wykonanie programu będzie zatem polegało na odczytaniu zapisanych adresów w sekcji parametrów i wykonaniu skoków w odpowiednie miejsca w celu wykonania słów, do których wykonywane słowo się odwołuje. Jest to więc proces rekurencyjny.
Dzięki temu właśnie FORTH jest bardzo szybki - kod wykonywany nie jest wprawdzie kodem maszynowym, ale wysoko przetworzonym kodem źródłowym, gotowym do szybkiego wykonania.

Tak naprawdę sposób wykonania słowa zależy od użytego kompilatora - jest to pojęcie FORTH-a i nie należy tego mylić ze zwykłymi kompilatorem. Jeden z najprostszych kompilatorów - dwukropek - działa właśnie tak jak to wyżej opisałem. Istnieją też kompilatory bardziej zaawansowane, pozwalające na definiowanie bardziej skomplikowanych słów.

Zabawa z FORTH-em jest super, pod warunkiem że przejdzie się przez początkowy etap nauki i zrozumie ogólnie jego zasadę działania. Ja używałem kiedyś Extended FIG-FORTHa, który spodobał mi się do tego stopnia, że napisałem 10 lat temu w Turbo Pascalu programik, który dekompilował wszystkie standardowe słowa tego dialektu. I pamiętam, że listing zajmował chyba z 5000 linii, a to wszystko mieściło się w 10 kilobajtach. Dlatego uważam, że forth bardzo oszczędza pamięć.

33 Ostatnio edytowany przez BenjiAtarowiec (2006-05-12 08:23:39)

Więc mówicie, że gdyby zamiast BASICa, FORTH byłby wmontowany na stałe do pamięci RAM małego Atari historia rozwinęłaby się diametralnie inaczej, i wielce odmiennie? Lepiej, czy niesamowicie lepiej? :)

34

Ciekawy pomysł - Atari z FORTH-em zamiast BASIC-a... Jednak mimo wszystkich zalet FORTH-a, nie byłoby to najlepsze rozwiązanie ze względu na jego złożoność... Atari BASIC jest jaki jest, ale programować w nim nauczyć się łatwo. Poza tym programy są bardzo czytelne.

35

fortha tez mozna sie bardzo latwo nauczyc, a i programy sa bardzo czytelne, pod warunkiem ze nie przesiakles nalecialosciami z innych jezykow :]

do poznania fortha praktycznie wystarczy sie przyzwyczaic do filozofii operowania na stosie, oraz do RPNa

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

36

W sumie fortha nie warto sie juz uczyc, skoro ostatni komercyjny bastion fortha czyli OpenFirmware odchodzi do lamusa wraz z EFI.
Dla sportu mozna :) Proponuje pouczyc sie jednak asma i C, to sie zawsze przyda (jesli juz mowa o inzynierii oprogramowania)
I asm i C na atari oczywiscie :) *g*

37

bolesna prawda - forth w obecnych czasach to jedynie hobby dla zapalencow (cos jak male atari ;) )

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

38

Ja tak z ciekawości jeszcze zapytam, do czego jeszcze inżynieria oprogramowania potrzebuje asemblera. Bo ztcw współcześnie jego zastosowanie jest marginalne.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

39 Ostatnio edytowany przez Tdc (2006-05-13 23:24:45)

Moim zdaniem chłopak się już dobrze pogubił o co w tym wszystkim chodzi.
Z tego jak zrozumiałem jego intencje nie interesuje go Basic oraz kod maszynowy ? chciałby coś w czym się równie łatwo programuje jak w Basicu a szybkość programu jest najwydajniejsza.

Jeśli tak to przecież Sikor wspomniał już o Action! Język ten spełnia te założenia a dodatkowo ma do zaoferowania wiele więcej: doskonałe środowisko, szybką kompilację i niezwykłą wygodę w programowaniu (większą nawet czasami niż np. w C/C++; sam język jest podobny do: C, skryptów Unixowych oraz pascala ? jednak co ważne czerpie z nich same zalety !). W języku tym powstało wiele (np. polskich) gier oraz dem.

Kiedyś bardzo dużo programowałem w tym języku, gdyż nie było wtedy lepszego (i chyba do dziś nie ma). Wspominam go dziś jako kompilator, który generował najszybszy kod ze wszystkich znanych mi języków programowania (ze wszelkich platform).

Niestety dziś minęło już wiele lat i muszę przyznać że prawie nic już nie pamiętam...

Jeśli ktoś chce się pobawić dziś Action! to doskonale chodzi cartridge z Action! pod emulatorem ? koniecznie należy uruchamiać wersję z cartridge, gdyż plikowa jest jedynie wersją demonstracyjną i niczym więcej.
Jeżeli najbardziej zależy nam na wydajności kodu to należy unikać procedur bibliotecznych (jak we wszystkich językach programowania) a szczególnie tych graficznych. W razie konkretnych pytań to proszę do mnie pisać na e-mail (prześlę jakieś moje stare źródła w Action!). Najwydajniejsze w tym języku są elementarne konstrukcje, dzięki którym możliwe jest budowanie całkiem wydajnego kodu ? tym wydajniejszego im mniej procedur bibliotecznych (choć parę procedur ma wystarczającą wydajność).

Muszę sobie któregoś dnia przypomnieć o co tam chodziło :) kilka dni temu Sikor mnie do tego skłaniał :)

pozdrawiam !:)

epi: z tym asemblerem to jest on marginalny ale w wielu zastosowaniach jest nieodzowny. Nie należy za bardzo wierzyć w reklamy  speców od marketingu (bo 99% z nich to lamerzy). Wspomnieć trzeba też o miłośnikach np. 6502 których tu nie brakuje :)

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

40

byly nawet firemki instalujace action na stale w atari. szkoda ze sie jezyk nie rozwijal. gdyby w blokach kodu mozna bylo pisac w asmie to... ech, szkoda, pamietam tez ze byly bledy chyba w bibliotecznych procedurach na lancuchach. jeden z nilicznych jezykow wysokiego pozniomu w ktorym mozna bylo pisac przerwania, nawet dli.

http://atari.pl/hsc/ad.php?i=1.

41

A jak jest z wiekszością gier, w assemblerze pisane były ??

42

Nie dam rady tego Kyan Pascala zeskanowac :/ Okazalo sie, ze ksero u mnie w firmie to nie jest takie normalne ksero. Trzeba dla kazdej kartki wpisac kod a skaner wysyla te karte emailem :) To dla mnie za trudne.
Mam Kyan'a w wersji 2.0, jest do tego 200str instrukcji wypinannej w segregatorze. Moge podeslac (oczywiscie POZYCZYC!) komus kto ma skaner i wolne popoludnie, albo umowic sie na przekazanie w Lodzi.

43

kukems - ano w asemblerze...
Pewnie tak z 90% Reszta w odmianach Basica.

44

nosty: podeślij, przeskanuje się ;)

Cuda wianki i nie tylko :) POKEY 4ever ;)

45

Co to jest ten 'ACTION!', to coś na kształt C?! Czy są jakieś jego kontynuacje na póżniejszych platformach (bo jak zrozumiałem Forth został zapomnięty)?

A dialekty operujące na listach - Logo (nie tylko grafika żółwia), Lisp, czy Prolog? Wiem, że Prolog jest dostępny na sprzęcie bazującym na mikroprocesorze Zilog, w systemie CP/M. Ale o wersji na Atari nie słyszałem.

46

To taki Basic, tylko ze składnią C. Lub odwrotnie. ;)

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

47

Epi: jak się nie znasz, to nie p..dol - Action jednak bardziej przypomina C czy Pascala niż Basic, w dodatku całkiem nieźle się kompiluje.

Sikor umarł...

48

Oj, Sikorku, przepraszam, że uraziłem Twoje uczucia stwierdzając istnienie podobieństw między Action! a niektórymi popularnymi językami. Mea culpa, idę odklepać pokutę. :P

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

49

Prolog jest super językiem, opartym na innej filozofii niż języki takie jak C, Pascal lub Action! Jest to język deklaratywny bardzo wysokiego poziomu - pisząc program definiuje się tzw. predykaty, będące pewnym odpowiednikiem funkcji. Ogólna zasada jest taka, że ścieżkę wykonania programu (co nazywa się 'znalejdywaniem rozwiązania') ustala interpreter tego języka i program a nie programista. Pozwala to pisać programy szukające skomplikowanych rozwiązań w sposób rekurencyjny bardzo zwięźle. Swego czasu bardzo dużo programowałem w Prologu na studiach (napisałem np. grę Scrabble :) ), implementację tego języka na Atari kiedyś obejrzałem, ale jest ona mocno uproszczona.

Lispu nie polecam, jest to język dla matematyków i programy są bardzo nieczytelne. Wystarczy spojrzeć na przykładowe programy - najczęściej pojawiającymi się w nich znakami są nawiasy.

50

Sorry, chyba się pomyliłem. Nie jestem pewien czy Prolog był na małe czy duże Atari. Tym nie mniej język polecam.