1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> Умный дом >> Умная жизнь

Недостатки языков программирования высокого уровня

В терминологии компьютерного программирования языки программирования часто разделяют на языки «высокого уровня» и «низкого уровня». Разница между ними заключается в аппаратном взаимодействии. Проще говоря, языки низкого уровня находятся «ниже» в компьютерной системе, ближе к фактическому взаимодействию с оборудованием. Языки высокого уровня абстрагированы от аппаратного обеспечения. Результатом такой абстракции может стать более быстрый и читаемый код, но с меньшими преимуществами в скорости и меньшим доступом к системным ресурсам.

Абстракция

Что отличает языки высокого уровня от языков низкого уровня, так это уровень абстракции языка от системных ресурсов. Ежедневная работа с системными ресурсами может стать медленной и болезненной. Языки высокого уровня были созданы для решения этой проблемы, обрабатывая систему для программиста, освобождая его для выполнения более сложных задач, игнорируя мельчайшие детали системы, такие как управление памятью. Однако у этого есть недостаток, заключающийся в том, что программист может оказаться в ситуации, когда требуется доступ к системе, а язык высокого уровня не может предоставить такой доступ. Язык высокого уровня обычно не подходит для системного программирования.

Скорость

Языки высокого уровня обычно представляют собой «интерпретируемые» языки, а не «компилируемые» языки низкого уровня. «Интерпретируемый» просто означает, что язык использует интерпретатор, который выполняет исходный код построчно, а не компилирует двоичный файл. Однако интерпретаторы часто представляют собой программы, написанные на скомпилированных языках. Из-за этого интерпретируемый язык — например, Python — работает только поверх интерпретатора Python, написанного на C. Это увеличивает затраты памяти и времени для интерпретируемых программ, и они часто выполняются медленнее.

Особенности системы

Кажущаяся сила высокоуровневого кода — его переносимость. Код высокого уровня может выполняться в любой системе, в которой установлен соответствующий интерпретатор. Однако, когда программа компилируется для компьютера, она учитывает всю среду этой системы при компиляции. Интерпретируемый язык уже абстрагирован от системы до такой степени, что интерпретируемая программа ничего не знает о системе, кроме того, что интерпретатор может ей предоставить.

Ограничения программирования

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


  1. Языки программирования для BlackBerry
  2. Недостатки интернет-протокола
  3. Преимущества встроенной системы
  4. Недостатки цифрового вещания
  5. Недостатки программирования на Ruby