Talk:Autocoder

Latest comment: 3 years ago by Chatul in topic Primary language?

Couple of questions

edit

Copied from User talk:R. S. Shaw:

Look I have an article written by Alick Glennie in 1953 where he talks about Autocode and I don't see him mention Autocoder anywhere. I also have an article by Campbell-Kelly about early programming for the Manchester Mark 1 where he uses the term "autocode" everywhere, but never uses the term "autocoder". Also, I've tried a couple google searches on autocoder and can't find any mention that it is a generic term for assembly language, other than FOLDOC and web pages that are clearly just scaping FOLDOC. There are a couple of other entries in FOLDOC that I find suspicious so I'm not completely trusting it.A B Carter (talk) 12:22, 12 March 2007 (UTC)Reply

You raise a couple of questions, I think. First, was "Autocoder" the name of the program that translated a language named Autocode? I don't have any knowledge about this, not having researched it other than to see that FOLDOC says this. It seems plausible, and Glennie may not have mentioned the program name, not seeing it as relevant. Nevertheless, it may be entirely supposition by some FOLDOC author. We are talking about history that's fairly old now, and knowledgeable people are quite few; FOLDOC is a bit older than Wikipedia and may have had input from such people.

Second, is "autocoder" a generic term for assembly language? I'm not sure how generic it was, but it pretty definitely was used for what was essentially an assembly language, at least on the IBM 1400 series of machines. This is pretty clear from a quick look at p. 22 of the "1964 IBM 1401 Autocoder manual" that the external link points to. So it was a language, was assembly-like. How generic it might have been needs further research. The web isn't so great a source for something like this as it dates from the 1990s, not the 1950s, and the subject isn't of such historical importance that lots of people have been writing blogs and web pages about it for years. -R. S. Shaw 18:06, 12 March 2007 (UTC)Reply

