Green-sell.info

Новые технологии
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Пять поколений языков программирования

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

Первое поколение

Начало 1950-х годов — язык первых компьютеров. Первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».

Основная отличительная особенность: ориентирование на конкретный компьютер.

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

Конец 1950-х — начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык.

Основная отличительная особенность: ориентирование на абстрактный компьютер с такой же системой команд.

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

1960-е г.г. — Языки программирования высокого уровня. Их характеристики:

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

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

Основная отличительная особенность языка третьего поколения: ориентирование на алгоритм (алгоритмические языки).

Примеры: Си, Паскаль, Джава, Бейсик, и многие другие.

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

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

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

Часто относят: SQL, SGML ( HTML, XML ), Prolog, и многие другие узкоспециализированных декларативных языков. Правда ряд языков, которые относят к четвертому поколению, не являются языками программирования как таковыми. Например SQL является языком запросов к базам данных, HTML является языком разметки гипертекста, а не полноценными языками программирования, скорее они выступают своеобразными специализированными дополнениями к языкам программирования. Тоже самое касается XML.

Основная отличительная особенность языка четвертого поколения: приближение к человеческой речи (декларативные языки).

Некоторые языки имеют черты одновременно и третьего и четвертого поколений.

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

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

Производители пропроиетарних программных продуктов часто пытаются приписать своим продуктам какие маркетинговые особенности, и порой указывают что их продукт — это «язык пятого поколения». В действительности, все эти продукты — это просто среды для ускоренного создания продуктов (Rapid Application Development — RAD), и используют языки третьего и четвертого поколений.

Речь пятого поколения вытеснит ли существенно потеснит языка третьего (напр. Java) и четвертого поколения (например SQL) за счет значительно увеличенной производительности труда программиста — в 10-1000 раз. По прогнозам, 5GL будет оперировать мета-мета-данными.

Сейчас существует единственный язык, который работает с мета-мета-данными, — это язык команд менеджеров пакетов или менеджеров зависимостей, таких как apt, yum, smart, maven, cpan и другие. Они оперируют над метаданными о метаданных о данных в пакетах. Использование apt-get, yum и smart действительно чрезвычайно повысило производительность системных администраторов — примерно в 1000-и дело. Использование менеджеров зависимостей, таких как maven, cpan, rakudo, pim, easy_install, действительно значительно повысило производительность программистов, примерно в 10-ть раз. К сожалению, эти языки являются языками командной строки и не являются языками программирования.

Pascal, Fortran, 1C: почему умирают старые языки программирования

По разным оценкам, на сегодняшний день в мире существует от 2,5 до 10 тыс. языков программирования различного уровня и типа. На них только в России пишут около 500 тыс. человек, а точное количество программистов по всему миру до конца неизвестно — цифры расходятся от 18 до 25 млн разработчиков. Они работают в разных сферах — одни занимаются бэкенд-разработкой, другие — фронтенд, третьи пишут нейросети и работают с большими данными. «Хайтек» составил список языков программирования, на которых практически перестали работать уже сейчас либо которые забудутся уже в ближайшие годы.

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

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

Язык ассемблера

Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать только команды, которые состоят из единиц и нулей — последовательность перепада напряжения, машинный код.

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

Именно в качестве автоматизации машинного языка (на котором и сейчас периодически пишут код, но специалистов такого плана в мире осталось очень и очень немного) появился первый язык низкого уровня — ассемблер. С его помощью можно было представлять машинный код в более понятном для человека виде — именно тут появляются первые команды, которые отражают суть задачи. Например, команда сложения двух цифр на машинном коде выглядела как 000010, а на ассемблере — add.

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

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

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

Все языки программирования делятся на условные пять типов:

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

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

Читать еще:  Что такое системы программирования

Высокого уровня. К 1970-м годам сложность программ на языках ассемблера увеличилась настолько, что программисты перестали с ними справляться. В итоге появились языки программирования высокого уровня. Они намного легче переносятся с компьютера на другой и модифицируются, а программистам работать на них намного проще, чем раньше. В эту категорию входят практически все самые распространенные сейчас языки — C, C++, Python, Java, JavaScript, PHP.

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

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

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

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

Именно первый язык высокого уровня Fortran пришел на смену ассемблеру в 1957 году. Название Fortran является сокращением от FORmula TRANslator — «переводчик формул». Несмотря на критику, его быстро приняли в компьютерном обществе, особенно в научной среде.

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

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

1С — редкий язык программирования, использующий кириллицу

Язык программирования 1C практически не выбирают молодые программисты — средний возраст разработчиков на этом языке составляет более 35 лет. Средой исполнения языка 1С является платформа «1С:Предприятие», при этом все команды и вообще вся разработка ведутся на русском языке.

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

Даже несмотря на то, что платформы 1С являются практически монополистами бухгалтерского рынка стран СНГ, язык, на котором работают все внутренние платформы, не является универсальным. В связи с этим либо языку придется сильно измениться, либо компании 1С постепенно переходить на другие, более перспективные языки программирования.

Objective-C — фирменный язык Apple

