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

Категория: Реферат

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

Добавлен: 29.11.2023

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

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

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

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

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

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

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

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

      1. Самые популярные языки программирования

На сегодняшний день существует большое количество различных языков программирования и у каждого из них своя сфера применения, но всё же для проведения анализа на выбор лучшего языка для написания чат-бота, необходимо выбрать несколько самых популярных языков, чтобы между ними
проводить анализ, итак в этой главе обратимся к статистике по популярности языков [15].

На рисунке 6 показан рейтинг языков 2020 в коммерческих рабочих проектах.

Рисунок 6 – Рейтинг языков программирования в коммерческих проектах, % [15]

По данным можно сделать вывод, что JavaScript значительно опережает Java и сейчас является самым популярным языком программирования. В пятерку лучших языков вошли также: C#, Python, PHP. На рисунке 7 можно посмотреть, как менялись данные с 2012-2020 годы.




Рисунок 7 График изменения популярности языков программирования, % [15]
По рисунку 7 можно сделать вывод, что популярность языка Java и C# сильно падает, а популярность таких языков как JavaScript, TypeScript и Python продолжает расти.

Далее рассмотрим рейтинг популярности по личным предпочтениям, но для коммерческих проектов, который представлен на рисунке 8.


Рисунок 8 – Рейтинг популярности языков по личным предпочтениям, % [15]
По рисунку 8 можно сделать вывод, что по личным предпочтениям люди выбирают Python, далее C#, а потом JavaScript.

Ещё в этой главе хотелось бы посмотреть статистику использования языков программирования в личных проектах, рисунок 9.



Рисунок 9 – Рейтинг языков программирования в личных проектах, % [15]
По рисунку 9 наглядно видно, что самым популярным языком является JavaScript, Python и

Java.

Вывод: итак, по данным, представленным выше самыми популярными языками на данный момент, являются JavaScript, Python и С#, поэтому для анализа и сравнения выберем именно эти языки.

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

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

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

Преимущества Python [17]:

  • открытая разработка;

  • довольно прост в изучении, особенно на начальном этапе;

  • особенности синтаксиса стимулируют программиста писать хорошо читаемый код;

  • предоставляет средства быстрого прототипирования и динамической семантики;

  • имеет большое сообщество, позитивно настроенное по отношению к новичкам;

  • множество полезных библиотек и расширений языка можно легко использовать в своих проектах благодаря предельно унифицированному механизму импорта и программным интерфейсам;

  • механизмы модульности хорошо продуманы и могут быть легко использованы;

  • абсолютно всё в Python является объектами в смысле ООП, но при этом объектный подход не навязывается программисту.

Недостатки Python:

  • не слишком удачная поддержка многопоточности;

  • на Python создано не так уж много качественных программных проектов по сравнению с другими универсальными языками программирования, например, с Java;

  • отсутствие коммерческой поддержки средств разработки (хотя эта ситуация со временем меняется);

  • изначальная ограниченность средств для работы с базами данных;

  • бенчмарки показывают меньшую производительность Python по сравнению с основными Java VM, что создаёт этому языку репутацию медленного.


JavaScript мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили [18].

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

  • Ни один современный браузер не обходится без поддержки JavaScript.

  • С использованием написанных на JavaScript плагинов и скриптов справится даже не специалист.

  • Полезные функциональные настройки.

  • Постоянно совершенствующийся язык сейчас разрабатывается бета-вариация проекта, JavaScript2.

  • Взаимодействие с приложением может осуществляется даже через текстовые редакторы – Microsoft Office и Open Office.

  • Перспектива использования языка в процессе обучения программированию и информатике.

Недостатки JavaScript:

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

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

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

C# язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции.

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

  • для малых предприятий и некоторых отдельных разработчиков бесплатные инструменты включают Visual Studio, Azure Cloud, Windows Server, Parallels Desktop для Mac Pro и многие другие;

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

  • очень прост в изучении;

  • после покупки Xamarin на C # вы можете писать программы и приложения для операционных систем, таких как iOS, Android, MacOS и Linux;

  • имеется целое сообщество из опытных программистов. Недостатки:

  • приоритетная ориентированность на Windows платформу;

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

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


Сейчас хотелось бы представить наглядно синтаксис языков по написанию равнозначного по результату кода на рисунке 10, рисунке 11 и рисунке 12.



Рисунок 10 Пример кода на семействе Java [19]




Рисунок 11 – Пример кода на семействе C [20]




Рисунок 12 Пример кода на Python [20]
По рисункам видно, что, когда семейство «Java» и «С» требуют 4-5 строчек кода, Python использует всего одну.

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

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

  • Ваши возможности практически безграничны.

  • Экономия денег.

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

  • Недостатки:

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

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