I think we're making some progress. On the one hand I'm having a very hard time accepting the claim that Glennie's language was ever called "Autocoder". The paper by Campbell-Kelly is, "Programming the Mark I: Early Programming Activity at the University of Manchester" and is published in IEEE's Annals of the History of Computing (Vol 2. No. 2). It provides a fairly detailed and extensive discussion. The key passage is the following:
In 1952 Glennie devised an automatic coding system to try to alleviate the language difficulty of programming the Mark I. Glennie called the system AUTOCODE; this appears to be the origin of the term, which was widely used in Britain in the 1950s and early 1960s.
In this article "autocode" is mentioned 116 times while "autocoder" is not mentioned once. Campbell-Kelly has written a number of articles on the work done at the University of Manchester so I have to give his statements some weight.
On the other hand I agree that simple google searches may not be particularly relevent when talking about fairly obscure developments in computers languages fromthe early 60's. So I did a search on "Autocode" in the ACM digital library. It wasn't exhaustive, but I did find 53 citations, not a huge number, but more than a handful. In the ones that I looked up (between 6-12) Autocoder always referred to an IBM language. A number of different machines were mentioned, 7705, 7070 and 1401 were mentioned specifically. So I also agree that it was a language and it was assembly-like, but unless your worldview was big blue I'm not seeing that it was a generic term.
So unless you have a strong objection I would like to delete the reference to Glennie's Autocode. I think the rest of the article needs some expansion and revision, but I have no desire to push for deletion. Good talking to you.A B Carter (talk) 00:31, 13 March 2007 (UTC)Reply
I've found http://hopl.murdoch.edu.au/ a bit helpful. In particular, this taxonomy page uses separate classifications for "Autocodes (UK)" and "Autocoders (US)". This and other stuff gives indication that there is not a close relationship, and I think that without good new evidence we should assume that this "Autocoder translated Autocode" idea should not be included in Wikipedia. Go ahead and remove it, or I will at some point.
Thanks. I deleted the reference but the remaining entry is a bit cryptic.A B Carter (talk) 09:36, 13 March 2007 (UTC)Reply
I think "autocode" and "autocoder" were used in rather non-specific ways. One piece I found mentioned that for the 7010 "Automatic coding includes FORTRAN, COBOL, and AUTOCODER." The term "automatic coding" seems to have been a general term for translators/programming systems that were better than working with machine language. "Autocode", "autocoder", "autocoding", etc were probably just natural abbreviations of this, and eventually things may have settled semantically on a particular class of languages in the U.K. (autocodes) while in the U.S. "autocoder" became the more commonly used term, and was probably associated with a somewhat different class of languages.
Agreed. "Automatic coding" or "automatic programming" was the original term used to describe any attempt to simplify programming by having the computer itself do some of the work, a revolutionary idea at the time. The full name for FORTRAN was "FORTRAN Automatic Coding System". The first attempts were simple and rudimentary, i.e. more like symbolic assembly language than a high-level language. A B Carter (talk) 09:36, 13 March 2007 (UTC)Reply
This page of 1955 languages is interesting because it shows that the author seems to use the two terms somewhat interchangeably. AUTOCODER, for instance, is described as an "autocode", "Universal Code" is described as an autocoder, etc. -R. S. Shaw 04:01, 13 March 2007 (UTC)Reply
A proposal for you. We could move this entry to "Automatic Coding" and redirect links for "autocoder" and "autocoding" to it (as well as cross-link with the autocode link). I'm pretty sure I can find some citations that specifically talk about "automatic coding" and mention can be made to a number of specific autocodes and autocoders. A B Carter (talk) 09:36, 13 March 2007 (UTC)Reply
Well, while I can imagine an "Automatic coding" article that was compelling if well written by a knowlegeable person, I think most likely it would not replace either of the two existing articles. I think it would be more general, giving the scope and flavor of early attempts to make programming easier. The Glennie system is notable itself enough to have a short article on it alone, perhaps with some discussion of other autocodes. And autocoder for the 1401 is fairly well known, mainly because the 1400 series was quite successful and Autocoder seems to have been its principle language. I think some people might seek either of these articles out and not want to bother with a more general article. These articles will probably always be short, but that's not really a reason not to have them. This article does need work, and I may find time to do some on it over the next couple of weeks. -R. S. Shaw 19:44, 13 March 2007 (UTC)Reply
OK, just trying to find a way to keep the article since I'm not too sure what is left with the present article. I've incorporated the Alick Glennie Autocode article into a larger article on autocodes developed for the Manchester computers. The short section on the 1401 Autocoder is probably better off being incorporated into the article on the 1401. What you have left is just a definition, which doesn't warrant an entry. A B Carter (talk) 00:22, 14 March 2007 (UTC)'Reply

The article should distinguish between features of the languages and features of the machines.

edit

Autocoder#Autocoder as implemented on the IBM 1401 conflates features of 1401 Autocoder with features of the IBM 1401. Also, the text needs to be revised to reflect that neither the source code nor the Autocoder processor itself need be on cards.

  • Autocoder (on Tape) Language Specifications and Operating Procedures IBM 1401 and 1460 Program 1401-AU-037 (PDF) (First ed.), November 1964, C24-3319-0
  • Autocoder (on Disk) Language Specifications IBM 1401, 1440, and 1460 (PDF) (Third ed.), April 1966, C24-3258-2

Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:20, 13 August 2018 (UTC)Reply

The article is a mess. I eliminated one statement on wordmarks, but look at this:

Autocoder took human-intelligible symbols (such as "H" to indicate "halt")[19] and transformed them into the instructions the machine recognized. It supported conditional branching, named subroutines, counting iterations, and what IBM called its Advanced Programming Feature, an optional feature involving three separate bytes between location 80 and 90. (Since memory locations 0-79 were reserved for the card reader, 100-179 for the card punch, which punched a card with the data in these locations when the "punch" command was issued, and 200-279 for the (single) printer, locations 80-99 were orphans and available for other purposes that only needed a few bytes.)

The "transformed human-intelligible symbols..." is a generic description of any assembler. Conditional branching is a hardware feature. The "advanced programming feature" is also hardware, with additional instructions added, it is not specific to Autocoder. I would review it completely, but I don't have the time right now. Peter Flass (talk) 15:46, 23 August 2019 (UTC)Reply
Conditional branching is also a software feature, e.g., AIF[1] in IBM High Level Assembler, %IF and %GO TO[2] In PLI. 1401 Autocoder does have conditional assembly,[3] although it is very primitive. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:46, 26 August 2019 (UTC)Reply