Язык программирования Objective-C появился еще в 1980-х годах, однако широкую популярность приобрел только в 2009 году — после выхода культового смартфона iPhone 3G. Сам язык Objective-C совмещал в себе идеи C и Smalltalk — применения систем с оконным управлением.

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

Вместо Objective-C разработчики Apple представили язык программирования Swift, на котором теперь работают все приложения, написанные под iPhone. Сейчас компания Apple почти перестала поддерживать Objective-C.

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

J# от Microsoft

С постепенным распространением программной платформы .NET Framework компания Microsoft решила создать собственный скрипт программирования, который бы смог заменить популярнейший язык Java для разработчиков.

J# в итоге оказался недоделанным и с практически полностью скопированным синтаксисом у Java. Даже для поддержки .NET Framework языку J# пришлось использовать дополнительные библиотеки — это еще больше усложняло работу с ним.

Сейчас J# перестал поддерживаться Microsoft и исключен из пакета Visual Studio, поэтому его изучение для программистов стало абсолютно бессмысленным.

ActionScript и Flash Player

Достаточно популярный еще пять лет назад язык программирования ActionScript от компании Adobe. Он имеет достаточно узкую направленность — именно с его помощью работает веб-плеер Flash Player, а его скорость и эффективность оказались намного выше, чем у JavaScript.

Основным недостатком ActionScript оказалась именно работа Flash Player. Его чаще всего использовали хакеры для взлома компьютеров, он имел множество внутренних критических слабостей, которые невозможно заделать патчами.

Поэтому многие ИТ-компании постепенно отказались от поддержки Flash Player, оставив его альтернативой HTML 5. В итоге и Adobe решила отказаться от поддержки этого языка к 2020 году. До конца непонятно, собирается ли компания представить какой-то аналог этого языка или работа веб-плеера полностью перейдет на формат HTML 5.

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

Читать еще:  Программы для программирования приложений

Поколения языков программирования;

Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов. Это был первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».

Расцвет второго поколения языков программирования пришелся на конец 50-х — начало 60-х годов. Тогда был разработан символический ассемблер, в котором появи­лось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

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

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

Рождение языков пятого поколения произошло в середине 90-х годов. К ним отно­сятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, кото­рая закладывается в эти языки, — возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в макси­мально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.

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

Fortran (Фортран). Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях.

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

Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.

С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматри­вался как массовый. Он планировался для замены ассемблера, чтобы иметь возмож­ность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Благодаря наличию мно­жества Java-машин программы на Java можно переносить не только на уровне исход­ных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика. Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику, и созданию платформенно — независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различ­ными операционными системами (технология Java Beans). Пока основной недоста­ток этого языка — невысокое быстродействие, так как язык Ява интерпретируемый.

Языки 5го поколения. Разве они существуют?

Java, как и C#, по-прежнему занимают львиную долю рынка корпоративных приложений, сделанных на заказ. Java на этом рынке уже около 20 лет, C# около 10 лет, при этом они относится к языкам программирования 3го поколения. В то время, как языки 4го поколения предлагают более эффективный способ создания бизнес приложений, но всё равно Java и C# вне конкуренции. Что же говорить про языки программирования 5го поколения, если языки программирования 4го поколения, предлагая увеличение производительности программиста на порядок, не смогли потеснить лидеров из 3го поколения. Разве языки 5го поколения вообще существуют?

Поколения языков программирования

1е поколение

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

2е поколение

В отличие от языков программирования первого поколения, программы можно было задавать с помощью символов, используя мнемонические сокращения английских слов. Например, MOV — означал «move» — передвинуть. JMP — означал «jump» — перепрыгнуть. Такие программы впоследствии конвертировались в машинный код программой ассемблером. Ассемблерные языки были также специфическими для компьютера и процессора, но при этом были намного более понятны человеку, чем языки 1го поколения. Их также можно классифицировать, как языки уровня процессора, но с более дружелюбным синтаксисом.

3е поколение

Эта группа языков представляет собой значительные улучшения по сравнению со вторым поколением языков. Эти языки отличаются наличием составных типов данных, именованными переменными и возможностью определять участки кода, как подпрограммы. Первыми представителями этих языков были Fortran, ALGOL и COBOL. Языки программирования общего назначения такие, как C, С++, Pascal, Java, C# тоже являются языками 3го поколения.

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

4е поколение

Языки этого поколения создавались для решения задач в строго определённой предметной области, и их синтаксис наиболее приближен к языку понятному человеку. Примером этих языком могут послужить SQL, XUL, FoxPro, PowerBuilder и др. Языки четвёртого поколения часто сравнивают с предметно-ориентированными языками программирования (domain-specific language, DSL). Эти языки значительно упрощают разработку приложений в определённой предметной области, но по-прежнему программы выполняются в рамках определённой компьютерной системы. Поэтому их можно классифицировать, как языки уровня компьютерной системы, но с более дружелюбным синтаксисом.

5е поколение

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

Читать еще:  Типы систем программирования

Если проанализировать классификации поколений языков, приведённых выше, то можно заметить, что 1е и 2е поколения работали на уровне процессоров. 3е и 4е поколения — на уровне компьютерных систем, будь то просто компьютер или кластер компьютеров. А что же с 5м поколением?

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

