Making Forth Professional

Peter Knaggs
Paisley, Scotland.

In the past, Forth has suffered (and continues to suffer) from the attitude that it is a "hackers" language. This goes back to the release of fig-Forth -- software houses/managers took one look at this hodge-podge of ideas and badly documented pre-standard code before either becoming engrossed in the idea or dropping it like a hot brick. Now when we talk of Forth, this is what they remember. We are well aware that Forth has moved on greatly since those days, yet this is all they remember.

Software managers tend to see only the (mostly badly documented) code. They do not appreciate that Forth is not just another programming language, but rather a philosophy of programming. Many ideas currently in favour (such as structured programming, reusability, libraries, etc.) generally known as "software engineering" have been available and used in Forth for many years.

This must be changed, if Forth is to gain any standing as a language. Fortunately, this has indeed been happening, the ANS Forth being a very big step in this direction, closely followed by the IEEE Open Firmware standard. These two events are slowly bringing some respectability to Forth.

A number of platform-independent development languages have been developed by different organisations. The Ten15 development language (TDL), architecture neutral distribution format (ANDF), Open Firmware, and JAVA are all languages that use a Forth-like abstract machine to provide "portable programming" at various levels.

The ANSI standard has gone a long way to improving Forth's standing in many manager's eyes. The "portability" aspect of the standard is very important; the standard not only addresses this problem, but actively encourages the development of portable programs!

The professional acceptance of Forth is being held back by both the lack of good quality Forth programmers and the reluctance of companies to acknowledge their use of Forth.

The Open Firmware standard has created a need for professional-quality Forth programmers which we are simply not able to satisfy.

A growing number of companies have been using Forth but are reluctant to acknowledge it, normally for one of two reasons: they either consider it lo be commercially sensitive or their software managers think they will be condemned for making what was, apparently, an intelligent production decision.

The academic interest in Forth, both as a language in its own right and as a development platform, is being hindered by the push for ever-more refereed papers. There is currently very little scope for "academic publication," because we only offer two outlets for this kind of work.

The euroFORTH conference has recently introduced a "refereed section" to its proceedings. None of the other Forth meetings support refereed publications. The only other outlet being the Joumal of Forth Application and Research, which has only recently started production again after a gap of five years. The other Forth-related publications are not refereed. This is a vast improvement over the situation in '93 when nothing was available. However, there is still a long way to go if Forth is to be accepted in academia.

It is my belief that fig-Forth, or more precisely, the non-updating of fig-Forth, has been the cause of much of the predicament we find ourselves in today, in that both the Forth Interest Group (FIG) and Forth are permanently associated with thc "hackers" attitude.

During the 1991 Rochester Forth Conference, I was a party to a number of discussions with various people both at FIG (including the chairman and directors) and the Institute of Applied Forth Research (IAFR). I have reflected on these discussions and have come up with the following suggestion:

If we want Forth to be taken seriously, we should have a professional body/organisation that controls the quality of Forth programmers. This is a very important part of the thinking, as only a via a professional body can we overcome the hacker label. For the time being, I will call this new organisation the "Forth Programmers Guild". I see the Guild as a membership-based organisation to monitor and promote good practise in and the further development of the Forth programming environment. The exact nature of the Guild is unknown; however, I see it having a number of roles in order to fulfil the above goal:

As we can see, the proposed Guild is going to be rather large and encompass the current operation of both FIG and IAFR. Precisely how the Guild is going to be set up is another question. One possibility would be to start a entirely new organisation. However, this would be in direct competition with both FIG and IAFR. Whilst this would be the correct "free market" approach, it will simply fragment the community further. It would lead to a great deal of duplicated effort for a while, until one or more of the three players retired. Not a happy picture.

Another possibility would be to set up a special interest group under the control of one of the professional organisations, such as the BCS, ACM, IEE, or even the IEEE. This reminds me very much of the now-defunct ACM SIG-Forth, except they were not as active. There is a possibility of some funding from the Open Firmware camp for such a move.

Alternatively, either FIG or IAFR may expand their operations to become the new "Guild."

A final possibility would be for FIG and IAFR to merge into the new Guild. This still has a drawback: the "hackers" attitude attached to FIG may move over to the new organisation, thus it would make more sense for the IAFR to take over FIG.

The ideas I have presented here are open to discussion. Some of the ideas are covered in more detail in my euroFORTH '93 paper, A Look at Forth's Academic Standing.


Peter Knaggs is a lecturer in Software Engineering at the Universily of Paisley, Scotland. He obtained his Ph.D. with a thesis entitled Practical and Theoretical Aspects of Forth Software Development from the University of Teesside in 1994. He is actively involved in Forth-related research and is the programme chair for the European Forth conference (euroFORTH), and administers the euroFORTH WWW site.