Нужен ли компьютерному поколению язык

Обновлено: 01.07.2024

Лекция 20

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

Второе поколение:

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

Программы полностью зависели от машины, и написание программы отнимало очень много времени. Чтобы упростить написание программ, небольшие участки часто используемого кода были собраны в библиотеки.

Помимо всего прочего, будут библиотеки для математических операций и операций ввода/вывода. Программа, отвечающая за объединение программы и библиотек, называется компоновщиком.

Для запуска программы использовалась другая программа, называемая загрузчиком, которая помещала программу в память и запускала ее (что-то вроде основной функции задания 2).

Исходная программа называется исходным кодом. Программа перед линковкой называется объектным кодом. Программа после связывания называется исполняемым файлом.

Третье поколение:

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

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

Исходный код -- Перевести --> Код объекта -- Ссылка --> Исполняемый файл -- Загрузить --> Запуск программы.

C является примером компилируемого языка третьего поколения.

Другой подход к выполнению программы называется интерпретацией. Программа, называемая интерпретатором, переводит исходный код напрямую, эмулируя машину, в которой исходный язык является машинным кодом. В задании 2 вы написали интерпретатор для RISC-машины.

Интерпретация часто выполняется значительно медленнее, чем компиляция, потому что трансляция должна выполняться каждый раз при запуске программы. Можно написать программу, представляющую собой комбинацию интерпретатора и компилятора. Его иногда называют компилятором Just In Time (JIT), поскольку он компилирует разделы программы по мере ее выполнения, т. е. вовремя.

Java является примером интерпретируемого языка.

Четвертое поколение

Существует множество определений языков четвертого поколения. В целом это язык, для использования которого не требуются знания программирования. Пакет базы данных может позволить разработку сложного приложения без необходимости написания исходного кода. Это делается путем выбора из различных предварительно разработанных вариантов и указания того, что должно произойти для определенных событий (иногда называемых триггерами).

Пятое поколение

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

Парадигмы

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

Императивная парадигма

В императивных языках используется последовательность, выбор и итерация для написания программ, которые сообщают машине, как выполнять задачу. Следующая программа решает задачу о восьми ферзях: как расставить 8 ферзей на шахматной доске так, чтобы они не атаковали друг друга. Не беспокойтесь об алгоритме, просто обратите внимание, что программа использует последовательность, выборку, итерацию и рекурсию.

Объектно-ориентированная парадигма

Объектно-ориентированные языки вынуждают программиста концентрироваться на абстрактных типах данных. Это достигается за счет наличия императивного кода, связанного с переменными (называемого объектами ), и наличия иерархии типов переменных (называемых классами ).
Следующая программа написана на C++, она находит единственное решение. Обратите внимание, что «ферзь» — это класс, который содержит информацию об одном королеве. В классе также есть функции (называемые функциями-членами) для перемещения ферзя -'advance', вывода списка ферзей -'print' и проверки, атакует ли он другое поле. Решение хранится в связанном списке. Вы узнаете больше об объектно-ориентированных языках в 59201 и 59234.

Функциональная парадигма

Функциональные языки не имеют переменных и используют рекурсию для выполнения вычислений. Преимущество функциональных языков состоит в том, что легче доказать правильность функциональной программы, чем императивной. Следующее решение для 8 ферзей написано на Haskell, обратите внимание, что королевы — это рекурсивное определение, qu 0 — пустой список. qu m+1 определяется в терминах qu m, «безопасных» проверок для всех атак и «проверочных» проверок для одной атаки.
Вы узнаете больше о Haskell в 59202 и 59301

Декларативная парадигма

Декларативный или логический язык программирования – это язык, основанный на подмножестве математической логики. Компьютер запрограммирован на вывод взаимосвязей между значениями, а не на вычисление выходных значений из входных значений.
Следующее решение для 8 ферзей написано на Прологе. Понимание программ на Прологе затруднено, если вы привыкли смотреть на императивные языки, потому что программа не говорит, как найти решение. Программа — это просто список фактов (правил), интерпретатор пролога «запускает» программу, пытаясь найти значения, которые делают запрос верным, используя правила.
Вы узнаете больше о Prolog в 59202 и 59301

Первые два поколения называются языками низкого уровня. Следующие три поколения называются языками высокого уровня.


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

<р>1. Язык первого поколения:

Языки первого поколения также называются машинными языками/языком 1G. Этот язык является машинно-зависимым. Операторы машинного языка записываются в двоичном коде (форма 0/1), поскольку компьютер понимает только двоичный язык.

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

