<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>Forth</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in Forth</description>
<item><title>Forth</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/Forth</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1119876100</guid>
<description>&lt;p&gt;&lt;ins&gt;Ohjelmointikieliperhe, jonka jäsenet ovat tyypillisesti:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;# yksinkertaisia toteuttaa # kohtalaisen korkean tason kieliä # 
syntaksiltaan hyvin yksinkertaisia # laajennettavissa kielen tasolla # 
toteutettu tulkki-kääntäjä -hybrideinä # enimmäkseen kirjoitettu 
itsellään # laajennettavia myös ohjelman lukuvaiheesta # täydellisiä 
käyttöympäristöjä&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Nämä ominaisuudet ovat myös tyypillisiä yksinkertaisille 
[Lisp]-toteutuksille. Mutta Lisp-kielissä on tyypillisesti valmiiksi 
paljon enemmän abstraktiotasoja kuin tyypillisessä 
Forth-toteutuksessa.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Toisin kuin Lisp-kielet, Forthit ovat tyypillisesti:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;# melko suojaamattomia ympäristöjä # vahvasti tilamuutoksiin 
perustuvia (vs. funktionaalinen ohjelmointi) # tilamalliltaan 
pinopohjaisia (käskyt manipuloivat sisäistä pinoa) # syntaksiltaan RPN: 
ei 3 + 5 vaan 3 5 +, ei 5 * (1 + 2) vaan 5 1 2 + * # muistimalleiltaan 
ja tietotyypeiltään hyvin vajavaisia ja laitekohtaisia # sisäiseltä 
rakenteeltaan sotkuisia ja vaikeasti ymmärrettäviä # käytössä pienissä 
ympäristöissä, erityisesti sulautetuissa (embedded) järjestelmissä # 
hyvin helposti käännettävissä konekieleksi # pieniä # sisältävät 
editorin yms. # myös I/O-abstraktioiltaan hyvin matalatasoisia: ei 
merkkivirtoja vaan levyblokkeja&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Hyvä alustus fortheista on Gforthin info-tiedosto (tulee 
gforthin mukana, ei saatavilla luotettavasti www:ssa)&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;[kategoria: ohjelmointi]&lt;/ins&gt;

</description>
<pubDate>Mon, 27 Jun 2005 12:41:40 +0000</pubDate>
</item>

</channel></rss>
