Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Алғашқы компьютерлік бағдарламалау тілдері – IBM 1400 сериясында қолданылған машиналық код.
Early computer programming languages
the assembly language used with the IBM 1400 series
Автокод – 1950 және 1960 жылдары Манчестер, Кембридж және Лондон университеттеріндегі цифрлық компьютерлер сериясы үшін жасалған «жеңілдетілген кодтау жүйелері» деп аталатын тілдер отбасының атауы. Автокод – жалпы термин болғандықтан, әртүрлі машиналарға арналған автокодтар, мысалы, Фортран тілінің әртүрлі нұсқалары сияқты, бір-бірімен тығыз байланысты болмаған. Бүгінде бұл термин Манчестер Mark 1 автокодер жүйелерінен тараған ерте тілдер отбасына сілтеме жасау үшін қолданылады, олар көбінесе ұқсас болды. 1960 жылдары автокодерлер термині компиляторды пайдаланатын кез келген жоғары деңгейлі бағдарламалау тілін білдіретін жалпылама атау ретінде қолданылды. COBOL және Fortran сияқты тілдер автокодтар деп аталды.
Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London. Autocode was a generic term; the autocodes for different machines were not necessarily closely related as are, for example, the different versions of the single language Fortran. Today the term is used to refer to the family of early languages descended from the Manchester Mark 1 autocoder systems, which were generally similar. In the 1960s, the term autocoders was used more generically as to refer to any high level programming language using a compiler. Examples of languages referred to as autocodes are COBOL and Fortran.
Кейінгі автокодтар
Брукер 1950 жылдары Манчестер университетімен бірлесіп Ферранти Меркурий үшін автокодты дамытты. Mercury Autocode a, z және a', z' айнымалыларының шектеулі жиынтығына ие болды және кейде кейінірек пайда болған Dartmouth BASIC тілінің алғашқы нұсқаларына ұқсас болды. Ол ALGOL-ге дейін жасалған, стектер туралы түсінігі болмағандықтан рекурсия немесе динамикалық түрде бөлінген массивтер болған жоқ. Меркурийде қол жетімді салыстырмалы түрде шағын жад көлемін жеңу үшін үлкен бағдарламалар жеке-жеке «тараулар» түрінде жазылды, олардың әрқайсысы жапсырылатын қабат құрады. Басқаруды тараулар арасында уақытты қажет ететін ауыстыруды азайту үшін белгілі бір шеберлік қажет болды. Пайдаланушы бақылауындағы дискіден қабаттарды ауыстыру концепциясы виртуалды жад кейінгі машиналарда қолжетімді болғанға дейін кеңінен қолданылды. Меркурий автокодының сәл өзгеше диалектілері Ферранти Атласы (кейінірек Атлас автокодынан өзгеше) және ICT 1300 және 1900 сериясы үшін енгізілді. EDSAC 2 нұсқасын 1961 жылы Кембридж университетінің математикалық зертханасының Дэвид Хартли жасады. EDSAC 2 Autocode деп аталған бұл нұсқа, жергілікті жағдайларға бейімделген Mercury Autocode-тың тікелей дамуы болды және сол кездегі объектілік кодты оңтайландыру мен бастапқы тілді диагностикалау мүмкіндіктерімен ерекшеленді. Titan (Атлас 2 компьютерінің прототипі) үшін CPL деп аталатын, одан да жетілдірілген тіл әзірленгенге дейін уақытша шешім ретінде бір нұсқасы жасалды. CPL толыққан жоқ, бірақ BCPL-ге (М. Ричардс жасаған) жол ашты, ол өз кезегінде B-ге, содан кейін C-ге әкелді. Параллель, бірақ бөлек даму жолы – Atlas Autocode Манчестер университетінің Atlas 1 машинасы үшін жасалды.
Brooker also developed an autocode for the Ferranti Mercury in the 1950s in conjunction with the University of Manchester. Mercury Autocode had a limited repertoire of variables a z and a' z' and, in some ways resembled early versions of the later Dartmouth BASIC language. It pre dated ALGOL, having no concept of stacks and hence no recursion or dynamically allocated arrays. In order to overcome the relatively small store size available on Mercury, large programs were written as distinct "chapters", each of which constituted an overlay. Some skill was required to minimise time consuming transfers of control between chapters. This concept of overlays from drum under user control became common until virtual memory became available in later machines. Slightly different dialects of Mercury Autocode were implemented for the Ferranti Atlas (distinct from the later Atlas Autocode) and the ICT 1300 and 1900 range. The version for the EDSAC 2 was devised by David Hartley of University of Cambridge Mathematical Laboratory in 1961. Known as EDSAC 2 Autocode, it was a straight development from Mercury Autocode adapted for local circumstances, and was noted for its object code optimisation and source language diagnostics which were advanced for the time. A version was developed for the successor Titan (the prototype Atlas 2 computer) as a temporary stop gap while a more substantially advanced language known as CPL was being developed. CPL was never completed but did give rise to BCPL (developed by M. Richards), which in turn led to B and ultimately C. A contemporary but separate thread of development, Atlas Autocode was developed for the University of Manchester Atlas 1 machine.