Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!magnus.ircc.ohio-state.edu!tut.cis.ohio-state.edu!ucbvax!BRFAPESP.BITNET!UNBCIC From: UNBCIC@BRFAPESP.BITNET Newsgroups: comp.lang.forth Subject: Forth in CS Message-ID: <9103031944.AA02112@ucbvax.Berkeley.EDU> Date: 2 Mar 91 15:02:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: UNBCIC%BRFAPESP.BITNET@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 26 > C is much farther advanced than Forth in the realm of Computer > Science just on the basis that it has a built in type system. Forth > basically "encapsulates" none of CS. It is a hack. Forth and C > both leave it up to the user to decide how to factor and to use other > good programming techniques. No, C has just types, and have no strong typing, so it's weak in this respect. TYPEDEF just defines macros. It doest'n have abstract data types also. C++ is another history. Forth can have abstract data types and, consequently, strong typing. So, although Forth has no built in type system, it can have much more efficient data type than C. > Forth doesn't address any of the language issues that are discussed > in CS courses. What new programming language concept has Forth > contributed? Forth is simply an elegant form of programming language > implementation, it is nowhere in terms of language theory. Wrong again. Forth has EXTENSIBILITY, wich my Programming Languages book defines as the capability to define new (abstract) data types, new operations (procedures) *AND* new control structures (Programming Languages Concepts, by Carlo Ghezzi and Mehdi Jazayeri, copyright by John & Sons, Inc., chapter 5, item 1.5). Forth has all this capabilities. (8-DCS) Daniel C. Sobral UNBCIC@BRFAPESP.BITNET