<р>1. Быстро и эффективно, поскольку операторы записываются непосредственно на двоичном языке.

<р>2. Переводчик не требуется.

Недостатки:

<р>1. Трудно выучить двоичные коды.

<р>2. Трудно понять - как программы, так и где произошла ошибка.

<р>2. Язык второго поколения:

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

Assembler — преобразует инструкции уровня сборки в инструкции машинного уровня.

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

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

<р>1. Его легче понять по сравнению с машинным языком.

<р>2. Модификации очень просты.

<р>3. Исправить и найти ошибки очень просто.

Недостатки:

<р>1. Требуется ассемблер.

<р>2. Этот язык зависит от архитектуры/машины и имеет разный набор инструкций для разных машин.

<р>3. Язык третьего поколения:

Третье поколение также называют процедурным языком /3 GL. Он состоит из использования ряда английских слов, которые люди могут легко понять, для написания инструкций. Его также называют языком программирования высокого уровня. Для выполнения программа на этом языке должна быть переведена на машинный язык с помощью компилятора/интерпретатора. Примерами этого типа языка являются C, PASCAL, FORTRAN, COBOL и т. д.

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

<р>1. Использование английских слов делает его понятным для человека.

<р>2. Меньшее количество строк кода по сравнению с двумя вышеуказанными языками.

<р>3. Тот же код можно скопировать на другой компьютер и выполнить на нем с помощью компилятора, специфичного для этого компьютера.

Недостатки:

<р>1. Требуется компилятор/интерпретатор.

<р>2. Для разных машин нужны разные компиляторы.

<р>4. Язык четвертого поколения:

Язык четвертого поколения также называют непроцедурным языком/4GL. Это позволяет пользователям получать доступ к базе данных. Примеры: SQL, Foxpro, Focus и т. д.

Эти языки также удобны для понимания человеком.

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

<р>1. Легко понять и изучить.

<р>2. Меньше времени требуется для создания приложения.

<р>3. Он менее подвержен ошибкам.

Недостатки:

<р>1. Потребление памяти велико.

<р>2. Плохой контроль над оборудованием.

<р>3. Менее гибкий.

<р>5. Язык пятого поколения:

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

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

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

Первое поколение: машинный язык

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

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

В машинном языке все инструкции, ячейки памяти, числа и символы представлены в виде строк нулей и единиц. Хотя программы на машинном языке обычно отображаются с двоичными числами, переведенными в восьмеричные (с основанием 8) или шестнадцатеричные (с основанием 16), людям нелегко читать, писать или отлаживать эти программы.

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

Второе поколение: язык ассемблера

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

Язык ассемблера был разработан в середине 1950-х годов и считался большим шагом вперед, поскольку в нем используются мнемонические коды или легко запоминающиеся аббревиатуры, а не числа. Примеры этих кодов включают A для сложения, CMP для сравнения, MP для умножения и STO для сохранения информации в памяти. Как и программы, написанные на других языках программирования, программы на ассемблере состоят из ряда отдельных операторов или инструкций, которые сообщают компьютеру, что делать.

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

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

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

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

Третье поколение: язык высокого уровня

Языки третьего поколения привели к резкому увеличению объема обработки данных, которое произошло в 1960–1970-х годах. За это время количество используемых мейнфреймов увеличилось с сотен до десятков тысяч. Влияние языков третьего поколения на общество было огромным.

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

Языки высокого уровня находятся где-то между естественными языками и машинными языками и были разработаны, чтобы сделать процесс программирования более эффективным. Такие языки, как FORTRAN (FORmula Translator) и COBOL (общий бизнес-ориентированный язык), позволили ученым и деловым людям писать программы, используя знакомые термины вместо непонятных машинных инструкций. Теперь программисты могут выбирать из сотен языков высокого уровня.

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

Хотя языки высокого уровня освобождают программиста от сложных деталей, они не обеспечивают гибкости, доступной в языках низкого уровня. Некоторые языки высокого уровня, такие как C и FORTH, сочетают в себе некоторую гибкость языка ассемблера с мощью языков высокого уровня, но эти языки плохо подходят для начинающих программистов.

Некоторые языки третьего поколения были созданы для определенной цели, например для управления промышленными роботами или создания графики. Другие чрезвычайно гибки и считаются универсальными. В прошлом большинство приложений для программирования было написано на BASIC (универсальный код символических инструкций для начинающих), FORTRAN или COBOL — все они считались языками общего назначения. Некоторые другие популярные сегодня языки высокого уровня — Pascal, C и их производные.

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

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

