Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Информационные технологии).pdf
Добавлен: 31.03.2023
Просмотров: 218
Скачиваний: 2
СОДЕРЖАНИЕ
Языки программирования низкого уровня
Языки программирования высокого уровня
Объектно-ориентированные языки
Декларативные языки программирования
Функциональные языки программирования
Логические языки программирования
Языки, ориентированные на данные
Квантовые гипер-языки программирования
Критерии выбора среды и языка разработки программ
Самым известным языком логического программирования является Prolog.
Первым языком логического программирования был язык Planner, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью бэктрекинга — поиска с возвратом) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе поиска с возвратами, например, Ether.
https://ru.wikipedia.org/wiki/Логическое_программирование
Языки сценариев (скрипты)
Сценарный язык (язык сценариев, жарг. скриптовый язык; англ. scripting language) — высокоуровневый язык сценариев (англ. script) — кратких описаний действий, выполняемых системой. Разница между программами и сценариями довольно размыта. Сценарий — это программа, имеющая дело с готовыми программными компонентами.
Согласно Джону Устерхауту, автору языка Tcl, высокоуровневые языки можно разделить на языки системного программирования (англ. system programming languages) и сценарные языки (англ. scripting languages). Последние он также назвал склеивающими языками (англ. glue languages) или языками системной интеграции (англ. system integration languages). Сценарии обычно интерпретируются, а не компилируются, хотя сценарные языки программирования один за другим обзаводятся JIT-компиляторами.
В более узком смысле под скриптовым языком может пониматься специализированный язык для расширения возможностей командной оболочки или текстового редактора и средств администрирования операционных систем.
История развития скриптов
Рассмотрим для примера историю развития наиболее распространенного скриптового языка JavaScript. Именно с его помощью реализуются множество решений по взаимодействию пользователей с сайтами, программируются широкие возможности интерактивных страниц.
В 1995 году компания Netscape для своего популярного на тот момент браузера Netscape Navigator 2.0 предложила специальный язык под названием LiveScript. На то время возможности языка были очень скудными, и многие просто не понимали, что такое скрипт (script) в браузере. Тогда он мог проверять и обрабатывать те данные, которые пользователь оставлял на странице сайта через форму. Такая проверка давала возможность контролировать правильность введенных данных и избегать отправки формы без нужной информации. Вскоре название этого языка было изменено на JavaScript.
Через некоторое время известный конкурент Netscape – корпорация Microsoft – создал свою версию JavaScript. Несмотря на то что такой скриптовый язык программирования имел немного отличающиеся функции, он успешно прижился и получил собственное название JScript. Он начал использоваться в браузере Internet Explorer начиная с версии 3.0. Через некоторое время и другие браузеры стали поддерживать JavaScript.
Со временем язык развивался и совершенствовался, теперь с его помощью можно успешно решать гораздо более сложные задачи. Интерпретатор JavaScript является встроенным элементом всех современных браузеров.
Несмотря на жесткую конкуренцию, Microsoft и Netscape вместе с наиболее авторитетными разработчиками обеспечения для деятельности в Интернете трудились в организации W3C. В результате были подготовлены единые стандарты и рекомендации. Но все же языки JavaScript и JScript имеют определенные различия, что необходимо учитывать в работе.
Основные принципы скриптов
Интерпретатор языка JavaScript встроен во все популярные браузеры. Именно поэтому любой браузер понимает, что такое скрипт на этом языке. Эти коды успешно выполняются в тот момент, когда пользователь обращается к страницам сайта. Но такие же скрипты могут успешно работать и на сервере, если на нем установлен интерпретатор JavaScript. Сценарии могут выполняться как на стороне клиента, в браузере, так и непосредственно на сервере.
Скрипты имеют следующие цели:
- SEO-скрипты (шаблоны) для продвижения сайтов. Обычно под их управлением работают специализированные программы автоматизации этого процесса. Наиболее известные – ZennoPoster, Human Emulator;
- системы для сбора статистики посещений (счетчики посещаемости). Эти скрипты чаще всего создаются с применением JavaScript;
- сценарии для обращения к базам данных. Здесь лидирует язык PHP;
- скрипты для работы гостевых книг и создания комментариев к записям. Чаще всего применяется комбинация PHP и JavaScript;
- скрипты для динамического отображения сайтов. В этом случае скриптовый язык определяется языком написания CMS;
- скрипты для изменения части страницы сайта без ее перезагрузки. При реализации используются технологии Ajax. В этом случае на первый план выходят асинхронный JavaScript и XML. Веб-приложения производят обмен данных с сервером в «фоне», изменения на страницах сайта происходят без их полной перезагрузки. Пользователи обычно не замечают таких изменений, и им не нужно понимать, что такое скриптовый язык программирования, чтобы отлично взаимодействовать с сайтом.
Типы скриптов
По степени быстродействия они подразделяются на языки динамического разбора (sh, COMMAND.COM) и требующие предварительной компиляции, такие как Perl. Также скриптовые языки разбиваются на несколько больших групп по применению.
Выделяют:
- командно-сценарные (JCL, sh, bash, csh, ksh, AppleScript, COMMAND.COM и cmd.exe, VBScript);
- прикладные (AutoLISP, JScript, JavaScript, ActionScript, Game Maker Language, VBA и др.);
- универсальные сценарные (Tcl, Lua, Perl, PHP, Python, REBOL, Ruby).
Примеры скриптовых языков
Наиболее известные: PHP, Perl, Python, AngelScript, JavaScript, JScript и другие. Все они являются высокоуровневыми. По своему механизму действия скриптовые языки обычно интерпретируются, а не компилируются.
https://ru.wikipedia.org/wiki/Сценарный_язык
https://wiki-rookee-ru.turbopages.org/wiki.rookee.ru/s/script/
Языки, ориентированные на данные
Языки ориентированы на работу с одним определенным типом данных. Например, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами. Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro.
Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro.
На заре программирования было создано и реализовано несколько языков, сильно повлиявших на дальнейшие разработки. У них была общая черта: каждый язык имел предпочтительную структуру данных и обширный набор команд для нее. Данные языки позволяли создавать сложные программы, которые было трудно написать на языках типа Fortran .
LISP
Основная структура данных в языке Lisp -связанный список. Первоначально язык был разработан для исследований в теории вычислений, и многие работы по искусственному интеллекту были выполнены на языке Lisp . Язык был настолько важен, что компьютеры разрабатывались и создавались тка, чтобы оптимизировать выполнение Lisp - программ. В настоящее время популярен диалект языка Lisp - CLOS, поддерживающий объектно - ориентированное программирование.
APL
Язык является развитием математического формализма, который используется для описания вычислений. Основные структуры данных в нем - векторы и матрицы, и операции над такими структурами непосредственно, без циклов. Программы на языке очень короткие по сравнению с аналогичными программами на традиционных языках. Применение языка осложняло то, что в язык перешел большой набор математических символов и это затрудняло развитие APL, без дорогостоящих аппаратных средств.
Snobol , Icon
Первые языки имели дело практически только с числами. Для работы в таких областях, как обработка естественных языков, идеально подходит Snobol ( и его приемник Icon ), поскольку их базовой структурой является строка. Основная операция в языке Snobol сравнение образца со строкой, и побочным результатом совпадения может быть разложение строки на подстроки. В языке Icon основная операция - вычисление выражения, причем выражения включают сложные операции со строками. Данный язык удобен для программ, выполняющих сложную обработку строк.
SETL
Основная структура данных в SETL - множество. Так как множество - наиболее общая математическая структура, с помощью которой определяются другие структуры, то в SETL может использоваться для создания программ высокой степени общности и абстрактности и поэтому очень коротких? Такие программы имеют сходство с логическими программами, в которых математические описания могут быть непосредственно исполняемыми .
http://lib.kstu.kz:8300/tb/books/Informatika_%28IIT%29/lectures/lec-3.html
https://studopedia.net/13_40078_yaziki-orientirovannie-na-dannie.html
Квантовые гипер-языки программирования
Предназначены для упрощения процесса квантовой диверсификационной дизентеграции с последующей материализацией.
Первый специализированный язык программирования подобного типа ( Likiz ) разработан дочерней компанией REDFOX39 inc. - Liky corp. в 2040 году.
Confidentially.
Критерии выбора среды и языка разработки программ
Выбор языка программирования
Ни один язык программирования нельзя назвать объективно лучшим по сравнению с другими. Более того, хороший разработчик должен на отлично знать несколько языков и хотя бы поверхностно ориентироваться еще в парочке.
Понадобятся сотни часов практики, прежде чем удастся стать сколько-нибудь компетентным в своем первом языке программирования, так что бездумно учить что попало не стоит. Выбор языка программирования зависит от среды разработки, в которой хочется работать, личных предпочтений, перспектив и много другого.
Сперва нужно определиться с целями. Например, на какой платформе (в какой среде) хочется работать: веб, мобильные устройства, игры и 3Д-графика или крупные корпорации. В веб-разработке нужно выбирать из нескольких сфер ответственности: front-end, back-end, full-stack. Front-end разработчики отвечают за скорость загрузки сайта и правильную работу кода, back-end - написание серверного кода, а full-stack специалисты могут в одиночку выполнить все требования заказчика. Full-stack разработчики сегодня являются самыми востребованными на рынке труда.
Три кита Front-end разработчика – это JavaScript, HTML и CSS. Кроме того, нужно ориентироваться в последних интернет-тенденциях и уметь их применять в повседневной работе. РНР – это базовые знания для back-end специалистов. Это не единственный инструмент, но основа всей back-end разработки. В качестве второго языка нужно учить Ruby или Python. Еще пригодится опыт работы с базами данных, азы JavaScript и SQL.
Кроме самих языков программирования нужно изучить все прилагающиеся надстройки. Для разработки мобильных приложений используются JavaScript для Андроид и Objective-C для iOS. Полезно посетить официальные ресурсы для разработчиков, а в случае работы с iOS еще и познакомиться с интерфейсом и функционалом Xcode – бесплатной среды для создания приложений. Для игр и 3Д-анимации нужен С++.
Тем, кто в перспективе хочет устроиться в одну из высокотехнологичных корпораций и больше не беспокоиться о благополучии завтрашнего дня, хорошо выполняя свои обязанности, нужно исходить из выбора этой самой корпорации. Windows работают с C#, Google и Фейсбук – с Python, а Apple – это Objective-C.
Выбор языка программирования должен основываться на следующих факторах:
- Востребованность на рынке труда.
- Легкость изучения.
- Долгосрочные перспективы.
- Какие проекты можно разработать на этом языке (выбор языка и среды программирования).
Итак, на одно место разработчика Python, Java, Objective-C или РНР приходится 2,7 специалиста. Если взять данные по JavaScript, то видно, что это определенно рынок продавца – на одно место приходится всего 0,6 программиста. Кроме того, JavaScript развивается куда быстрее, чем любой другой язык, что открывает прекрасные долгосрочные перспективы. Обоснование выбора языка программирования C ++, С#, Objective-C, РНР или любого другого строится и на легкости изучения. Новичок, особенно тот, который учит язык по книгам или курсам, вряд ли справится со сложными С++ или Java. Сравнительно легко учатся Python, JavaScript или Ruby. Ruby и Python читабельны и отличаются одними из самых активных сообществ.
Для веб-дизайнеров и верстальщиков
Дизайнеры – творческие люди, которые могут считать себя далекими от точных наук. Но писать код – это как писать картину, так что сомнения, касательно того стоит ли вообще учить программирование, нужно отбросить сразу. Есть мнение, что лучше быть первоклассным дизайнером, чем второстепенным программистом, но дизайнеру стоит знать JavaScript хотя бы для воплощения своих идей. Еще подойдут относительно простые Python или Ruby.
Разработчикам веб-приложений