3 ms·
The main weakness of Forth is that modern programming is basically connecting pieces of APIs from different systems. This is true at the OS level, and much more
by coliveira 2y ago
The main weakness of Forth is that modern programming is basically connecting pieces of APIs from different systems. This is true at the OS level, and much more so at the distributed level (web). So you're stuck with languages that help with this type of interfacing, such as Python and Java, while languages that excel in expressibility and logical development like Forth provide little benefit to the type of programming we're forced to do every day.
- 7thaccount 2y agoYou hit the nail on the head. My ideal world would involve me having an extended period of time to research a problem and then artfully craft a perfect solution to a problem that is beautifully documented. The world I live in is mostly crappy software products involving an infinite mess of APIs glued together and poor understanding of the core problem which leads to a huge mess. It's worse for the organization too, but good luck arguing that.
- runlaszlorun 2y ago> The world I live in is mostly crappy software products involving an infinite mess of APIs glued together and poor understanding of the core problem which leads to a huge mess. And now we get to add frequent supply chain attacks to the list. I recently tried NextJS even though I consider myself an ardent framework minimalist. Create app (or whatever) proudly proclaimed it had installed 666 packages. I took that as a hint and bailed…
- 7thaccount 2y agoAn infinite tower of abstractions lol.
- stephen_cagle 2y agoOne other weakness that I sometimes wonder about in relation to Forth is that modern processors are just much more complicated to reason about internally. I am not sure how much efficiency I can pull out of them at reasonable cost considering they likely have. 1) Out of order execution 2) Multiple levels of caches 3) Branch predictors Forth has several neat advantages. I think it might be a better way to reason about a complex problem. It can be bootstrapped on almost any piece of hardware. It can be made to be very memory efficient in its runtime. Those things were true in the past and they are still true now. But I do wonder whether the performance part of it is still true. Not because Forth has changed, but simply due to the fact that modern hardware (+ compilers) can take mediocre code and make it into pretty damn performant code.
- coliveira 2y agoThat's correct, but Forth can always be made to run faster with enough additional work (a more robust compiler for example). That's what commercial Forth still do nowadays.
- interroboink 2y agoThis is why Perl stays attractive to me — not because of the language, but because of CPAN and all that accumulated API interfacing knowledge expressed therein.