Четвертое поколение: языки очень высокого уровня

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

Хотя нет единого мнения о том, что на самом деле представляет собой язык четвертого поколения, обычно упоминаются несколько характеристик:

  • инструкции написаны английскими предложениями;
  • они не являются процедурными, поэтому пользователи могут сосредоточиться на том, "что", а не "как";
  • они повышают производительность, поскольку программисты вводят меньше строк кода, чтобы что-то сделать.

Примером 4GL является язык запросов, который позволяет пользователю запрашивать информацию из базы данных с точно сформулированными предложениями, похожими на английские. Язык запросов используется в качестве пользовательского интерфейса базы данных и скрывает от пользователя конкретные сведения о базе данных. Например, язык структурированных запросов (SQL) требует, чтобы пользователь выучил несколько правил синтаксиса и логики, но его легче выучить, чем COBOL или C. Считается, что на языке четвертого поколения можно быть в десять раз продуктивнее. чем в языке третьего поколения.

Рассмотрите запрос на создание отчета, показывающего общее количество учащихся, зачисленных в каждый класс, по учителям, за каждый семестр и год, а также промежуточные итоги по каждому учителю. Кроме того, каждый новый учитель должен начинать с новой страницы. При использовании 4GL запрос будет выглядеть примерно так:

РЕГИСТРАЦИЯ ТАБЛИЧНОГО ФАЙЛА

СУММИНГ СТУДЕНТОВ ПО СЕМЕСТРАМ ПО УЧИТЕЛЯМ ПО КЛАССАМ

ПО УЧИТЕЛЮ ПРОМЕЖУТОЧНЫЙ РАЗБОР СТРАНИЦЫ

Хотя даже для этого требуется некоторая подготовка, можно видеть, что это довольно просто. И наоборот, языку третьего поколения, такому как COBOL, обычно требуется несколько сотен строк кода для выполнения того же запроса.

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

Объектно-ориентированные языки

Каким будет следующий шаг в развитии языков программирования? Будущие языки, вероятно, будут иметь мало общего с более ранними. Скорее всего, они будут намного ближе к естественным языкам.

см. также отчет Algol-60; Алгоритмы.

Ида М. Флинн

Библиография

Бикман, Джордж. Компьютерные потоки. Навигация по технологиям завтрашнего дня. Нью-Йорк: Benjamin/Cummings Publishing Co., 1994.

Блиссмер, Роберт Х. Знакомство с компьютерами: концепции, системы и приложения. Нью-Йорк: John Wiley & Sons, Inc., 1992 г.

Брайтман, Ричард В. и Джеффри М. Димсдейл. Использование компьютеров в век информации. Олбани, Нью-Йорк: Delmar Publishers Inc., 1986 г.

В связи с этим, сколько существует поколений компьютерных языков?

Кроме того, какой язык использовался в компьютерах третьего поколения? язык третьего поколения — компьютерное определение. Также известный как «3GL», он относится к языкам программирования высокого уровня, таким как FORTRAN, COBOL, BASIC, Pascal и C. Это шаг выше языка ассемблера и шаг ниже четвертого. язык генерации (4GL).

Итак, каковы 5 поколений языков программирования?

  • Языки первого поколения (1GL)
  • Языки второго поколения (2GL)
  • Языки третьего поколения (3GL)
  • Языки четвертого поколения (4GL)
  • Языки пятого поколения (5GL)

Что такое компьютерный язык 4-го поколения?

Язык программирования четвертого поколения (4GL) – это любой язык компьютерного программирования, принадлежащий к классу языков, рассматриваемых как усовершенствование языков программирования третьего поколения (3GL). Концепция 4GL разрабатывалась с 1970-х по 1990-е годы, перекрывая большую часть разработки 3GL.

Какие существуют 4 типа языков программирования?

Является ли Java языком четвертого поколения?

нет, Java — это язык третьего поколения. Языки первого поколения — это бинарные машинные языки. Языки командной строки, поставляемые с операционными системами и системами управления базами данных (СУБД), относятся к языкам четвертого поколения (4GL), как и языки запросов и средства создания отчетов.

Является ли Python процедурным или объектно-ориентированным?

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

Является ли SQL языком четвертого поколения?

