Exactly. That's why forth works so well for them.
FORTH
More like the last time they were allowed to choose tech was before most of today's tech existed. Even SpaceX still uses Nazi nozzles that control the expanding gas despite the existence of aerospikes as no one in aerospace wants to take the risk to get a 1960s new tech to market.
youtube.com
Here's a video where guy shows how data can be treated as code Forth. It's an hour long, but I found it pretty fascinating.
I was interested in it for a long while, and it definitely helped me get a good grasp on low level matters (the stuff people recommend you learn C to get good at--which C hides and which C purists will tell you is not atoms made up of quarks held together by powerful forces but actually mere undefined behavior that releases nasal demons). I'd say that Forth is better than most languages, and that I'd still use it happily today--
if not for ML. If not for functors in OCaml, or dependent types and theorem proving in ATS.
if not for the 'community' being 95% deranged LARPers by population, and 100% (rounded up) deranged LARPers by output. When I thought they were merely deranged I could tolerate it. If they were wannabes like I assume many of you are here I would tolerate it.
would I recommend it? no. Forth is intrinsically a relatively hard language to do well in, because 1. to do it well you need to write lots and lots of small definitions, which need names, and 2. naming is the single hardest task in Computer Science (it's a joke but it's also true), and 3. Forth lacks a lot of visual cues that every other language has. You can't visually match parameters to functions. If you screw up the stack in a function, not only don't you know until shit breaks and you trace it back, but you can't easily see where you're affecting the stack - you have to start at the beginning and read through to each exit and maintain state while knowing what each word (with a name you hopefully remember--see #1 and #2) does with the stack. It's doable. I did it. It's objectively and materially a harder task than programming in another language, even before you get to the poverty of the community that has you writing all your own libraries and implementing your own hash tables (although see benefit: getting good at low level matters), or the compiler helping you with almost nothing.
if you do Forth anyway, fork over 100 USD and pick up iForth. It's really, exceptionally good (at everything except making tiny executables that exit really soon--ciforth and SwiftForth are the best at that). Use stack comments. Disregard anyone telling you to write Forth definitions like they're glossary entries, like in that one video. Give yourself a little bit of slack and use ALLOCATE and local variables every once in a while, or you'll burn out really fast and find yourself (God help you) writing Common Lisp or Haskell as a kind of retaliation against good sense and efficiency.
Forth is best at linguistic extensions that feel natural, DSLs that feel natural, doing lots of work with the whole language at 'compile time' to take a load off of runtime (and off of human-reading time--better to PARSE and populate a table from a string than have a bunch of CHAR C C, CHAR O C, CHAR C C, CHAR K C, nonsense.)
Forth is more of a philosophy than a language. I think it's entirely useful to learn too, simply to get that mindset.
Read Jonesforth and Thinking Forth
for fuck's sake just name things f, g, h, f1, f2, f3 and have a shadow file like Forth used to be in the good old days
OP try using Retro Forth by crc
wat
A C compiler generates assembly the same way someone who knows assembly would. Forth generates something more like a bytecode vm with the bytecode mixed into the binary.
Oh, your head is full of fuck from Jew school. The reason why almost all famous programmers were self-taught before entering college isn't due to the head-start but that they knew enough to see this shit as poz when it was presented in class and easily resisted the infection.
Link us to some of your projects.
Forth is almost entirely unoptimized by compilers other than for attempting to combine words. Everything else is self-defeating as making optimized combinations of words would sacrifice the small binaries which are the only reason anyone ever used forth.
Weapons-grade smug seems to be a trait of memelangs.
It seems to me that FORTH has been getting increasing attention over the last couple of years due to its suitability on FPGA...
Indirect-threaded FORTHs do that.
Direct-thread, Subroutine, and Compilers don't have bytecode.
I'm not sure how direct thread changes that as it just removes a level of indirection as a trade of size for speed, it's still the same table dispatch design. There's an argument that either way it's not true bytecode as there's no translation, but imo that's really pedantic.