Язык программирования — Arc.Ask3.Ru

Оглавление1 Язык программирования1.1 Определение языков программирования1.2 Реализация языков программирования1.3 История языков программирования1.4 1960-е и 1970-е годы1.5 1980-е по 2000-е годы1.6 […]

Оглавление

Язык программирования

  • Определение языков программирования

    • Языки программирования — это системы обозначений для написания компьютерных программ.  
    • Они описываются в терминах синтаксиса и семантики.  
    • Включают функции, такие как система типов, переменные и механизмы обработки ошибок.  
  • Реализация языков программирования

    • Для выполнения программ требуется интерпретатор или компилятор.  
    • Интерпретатор выполняет исходный код, компилятор создает исполняемую программу.  
  • История языков программирования

    • Первые языки программирования были тесно связаны с аппаратным обеспечением.  
    • Языки высокого уровня (3GLs) абстрагировались от деталей аппаратного обеспечения.  
    • Фортран стал первым компилируемым языком высокого уровня.  
  • 1960-е и 1970-е годы

    • Лисп стал первым функциональным языком программирования.  
    • АЛГОЛ стал стандартом для описания алгоритмов.  
    • Simula и C стали популярными языками, поддерживающими объектно-ориентированное программирование.  
  • 1980-е по 2000-е годы

    • Персональные компьютеры изменили роли языков программирования.  
    • C++ и Java стали популярными языками.  
    • Появились языки для поддержки веб-страниц и сетей.  
  • 2000-е по настоящее время

    • Замедление разработки новых языков.  
    • Сервис-ориентированное программирование и C# объединили императивное и функциональное программирование.  
    • Новые языки, такие как Rust и Go, конкурируют за производительность.  
  • Элементы языков программирования

    • Синтаксис определяет структуру языка.  
    • Большинство языков программирования являются текстовыми, некоторые — графическими.  
  • Синтаксис языка

    • Описывает комбинации символов, формирующие синтаксически корректную программу  
    • Определяется с помощью регулярных выражений и формы Бэкуса–Наура  
    • Примеры: 12345, () и (a b c232 (1))  
  • Семантика языка

    • Определяет значение комбинаций символов  
    • Может быть статической или динамической  
    • Статическая семантика включает проверку типов и контекстов  
    • Динамическая семантика определяет поведение программы  
  • Система типов

    • Определяет типы данных и операции с ними  
    • Полностью типизированные языки определяют типы для каждой операции  
    • Слабая типизация допускает неявное приведение типов  
  • Типы данных

    • Включают целые числа, числа с плавающей точкой, логические и символьные типы  
    • Массивы, строки, списки, ассоциативные массивы, записи и кортежи  
    • Указатели хранят адреса памяти  
  • Статический и динамический ввод текста

    • Статическая типизация определяет типы перед выполнением программы  
    • Динамическая типизация определяет типы только для значений, а не для переменных  
  • Гибкость и надежность языков программирования

    • Гибкость языков программирования достигается за счет снижения надежности и способности проверять ошибки.  
    • Некоторые языки допускают переменные типа union, что позволяет присваивать значения любого типа.  
  • Параллелизм и многопроцессорность

    • Параллелизм поддерживается на уровне команд и подпрограмм.  
    • Интерпретируемые языки, такие как Python и Ruby, не поддерживают параллелизм.  
    • Другие языки поддерживают управление данными и потоками с помощью семафоров и мониторов.  
  • Обработка исключений

    • Обработчики исключений могут завершать работу или возобновлять работу программы.  
    • Некоторые языки поддерживают завершение кода независимо от возникновения исключения.  
    • Обработка исключений может снижать производительность, но важна для надежности.  
  • Проектирование и внедрение языков программирования

    • Компьютерная архитектура влияет на разработку языков программирования.  
    • Императивные языки разработаны для архитектуры фон Неймана.  
    • Многие языки программирования были разработаны с нуля и изменены.  
  • Компромиссы в языках программирования

    • Читабельность, возможность записи и надежность важны для языков программирования.  
    • Эффективность часто ставилась выше удобочитаемости, но с 1970-х годов значение удобочитаемости возросло.  
    • Абстракция и выразительность помогают программистам писать код.  
  • Спецификация и реализация языков программирования

    • Спецификация языка программирования определяет допустимость и поведение кода.  
    • Реализация языка программирования преобразует программу в машинный код.  
    • Компиляторы переводят исходный код в машинный код, что ускоряет выполнение.  
    • Интерпретаторы переводят каждую строку кода в машинный код перед выполнением, что медленнее.  
  • Проприетарные и открытые языки программирования

    • Большинство языков программирования имеют открытые спецификации и реализации.  
    • Проприетарные языки программирования доступны только у одного поставщика.  
    • Некоторые языки находятся на границе между проприетарными и открытыми.  
    • Языки с открытым исходным кодом полезны для научных приложений.  
  • История и разнообразие языков программирования

    • Созданы тысячи языков программирования, особенно в области вычислительной техники.  
    • В проектах обычно используется пять или более языков.  
    • Языки программирования требуют большей точности и полноты, чем естественные языки.  
  • Особенности языков программирования

    • Языки программирования предоставляют структурированный механизм для определения данных и операций.  
    • Программисты используют абстракции для представления концепций вычислений.  
    • Программы могут выполняться в пакетном режиме или через интерпретатор.  
  • Измерение популярности языков

    • Определить наиболее популярный язык сложно из-за различных методов измерения.  
    • Методы включают подсчет объявлений о приеме на работу, проданных книг и строк кода.  
    • Stackify.com и TIOBE предоставляют списки популярных языков.  
  • Диалекты и разновидности

    • Диалекты языка программирования — это вариации, не меняющие его внутренней природы.  
    • Диалекты могут создаваться для использования в определенных предметных областях.  
    • Неопытному программисту сложно найти нужную документацию из-за множества диалектов.  
  • Классификации языков программирования

    • Языки программирования делятся на императивные, функциональные, логические и объектно-ориентированные.  
    • Императивные языки предназначены для реализации алгоритмов в определенном порядке.  
    • Функциональные языки работают путем последовательного применения функций.  
    • Логические языки решают, в каком порядке выполнять инструкции.  
    • Объектно-ориентированное программирование поддерживает абстракцию данных и наследование.  
  • Дополнительные ресурсы

    • Портал компьютерного программирования содержит информацию о языках программирования.  
    • Существуют списки языков программирования и исследователей.  
    • Приведены рекомендации для дальнейшего чтения.  

Полный текст статьи:

Язык программирования — Arc.Ask3.Ru

Оставьте комментарий

Прокрутить вверх