Теперь это не язык в том же смысле, что, скажем, Java или C++: SQL считается языком четвертого поколения (4GL), тогда как Java и C++ являются языками третьего поколения (3GL). Языки четвертого поколения — это языки программирования, которые ближе к человеческому языку, чем языки высокого уровня, такие как Java.

Какое поколение является базовым?

Какой язык используется в компьютерах второго поколения?

Какие бывают поколения компьютеров?

Первое поколение — 1940–1956 гг. б/у вакуумные трубки. Второе поколение — 1956-1963 гг. используются дискретные транзисторы. Третье поколение — 1964-1971 гг.используются интегральные схемы (но не микропроцессоры) Четвертое поколение — с 1971 г. по настоящее время. использовать микропроцессоры. Пятое поколение — (текущие исследования) искусственный интеллект и квантовые вычисления.

Компилируется или интерпретируется C++?

Поскольку каждая строка интерпретируемой программы должна переводиться каждый раз при ее выполнении, возникают дополнительные накладные расходы. Таким образом, интерпретируемый язык обычно больше подходит для специальных запросов, чем для предопределенных запросов. Ассемблер, COBOL, PL/I, C/C++ транслируются путем запуска исходного кода через компилятор.

1010101001100010
1001101010000001
1111111110100010

Содержание

Первое поколение [ редактировать | изменить источник ]


Colossus Mark 2 был первым в мире электронным цифровым программируемым компьютером. Операторам приходилось писать машинный код напрямую, устанавливая переключатели.

Код может быть быстрым и эффективным

Код может использовать определенные функции процессора, такие как специальные регистры


И конечно недостатки

Код не может быть перенесен на другие системы и должен быть переписан

Код сложно редактировать и обновлять

Программирование второго поколения [ edit | изменить источник ]

Как вы понимаете, если писать целыми днями 1 и 0, вы рискуете ошибиться. Языки программирования второго поколения — это способ описания ассемблерного кода, с которым вы, возможно, уже встречались.

Используя коды, напоминающие английский язык, программирование становится намного проще. Использование мнемонических кодов, таких как LDA для загрузки и STA для сохранения, означает, что код легче читать и писать. Для преобразования программы на ассемблере в объектный код для запуска на компьютере требуется ассемблер, и каждая строка ассемблера может быть заменена эквивалентной одной строкой объектного (машинного) кода:

000100110100
001000000101
001100110100
010000000011

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

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

Код может быть быстрым и эффективным

Код может использовать определенные функции процессора, такие как специальные регистры

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


И конечно недостатки

Код не может быть перенесен на другие системы и должен быть переписан

Третье поколение (языки высокого уровня) [ edit | изменить источник ]

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

Коды третьего поколения (языки высокого уровня) обязательны. Императив означает, что код выполняется последовательно, строка за строкой. Например:

Языки третьего поколения могут быть независимыми от платформы, а это означает, что код, написанный для одной системы, будет работать на другой. Для преобразования программы 3-го поколения в объектный код требуется компилятор или интерпретатор.

Независимость от оборудования, возможность легкого переноса на другие системы и процессоры

Экономит время программиста, одна строка 3-го поколения эквивалентна многим строкам 1-го и 2-го поколения

Созданный код может не лучшим образом использовать специфические функции процессора, в отличие от 1-го и 2-го поколения

Существует несколько типов языков третьего поколения, о которых вы подробнее расскажете на A2. К ним относятся:

Четвертое поколение [ редактировать | изменить источник ]

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

Декларативные языки — описывают, какие вычисления должны выполняться, а не как их выполнять. Необязательно!


Примером декларативного языка является CSS, о котором вы можете узнать больше при завершении любого модуля веб-дизайна

Опишите, что подразумевается под императивным языком:

код выполняется построчно, последовательно

Какова связь между строками объектного кода и строками кода языка 2-го поколения

одна строка 2-го поколения = одна строка объектного кода

Какова связь между строками объектного кода и строками кода языка 3-го поколения:

одна строка 3-го поколения = много строк объектного кода

Укажите два преимущества использования 3-го поколения по сравнению с использованием сборки. Назовите один недостаток

  • быстрее и проще писать и поддерживать
  • аппаратно-независимый, написанный один раз, можно использовать много раз
  • может отсутствовать низкоуровневая функциональность, зависящая от процессора, что означает более медленный код

Дайте определение декларативного языка

описывает, какие вычисления следует выполнять, а не как их выполнять. Необязательно!

Для языков 2-го и 3-го поколения укажите программу-переводчик, необходимую для преобразования языкового поколения в объектный код:

Читайте также: