LWN.net Logo

Why learn Forth?

Why learn Forth?

Posted Jul 1, 2012 16:55 UTC (Sun) by forthy (guest, #1525)
Parent article: Why learn C? (O'Reilly Radar)

I've tried to learn C first, before I learned Forth. I didn't quite understand. After I learned Forth, I did understand. C is quite close to the machine, but it also is an Algol descendant and tries to hide some things. Like what an address really is - a number, pointing to a byte in the byte-array we call memory (wider accesses take multiple bytes).

Forth's VM is certainly closer to the machine than C's. As is the programming language - no syntax clutters the relation between code and how it is executed. And due to the interactive nature of Forth, it encourages discovering the machine, something C doesn't.

When it is about teaching, I'm strongly in favor of teaching simple model-like languages first. A language close to the machine is important, as the student needs to understand reality. Abstractions are fine for big tasks, but in Java code, I've the impression that people try to abstract the work away - they push it further and further by wrapping the reality in layers and layers of abstraction (but someone has to do the work, after all, so this solves nothing).


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds