Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Классификация языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 342

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

SQL может выполнять интерактивные запросы данных (в режиме онлайн)[99] и получать быстро результат без написания сложного программного кода, так же имеет возможность программного доступа к базам данных. Благодаря возможности использования разных режимов доступа к базам данных, язык позволяет выполнить проверку с помощью интерактивного режима, не затрачивая много времени, при отсутствии ошибок уже перенести в программный код. Написание программного кода трудозатратнее и времязатратнее, чем код для интерактивного запроса, вывод, интерактивные возможности языка экономят время. SQL поддерживает клиент-серверную архитектуру и служит звеном между запросами клиентского пользователя и сервера.

Плюсы: - базу данных можно перенести в другую СУБД без дополнительных затрат; - облегченный поиск среди больших массивов данных; - подходит для написания программ под локальные базы данных и многопользовательские системы; -для проверки работоспособности кода можно использовать интерактивный режим; - может использован для программ/приложений, связывающих пользовательский запрос с сервером данных.

Минусы: - для работы с определенной СУБД придётся затратить дополнительное время для изучения созданного диалекта языка к данному СУБД; -язык не прост для читабельности в своих иерархичных структурах; - присутствует проблема, дублирующийся строки, колонки.

Ruby

Ruby- высокоуровневый, объектно-ориентированный, скриптовый язык разработанный в Японии в 1995 году для Lunix, взявший лучшее из таких языков как Perl, Smalltalk, Eiffel, Ada и Lisp. Как скриптязык, Ruby интегрировал в себя новейшие концепции, например, объектную модель Smalltallk[100] и сечение массивов Fortran[101].

Создатель Ruby, Мацумото, поставил первостепенной задачей удобство и облегчение работы разработчиков, а не скорость выполнения программы машиной. Мацумото использовал в основе создания языка объектно-ориентированное программирование.

Язык программирования Ruby удобный и гибкий в использовании. Язык снял ограничение на использование в тексте обозначения, обычно использующиеся в операциях и запретных для использования в тексте кода. Например, определить, что сложение чисел будет работать при вводе слова plus (1 plus 2), а не символа (1+2). Возможность переименования облегчает процесс написания кода многим разработчикам. В языке Ruby любые типы данных считаются объектами и для них можно задавать переменные и методы, это подчерпнуто из языка Smalltalk[102]. Ruby устранил неудобство от С++, где требуется прежде задать тип данных прежде чем их использовать.


Наследование в Ruby обозначается знаком < , в отличии от С++ где наследование использует символ двоеточие. Например, class child < parent[103].

Ruby позволяет в сжатые сроки создать мощный проект. Используется для разработки веб-приложений и программного обеспечения. Для баз данных современные разработчики используют интерфейс запросов Active Record, извлечения данных без SQL. В 2004 году вышел фреймворк (шаблон\конструктор) Ruby on Rails (RoR) для веб-приложений, который принес большую популярность Ruby.

На этом языке написаны такие системы, программы, приложения, сайты как: Diaspora, Кикстартер, Гитхаб, Твиттер. Используют крупные компании: Моторолла, НАСА[104].

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

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

Минусы: - за счет повышения удобства написания кода снижена производительность; - при росте нагрузки на сайт некоторые проекты переписываются на другие языки, например, Java; - востребованность языка останавливается на Ruby on Rails[105]; - мало литературы для изучения на русском языке; - плохая поддержка для Windows, не в Unix-подобной системе будет сложнее работать с IDE, устанавливать дополнительные библиотеки.

PHP

PHP (Hypertext Preprocessor) – широко распространенный объектно- ориентированный язык скриптовый язык программирования, применяемый для веб-программирования. Язык изначально был создан из набора скриптов написанных на Perl языке. Следующая версия, PHP/FI, была написана на С языке, что упростило синтаксис языка, с сохранением стиля обозначения переменных из Perl. В отличии от Perl, где все конструкции являются глобальными по умолчанию, в PHP все данные локальные, а глобальные данные должны быть импортированы[106]. В 2004 году представлена версия с улучшенной производительностью и измененными функциями объектно-ориентированного программирования, а модель позаимствовали у Java[107]. В последующих версиях присутствуют проблемы с Юникодом.

PHP код можно вставить в html-страницу или создать отдельной страницей, в этом схожесть с JavaScript. Отличие в том, что для PHP необходим веб сервер для выполнения, кода JavaScript можно запускать локально в браузере[108].


Доступность для большинства платформ - Windows, Linux, Unix, MacOS[109]. Также стоит отметить, что ядро языка автоматически управляет памятью, возвращая её системе после выполнения скрипта, поэтому программисту не нужно заботится об этом при написании кода.

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

-Вконтакте, Facebook (используют свои версии языка KPHP и HPHP);

-Движок Википедии (MediaWiki);

- Системы управления контентом и новостными сайтами (Bitrix, Prestashop, Joomla, WordPress и Drupal );

- редко, но используется и для создания графических GUI-приложений (библиотеки PHP-GTK и PHP-Qt,[110]).

Язык имеет простую и понятную структуру и считается одним из самых простых[111], позволяет работать с большими объемами данных, широко распространены фейворки, библиотеки, инструменты для PHP.

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

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

Perl

Perl- скриптовый язык программирования созданный 1987 году, предназначен для работы с текстами. До появления PHP веб программирование велось на данном языке. Данный ЯП называют «склеивающим», потому что создавался для склеивания существующих программ в интересах создания большой системы[112]. Для Perl была создана библиотека PCRE[113], которая сейчас применяется в PHP и большинстве современных языков.

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

Цель создания языка, получение лучшего из низкоуровневых и высокоуровневых языков программирования. Упростить процесс написания кода, как у высокоуровневых, но повысить производительность и расширить возможности за счет сочетания элементами низкоуровневых языков. Создатель, Ларри Уолл, снизил нагруженность кода, за счет возможности удаления из кода лишних символов кавычек, скобок, при этом программа понимала, что от нее требовалось[114]. Синтаксис языка сложнее чем у PHP. В версии 2000 года, код программы при компиляции преобразуется в байт код и запускается на виртуальной машине (как в Java). Очень большую программу можно вместить в несколько строк, но придётся потратить время для запоминания принятых сокращений и обозначений, в итоге, получился язык сложный для изучения, но простой для пользования.


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

Минусы: - мало литературы для изучения; - сложный для изучения; - не распространены библиотеки, фаерворды.

Pascal, Delphi

Pascal- высокоуровневый компилятивный язык программирования созданный в 60-е годы как учебный. Популярность получил благодаря Turbo Pascal (среда программирования)[115]. Для работы с данным языком требуется изучение не большого количества команд. Использовалось для написаний утилит (узкоспециализированных вспомогательная программа), в промышленном программировании, в 90-е годы Mac DOS[116] написана на Паскале и использовала Object Pascal в качестве основного системного языка.

Компилятор не различает строчных и прописных букв, пробелы игнорируют, что позволяет сделать код легко читаемым[117]. Например, для Pascal одинаковы – name, NAME, Name. А для ЯП Си, С++, Java три разных идентификатора.

В 80е и 90е года Паскаль и Си конкурировали. Основные ОС (Microsoft, Unix[118], Mac) использовали язык Си, итог, Си стал доминирующим языком. При помощи Object Pascal (высокоуровневый строго типизированный язык, который поддерживает структурное и объектно-ориентированное проектирование[119]) были созданы проигрыватель The KMPlayer, Skype, Total Commander, почтовый клиент The Bat! Как самостоятельный язык не востребован, но в совокупности со знаниями SQL, Python и другими языками программирования ситуация меняется.

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

Минусы: - громоздкие конструкции языка; -устаревший, малоиспользуемый.

Delphi - императивный, структурированный, объектно-ориентированный, высокоуровневый язык программирования со строгой статической типизацией переменных, приемник Pascal. Не самостоятельный язык, а лишь комплекс вспомогательных библиотек, программа и огромного объема надстройка над языком Object Pascal[120].

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


Плюсы: - быстрый к выполнению язык[121]; - удобные среды программирования. Минусы: - меньше библиотек, чем у семейства Си; - не гибкий язык; - ограничен по функциональности.

И Delphi , и Pascal относятся к объектно –ориентированным языкам в которых требуется, что бы каждый класс наследовал от существующего родительского класса. Преимущество том, что все классы наследуют от существующего класса, являющимся корневым предком всех подклассов. Каждый объект обладает общим минимальным уровнем функциональности, гарантированным корневым классом[122]. Что одновременно является и плюсом, и минусом из-за обреченной зависимости объектов. Так же оба языка обладают мощностью и гибкостью языков Си И С++, при этом интерфейс для разработки гораздо проще и удобнее[123].

В настоящий момент языки программирования можно разделить на универсальные и специализированные. Учитывая наличие разнообразных обширных современных фреймфорков, библиотек, сред, возможностей совместимости, ограничения между ЯП сглаживаются. Например, на C++ можно разрабатывать приложения не только под Windows. В Visual Studio можно также скомпилировать код C++ под Mac os, Linux, а также под мобильные платформы. Даже в Android Studio появилась возможность разрабатывать мобильные приложения Android на C++. Также на C++ можно разрабатывать серверную часть сайта. Например, серверная часть поискового движка google (Основное высоконагруженное ядро) написана на C++. Возможности C++ практически безграничны. Все будет зависеть от уровня владения языком.

2.2. Востребованность языков программирования

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

Проанализировав один из крупнейших интернет рынков с вакансиями трудоустройства hh.ru, количество вакансий требующих знания языков более 2000: SQL, HTML, CSS, JavaScript, Java, Python.

Присутствие такого количества ЯП SQL, HTML, CSS говорит о том, что требуется детальное понимание в веб разработке сайтов, хотя изначально цель развития современных ЯП была в сокращении и снижении детального вникания разработчика для экономии времени[124].

Количество вакансий со знанием языка от 1000 до 2000: Си, С++, С#, PHP. Python востребован как язык расширения, который позволяет пользователю настраивать или расширять функциональные возможности скриптовых утилит[125]. Одним из толчков популяризации ЯП C# инфраструктура Xamarin с ее возможностью межплатформенной разработки не только на Windows[126].