Stack-Oriented – Status of Stack-Based Languages

factorforthstack-oriented

I have recently become curious about Factor, which, as far as I understand, is the most practical stack-based language around. Forth seems not to be used much these days – I think it is because it was meant to be used on its own, instead of inside an operating system, although ports of course exist. It is also pretty low level. Joy is essentially dead, as the author stated that it does not make sense to mantain it in spite of adopting Factor.

The fact is that Factor itself does not seem much developed today. The GitHub repository does not seem very active, and a lot of stuff languishes in unmantained.

So, are there any other languages of this type that are more actively mantained? Are any in production use?

Best Answer

I have no idea how you concluded that Factor's not actively developed. Factor 0.95 was just released on August 17th, and if you look at the GitHub history page, you'll see that there are a lot of commits landing on a regular basis. Most aren't done by Slava, as he's handed off the project to Doug Coleman (erg) and John Benediktsson (mrjbq7), but the language is continuing to see major improvements—some amazing. (E.g., global-value numbering, which can result in massive speed boosts throughout the entire code-base by factoring out common expressions into a single location, just landed a few weeks ago.)

While you're right that there's a fair amount of code in unmaintained, there's a much greater volume of code that's in the core libraries—and in fact, the majority of code in unmaintained amounts to thought-experiments or code that no longer represents and ideal way to work in Factor. I.e., in at least some circumstances, it'd be better called deprecated.

As far as other stack-based languages, there are some in active development, but none have the traction Factor has, and the only concatenative language I know with wide distribution other than Forth is PostScript—probably not what you want to write your next project in. Unless you're unhappy with something Factor's offering, I think it's your best bet. The community's friendly and active, and I'm sure would be thrilled to answer any questions you have or to accept any improvements you have in mind.

Related Topic