ABC (язык программирования)
Парадигмы | мультипарадигмальность : императивная , процедурная , структурированная. |
---|---|
Разработано | Лео Гертс, Ламберт Мертенс , Стивен Пембертон |
Разработчик | Центр математики и информатики (CWI) |
Впервые появился | январь 1987 года |
Стабильная версия | 1.05.02
/ 1990 |
Дисциплина набора текста | сильный , полиморфный |
ТЫ | Unix-подобные , Windows , MacOS и Atari TOS |
Веб-сайт | домашние страницы |
Под влиянием | |
СЭТЛ , АЛГОЛ 68 [1] | |
Под влиянием | |
Питон |
ABC — это императивный общего назначения язык программирования и интегрированная среда разработки (IDE), разработанные в Centrum Wiskunde & Informatica (CWI) в Амстердаме , Нидерланды, Лео Гертсом, Ламбертом Мертенсом и Стивеном Пембертоном . [2] Он интерактивный, структурированный, высокоуровневый и предназначен для использования вместо BASIC , Pascal или AWK . Он предназначен для обучения или создания прототипов, но не как язык системного программирования.
ABC оказала большое влияние на дизайн языка Python , разработанного Гвидо ван Россумом , который ранее несколько лет работал над системой ABC в середине 1980-х годов. [3] [4]
Функции
[ редактировать ]ABC Его разработчики утверждают, что программы обычно примерно в четверть размера эквивалентных программ на Паскале или C и более удобочитаемы. [5] Ключевые особенности включают в себя:
- Всего пять основных типов данных
- Нет обязательных объявлений переменных
- Явная поддержка нисходящего программирования.
- Вложенность операторов обозначается отступом с помощью правила офсайда.
- Арифметика бесконечной точности , списки и строки неограниченного размера, а также другие функции, поддерживающие ортогональность и простоту использования новичками.
- Полиморфные команды и функции
- Интерактивная среда с завершением команд, постоянными рабочими пространствами и отсутствием отдельной обработки файлов.
Изначально ABC представлял собой монолитную реализацию , что приводило к невозможности адаптироваться к новым требованиям, таким как создание графического пользовательского интерфейса (GUI). ABC не могла напрямую получить доступ к базовой файловой системе и операционной системе .
Полная система ABC включает в себя среду программирования с редактором структуры (редактор, управляемый синтаксисом), предложениями, статическими переменными (постоянными) и несколькими рабочими пространствами, а также доступна в виде интерпретатора - компилятора . По состоянию на 2020 год [update], последняя версия — 1.05.02, она портирована на Unix , DOS , Atari и Apple MacOS .
Пример
[ редактировать ]Пример функции для сбора набора всех words
в документе: [6]
HOW TO RETURN words document: PUT {} IN collection FOR line IN document: FOR word IN split line: IF word not.in collection: INSERT word IN collection RETURN collection
Реализации
[ редактировать ]ABC прошла через несколько итераций, текущая версия является четвертым основным выпуском. Существуют реализации для Unix-подобных систем, MS-DOS/Windows, Macintosh и других платформ. Исходный код был доступен через Usenet в конце 1980-х — начале 1990-х годов.
Дальнейшее чтение
[ редактировать ]Более подробную информацию об ABC можно найти в книге Лео Гертса, Ламберта Мертенса и Стивена Пембертона «Справочник программиста ABC» ( ISBN 0-13-000027-2 ). Информационный бюллетень и список рассылки можно было получить от CWI.
Ссылки
[ редактировать ]- ^ Бьянкуцци, Федерико; Уорден, Шейн (апрель 2009 г.). Вдохновители программирования: беседы с создателями основных языков программирования . О'Рейли Медиа . п. 32. ISBN 978-0-596-51517-1 . Проверено 14 декабря 2009 г.
На него [Ламберта Меертенса] явно повлияла философия АЛГОЛА 68 , заключающаяся в предоставлении конструкций, которые можно комбинировать разными способами для создания всевозможных структур данных или способов структурирования программы. — Гвидо ван Россум
- ^ Пембертон, Стивен (январь 1987 г.). «Альтернативный простой язык и среда для ПК». Программное обеспечение IEEE . 4 (1): 56–64. дои : 10.1109/MS.1987.229797 . S2CID 12788361 .
- ^ Гамильтон, Наоми (8 мая 2008 г.). «А-Я языков программирования: Python» . Компьютерный мир . ИДГ Коммуникации. Архивировано из оригинала 29 декабря 2008 г. Проверено 4 сентября 2020 г.
... Я решил, что смогу разработать и реализовать язык, «почти, но не совсем непохожий» на ABC, устранив недостатки ABC...
- ^ Стюарт, Брюс (4 июня 2002 г.). «Интервью с Гвидо ван Россумом» . ONLamp.com . О'Рейли Медиа. Архивировано из оригинала 13 марта 2013 г. Проверено 4 сентября 2020 г.
... мысленно я проанализировал некоторые причины неудачи.
- ^ Пембертон, Стивен (22 февраля 2012 г.). «Язык программирования ABC: краткое введение» . Центр Вискунде и Информатики (CWI) . Амстердам . Проверено 4 сентября 2020 г.
- ^ Эта статья основана на материалах, взятых из ABC в Бесплатном онлайн-словаре вычислительной техники до 1 ноября 2008 г. и включенных в соответствии с условиями «повторного лицензирования» GFDL версии 1.3 или более поздней.