Forth was developed by Charles Moore to control radio telescopes, and to aid programmer productivity generally. Moore wanted a fourth generation language (high level), when all around him programmed in languages that were either assembler or flawed third generation languages. He wanted a swift software development cycle that an interpreted language would provide, but he wanted code to execute at machine code speeds. He wanted his applications to run on the most modest of hardware, with the smallest of files. The end result was Forth.
In an era of .net, Java, python, quad core Intel processors, and terabyte hard drives, you might think that Forth, a programming language that runs happily on the type of processor that is embedded in a smoke detector is outdated, but you would be wrong. Forth is extensively used in the space industry, for satelite control, for mission critical systems and any application where low battery consumption, and tiny file sizes are required. But does even that sum up the extent of Forths abilities?
It is sometimes difficult to establish where Forth is being used successfully. I have heard that some industries play down their use of the language in order to maintain the commercial advantage that it provides them. Some say skilled Forth programmers are ten times as productive as equivalent c programmers.
Fedex the famous parcel delivery company use a system written in Forth to track their parcels around the world. This is a phenomenal undertaking in any programming language, and demonstrates the power of the language.
Meadowlark have used Forth to produce project/budget tracking applications.
Advantages of Forth
Forth has declined in popularity as a consequence of its efficiency, the Wintel alliance and the greed of the computer industry. That bold statement may take some explanation. This is how I justify my comment.
Forth systems, when well written can execute on the most underpowered (old, cheap) hardware, but the prevalent trend in hardware has been in the opposite direction. Computer processors in your typical PC double in processing speed every eighteen months and can now out-perform the supercomputers of the nineties, and so who needs efficiency? Computer vendors want to sell you the most powerful systems, upon which there are the largest margins.
Of course it is not that simple. How many of us have used a powerful computer that runs so slowly that it is unusable? How many of us have upgraded our computers so we can run more modern software? Modern software so often makes such inefficient use of the computers hardware resources, but is does not matter because the hardware can cope, or can it?
Has anyone spotted the vicious circle? If a software developer knows the system that his product is targeting is powerful, there will be little effort to make his application efficient. Hence the need for yet more powerful hardware and the constant need to upgrade.
Of course there is another reason for Forths "failure". Software developers are not rewarded for efficiency. There is no commercial benefit from writing a program quickly and cheaply. The more days a developer spends at the clients site writing a system, the more the client can be charged.
Charles Moore developed multi-user, multitasking systems in Forth on miniscule computer systems in the seventies, but the real money in IT has been made by vendors selling vast systems with prettier user interfaces, faster processors, and software that is inefficient. The implications of this trend have been dire.
Inefficient computers require big power supplies. Big power supplies consume large quantities of electricity. We live on a planet that is being gently cooked by inefficiency and greed.
1. Smaller faster, cheaper, lighter computers for the desktop. They will be no larger than a DVD drive. They will be silent, and run free software, and much of this will be web based. They will use solid state disks, and large quantities of cheap memory.
2. More powerful mobile phones will largely replace traditional PCs. The screens of mobiles will occupy as much of the phone as physicallly possible. "Soft buttons will have largely replaced mechanical buttons in top of the range phones.3. Sophisticated screen display technology will be available that will allow us to use bigger computer monitors in smaller less likely workplaces.
4. Micro-factories: places of work no bigger than a
loft extension, where budding entrepreneurs labour in
their free time "printing" products with 3D printers
and selling their wares by the internet.