8 ms·
Plan9 from?
- Avshalom 10y agoGoddamned Forth Wizards making the rest of us look inadequate.
- dsr_ 10y agoNeeds a (2000) tag. @dang
- nickpsecurity 10y agoYeah, otherwise a reader might assume Forth has reached the performance of OpenPOWER or high-end Xeons with less transistors than the old, Intel CPU.
- ianai 10y agoThe term to describe reading this in 2016 when it was written in 2000 is: uncanny. So how come my tablet and cell phone aren't running Fourth/plan9?
- khm 10y agoBecause the OS you care about on your smartphone isn't linux or ios, it's webkit/blink, and nobody on earth has the capital and the business case for porting a modern web stack to anything at all different. The BSDs are allowed to play because of POSIX, but only if they hop on the video driver treadmill. In short, there's no money in it, which is the real takeaway from this article.
- AstralStorm 10y agoNah, some people care about Android or iOS. Because there is money in it.
- marcosdumay 10y agoGiven the quality of the software you want your cellphone to get from a network repository and run, a non-preemptive OS with shared resources would be worthless. We tried the simple approach. It's a nightmare. (Yes, on single application embedded CPUs simple is great. Those are disappearing faster than glaciers. Everything has different applications running in parallel nowadays.)
- catwell 10y agoHow hard would it be to make a preemptive Forth system? Not that much, I suppose. Or we could have hardware like GreenArray chips [1] with many cores (144) so that every application could have its own core and preemption would not even be necessary. [1] The author of the article, Jeff Fox, worked for them. He died in 2011.
- marcosdumay 10y agoAdd resource protection and you'll get a full blown OS, with a Linux-like performance or worse. But if you just want it to be preemptive, you'll need a small supervisor, a heavier memory manager, and some context switches. You'll get about the same performance green threads get on modern languages.
- stirner 10y agoWhat is the connection between Plan 9 and Forth here? Simply that they are both replacements for widely-used software?
- sebcat 10y agoWhat is a system call in Forth? NEXT (load an address and jump to it)? If so, yes, forth "system calls" are faster than Plan 9s, but only because Forth doesn't have the separation of user-/kernel land. It's really not a fair comparison.
- mrfusion 10y agoWhat's inefficient about UNIX and Windows? I couldn't gleen it from the article.
- Avshalom 10y agoin the sense that forth programmers are talking about: that they exist at all.
- marvy 10y agoLest someone thinks you're exaggerating: http://archive.is/YLh6I http://archive.is/YLh6I Quote: Forth does it differently. There is no syntax, no redundancy, no typing. There are no errors that can be detected. Forth uses postfix, there are no parentheses. No indentation. Comments are deferred to the documentation. No hooks, no compatibility. Words are never hyphenated. There's no hierarchy. No files. No operating system.
- AstralStorm 10y agoLess useful than assembly which at least allows comments. The only difference is portability, which C does much better already. Forth shoves down your throat its ancient stack model and lack of higher order types.
- samatman 10y agoGood context on why Forth didn't pan out can be found here: http://yosefk.com/blog/my-history-with-forth-stack-machines.html http://yosefk.com/blog/my-history-with-forth-stack-machines.... I adore Forth and feel that it's in the small handful of languages / approaches to language that will permanently change a developer's understanding of the field. Perhaps if GreenArrays had succeeded well enough to make a few more generations of processor the landscape would be very different. Perhaps not. Given today's architecture, the impedance mismatch between the stack paradigm and the register architecture costs Forth most of its advantage. Still, if there's another language that allows one to write an interactive assembler for a system with 8k of RAM, I've yet to hear of it. The minimum investment in Forth, which I recommend to all thoughtful developers, is reading Programming a Problem Oriented Language by Chuck Moore, Forth's inventor.
- tbirdz 10y agoProgramming a Problem Oriented Language is freely available here: http://www.forth.org/POL.pdf http://www.forth.org/POL.pdf I'd also recommend looking at Thinking Forth if you want to get some more insight into Forth's philosophy, and really program structuring in general. It's also a good read even for people who don't have much practical use for forth in itself, many of the ideas are language independent. http://thinking-forth.sourceforge.net/ http://thinking-forth.sourceforge.net/
- textmode 10y agoTo whomever runs www.forth.org: The nameserver bywater.songbird.com is non-responsive. You have two nameservers on roundrobin. At least put the dead one second and turn off the roundrobin.
- phaemon 10y agoThat should be, "To whoever runs www.forth.org". Because it would be, "She runs www.forth.org". Alternatively, if you're not really interested, just always use "whoever" as it's acceptable in all situations.
- 10y ago
- wtbob 10y agoI've noticed in myself how awful it is to be in this industry and see the same problems solved over and over again, with only marginal improvements — and quite often, rather large steps back. It must be even worse for Forth programmers.
- zzzcpan 10y agoI'm on a different side. I notice a lot of great solutions to many problems, but while the ideas are solid, they are rather poorly executed. A lot of things are like that and would really benefit from properly executed solutions. But the industry is not there yet, we don't have nearly enough people with enough knowledge and experience to make things happen at a faster pace.
- zokier 10y agoDigging bit into Forth CPUs I found this little story: http://www.drdobbs.com/parallel/seaforth-40c18-architecture/228700748 http://www.drdobbs.com/parallel/seaforth-40c18-architecture/... I must say that the diagram does remind me a little bit of TIS-100: http://i.imgur.com/pxA3H4N.png http://i.imgur.com/pxA3H4N.png Admittedly its not that novel of a structure, but still it looks like fun piece of kit to play with. Otherwise, in general I think Forth has bit similar culture/community than LISP, even if they come from very different backgrounds. Both feel smugly superior compared to common C programmers and feel slightly bitter from being unfairly pushed into niche. Both highlight the minimalism of their idol and celebrate it by creating bazillion tiny implementations.
- koytch 10y ago> Otherwise, in general I think Forth has bit similar culture/community than LISP, even if they come from very different backgrounds. Both feel smugly superior compared to common C programmers and feel slightly bitter from being unfairly pushed into niche. Both highlight the minimalism of their idol and celebrate it by creating bazillion tiny implementations. Seconded. Additionally, implementing Lisp in Forth (on a Forth CPU for bonus points) sounds like something one should try for the sheer coolness of it.
- micro_softy 10y ago"Microsoft's software makes using an old timeshareing [sic] operating system on a PC look really great in comparison." Amen. I would like an APL using ASCII characters written in Forth.
- samatman 10y agoVoilà: http://cosy.com/language/ http://cosy.com/language/
- micro_softy 10y agoReva Forth (Windows/Mac/Linux)[1] is cool but how about a Forth that does not require an OS? 1. No Plan9/BSD/etc. The true beauty of Forth to me is the relative ease with which one can boot into a Forth REPL and start controlling hardware, without an "OS". The idea is a computer with APL as its "OS". The project at kparc.com is closer to this idea than the one at cosy.com. What is evident in both cases that this idea has survived. And that's good.
- jjgomo33 10y agoShouldn't Forth be in hype again due IoT?
- chubot 10y agoIt appears that the current gen of "IoT" is built on cheap SoCs which run Linux. Linux is millions of lines of C code already, so using Forth in that context feels a bit ridiculous.
- pjmlp 10y agoCheaper SoCs like Arduino and Cortex-M3 run bare metal runtimes, just like on the old days. But yeah, I guess for single units people will just shell out 10 euro more and use a Linux capable unit. However there are options to use better languages than C or C++ for bare metal embedded development, but none of them tends to be Forth, rather Basic, Pascal, Ada, Java, .NET, Oberon variants.
- robochat 10y agoThis article is bonkers. How can you directly compare a programming language to multitasking operating systems with desktop enviroments? In what sense is this a sensible comparison? A comparison of embedded code written in C vs Forth would make sense but starting from Plan9 and then swerving off into embedded programming, all the while laying down a thick layer of condescension... Maybe I'm missing something?
- jff 10y agoI can only assume that when the article was written in 2000, Plan 9 was getting some press in the venues he was following, so writing an article purporting to be about Plan 9 (but not really about Plan 9 at all) seemed sensible.
- Sanddancer 10y agoThe article was written in the year 2000. A lot has changed since then, in pretty much every realm that he discusses. It's not a bonkers article, but it is an artifact of an earlier era.
- AstralStorm 10y agoEven in 2000 we knew the difference. The author is either naive or ignorant. That while having an agenda to promote his own work on a niche platform.
- catwell 10y agoWell, the view that we can do without "Operating Systems", or rather have the language be the operating system, is not new. It has always been pretty popular in the Lisp, Smalltalk, Forth... communities. Daniel Ingalls famously wrote in 1981: "An operating system is a collection of things that don't fit into a language. There shouldn't be one." [1] A few years ago a paper argued that Plan 9 was basically trying to achieve that Smalltalk vision. [2] And if you think about it, that view is extremely fashinable today, with the rise of unikernels [3]. Granted, they are not used for Desktop systems as of now, but who says they won't be in a few years. [1] https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.... [2] https://www.cl.cam.ac.uk/~srk31/research/papers/kell13operating.pdf https://www.cl.cam.ac.uk/~srk31/research/papers/kell13operat... [3] http://unikernel.org/ http://unikernel.org/
- mmel 10y agoI was blown away by this 2011 video of Charles Moore talking about his CPU design and running code, talking about how the different nodes are creating the frequencies to produce the images you see on the projector - https://www.youtube.com/watch?v=NK1zlz67MjU https://www.youtube.com/watch?v=NK1zlz67MjU
- ghshephard 10y agoEven written in 2000, the author was conflating Windows 3.x/95/98, which was flakey as all get out, with Dave Cutler's VMS reboot, the NT kernel, which was/is a pretty excellent OS and pretty fully baked by 1995.
- danbmil99 10y agoFORTH rocked.
- pmarreck 10y agoTrivia, the Open Firmware boot firmware that Macs use is written in Forth (and if you get a prompt, understands Forth): http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot...
- kjs3 10y agoIt actually goes back to Sun, who called it Open Boot PROM (OBP) on the Sun-4 (SPARC) line (sun-3x might have had it as well, but I forget). You could do a lot of really useful stuff in OBP, like enumerate devices, do basic debugging, set all sorts of environment variables, etc.