5 ms·
ColorForth (2009)
- kencausey 7y agoOK, but is there any effort to continue development now that Chuck Moore appears to have retired for good?
- yiyus 7y agoYes. http://www.inventio.co.uk/LegacyIndex.htm http://www.inventio.co.uk/LegacyIndex.htm
- msla 7y agohttps://colorforth.github.io/phil.htm https://colorforth.github.io/phil.htm > I believe in objective right and wrong. It applies to computer code. There is a single right way to balance all the conflicting demands. There is a solution to the puzzle. The challenge is to find it. This, I think, is important to understand before you say anything about how you'd have done things differently. Taken to a limit, it implies Forth is a very specialized kind of language, for solitary programmers working on embedded systems; if nothing else, it forecloses on pair programming and other team development techniques unless every member of the team but one is a mere typist, or unless all members of the team are so sympat that there's no possibility of disagreement. Otherwise, intractable arguments are inevitable, because if it isn't Right, it's Wrong.
- jplayer01 7y agoCan anybody comment on what the quality of the code is like?
- Impossible 7y agoSource code for the interpreter from the github link posted above (https://github.com/narke/colorForth/blob/master/cf2019.asm https://github.com/narke/colorForth/blob/master/cf2019.asm). Looks like decently well commented x86 assembly language written for a macro assembler.
- deleted 7y ago[deleted]
- g051051 7y agoI've tried a few times over the years to play with it, but couldn't make much progress. The most recent version available is from 2001, and: "But note that COLOR.COM can only run under DOS - not Windows. As you can see above, it's 9 years old and I no longer know how to run it. The current version is available at GreenArrays". But I can't find a ColorForth download at GreenArrays. And the "9 years old" comment might be from 2002! Edit: And the FTP site seems to be down, so I can't even download it any more. However, I found a 2019 repo at SourceForge: https://sourceforge.net/projects/colorforth/ https://sourceforge.net/projects/colorforth/
- TazeTSchnitzel 7y agoI searched on github for colorforth and found https://github.com/narke/colorForth https://github.com/narke/colorForth which links to https://sourceforge.net/projects/colorforth/ https://sourceforge.net/projects/colorforth/ Maybe one of those two links is useful
- yiyus 7y agoThis one has recently been updated and can boot from usb or be used from bochs: http://www.inventio.co.uk/LegacyIndex.htm http://www.inventio.co.uk/LegacyIndex.htm
- dang 7y agoThere have been HN threads on Chuck Moore's work and on GreenArrays, but specifically about ColorForth all I could find was https://news.ycombinator.com/item?id=8219730 https://news.ycombinator.com/item?id=8219730 from 2014. Plenty of scattered comments though: https://hn.algolia.com/?query=colorforth&sort=byDate&dateRange=all&type=comment&storyText=false&prefix&page=0 https://hn.algolia.com/?query=colorforth&sort=byDate&dateRan...
- carapace 7y agoOne of the most impressive digital artifacts humans have yet produced, IMO. Legend has it that Chuck Moore used to carry around his own 3D CAD system in a deck of punch cards in his shirt pocket. > Current software is shameful. It's not pleasant but I have to agree. I'm ashamed of my industry. Just yesterday I watched helplessly as an office manager and her boss struggled with their computer for ten minutes to complete a task that would have taken moments with paper. The divining of intent (the UI's embodied intent, not their own), the careful collecting and passing on of cargo-cult lore, groping blindly for the correct ritual to evoke the desired state on their machine... It's our fault. I am ashamed. ColorForth and things like Arcfide's self-hosting GPU APL compiler are "existence proofs" that we can get the same jobs done with one or two orders of magnitude less code. Doing that would free up dev's mental and time resources to make better software, i.e. spending time on the difficult and important chore of actually modelling the users' processes and providing automation that measurably improves their lives, rather than learning the next flash thing or reinventing the wheel for the Nth time. In other words, your software editing environment including your language should allow for convergence and contraction of code. Refactoring (aka DRY by those who must repeat themselves) is key, and Forth is notorious for refactoring. In Cybernetics there's a formal measure or concept called "variation". The variation of code should be at most a small constant greater than the variation in human problems the code is meant to solve.
- striking 7y agoFor anyone looking for an alternative point of view, consider reading https://yosefk.com/blog/my-history-with-forth-stack-machines.html https://yosefk.com/blog/my-history-with-forth-stack-machines...
- carapace 7y agoThis is more about the author than Forth. > What does this say about Forth? Not much except that it isn't for me. > I still find Forth amazing, and I'd gladly hack on it upon any opportunity. It still gives you the most bang for the buck – it implements the most functionality in the least space. > As to using Forth as a source of ideas on programming and language design in general – not me. I find that those ideas grow out of an approach to problem solving that I could never apply. Anyway Forth is one "existence proof", Arcfide's APL compiler is another. To repeat: We could get the same value out of much less code than we do. If we had 1/100th of the code we could use the time and mental energy thus liberated to do other better things.
- Minkwhip 7y agoRainbow Forth is an implementation of the colorForth dialect of the Forth programming language designed to run under Linux or Windows. https://github.com/flagxor/rainbowforth https://github.com/flagxor/rainbowforth
- mruts 7y agoI used to write pretty complex 2d games in RPL on my HP-50g in high school and man, the density of the code was absolutely amazing. For some reason that I can't quite explain, using a stack based system can produce shorter code than any other paradigm (maybe besides APL and derived languages). But I also found the programs to be almost impossible to read and modify even just a couple days after writing. There's no doubt that I'm nowhere near as smart as Chuck, but I don't think I could handle a million line code base in Forth or RPL. Maybe the equivalent million line C program would only be 10000 lines or something, but I'm not sure I could handle that either. I've thought about the problem of readability and understandability of RPN languages and syntax, and I wonder where it comes from. I have a theory that it relates to some fundamental structure of the brain and how we process syntax and information, but I'm not sure. Also maybe it has to do with the amount of (unnamed) context you have to keep in your head at one time.
- deleted 7y ago[deleted]