Forth (programspråk)
Forth är ett stackbaserat interpreterande programspråk som använder omvänd polsk notation. Forth kan kompileras i sig själv och är utbyggbart genom att man kan definiera nya funktioner (i forth kallade ord) som direkt kan användas. Det finns många fritt tillgängliga implementationer.
Ett av de mer utmärkande dragen är att forth inte bara är ett datorspråk, det är också en utvecklingsmiljö, och i många fall (framför allt till inbyggda system) också kan fungera som ett operativsystem. Forth fungerar också som en interaktiv utvecklingsmiljö med en kommandoprompt, där du kan skriva ny kod till programmet, men också köra en rad kod utan att lägga till denna koden till programmet. Detta gör att man interaktivt kan köra funktioner i sitt program med olika parametrar, för att testa funktionerna i sitt program.
Forth är i sin grund utbyggbart med egen syntax för att göra språket applikationsanpassat.
Programspråket kan också användas som lågnivåspråk jämförbart med assembler. Detta medför att man lättare kan hålla reda på vad en mikrokontroller eller mikroprocessor gör på instruktionsnivå.
På grund av den enkla grundstrukturen i forth är det också vanligt att folk skapar sina egna forth-implementationer. Forth kan också vara tillräckligt litet för att få plats i minnet på datorsystem med extremt begränsad mängd minne. Forth används också i datorsystem med väldigt lite minne, för att man skall kunna få plats med större program än vad annars hade varit möjligt. Strukturen i syntaxen gör att det är enkelt att spara minne, i och med att det är enkelt att återanvända kod och att man kan undvika skapa variabler för koden. Datastacken används för att göra beräkningar och skicka data till och från funktioner. Detta gör att minnet för datastacken återanvänds igenom hela programmen till mesta delen av all kod man skriver, så man slipper i stor utsträckning att skapa variabler. Så forth gör det väldigt mycket lättare att skapa applikationer som använder väldigt lite RAM minne (utan att behöva oroa sig för sidoeffekter som skulle uppkomma om man oaktsamt skulle återanvända variabler i olika funktioner för att spara RAM minne).
Den stora nackdelen med den omvända polska notationen är att den tenderar att vara svårläst för den ovane. Namn på funktioner kan innehålla vilka tecken som helst vilket kan vara förvillande. Strukturen för loopar ser också märklig ut för programmerare som använt andra språk.
Fördelen är att koden väldigt lätt kan tolkas av datorer och att man kan testa olika delar av kod live via kommandoprompten, även på ett mycket enkelt datorsystem. Hela utvecklingsmiljön kan ligga i systemet och möjliggör att resten av koden kan bli mer kompakt. Forth är också lätt att porta till nya datorsystem, även om det saknar programmeringsspråk och endast kan programmeras i maskinkod.
Externa länkar
- Wikimedia Commons har media som rör Forth (programspråk).
- GForth - en Forth-implementation tillgänglig under GPL.
- Thinking Forth - en nybörjarbok om Forth tillgänglig under en Creative Commons-licens.
- ESP32forth - en Forth-implementation för ESP32.