Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site cbosgd.UUCP Path: utzoo!linus!decvax!harpo!eagle!mhuxl!cbosgd!mark From: mark@cbosgd.UUCP Newsgroups: net.lang Subject: Re: Strong Typing and Ignorance Message-ID: <718@cbosgd.UUCP> Date: Wed, 7-Dec-83 11:48:47 EST Article-I.D.: cbosgd.718 Posted: Wed Dec 7 11:48:47 1983 Date-Received: Fri, 9-Dec-83 08:22:33 EST References: <2892@utcsrgv.UUCP>, <137@csd1.UUCP> Organization: AT&T Bell Laboratories, Columbus Lines: 17 In my view, languages are classified as follows: Statically typed (a strongly typed language is a very picky statically typed language - how strong is how picky the compilers are able to be) means that the type of a variable is determined at compile time, and each variable can have only one type stored in it (although that type might be a union). This includes Pascal, Ada, and C. Dynamically typed languages have the types determined at runtime, this includes APL, Snobol, and Lisp. The runtime system will make any reasonable translations between types automatically. Untyped languages do not keep track of types - everything is generally of type "word", and it is up to the programmer to keep everything straight. This includes Bliss and most assembly languages. If you mess up a type, you'll usually get garbage.