74546

Программирование. Языки программирования низкого и высокого уровней

Доклад

Информатика, кибернетика и программирование

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

Русский

2015-01-04

25.55 KB

9 чел.

Программирование - это искусство создавать программные продукты, которые написаны на языке программирования. Язык программирования – это формальная знаковая система, которая предназначена для написания программ, понятной для исполнителя (в нашем рассмотрении – это компьютер). Данный сайт предназначендля начинающих программистов, для чайников, для новичков, для детей, а также для профессионалов.

Язык программирования ( англ. Programming language ) - система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполняет исполнитель ( компьютер ) под ее управлением.

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

 

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

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

Пример машинного кода и представления его на ассемблере

Трансляторы делятся на:

компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

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

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

Преимущества

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

Недостатки

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

результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.

значительное время разработки больших и сложных программ.

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

Ассемблер - язык низкого уровня, что широко применяется до сих пор.

 

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

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

К языкам программирования высокого уровня относятся:

Фортран

Кобол

Алгол

Pascal

Java

C

C++

C#

Objective C

Smalltalk

Delphi

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


 

А также другие работы, которые могут Вас заинтересовать

25147. Поняття та ідеї як форми мислення 27.5 KB
  Копніна при визначенні логіки наукового дослідження проведено визначення поняття та ідей як форм наукового дослідження. Поняття характеризується як структурно складене утворення основу якого складають предмет думки та ознаки що його приписуються. Складеність поняття виявляє можливість відокремлення ознак від одного предмету та встановлення їх відношення до іншого предмету. Оперування поняттями дозволяє через визначення ознак формувати уявлення про ідеальний предмет як носій даних ознак.
25148. Лінійні і циклічні моделі історії 27.5 KB
  Лінійні і циклічні моделі історії Будьяке дослідження історії передбачає вирішення проблем природи історичного процесу його структури рушійних сил напрямку розвитку. Спроби осмислення послідовності наступності конкретних історичних періодів дозволили створити деякі узагальнені структуровані цілісні образи історії. Лінійні моделі – це образ історії як незворотньої послідовності подій; геометричним аналогом цієї моделі спрямованості історії є пряма. Найчастіше зустрічається прогресивна лінійна модель історії згідно з якою поступ прогрес...
25149. Аналітична філософія 23 KB
  У широкому – сукупність напрямків що характеризуються підвищеною увагою до мови а саме застосуванням методів логічного та лінгвістичного аналізу мови для вирішення філософських проблем. Головні завдання: дослідження мови з метою виявлення структури думки досягнення прозорого співвідношення мови та реальності чітке розмежування значимих та пустих висловлювань осмислених та беззмістовних фраз тощо. Рассел зосередився на аналітичних можливостіх символічної логіки і дослідженню основ математикию Мур же займався аналізом філософських понять...
25150. Поняття проблеми в сучасній методології науки 29.5 KB
  Поняття проблеми в сучасній методології науки Чуйко В. Саме ситуація проблеми є умовою та джерелом самого пізнання оскільки саме пізнання провокується незнанням. Гносеологічне значення поняття проблеми в науці полягає в тому що через неї розгортається висхідне фундаментальне протиріччя процесу пізнання: протиставлення наявного вже досягнутого рівня пізнання і нового.
25151. Поняття трансцедентальної філософії у Канта 28.5 KB
  Виокремлює три здатності людської душі яким відповідають три його критики – здатність пізнання критика чистого розуму здатність бажання критика практичного розуму здатність до почуття задоволення і незадоволення критика здатності до судження. В пізнанні не наше уявлення узгоджується з предметом а предмет узгоджується з нашим уявленням тобто людина сама конструює предмет свого пізнання. Трансцедентальне –всяке пізнання яке займається не стільки предметами скільки видами нашего пізнання предметів оскільки це пізнання є можливим...
25152. Проблема інтерсуб’єктивності в сучасній філософії 27 KB
  Проблема інтерсуб’єктивності в сучасній філософії Інтерсуб’єктивність – умова взаємодії та передачі знання; значимість пізнавального досвіду однієї людини для іншої. Інтерсуб’єктивність як спільний досвід.
25153. Структуралістська парадигма в сучасному пізнанні 29 KB
  уявлення про позасвідомий характер структури Струкутра – інваріантно – статичне ціле утворене взаємозв’язком його елементів таким чином що кожний залежить від інших і може з’явитися лише завдяки відношенням з іншими елементами. Для структури характерним є кінцева кількість складових і правил їх комбінування які піддатні систематизації і інвентаризації. Дихотомія структури і твору: структура мова знаходиться в конфлікті з твором мовленням який є продуктом індивідуального акту волі і розуму. Примат структури над елементами людина – лише...
25154. Вірогідне та достовірне знання 28.5 KB
  В науковому пізнанні поняття достовірне знання виконує дві основні функції: оціночну та методологічну. Оціночна функція поняття достовірність як показано в роботі Об’єктивне знання К.Поппера полягає у визначенні відношення одного знання до іншого.
25155. Концепця негативної діалектики 30.5 KB
  Концепця негативної діалектики Негативна діалектика термін Теодора Адорно – назва методології що функціонувала як критика до тенденцій схильного до універсалізації раціонального розуму Просвітництва зокрема того який знаходить свій вияв у процесі діалектичного розв’язання. Термін вперше з’являється в друці в 1966 році в книзі Адорно €œНегативна діалектика€. Адорно: розв’язання діалектичного протиставлення Ф. Адорно критично називає таке опосередкування €œмисленням ідентичності€.