Т.е. языки 5го поколения находятся между компьютерными системами и человеком. Они определяют алгоритм взаимодействия человека с программой и наоборот. Это очень похоже на use case сценарии, только на этапе выполнения программы, а не на этапе её проектирования.

Предвестниками языков 5го поколения можно считать веб фреймворки. Вернее, ту часть веб фреймворка, которая отвечает за соответствие запроса пользователя и выполняемой команды со стороны сервера. В одних фреймворках — это называется маппинг запросов на действия (actions), в других роутинг (routing) запросов.

Пример маппинга в Spring MVC:

Фреймворк, обрабатывая URL запрос «/helloWorld», вызывает соответствующий метод helloWorld(…). Метод возвращает строчку «helloWorld», что указывает фреймворку передать управление соответствующему представлению, например «hellowWorld.jsp».

Так как возможности маппинга и роутинга запросов достаточно ограничены, в большинстве случаев их соответствие прописывается один к одному. Запрограммировать какие-либо условия, ветвления маппингов достаточно сложно, поэтому их можно считать только предвестниками языков 5го поколения.

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

В Apache Struts 1, маппинг выглядит примерно так:

По событию со страницы CustomerDetailForm.jsp форма отправляется на action — «/submitDetailForm». Фреймворк вызывает соответствующий обработчик в классе «mybank.example.CustomerAction», который возвращает результат в виде строки «success» или «failure». По результату возвращает пользователю либо «ThankYou.jsp», либо «Failure.jsp».

В Spirng Web Flow маппинг будет выглядеть примерно так:

Фреймоворк, выполняя запрос пользователя переходит в «action-state» — edit. Где находит Person объект по Id, пришедшему из URL. Кладёт его во flowScope. Дальше переходит на «view-state» — personForm, где передаёт управление «/person/form.jsp» представлению. После того, как пользователь обновит форму, он может сохранить изменения или же отменить их. В этих случаях происходят соответствующие события «save» или «cancel», которые ведут на соответствующие end-states. При этом флоу заканчиват свою работу.

Также workflows могут задаваться не только на уровне приложения, но и на уровне интеграций приложений (business process management — BPM), обеспечивая взаимодействие между собой относительно независимых приложений. Достаточно известным примером из BPM может послужить Activiti. Пример его XML представления бизнес-процесса:

Write monthly financial report for publication to shareholders.

Что такое 4 & 5-го поколения языков программирования? Их больше? [закрыто]

Поскольку он часто классифицируется на уровне школы /колледжа, популярными языками программирования (C #, Java, C ++) являются все языки третьего поколения (с более высоким уровнем абстракции от физических частей машины). Кроме того, языки ассемблера классифицируются как 2-й и машинные языки в качестве языков 1-го поколения.

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

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

Кроме того, существуют ли языки 6-го или 7-го поколения?

2 ответа

Обзор простых поколений: язык является n-м поколением, когда это строительные блоки

  1. биты литий>
  2. инструкции
  3. Абстрактные операции
  4. Объекты домена
  5. Цели программы

Следовательно, даже новые языки, такие как Google Go или Apple Swift, по-прежнему прочно 3-го поколения. Regex — это текст, соответствующий языку, что делает его ранним языком 4-го поколения. По этому определению 4-е поколение тесно связано с DSL. Однако обратите внимание, что языки, такие как C ++, могут иметь типы реального мира, такие как Length и Weight в дополнение к float и double , что делает их гибридным 3-го /4-го поколения.

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

«язык n-го поколения» — это модное слово. Это маркетинговый термин. Нет общепринятого определения того, что именно определяет «n-е поколение» для n> 2. Некоторые люди классифицируют «скриптовые» языки, такие как Perl или Python, как 4GL, потому что они намного более высокоуровневые, чем C, в то время как другие считают, что определяющими характеристиками 4GL являются то, что они специфичны для домена. SQL. Некоторые nitwits даже считают, что Java (язык середины 90-х годов, полный объектной ориентации и сбора мусора и отражения) принадлежит к той же категории «3GL», что и Fortran (с 50-х) и C (с 70-х годов).

Классифицированная таким образом классификация, такая как «язык 4-го поколения», бесполезна. Вы можете увидеть это в старых учебниках или услышать это от людей, которые начали программировать в 80-х годах, но тег, такой как «4GL», бесполезен без сопроводительного объяснения того, что именно означает это автор.

Поскольку никто не сразу понимает, что вы подразумеваете под «4GL», вы не должны использовать такие классификации. Вместо этого используйте конкретные термины, чтобы точно сообщать, что вы имеете в виду. Например. все NASM, LLVM IR и Jasmin — это языки ассемблера, но последние две целевые виртуальные машины, а последний — также объектно-ориентированный язык программирования. Все эти 2GL? SQL является частично декларативным, специфичным для домена языком для запросов к базе данных с 80-х годов. И TeX — это язык, специфичный для домена для набора текста с 70-х годов. Являются ли они оба 4GL, так как они оба более или менее специфичны для домена?

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×