4 ms·
Beside embedded system or firmware, what are Forth's popular use cases these days? Personally I never see backend development or mobile frontend job vacancies
by anta40 4y ago
Beside embedded system or firmware, what are Forth's popular use cases these days?
Personally I never see backend development or mobile frontend job vacancies that require Forth skill, for example.
- spaintech 4y agoYou are correct, Forth is not a institutional tool, more of a individual choice. IMO, one that allows you to prototype and debug interactively as you write your code and has been like that since the beginning. It allows you to train yourself to have a complete control and command of your code making for tighter, simpler solutions for complex problems ( In my personal experience and comments for those that have been introduced to FORTH.) If you consider that Embedded is a highly constrained resourced environment, then FORTH is a fantastic choice. Now step back, consider that statement once more, and you could be onto something even greater, as there is lots of resource waste-gates on modern OS and Computers. Now that Power is becoming a greater constrain resource, there might be an opportunity for someone to build something great in forth. BTW the biggest back en used case is the bitcoint smart contract which is based on FORTH. As you can see, and in full agreement in your statement, FORTH is a not a job magnet, IMO, you get better at programing understanding FORTH. See Bret Victors talk, https://youtu.be/PUv66718DII https://youtu.be/PUv66718DII you most of that already @ Forth ...! :; Try it, you'll never go back! :)
- anta40 4y ago>> IMO, you get better at programing understanding FORTH Isn't assembly fit the place better? :)
- Gordonjcp 4y ago> IMO, you get better at programing understanding FORTH. Modern cars don't have a magneto or carburettor, but you'll have a far better ability to fix your Jag if you also know how to fix your lawnmower.
- spaintech 4y agoIn the car analogy, it's more like learning and understanding the limitations of the Otto Engine so that you can build a better one... IMO. :) BTW, in aviation, where reliability, constancy, and longevity, they still use magnetos and carbs... :D :;
- lebuffon 4y agoForth has not won any popularity awards since the end of the '90s but it is still used by a small group of engineers around the world to solve their custom needs. This can be for embedded projects or firmware yes, but it has crept into larger projects. IMHO opinion Forth is hard to learn, takes more effort to bootstrap your project (more like Assembler) and more importantly it is hard to switch gears to think with Chuck Moore's methodology. However once learned it can make one very productive. Forth was (is?) used for experimental control in the ISS quite regularly. The ability to wip up a simple DSL that talks directly to hardware and will compile or can be used as a script is a win for those custom projects. It's running in the FEDEX handheld package scanner from what I understand. (may be dated information) Funny story that. Way back, Version I was started in C but they hit the ROM size limits on the hardware that was already finished. Forth Inc. was asked if they could help. Using their Forth RTOS they re-wrote it and it all fit with room to spare. (Indirect-threaded-code is tight) Years later, Version II hardware was designed with waaay more memory. Re-write in C fit nicely. All good. But... the batteries would not last for an entire shift. Forth Inc was brought in again and they own their task scheduler so they modified it to put the CPU to sleep at every chance they could. Batteries lasted. Largest known Forth program is on Windows. https://ribccs.com/candy/ https://ribccs.com/candy/ 1M+ LOC. Compiles with VFX Forth by MPE UK. </sermon>
- cmpaul 4y agoYES! I worked on the FedEx Enhanced SuperTracker software from 1999-2006, which I believe is the "Version II" you're referencing. The core software was still written in Forth, but we rebuilt the package routing logic in in C, which might be what you're referring to. Very curious to know how you are familiar with all the history, did you work there or at Forth, Inc?
- lebuffon 4y agoI worked in a Forth shop for a few years and attended a few conferences. The FEDEX story made its way around the community.
- AmalgatedAmoeba 4y agoIIRC WebAssembly is at least partially inspired by Forth — both in syntax and being stack-based.
- Gordonjcp 4y agoPython too, and of course PostScript.
- armitron 4y agoPython has nothing to do with Forth, they couldn't be more opposite to each other if they tried. I recall Chuck Moore in a Silicon Valley Forth Interest Group meeting express his disappointment at how modern programming languages (and Python was among the ones mentioned) that are advertised as "simple" are anything but. Python is an enormously complex language, full of inconsistencies and bad design. However, it masks that complexity behind a facade of user-friendliness which has done wonders for its popularity. Forth is not only as simple as it gets, but also an elegant and totally honest language. That Chuck Moore managed to distill the essence of programming in this form, speaks to his genius. Unfortunately, as is often the case with genius, it can be decades to centuries until the ideas percolate and emerge in a popular fashion.
- Gordonjcp 4y ago> Python has nothing to do with Forth, they couldn't be more opposite to each other if they tried Really? You don't look at the stack machine that runs the .pyc files and go "jeez this is just Forth with some syntactic sugar on"?
- davidgay 4y ago> Really? You don't look at the stack machine that runs the .pyc files and go "jeez this is just Forth with some syntactic sugar on"? No, because stack machines, including stack machines for use as interpreters of compiled languages, pre-date Forth by many years: https://en.wikipedia.org/wiki/Stack_machine https://en.wikipedia.org/wiki/Stack_machine
- thrown_22 4y agoThat's literally what it's for. Forth is the simplest language to get running on hardware which you have no idea how to program directly. Much easier than doing it for C.
- ww520 4y agoYes. People just don’t see it. I would argue the stack based VM’s are Forth based or inspired. Language VMs are running everywhere, billions of devices.