Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP Path: utzoo!linus!decvax!genrad!mit-eddie!gumby From: gumby@mit-eddie.UUCP (David Vinayak Wallace) Newsgroups: net.lang Subject: Re: I/O operations in programming languages Message-ID: <666@mit-eddie.UUCP> Date: Sun, 28-Aug-83 17:11:24 EDT Article-I.D.: mit-eddi.666 Posted: Sun Aug 28 17:11:24 1983 Date-Received: Mon, 29-Aug-83 17:07:32 EDT References: <108@csd1.UUCP> <2169@umcp-cs.UUCP> Organization: MIT, Cambridge, MA Lines: 15 Well, one good thing about c is that IO isn't really part of the language at all; it's all done via functions in libraries. Modern languages are starting to use streams (e.g. Common Lisp, Ada). Streams are generic objects all of which do a certain number of standard operations and which can be extended for special purposes. Then you can have a special stream which reads or writes special structures for some operation. Then other programmers can access these streams without knowing their structure. The problem with embedding IO in the language definition (i.e. BASIC) is that each programmer must grok the file (and device) format. Device IO probably can't be improved. But maybe we can just flush files, or at least produce a better model? david