Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!sdd.hp.com!hplabs!hpcc05!hpdmd48!ritchie From: ritchie@hpdmd48.boi.hp.com (David Ritchie) Newsgroups: comp.lang.forth Subject: Why Forth isn't popular... Message-ID: <16850011@hpdmd48.boi.hp.com> Date: 15 Dec 90 21:20:33 GMT Organization: Hewlett Packard - Boise, ID Lines: 38 I have been think about Forth a bit lately, and it seems that it will never be a mainstream language due to several reasons. These are: 1) Non-standard methods of generating standalone applications. There is no entry point that is equivalent to main() in C. There has been little done in books like "Starting Forth" to bridge the gap between typing short definitions at the keyboard to writing real applications. 2) Lack of variable/procedure scoping. No standard way of performing I/O between versions. Nonexistant type checking. Non-text files (yes, I know that this going away, but it is still quite common) for source code. Source code for Forth is just not as readable as HLLs. Reusability is difficult between programmers. 3) No grammar to the language. This makes Forth unfamiliar to the current crop of Pascal/C programmers. This makes it hard to define what Forth is, so instructors are reluctant to teach it. There is also not an industrial demand for Forth programmers, so it is safer for universities to teach C/Pascal. 4) FUD (Fear, Uncertainity, Doubt) in management of companies when Forth is proposed as a solution. "Our programmers only know (C/Pascal/ Fortran77) -- who will maintain this code if you leave?" "I don't know anything about this language." "We don't have time to train our programmers in some technology that may or may not solve our problems". (This is an outgrowth of the problem in that many companies no longer train employees, but instead get new employees that have the current knowledge they need for current projects). Forth is seen as a risk by managers that are uncertain of the abilities of their employees -- which, I would argue, is more often as not the case. It is easier to use languages like C/Pascal that have lots of error detection within their definition. Comments? -- Dave Ritchie ritchie@hpdmd48.boi.hp.com