From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-3.2 required=3.0 tests=BAYES_00,NICE_REPLY_A, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!news.eternal-september.org!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: Java and Python have just discovered "record" type finally after 40 years. Date: Sat, 13 May 2023 19:53:45 +0300 Organization: Tidorum Ltd Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net bOYMTLdhUWvtD1dawNwPjAHA7LNX10LNDWd/kJ5dYNCH85DH73 Cancel-Lock: sha1:LFbYljy0xePYxi5WQul1DhJjlQA= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US In-Reply-To: Xref: news.eternal-september.org comp.lang.ada:65221 List-Id: On 2023-05-13 14:18, Luke A. Guest wrote: > On 13/05/2023 08:13, Niklas Holsti wrote: > >>> Pascal had them in 1970. Algol, I think, had them in 1960. >> >> >> Algol 60 did not have records, only arrays. >> >> Algol W, a precursor to Pascal, had them in 1966. >> >> Simula had them in 1967. (Wikipedia says "In 1966 C. A. R. Hoare >> introduced the concept of record class construct".) >> >> Algol 68 had them in 1968. >> >> Pascal had them in 1970, as you say. >> > > What about COBOL and LISP? As I understand it (but I don't claim to be expert), the early COBOL languages could describe the structure of file records, and of working-storage objects, as nested sequences of components and sub-records, but each such description defined a _single_ "record" object, not a "record" data-type that could have many instances. So if you wanted to have two record objects with the same structure, you had to duplicate the whole record description. However, Wikipedia says that the COBOL record structure inspired records for Pascal. Early LISP languages did not have record types, AFAIK. But you could of course use lists to program record-like data structures.