5 ms·
The Beautiful Simplicity of ColorForth (2013)
- pella 12y agocode: https://github.com/AshleyF/Color https://github.com/AshleyF/Color blog series: http://blogs.msdn.com/b/ashleyf/archive/tags/color/ http://blogs.msdn.com/b/ashleyf/archive/tags/color/
- kabdib 12y agoI'm red-green colorblind, and this amuses me. (I have strong, negative opinions about FORTH, having seen at close-hand a few disasters that resulted from using the language, but I have to credit FORTH for being achingly spare and rather pretty).
- pcmonk 12y agoI'm deuteranomalous too, and I first thought, "I can distinguish these colors easily, I'm glad they chose colorblind-friendly colors". Then I read the color list and realized there were more colors than I thought.
- alex4nder 12y agoTo add 'color' to the comments: I've got strong positive opinions about forth, when used properly. I've helped save several embedded/early-stage board bring-up projects with it. More than one person has called forth a programmer "amplifier". If C++ has the capacity to blow off your whole leg, forth is more than capable of forming a black hole beneath you and sucking you in.
- kabdib 12y agoFORTH definitely seemed to be a kook amplifier. It tended to attract personalities who were unhinged and not very disciplined. The episode that most sticks in my mind was when a cow-orker of mine at Atari tried to write a game in FORTH. He blew all his ROM space with runtime and framework and static bitmaps; game play was going to come later, as soon as he got his great FORTH-based game engine running. Ten months into a six month project, 20K into a 16K ROM and with frame times on the order of 5 FPS (utterly unplayable) he basically stopped giving his manager any status, and was fired. All this time, good performance, great game play and small code space were "just around the corner, like next week, maybe" because the magic of FORTH was going to save the day. That was a near total failure of management, good engineering practice, scheduling and hiring, all at once. At nearly the same time, a friend of mine was writing some great process-control stuff for another company, in FORTH. We had many conversations about the Atari programmer in question. My friend was pragmatic, conscious of his own faults, and probably the best FORTH programmer I've ever known. "Not everyone can handle this stuff," he said. A few years later I asked him if any of his FORTH code had survived when he left that company, and he smiled a little and asked me what I thought. "They threw it all away, right?" "Right." I don't know how much that cost the company in question. Probably a lot. In another case, there was a hardware bring-up engineer who wrote a bunch of tests and exercisers in FORTH. This was an initial win because he taught the hardware people FORTH, too, and they wrote a lot of their tests in it, and they were pretty productive. This was unarguably good stuff. But when it came to write native code drivers for the platform's OS we found all kinds of cycle-level timing issues that had been masked by FORTH's inner interpreter overhead, and I spent weeks chasing some of these, inserting magic NOP instructions to work around glitches. So am I utterly negative about FORTH? No, it's a tool. I get really skeptical that you can ship a real product in it, though, and I think that FORTH's successes are in very specialized niches and not very visible. Color FORTH made me laugh, though.
- kryptiskt 12y agoAt least two good games were written in Forth in the 80's, Starflight and its sequel. So I have paid real money for Forth-based products.
- kabdib 12y agoAnd quite a few failures. Another one that I just remembered: The first Atari pinball machine, 4 X 4, was attempted in FORTH. They gave it up and re-wrote it in assembly. The Atari coin-op group had an internal version of FORTH that was actually pretty whizzy; one or two guys spent a fair amount of time on it. But no games actually shipped that used it.
- kvb 12y agoSure, but there are lots of failures in pretty much every language, right?
- kabdib 12y agoFORTh seems to have MUCH more than its share of failures. Also, zealots, who are (in my experience) unreasoning and deaf to counter-arguments. FORTH also does not seem to scale to large projects very well (I'm guessing that the number of large, long-lived projects in FORTH is very, very small compared to contemporary languages like Pascal and C).
- chipotle_coyote 12y agoThere's always been a persistent rumor that some of the vector-based Atari coin-op games like Battlezone were written in FORTH, but I've never been able to definitively confirm or refute that. (I can find messages out on the net from the mid-90s with people talking about this, but no actual replies from people who would know.) I always liked the idea, although I don't think I really like FORTH that much. (Those who remember MUCKs like TinyMUCK might have actually used a FORTH variant: MUF. I actually wrote a couple of MUF programs, although by that point the language supported lists and dictionaries so it wasn't quite so headbangingly tough for those of us who do not have stack-based brains.)
- da02 12y agoI've never used Forth. However, I am curious about those disasters you mentioned. Have you written about them anywhere?
- brianobush 12y agoYou choose the colors you want to use, but in all reality you will likely never use this esoteric dev environment. As a side, I have seen numerous close-hand disasters in Java and C too. The problem is usually between the keyboard and chair.
- boomlinde 12y agoI remember there was a quite intense discussion about ColorForth discriminating color blind users (HN or ./ would be the kind of place where this type of discussion exists, but I can't remember which). ... I also remember reading that C. Moore added the syntactically significant coloring to help with his own visual impairment.
- e12e 12y agoWhat an interesting series. The start is: http://blogs.msdn.com/b/ashleyf/archive/2013/09/21/chuck-moores-creations.aspx http://blogs.msdn.com/b/ashleyf/archive/2013/09/21/chuck-moo...
- dang 12y agoWhich was discussed here: https://news.ycombinator.com/item?id=6667592 https://news.ycombinator.com/item?id=6667592.
- e12e 12y agoAnd for those (not quite) following along at home, there's a link in there (or in one of the other related links) to Moore's talk at Strange Loop 2013: http://www.infoq.com/presentations/power-144-chip http://www.infoq.com/presentations/power-144-chip Very interesting IMHO! [edit: I'm delighted to see a little more of this chip, after being rather exited about it when it was first announced/launched (just not quite 450USD exited). There are some fascinating notes on Moore's (now dead?) eval blog[1], such as the notes on driving a VGA display: http://www.colorforth.com/video.htm http://www.colorforth.com/video.htm [1] http://www.colorforth.com/haypress.htm http://www.colorforth.com/haypress.htm ]
- euccastro 12y agoRelated: https://news.ycombinator.com/item?id=6940552 https://news.ycombinator.com/item?id=6940552
- templeos2 12y agoAll good programmers have done a compiler as a project. Sadly, there are many many retard-nigger planet of the apes programmers who stare confused, "It's impossible! Nobody can do a compiler."