daveh@cbmvax.UUCP (Dave Haynie) (10/16/87)
in article <1858@crash.CTS.COM>, haitex@pnet01.CTS.COM (Wade Bickel) says: > As far as the Transputer goes, I think the Transputer language, > OCCAM, would be a natural for the amiga. It supports multi-tasking > at the language level, and looks to be fairly complete. That may or may not be good, depending upon the language. Every multi-tasking system has some inherent task model, and (hopefully) an associated message model. Occam uses the Transputer model, of course, since the language was designed to directly support the Transputer hardware. Transputers basically support message passing and prioritized tasks in hardware. The problem here is the Occam tie to the Transputer hardware. For example, a message port would necessarily look like a Transputer link. Which is great if you've got them in hardware and want all your code to function independently of physical vs. soft links. But not so great if you're all soft links, and in addition you've got OS support (Exec) with better links available. You could certainly build an Occam compiler for the Amiga, and model Transputer links with Amiga messages and signals, and then hide all that below the compiler so you think you're on a Transputer, but it would be inefficient. Similarly, you could use the Transputer task model in Occam, building it on top of the Amiga task model. But Transputers only support two levels of priority, so again you're missing features. This certainly isn't a problem specific to Occam, though it's perhaps a bit worse in Occam since the Occam task/link models were designed to support specific hardware, and being hardware, it's not necessarily as robust as a hardware independent model. And you'd run into some of the same problems using the Ada Task model, in that it probably isn't a perfect fit with the Amiga model either. What you get with Exec, although non-standard, does fit the philosophy of both C and Modula2 when it comes to things like Tasks, or I/O for that matter. The philosopy being that the language only gives you the means to compile very basic and low level code, and your libraries give you the means to print a character on screen, or handle interrupts, or task in the mode of your host machine, or whatever. > > Wade. > UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex > ARPA: crash!pnet01!haitex@nosc.mil > INET: haitex@pnet01.CTS.COM -- Dave Haynie Commodore-Amiga Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh "The B2000 Guy" PLINK : D-DAVE H BIX : hazy "Computers are what happen when you give up sleeping" - Iggy the Cat