References

  1. ^ "Chapter 9. How to write conditional assembly instructions". High Level Assembler for z/OS & z/VM & z/VSE (PDF). July 2017. pp. 396–400. SC26-4940-08.
  2. ^ "CHAPTER 9: COMPILE-TIME FACILITIES", IBM System/360 Operating System PL/I Language Specifications (PDF), pp. 136, 137, C28-6571-3
  3. ^ "The Macro System", Autocoder (on Tape) Language Specifications and Operating Procedures IBM 1401 and 1460 Program 1401-AU-037 (PDF), p. 37, C24-3319-0

Issues with references

edit

I've been cleaning up some of the references, e.g., flagging as dead links bitsavers pages that have moved rather than disappeared, URLs in brackets with no page name. In the process, I found that the link http://www.research.ibm.com/journal/sj/052/ibmsj0502B.pdf to an article in The IBM Journal of Research and Development is redirected to the generic page http://www.research.ibm.com/journal/index.html. I'd like to convert the link to a {{cite}}, but to do that I need the issue, title, page and date. Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:12, 13 September 2019 (UTC)Reply

My guess was that the 0502 means v5 n2, which is about the right year (1962) but that doesn't quite pan out. You can browse the TOC and full article text at https://ieeexplore.ieee.org/xpl/issues?punumber=5288520&isnumber=8769983 . EEng 17:30, 13 September 2019 (UTC)Reply
There’s a serious gap in computer reference availability. I just requested that wikipedia try to get editors access to the ACM digital library. After this dscussion I also asked for IEEE Xplore, which hosts the IBM J of R&D. It’s ridiculous that an article from 1956(!) would be paywalled. Peter Flass (talk) 19:57, 13 September 2019 (UTC)Reply
I doubt strongly you'll get it, but I have access. Let me know if you need something and I can email it to you. I worked on one of the two last 1401s still under maintenance, in 1978. EEng 21:23, 13 September 2019 (UTC)Reply
Dead link
Reference 24 Gary Mokotoff Collection of IBM 1401 Program Listings, 1959-1961 https://archives.lib.umn.edu/repositories/3/resources/2313 returns "The record you've tried to access does not exist or may have been removed." --GarveyPatrickD (talk) 17:08, 17 December 2020 (UTC)Reply
Fixed this. It doesn't point to the actual source, did it ever? The source for a version of Autocoder can be found at [1], but it's not an official version, so I didn't link it in the article. The author indicates he intends to scan the listing from the IBM manual. Peter Flass (talk) 19:43, 17 December 2020 (UTC)Reply

Primary language?

edit

Autocoder#Autocoder as implemented on the IBM 1401 states Autocoder was the primary language of this computer. I was under the impression that RPG and COBOL were dominant on the machines large enough to run 1401 Autocoder. Does anybody have a RS for the relevant numbers? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 19:48, 14 June 2021 (UTC)Reply

No references, but I don’t think RPG was available, or at least in wide use. The 1401 had FARGO, which AFAIK, was kind of a predecessor of RPG. Sadly, I never worked on a 1401 myself, but from talking to old-timers I got the impression that Autocoder was the most popular language. COBOL was a hog, I’m told.Peter Flass (talk) 21:20, 14 June 2021 (UTC)Reply
Of course RPG was available on the 1401; it started there, in 1959. Admittedly it required[1][2] 4K, but how many 1.4K[a] 1401s did IBM sell? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:11, 15 June 2021 (UTC)--Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:11, 15 June 2021 (UTC)Reply

Notes

  1. ^ Plus the 1.4K machines could only run SPS.

References

  1. ^ Basic 4K Report Program Generator Specifications - IBM 1401 - IBM 1460 (PDF). IBM. 1965. C24-3166-1. {{cite book}}: |work= ignored (help)
  2. ^ Report Program Generator - IBM 1401 Card and Tape Systems (PDF). IBM. February 1965. J24-0215-2. {{cite book}}: |work= ignored (help)