Языки программирования
-
Язык программирования Ada: история и особенности
Ada: высокоуровневый язык программирования, разработанный в 1980 году. Строгая типизация, надежность, параллелизм и поддержка разработки по контракту. ISO/IEC 8652:2023.
-
Язык Ассемблера: Основы и Применение
Ассемблер: низкоуровневый язык программирования, близкий к машинному коду. Преобразование в исполняемый код ассемблером. Независимость от ОС.
-
Язык APL: История и особенности функционального программирования массивами
APL – функциональный язык программирования 1960-х, ориентированный на многомерные массивы. Лаконичный код, влияние на современные технологии. Премия Тьюринга.
-
Атлас Автокод: Ранний язык программирования для ЭВМ "Атлас"
Автокод Atlas: язык программирования 1963 года, разработанный в Манчестере. Вариант ALGOL, предшественник современных языков. История и разработчики.
-
Brainfuck: Эзотерический язык программирования минимализма
Brainfuck: эзотерический язык программирования с 8 командами. Turing-полный, но непрактичный – для вызова и развлечения программистов. Минимализм и сложность!
-
Язык программирования B: История и особенности
Язык программирования B: история создания в Bell Labs (1969) Кеном Томпсоном и Деннисом Ритчи. Происходит от BCPL, типизация отсутствует. 💻
-
Общий Lisp: Стандарт и история развития
Common Lisp: стандарт языка программирования ANSI INCITS 226. История, развитие от MacLisp, объединение диалектов Lisp Machine Lisp, Spice Lisp и др.
-
Язык программирования CORAL 66: История и особенности
CORAL: язык программирования, разработанный в 1964 в Великобритании. Влияние JOVIAL и ALGOL. Стандартизирован Министерством обороны для военных приложений.
-
Dhrystone: Синтетический тест для оценки производительности процессора
Dhrystone: синтетический тест для оценки производительности CPU и целочисленных вычислений. Разработан в 1984 году, анализ программ на FORTRAN, Pascal и др.
-
Дилан: Многопарадигмальный язык программирования
Дилан – динамический, многопарадигменный язык программирования (функциональный, ООП). Наследие Scheme и Lisp, CLOS, метапрограммирование.
-
Языки программирования четвертого поколения (4GL)
Языки программирования 4 поколения (4GL): обзор, преимущества и примеры. Высокоуровневые языки для работы с данными, отчетов и GUI разработки.
-
Язык Icon: от SNOBOL к современным генераторам.
Icon – высокоуровневый язык программирования с "целенаправленным выполнением". Возвращает успех/неудачу, упрощая логику управления и код. Создан Ральфом Грисволдом.
-
Ларри Уолл: Создатель Perl и его путь.
Ларри Уолл: создатель языка программирования Perl и утилиты patch. Биография, образование, лингвистические исследования и увлечения автора.
-
Литературное программирование: подход к разработке программного обеспечения
Литературное программирование: подход к разработке ПО с объяснениями на естественном языке и фрагментами кода. Для науки, data science и воспроизводимости.
-
Язык программирования Logo: История и особенности
Logo – образовательный язык программирования 1967 года. Управление "черепашкой" для обучения логике и основам программирования, вдохновлённый Lisp.
-
Mesa: История и влияние языка программирования Xerox PARC
Mesa: язык программирования для Xerox Alto и Star. Отдельная компиляция, проверка типов, обработка исключений и многопоточность – ключевые особенности.
-
Макросы в программировании: правила и применение.
Макросы в программировании: правило замены ввода на вывод. Расширение макросов, повторное использование кода, расширение языков. Объяснение и примеры.
-
Язык программирования Nial и его применение
Nial: высокоуровневый язык программирования для работы с массивами, разработанный в Канаде. Идеален для прототипирования и ИИ. Q'Nial – реализация Nial.
-
Процедурное программирование: парадигма и принципы
Процедурное программирование: парадигма, основанная на процедурах и функциях. История развития (Fortran, BASIC, Pascal, C) и поддержка процессорами.
-
Псевдокод: Описание алгоритмов и принципы использования.
Псевдокод: алгоритмы простым языком. Описание шагов алгоритма, понятное человеку, без деталей для машинного исполнения. Независимость от языка программирования.
-
Rebol: Язык программирования Карла Сассенрата
Rebol – кроссплатформенный язык программирования от Карла Сассенрата. Создание DSL, влияние на JSON, приложения для интернета и мультимедиа. Apache 2.0.
-
Структурное программирование: принципы и отклонения
Структурное программирование: парадигма для создания ясного и качественного кода с использованием управляющих конструкций, подпрограмм и блоков. История и принципы.
-
Схема: Диалект языка Ли́сп
Схема – диалект Lisp, разработанный в MIT в 1970-х. Поддержка лексической области видимости, оптимизации хвостовых вызовов и продолжений. Влияние на Common Lisp.
-
Синтаксический сахар в языках программирования
Синтаксический сахар в программировании: упрощение синтаксиса для удобства чтения и написания кода. Краткие конструкции для часто используемых операций.
-
Язык SNOBOL: история и особенности строковой обработки
SNOBOL4: язык программирования, ориентированный на обработку строк. Разработан в Bell Labs, обладает уникальными возможностями работы с шаблонами и программами.
-
TECO: История и особенности раннего текстового редактора и языка программирования
TECO: текстовый редактор и язык программирования, разработанный в 1962 году для компьютеров DEC. Предшественник Emacs, использовал перфоленты. История и особенности.
-
Язык программирования Turing: История и особенности
Turing: высокоуровневый язык программирования, разработанный в 1982 году для обучения. Простой синтаксис, потомок Pascal. Актуальная версия 4.1.0.
-
Искусство программирования: Алгоритмы Дональда Кнута
Алгоритмы Кнута: Обзор фундаментального труда "Искусство программирования". Подробный анализ алгоритмов и структур данных для последовательных машин.
-
Рекурсивные акронимы: самоссылающиеся аббревиатуры
Рекурсивные акронимы: что это такое? Определение, примеры (GOD, EPT) и история возникновения термина, впервые упомянутого в книге Гёдель, Эшер, Бах.
-
Язык программирования Planner: История и Влияние на Искусственный Интеллект
Planner – язык программирования, разработанный в MIT в 1969 году. Влиял на развитие ИИ, Lisp и коммерческие системы, такие как KEE и ART.
-
Maclisp: Диалект языка Lisp
Maclisp: диалект Lisp, разработанный в MIT. Улучшенная скорость вычисления переменных и удобный ввод/вывод благодаря reader macros. Основан на Lisp 1.5.
-
Бефунге: Эзотерический двумерный язык программирования
Befunge – эзотерический язык программирования, работающий на двумерной сетке. Управление потоком с помощью стрелок, циклы и стек. Создан в 1993 году.
-
Эзотерические языки программирования: юмор, искусство и пределы возможного.
Эзотерические языки программирования: что это такое? Языки для экспериментов, искусства и шуток, а не для серьезной разработки. Обзор и примеры.
-
Язык программирования MAD: История и особенности
MAD: исторический язык программирования для мэйнфреймов IBM и UNIVAC. Разработан в 1959 г. в Мичиганском университете, использовался в обучении и ОС.
-
PILOT: Язык программирования для обучения и экспериментов 1960-х годов.
PILOT: простой язык программирования 1960-х для обучения. Структура как у BASIC/FORTRAN, односимвольные команды. Разработан для компьютерного обучения.
-
SISAL: Функциональный язык программирования с однократным присваиванием
SISAL: функциональный язык программирования с единичным присваиванием, строгой семантикой и параллелизмом. Основан на VAL, подходит для многопроцессорных систем.
-
Gosling Emacs: История и Вклад в Развитие Emacs
Gosling Emacs (gmacs): история первой C-реализации Emacs от Джеймса Гослинга. Разработка, лицензирование и инновационный код отображения.
-
Интерпретатор: принципы работы и история развития
Интерпретатор: что это такое? Выполнение кода без компиляции, примеры языков (Python, Perl, Ruby). Объяснение работы и типы интерпретаторов.
-
Язык программирования ATLAS для автоматического тестирования оборудования
ATLAS: язык программирования для автоматического тестирования. Стандарт ANSI/IEEE для аэрокосмической и военной электроники. Платформонезависимость.
-
NewtonScript: Прототипный язык для Apple Newton
NewtonScript: прототипный язык программирования для Apple Newton. Влияние Self, оптимизация для мобильных устройств и ARM 610. История MessagePad.
-
Кент Питман: Пионер Lisp и Common Lisp
Кент Питман – программист, эксперт Lisp и Scheme. Разработчик Common Lisp, президент HyperMeta, Inc. Стандарты ANSI, AI, MIT. Программирование.
-
Структурное программирование Джексона: анализ данных и проектирование программ
Структурное программирование Джексона (JSP): метод разработки ПО, основанный на анализе данных и создании интуитивно понятной структуры программы. 1975 год.
-
Язык программирования J: Обзор и особенности
J – краткий язык программирования для математики и статистики, основанный на APL. Использует ASCII символы, точечные и двоеточия для операций с массивами.
-
HyperTalk: Язык программирования для HyperCard
HyperTalk: простой язык программирования для начинающих, разработанный в 1987 году для HyperCard. Скриптинг, Pascal-подобная логика, автоматическое преобразование типов.
-
Разделение языков программирования на системные и скриптовые.
Разделение языков программирования на системные и скриптовые: характеристики, преимущества и примеры (C, OCaml, Python). Особенности и сфера применения.
-
Языки программирования первого поколения: Основы и применение.
Языки программирования 1 поколения (1GL): машинный код, двоичная система (0 и 1), прямое управление компьютером. Основы низкоуровневого программирования.
-
Web: Литературное программирование и системы документации кода
Web: язык программирования от Кнута для "литературного программирования". Создание кода и документации одновременно. TANGLE, WEAVE, CWEB, noweb, TeX, Metafont.
-
Small C: Подмножество языка C для микрокомпьютеров
Small C: компактный подмножество языка C для микрокомпьютеров и встраиваемых систем. Ранний компилятор, пример для обучения, разработанный Ron Cain и James Hendrix.
-
GRASS: Язык программирования для векторной графики и анимации.
GRASS: язык программирования для 2D-графики и анимации. Использовался для создания спецэффектов в "Звёздных войнах" и портирован на Z80.
-
Обратный слеш: история и применение
Обратный слеш (\): история, применение в математике и программировании, происхождение символа и его различные названия. Всё о типографском знаке.
-
Высокоуровневые языки программирования: абстракция от аппаратного обеспечения.
Высокоуровневые языки программирования: абстракция от деталей компьютера, упрощение разработки, автоматизация управления памятью. COBOL, Fortran – примеры.
-
MATH-MATIC: Ранний компилятор для UNIVAC I и UNIVAC II
MATH-MATIC: ранняя языковая система для UNIVAC I/II, разработанная Грейс Хоппер. Компилятор, алгебраические выражения, числа с плавающей точкой и массивы.
-
Язык программирования JOVIAL: История и применение в военных системах.
JOVIAL – язык программирования высокого уровня, разработанный в 1959 для встраиваемых систем и военной авиации. Основан на ALGOL 58. История и особенности.
-
Inform: Язык и система для интерактивной литературы
Inform – язык программирования для интерактивной литературы. Создан в 1993 году, генерирует программы для Z-code и Glulx. Версии 5 и 6 – популярны.
-
TADS: Система для создания интерактивной художественной литературы
TADS: язык программирования для интерактивной литературы. Создание текстовых квестов, парсинг, построение мира. Инструмент для разработчиков IF игр.
-
ISWIM: Абстрактный язык программирования и его влияние
ISWIM: абстрактный язык программирования, повлиявший на развитие функциональных языков (Haskell, ML, Miranda). Основан на лямбда-исчислении и SECD-машине.
-
Modula 3: История и особенности языка программирования
Modula 3: язык программирования, разработанный в DEC и Olivetti. Модульность, безопасность, простота и влияние на Java, C#, Python. История и особенности.
-
HAL/S: Язык программирования для аэрокосмических приложений NASA
HAL/S: язык программирования для аэрокосмических систем NASA. Компилятор реального времени, использовался в Space Shuttle (85% ПО). Надёжность и безопасность.
-
Гай Льюис Стил младший: Биография и вклад в информатику
Гай Льюис Стил мл. – американский ученый-компьютерщик, внесший вклад в разработку языков программирования (Lisp, C) и стандартов. Биография и достижения.
-
IPL: Ранний язык программирования для работы со списками
IPL: ранний язык программирования (1956) для работы со списками, динамической памятью и рекурсией. Основа для концепции обработки списков.
-
CODASYL: История разработки COBOL и модели данных CODASYL
CODASYL: разработка COBOL и стандартов языков программирования в 1959 году. Консорциум для эффективного анализа и проектирования данных. История и влияние.
-
PL/C: Образовательный диалект PL/I, разработанный в Корнеллском университете
PL/C: учебный диалект PL/I, разработанный в Корнеллском университете для обучения программированию. Компилятор автоматически исправлял ошибки синтаксиса.
-
Рефлексия в программировании: самоанализ и модификация кода
Рефлексивное программирование: способность программы анализировать и изменять себя. Самомодифицирующийся код, мета-интерпретаторы, библиотеки и сериализация данных.
-
Язык программирования TRAC: история и особенности
TRAC – язык программирования 1964 года, ориентированный на обработку строк и функциональное программирование. Без операторов, самомодифицирующийся код.
-
Системное программирование: языки и эволюция
Системное программирование: разработка ПО для компьютеров, оптимизация ресурсов и высокая производительность. Языки PL/S, BLISS, BCPL, Forth.
-
Язык программирования C: Учебник Кернигана и Ритчи
Язык программирования C: классическое руководство Кернигана и Ритчи. Основы, примеры кода и авторитетный взгляд на язык, повлиявший на Unix и программирование.
-
Блочная структура в программировании
Блоки кода в программировании: структура, назначение и роль в структурированном программировании. Объявление, области видимости, вложенность блоков.
-
SPITBOL: История и реализации языка SNOBOL4
SPITBOL: быстрая реализация языка SNOBOL4. Компилируемая версия для IBM/360, SPARC и других процессоров. Преодоление ограничений SNOBOL4 по скорости и памяти.
-
БЛИСС: История и особенности системного языка программирования.
BLISS: системный язык программирования, разработанный в CMU в 1970-х. Альтернатива C с обработкой исключений, корутинами и макросами. Устарел.
-
Этимология компьютерных терминов
Этимология компьютерных терминов: происхождение слов из мира IT, аппаратного и программного обеспечения. Узнайте историю названий и их значения!
-
Метапрограммирование: техники и возможности
Метапрограммирование: техника программирования, позволяющая программам манипулировать другими программами и собой. Уменьшение кода, гибкость, оптимизация.
-
Образовательные языки программирования: от ассемблера к архитектуре компьютера.
Языки программирования для обучения: от машинного кода к ассемблеру. Основы, история и роль в изучении программирования. Низкоуровневое программирование.
-
Уолтер Брайт: Создатель языков программирования и компиляторов.
Уолтер Брайт: американский программист, создатель языка D, компилятора Zortech C++ и игры Empire. Образование в Caltech, опыт разработки с 1977 года.
-
Рактер: История искусственного интеллекта и загадочной книги.
Racter: ИИ для генерации текстов 1984 года. Создавал случайные прозаические произведения для IBM PC, Apple II и др. Использовался для книги "The Policeman's Beard".
-
Условные операторы в программировании
Условные операторы в программировании: как работают, для чего нужны и как влияют на ход выполнения кода. Основы принятия решений в программах.
-
Программирование на Perl: Полное руководство
Программирование на Perl: полное руководство ("Верблюжья книга") от создателя языка Ларри Уолла. Описание всех версий Perl, примеры кода и лучшие практики.
-
Изучение Perl: Полное руководство для начинающих
Учебник Learning Perl (книга ламы) от O'Reilly – полное руководство по языку программирования Perl 5. Обновленные издания с 1993 года! Perl обучение.
-
Языки системного программирования: характеристики и примеры
Языки системного программирования: особенности, отличия от языков прикладного программирования, влияние на производительность. Обзор и примеры языков.
-
OPS5: Первый язык для экспертных систем и его развитие
OPS5: первый язык экспертных систем, использованный в R1/XCON для VAX. Основан на алгоритме Rete, эффективен для работы с сотнями правил. ИИ, производство.
-
SAIL: Диалект ALGOL 60 для системного программирования
SAIL: язык программирования для ИИ, разработанный в Стэнфорде на основе ALGOL 60. Символьная обработка данных, ассоциативная память LEAP, PDP-10/20.
-
Язык спецификаций S/SL: разработка компиляторов и анализаторов
S/SL: язык спецификаций для парсеров и генераторов кода. Разработан в Торонто (1980). Поддержка рекурсии, LL(1) и LR(k) разбора, псевдокод.
-
Axiom: История и Развитие Компьютерной Алгебраической Системы
Axiom – бесплатная система компьютерной алгебры для вычислений. История разработки: от IBM Scratchpad (1965) до современной версии. Скачать и использовать!
-
Визуальные языки программирования: обзор и перспективы.
Визуальные языки программирования: создание программ графически, без текста. Блок-кодирование, low-code платформы, обучение программированию, диаграммы.
-
Знак равенства: история и применение
Знак равенства (=): история, значение и применение в математике. Роберт Рекорд изобрел его в 1557 году. Узнайте происхождение и Unicode код!
-
Язык программирования PL/0: История и реализация компилятора
PL/0: простой язык программирования для обучения, разработанный Никлаусом Виртом. Пример создания компилятора, упрощенный Pascal. Ограниченные конструкции.
-
Языки, ориентированные на предметную область
Языки программирования, ориентированные на конкретную область (DSL). Отличие от GPL, виды DSL (разметка, моделирование, программирование) и их применение.
-
Програф: История Визуального Языка Программирования
Програф: визуальный язык программирования, основанный на потоке данных. Разработан в 1982 году, возрождён в среде Marten для macOS.
-
Майк Коулишoу: Путь пионера в компьютерных технологиях и за их пределами.
Майк Коулишoу: биография выдающегося программиста, создателя языков REXX и NetRexx, а также участника разработки JPEG. IBM, Warwick University.
-
Язык программирования POP 11: история, особенности и применение.
POP11: язык программирования для ИИ, обучения и исследований. Процедурный с элементами декларативности, открытой стеком, синтаксис похож на Pascal.
-
dc: Кроссплатформенный калькулятор обратной польской нотации
dc: кроссплатформенный калькулятор обратной польской нотации с произвольной точностью. Наследие Bell Labs, предшественник bc. Примеры и синтаксис.
-
PROIV: История и особенности платформы разработки приложений 4GL
PROIV: low-code платформа для разработки бизнес-приложений. Быстрый переход от 4GL к созданию программ, упрощение доступа к базам данных. Zellis Holdings.
-
Номера строк в программировании и текстовых файлах
Номера строк в тексте: способ идентификации символов в файлах. Применение в программировании (C, Fortran, BASIC) и назначение номеров строк кода.
-
Проверка орфографии: история и развитие программных средств
Проверка орфографии: история и принцип работы. Первые программы для исправления ошибок в тексте, SPELL, и развитие технологий проверки правописания.
-
Язык программирования Шекспир: Эзотерический подход
Язык программирования Шекспира (SPL): эзотерический язык, маскирующийся под пьесы. Объявление персонажей = стеки, диалоги = операции. Уникальный синтаксис!
-
ALGOL 60: История и Развитие Языка Программирования
ALGOL 60: язык программирования, предшественник C, Pascal и других. Ввел блоки кода, рекурсивные функции и лексическую область видимости. История и влияние.
-
ALGOL 68: История, Влияние и Наследие Языка Программирования
ALGOL 68: императивный язык программирования, преемник ALGOL 60. Сложный синтаксис, ограниченное применение, но значительный вклад в компьютерные науки.
-
Языки программирования пятого поколения: принципы и история развития.
Языки программирования 5 поколения (5GL): декларативный подход к решению задач без алгоритмов. Применение в ИИ, логическое программирование и ограничения.
-
Язык HLA: Высокоуровневая Ассемблер для Обучения и Разработки
HLA – высокоуровневый язык ассемблера от Randall Hyde. Объединяет преимущества HLL (Pascal, C++) для обучения и разработки, поддерживает ООП и сложные типы данных.
-
Эвклид: История и особенности верифицируемого языка программирования.
Euclid – императивный язык программирования для верифицируемых программ, разработанный в 1970-х в Xerox PARC. Инновационный компилятор для Motorola 6809.
-
CPL: Ранний предок языка C и его история.
CPL: язык программирования 1960-х, предок C. Разработан в Кембридже и Лондоне. История, особенности и влияние на современные языки.