Компьютерные языки из трёх букв¶
Компьютерный язык из трёх букв — обобщённое обозначение ряда языков программирования, названия которых состоят ровно из трёх букв латиницы. Такое сокращённое наименование удобно для идентификаторов, расширений файлов и внутренних обозначений в системах разработки. Наиболее известными примерами являются C, D, Go, R и Z; к этой группе также исторически относят Ada, PHP (три буквы), C++, C#, F# и ряд других, однако строгий критерий «ровно три буквы» применим прежде всего к C, D, Go, R и Z.
¶Основные языки из трёх букв
¶C
Язык C разработан в 1972—1973 годах Деннисом Ритчи в лабораториях Bell Labs при участии Кена Томпсона. Первоначально создавался для реализации операционной системы UNIX, постепенно вытеснив ассемблер в системном программировании. Стандарт ANSI C принят в 1989 году (C89), последующие версии — C99, C11, C17, C23.
Ключевые черты C: статическая типизация, компилируемость, отсутствие встроенной системы сборки мусора, низкоуровневый доступ к памяти через указатели. C оказал влияние на множество языков: C++, C#, Java, Objective-C, D, Go, JavaScript, PHP, Perl, Rust и другие. На C написано значительное ядро операционных систем Linux, Windows, macOS, а также большинство интерпретаторов и компиляторов других языков.
¶C++
C++ (произносится «си плюс плюс») создан Бьярном Страуструпом в Bell Labs в 1979 году как надмножество C с поддержкой объектно-ориентированного программирования. Название отражает префикс инкремента C: «C++» = «ещё на один C больше». Стандарты: C++98, C++03, C++11, C++14, C++17, C++20, C++23.
¶C#
C# («си шарп») разработан Андерсом Хейлсбергом в Microsoft в 2000 году для платформы .NET. Название обыгрывает нотацию «C+++» — четыре плюса, из которых три вычитаются, дают «#» (также символ решётки ассоциируется с сетевой тематикой). C# сочетает объектно-ориентированную модель C++ с элементами функционального программирования.
¶Go
Язык Go («гоу») разработан в Google в 2007—2009 годах группой в составе Роба Пайка, Кена Томпсона и Роберта Грисмера. Объявлен публично в 2009 году, версия 1.0 вышла в 2012-м. Go спроектирован для масштабируемых серверных приложений: компилируется в нативный код, имеет встроенную поддержку конкурентности (горутины), строгую типизацию, сборку мусора и компактный синтаксис. Среди известных проектов на Go — Docker, Kubernetes, Terraform.
¶D
Язык D («ди») создан Вальтером Брайтом в 1999 году как эволюция C++ с элементами Java и других языков. Позже к разработке присоединился Андрей Александреску. D поддерживает объектно-ориентированное, императивное и функциональное программирование, имеет собственный сборщик мусора, но допускает и ручное управление памятью.
¶R
Язык R создан в 1993 годах Россом Айхеком и Робертом Джентлманом в Университете Окленда (Новая Зеландия) как реализация языка S. R ориентирован на статистическую обработку данных, визуализацию и научные вычисления. Распространяется под GNU GPL, поддерживается Фондом R. Стандартная библиотека включает тысячи пакетов CRAN. На R работают аналитические подразделения банков, страховых компаний и исследовательских центров по всему миру, включая Россию.
¶Z
Язык Z — формальный язык спецификаций, разработанный в начале 1980-х годов Жаном-Рэем Абраем и Джимом Дэвисом (Великобритания). Основан на теории множеств и логике первого порядка, применяется для математического описания поведения программных и аппаратных систем. Название происходит от латинского выражения «zum» («к»), отсылающего к теории множеств. Стандартизован как ISO/IEC 13568.
¶Классификация по роли в трёхбуквенных названиях
| Тип названия | Примеры |
|---|---|
| Аббревиатура от фразы | PHP (PHP: Hypertext Preprocessor), R (от S), Z (от «zum») |
| Производное от другого языка | C++ (от C), C# (от C), D (от C++), Go (от «go») |
| Случайное короткое имя | C (от языка программирования «BCPL» — B — C), Ada (от Ады Лавлейс) |
¶Расширения файлов
| Расширение | Язык |
|---|---|
| .c | C |
| .cpp, .cc, .cxx | C++ |
| .cs | C# |
| .go | Go |
| .d | D |
| .r, .R | R |
| .z | Z (спецификации) |
¶Значение
Короткие названия языков программирования стали частью инженерной культуры: они легко набираются, запоминаются и не конфликтуют с существующими обозначениями. C и его производные (C++, C#) формируют «семью» языков, охватывающую системное программирование, разработку приложений и игры. Go и R отражают тенденции 2010-х годов — распределённые системы и анализ данных. Формальный язык Z демонстрирует применение трёхбуквенных имён в академической инженерии.
Источники:
- Брайан Керниган, Деннис Ритчи. Язык программирования C.
- Бьярн Страуструп. Принципы и практика использования C++.
- Алан Донован, Брайан Керниган. The Go Programming Language.
- Wirth N. Algorithms + Data Structures = Programs.
