6 ms·
Forth fans live in what seems to be a world of delusion. They rail against modern software, claiming to have an enlightened "system", and yet cannot communicate
by joeberon 5y ago
Forth fans live in what seems to be a world of delusion. They rail against modern software, claiming to have an enlightened "system", and yet cannot communicate anything about the real capabilities of their system. If you ask most Forth users "what do you do in Forth?" the answer is almost always "writing a Forth". There seem to be very few people who are interested in using it for any other problem domain. I can't shake the feeling it is mainly hype.
- michelpp 5y agoNo one here is hyping Forth, they're conversing about and in some cases expressing admiration for what is an amazing and fun little language. Some FORTH systems can fit into less than 10 kilobytes of memory. FORTH was invented in 1968, and was first used outside of Moore's lab by 1970. I could only wish one of my works was still being trash-talked on HN 53 years from now! You can't pay for that kind of "hype".
- fouc 5y agoForth is a notorious "write-only language", it's hard to decipher what your code is doing after you've written it. As someone that spent a couple of years dabbling in forth before moving on to Ruby, I became a lot more appreciative of the sheer readability of Ruby, and ruby-inspired languages like coffeescript & elixir. However I still have a soft spot for the ethos of Chuck Moore. Abstractions are something that we should be wary of as programmers.
- joeberon 5y agoI tried it, and it felt more like a fantasy computer game, like TIS-100 or something, rather than a real language. It felt neither easy to write nor read, and I'm not sure what problem it solves with "software" in general that other languages don't. Ruby is a great language for sure, and actually it has some of the DSL capabilities of Forth
- fouc 5y agoYeah that's one of the most intriguing parts of Forth I thought, the everything-is-a-DSL, the metaprogramming, the language-is-a-bytecode-VM, etc. I feel lisp is very similar, an inverted sort of forth, I've never tried lisp but it seems to be a much easier language to work with than forth.
- astrobe_ 5y ago> it's hard to decipher what your code is doing after you've written it. Not in my experience. I even recycled "throw-away" scripts - thing that were written as "write-only" - a couple of times. I also continuously improve my dialect, so sometimes I break the utilities I've made for work. One of them has been working 24/7 for years (probably longer than your time playing with Forth), during which I have modified it to better fit my evolving needs more than a couple of times.
- flohofwoe 5y agoThe same is true for functional programming fans, except that Haskell is hyped a lot more than Forth ;)
- Zababa 5y agoAt least in the sector where I work, web stuff, Haskell is relatively usable. The same can't be said for Forth. Maybe it's the opposite in the hardware world?
- _russross 5y agoIt seems like modern languages adopt more and more ideas from functional programming as time goes by (garbage collection, closures and higher-order functions, parametric polymorphism, immutable values, algebraic types). Modern languages designed for general-purpose use are mostly hybrids, and the functional influence has been steadily growing over the decades. What influence has Forth had?
- joeberon 5y agoHaskell is very widely used though, that is not a reasonable comparison.
- agumonkey 5y agosome bits about threaded bytecode and code size are very interesting though also I don't know if it's still the case but mac used openfirmware fcode/forth
- zabzonk 5y agoSome things I have written in Forth: - a vt100 terminal emulator - a pacman clone - a text editor - a plotting utility for an HP plotter - an interface for a Coulter counter Probably other stuff I have forgotten now.
- caslon 5y agoIt's hard to claim FORTH is "hype" while not being delusional about how few people actually have used it (and how high the percentage of very accomplished FORTH authors there are out of the whole of FORTH users). There is exceedingly little "hype" about FORTH, because the number of people who genuinely are aware of anything about it as simple as "FORTH is a postfix, stack-based language" is probably under 2000 worldwide, especially given most of its users happen to be dead now. To extend the hype metaphor in your comment, FORTH is like the really good, really under-the-radar niche local artist that a bunch of critically-acclaimed, really hyped bands like.
- 7thaccount 5y agoThere is a commercial forth called 8th that has a few thousand users and has support for ODBC, a few native databases, Bluetooth, can run on iOS, Android, Mac, Linux, Windows, has a GUI, can cross-compile to different systems, matrices, constraint solver, I/O for a lot of common formats...etc. It's a cool language that has the same abstraction as Python, but can go lower as well.
- throwaway81523 5y ago> There is a commercial forth called 8th 8th resembles Forth about as much as Javascript resembles C. There is a superficial similarity but 8th underneath is dynamically typed, garbage collected, etc, while Forth is close to assembler. That said, 8th is cool.
- 7thaccount 5y agoI think it's more than superficial. Word definitions are done the same and you concatevatively build up your DSL in the same manner. Nothing keeps any other Forth from having a GC, it's just that many are thin layers over the hardware and are used in applications where a GC is unnecessary. In general, I kinda get what you're saying though in that JS and C share a syntax and are very different. However, 8th still is stack based and has all the hallmark Forth words like "dup", "rot", "pick"... etc that clearly mark it as part of that language family.