...

Wie zijn wij?

HCC!Forth interessegroep - een groep enthousiaste gebruikers van de programmeeromgeving Forth Tijdlijn - overzicht van onze bijeenkomsten 2018 ... heden 2015 ...2017 2010 ... 2014 2000 ... 2009

23 april 2024

...

Bijeenkomsten

Bijeenkomsten HCC!Forth organiseert een bijeenkomst op elke 2e zaterdag van iedere even maand. Deze vinden plaats te Bilthoven in wijkgebouw Vogelnest bij de Zuiderkapel op Boslaan 1, 3722 AB te Bilthoven. Dit bevindt zich vlakbij het NS station. Ook via de weg is het goed bereikbaar, en parkeren is geen probleem. Meestal is er een lezing. Daarnaast is er altijd de mogelijkheid om vragen te stellen of problemen voor te leggen. Voor data en programma van de volgende bijeenkomst, zie de Agenda. De aankondigingen en verslagen van vorige bijeenkomsten staan in de Tijdlijn.      

28 juni 2023

...

Forth is ...

... een modulair opgebouwde, conceptueel zeer eenvoudige programmeertaal, die zeer zuinig met de beschikbare hardwaremiddelen omspringt. ... een Operating System, inclusief commando interpreter en mogelijkheden voor het omleiden van in- en uitvoer. Samenwerken met het aanwezige OS (MS-DOS, Unix etc.), maar ook volledig onafhankelijk bedrijf is mogelijk. ... een interactieve compiler die toestaat de programmeertaal (en dus ook de compiler) uit te breiden met volledig nieuwe instructies, precies op maat voor de gewenste toepassing. ... een experimenteeromgeving van waaruit elke eigenschap van de computer en de aangesloten hardware zonder enige beperking te onderzoeken is. Forth kent geen conventies of starre structuren, als de hardware er ook maar enigszins toe in staat is kun je het in Forth realiseren, testen en uitontwikkelen. ... voor de uitzonderlijk nieuwsgierigen die weigeren met zwarte doosjes te werken en precies willen weten hoe alles werkt, zowel de hardware als de software (Forth zelf). ... voor professionals die zich met realtime problemen bezig willen houden. Een bijzondere eigenschap van Forth is dat het zo compact is, dat het op de kleinste microcontrollers kan draaien. ... voor de doortastenden die absoluut geen tijd hebben om zich in weer een andere assembler te verdiepen, maar die de performance van machinecode voor een aantal toepassingen toch absoluut niet kunnen missen. Het is niet voor niets dat er zo veel chips met Forth als instructieset bestaan. ... voor ruimtevaart specialisten, Rosetta heeft september 2016 zijn laatste (Forth) adem uitgeblazen. Hier de laatste foto's en een korte beschrijving. ... voor autonome meetsystemen in de ruimte (de Space Shuttle) of de diepzee (zoeken naar de Titanic), waarbij het van essentieel belang is dat vanaf grote afstand commando's zijn te geven, of onder extreme condities zelfs de totale software nog kan worden omgezet (vastlopende motoren, uitvallende meetapparatuur, enzovoort).

14 juni 2023

...

Eigenschappen

Eigenschappen van Forth Forth bestaat net zoals de spreektaal uit "woorden". De woordenschat van Forth kan naar believen uitgebreid worden. Het bijzondere hieraan is dat de door de gebruiker gemaakte woorden dezelfde status hebben als de standaard set. Door combinatie van de standaard woorden met je eigen woorden kun je commando's en datastructuren maken die speciaal zijn toegesneden op het probleem dat je wilt aanpakken. Een essentiële eigenschap van Forth die hierbij goed van pas komt, is dat het een interactieve taal is. Compileren en linken is niet nodig, dat gebeurt incrementeel (stukje bij beetje). Ieder nieuw woord is direct uitvoerbaar en de programmeur kan het testen zonder er een raamwerk omheen te moeten schrijven (wat weer extra compileren, linken en ontluizen zou betekenen). Omdat Forth het toestaat de hardware aan te spreken vanuit een interactief systeem is het een ideale taal voor zogenaamd "rapid prototyping". In plaats van top-down werkt men dan liever bottom-up, om zeer snel een inzicht in de te verwachten problemen te krijgen en vertrouwd te raken met de beperkingen van de hardware. Behalve de mogelijkheid om af te dalen naar het niveau van de bits en de bytes heeft Forth de voordelen van een hogere programmeertaal: onafhankelijk kunnen werken van de toevallig aanwezige processor en de beschikking hebben over abstracte datastructuren. Daarbij is op te merken dat Forth is geoptimaliseerd voor het snel aanroepen van procedures (woorden). Dit betekent dat programma's modulair kunnen worden zonder dat dit al te zeer ten koste gaat van de snelheid. De gemiddelde Forth procedure kan dan ook zeer kort zijn. Dit komt de overzichtelijkheid en de mogelijkheid tot hergebruik natuurlijk ten zeerste ten goede. Een comfortabel Forth-systeem met interpreter, compiler, editor, assembler en multitasker neemt vaak zelfs minder dan 20 kB ruimte in beslag. Vanwege deze compactheid is het een geliefd assembler alternatief voor single-board computers (trefwoord: "embedded control"). Forth is in staat zelf de taken van een operating system waar te nemen, maar versies draaien ook onder MS-DOS, MS-Windows of UNIX systemen. Forth is, zoals geldt voor elke respectabele programmeertaal, voor het grootste deel in Forth zelf gespecificeerd. Wat over blijft zijn eenvoudige elementen, zoals een optelling. Door de eenvoud waarmee deze zijn in te passen is het voor een ervaren Forther mogelijk in zeer korte tijd de taal over te zetten naar een nieuwe processor of een nieuwe hardware omgeving. Voor bijna iedere micro-, mini- en mainframe computer bestaat er wel een implementatie, van 8031 tot VAX tot IBM 370. Vaak is Forth de eerste taal die op een nieuwe processor beschikbaar komt. Vanwege de compacte bouw is Forth ook voor een serieuze amateur nog volledig te overzien. De efficiënte, stack-georiënteerde architectuur wordt ook vaak in hardware gerealiseerd (NOVIX 4000, SC32, RTX2000, FRP1600, IX). Deze systemen overtreffen de prestaties van de huis-tuin-en-keuken 68030 en 80386 systemen, zeker voor Forth code. Bijvoorbeeld een 12 MHz RTX2000 haalt pieksnelheden van 60 miljoen Forth instructies per seconde, met naar verhouding zeer weinig hardware. Hoe eenvoudig Forth er in de praktijk uit kan zien toont het volgende voorbeeld van een LED (lampjes) sturing. Er zijn 16 ledjes op aangesloten. Het woord LIGHT stuurt een bitpatroon naar de uitvoer (hier het BAMBOE printje). : LIGHT ( n -- ) TO BAMBOE ; \ BAMBOE is \ hardwareafhankelijk 100 VALUE delay \ Vertragingstijd : SLOW 500 TO delay ; \ Grote vertraging : FAST 100 TO delay ; \ Kleine vertraging : COUNTS ( -- ) \ Test alle lampjes 0 0 DO I LIGHT delay MS LOOP ; : LAMP ( lampnr -- ) 1 SWAP LSHIFT ( nr -- bitadres ) CREATE , \ Geef het bitadres een naam DOES> ( -- bitadres ) @ ; \ Geef enkele ledjes een naam 0 LAMP power 1 LAMP record 2 LAMP calls 3 LAMP answer 4 LAMP memo 6 LAMP test 0 VALUE lamps \ Voor de uitgangstoestand : ON ( bitadres -- ) \ Zet een ledje aan lamps OR DUP TO lamps LIGHT ; : OFF ( bitadres -- ) \ Zet een ledje uit INVERT lamps AND DUP TO lamps LIGHT ; : TOGGLE ( bitadres -- ) \ Verander het niveau lamps XOR \ van een ledje. DUP TO lamps LIGHT ; We hebben de lampjes namen gegeven die voor zouden kunnen komen op een telefonisch antwoordapparaat. We hadden het allemaal nog veel fraaier kunnen maken, maar het gaat hier om een eenvoudig voorbeeld. Als het is ingeladen, verschijnt na slow counts of fast counts de uitvoer van een 8 bits teller op de LED's. power on zet ledje #0 (genaamd POWER) aan en power off zet hem weer uit. power toggle schakelt LEDje #0 om, van aan naar uit en andersom. Het compileren van deze code voor een 8051 SBC of iets dergelijks zal, met behulp van een standaard communicatie-programma zoals bijvoorbeeld PROCOM, niet meer dan een halve seconde in beslag nemen. Tekst kan ook rechtstreeks ingetypt worden, wat vooral voor het ontluizen erg gemakkelijk is. Charles Moore heeft Forth eind 60-er jaren ontwikkeld, voor toepassingen bij lineaire deeltjesversnellers en later radiotelescopen (Kitt Peak). Ook vandaag de dag wordt Forth op deze gebieden nog toegepast (ruimtesondes, Space-Shuttle).

12 juni 2023

...

Welkom op de website van HCC! Forth

Wij zijn een groep enthousiaste gebruikers van de programmeertaal Forth. De HCC forth IG is er trots op deel uit te maken van de grootste computergebruikersvereniging ter wereld: de HCC. Tevens voelen we ons verbonden met de internationale Forth wereld, en worden we soms aangeduid als FIG CHAPTER HOLLAND. IG betekent interessegroep, in oude publikaties vindt U ook wel "Forth gg",

2 juni 2023

Actueel

'Meld je aan voor de nieuwsbrief' van HCC!forth

'Abonneer je nu op de nieuwsbrief en blijf op de hoogte van onze activiteiten!'

Aanmelden