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

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

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

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

Добавлен: 14.05.2023

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

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

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

Краткое описание

Язык разрабатывающих в первую очередь, как средство создания динамических web-страниц, стал самым популярным языком программирования в мире за счет огромного роста интернета и потребности создания интерактивных страниц, что привело к монополии на этот сектор. Стоит также отметить, что джаваскрипт не имеет ничего общего с Java, а название этого языка было выбрано ради привлечения внимания за счёт имни. Также стоит отметить, что вкупе со стандартом html5 на данный момент почти полностью вытеснил технологию Flash

Web Страницы

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

Web Сервера

Появление платформы джиос позволило использовать Java Script на стороне сервера. Стоит отметить что на данный момент данный муж пытается заменить другими языками программирования, в частности Python либо Ruby. Это связано с тем что язык имеет крайний не читаемый синтаксис

Web Мультимедия

Современные веб-страницаы используют Javascrpip скрипт для создания Форума для проигрывания видео и аудио. А также игр. Для этого, для создания мультимедийных форумов использовалась технология Flash. Но из-за того что технология значительно нагружает процессор, из-за неэффективной виртуальной машины и неумение программистов оптимизировать свои приложения Flash проекты часто работали крайне медленно. Также большой проблемой стало огромное количество уязвимостей, что могло привести к заражению пользовательских компьютеров вирусами. Ещё одним из важных факторов влияющих на смерть технологии Flash является то, что для его запуска требуется плагин из-за чего категорирование Flash приложений в веб-страница является проблематичным, а также это усложняет использование поисковых систем. Из-за того что джаваскрипт поддерживает большинство браузеров, а также является стандартом созданный на нём веб-приложения запускаются в большинстве браузеров и не требует установки от пользователя плагинов и расширений

Разработка Игр

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


Недостатки языка

  1. Одна из проблем является доступ пользователя к к исходным кодом веб-страница что может привести понижение уровня безопасности и возможности использовать уязвимости
  2. Длинные названия встроенных методов напрем window['document'].getElementById('home').style.color = 'blue';
  3. Отсутствует стандартная библиотека. JavaScript не предоставляет никаких возможностей для работы с файлами, потоками ввода-вывода и прочими полезными вещами;
  4. Ключевая проблема языка является синтаксис который очень трудно разбирать и модифицировать, а также некоторые странных решения с объектами приводит к тому что большинство исходных текстов написанных на джаваскрипте очень трудно читаются

Все эти недостатки привели к тому что чистый джаваскрипт почти нигде не применяется, а применяют специальные фреймворки и другие библиотеки, цели которых упростить все возможные задачи. А также появлению языков которые пытаются заменить джаваскрипт за счёт конвертации в него либо выполнение за счет отдельных технологий, например язык программирования Dart или coffeescript,typescript. На данный момент этими знаками почти никто не пользуется из-за чего джаваскрипт остаётся на данный момент монополистом созданием динамических web-страниц

3. Выбор языка под свои нужды

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

Обучение программированию

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

  • C++ - для обучения не рекомендуется, так как для первого языка программирования имеет достаточно большое количество концепций, а сами возможности языка в руках новичка могут привести к большим проблемам. Для комфортного использования C++ требуется изучение стандартной библиотеки почти в полном объеме, и даже при этом стандартная библиотека не решает достаточно большого количества задач, например, работа с сетью, либо с графическим интерфейсом, а добавление новых библиотек, приложение может потребовать адаптации этих самых библиотек, либо вообще отсутствует в библиотеке для конкретной платформы.
  • Си - почти не пригоден для обучения из-за отсутствия ооп. Крайне мало подходит для новичка. В отличие от C++ требует гораздо более внимательной разработки, больших знаний и принципов работы ЭВМ. При всём при этом тебе также требует много знаний своей стандартной библиотеки. И хотя бы минимальные знания в asm
  • Pytho-идеально подходит для обучения за счет удобного синтаксиса огромного количества учебных материалов. Стандартная библиотека позволяет решать большинство задач, а установка новых библиотек производится достаточно просто также за счёт того что является интерпретируемым языком. Адаптация библиотеки в большинстве случаях не требуется. Также стоит отметить, что для новичка на достаточно легко найти работу на рынке работы
  • Java - неплохо подходит для обучения за счет огромного количества материалов, а также большого количества рабочих мест. Является одним из наилучших выборов для начинающих программистов. Стандартная библиотека языка решает большинство задач. А за счёт того, что контролируется добавление новых библиотек, производится достаточно просто адаптация их почти никогда не требуется
  • JavaScript - Джаваскрипт пригоден для обучения. Если вы собираетесь посвятить свою работу созданию веб-сайтов. В других же случаях рассматривать его не обязательно. У языка имеется достаточно большое количество проблем в синтаксисе,что приводит к усложнению анализа уже готовых решений, но при этом стоит отметить, что по Java скрипту написано огромное количество материала, а базовые концепции языка изучаются очень быстро. Также стоит отметить, что добавление новых решений и библиотек производится достаточно быстро и без каких-либо проблем, но также при этом стоит отметить, что сам по себе джаваскрипт бесполезен и большинство современных веб-сайтов используют достаточно большое количество библиотек, для решения стандартных задач

Трудоустройство

  • Си - крайне сложно найти работу, а также сами требования достаточно высоки. А самих таких мест достаточно мало. Как правило для таких мест требуется огромный опыт работы и знания низкоуровневых языков программирования таких как asmr
  • С++ - Также сложно найти работу, хотя количество вакансий больше, чем у си, но при этом в большинстве случаев требования такие же высокие. Стоит отметить то, что как правило, требуется также знать в идеале стандартную библиотеку алгоритма, а также иметь высшее образование и огромный опыт, поэтому новичкам очень сложно пробиться на высокооплачиваемую работу в этой области.
  • Java - Работу Java-программисту найти достаточно просто за счет обилия вакансии и не очень высоких требований
  • JavaScript - Найти работу достаточно просто из-за этих языков, которые позволяют работать на дому Без особых вложений создание бизнеса
  • Pyonton - Работу найти достатчно просто, но в большинстве случаев требуется изучение огромного количества дополнительных технологий, также стоит отметить, что в небольших городах найти работу крайне сложно.

Нолходимый знания

  • Си - Тебует почти полного понимания работы операционной системы и процессоров. Отсутствие знания по этим областям приводят к тому что программа на си теряет производительность, а также происходит появление критических ошибок связанных с памятью. Также для изучения си требуется изучении других технологий это система сборок инструментов отладчиков .Также требуются знания по работе алгоритмов и математических моделей для произведения оптимизации
  • C++ - По сравнению с C, куда менее требовательна к знаниям работы операционных систем и по работе процессора, за счёт модификации языка. С позволяет автоматизировать тестирование А за счёт своей богатой стандартной библиотеки. Но при этом также стоит изучать и программную платформу и огромное количество сопутствующих утилит для оптимизации создания приложений
  • Java - Большие требования к знаниям стандартной библиотеки, а также технологий вроде SQL и фреймворка. Но стоит отметить, что в учебных материалов уже включены самые популярные фреймворки. Интерпретируемость языка позволяет эд-э снизить количество информации о работе в ЭВМ. Но при этом требует хорошего знания в экосистеме Java.
  • Pyon - Почти не требует никаких знаний по работе операционной системы и других технологий. Но для профессионального использования требует наличие знаний в области машинного обучения и статистики. При этом как правильно он не является основным языком программирования в проектах.
  • JavaScript - Требования к хорошим знанием HTML CSS а также ряда других технологий делают количество знаний по Java скрипту достаточно большим. Стоит также отметить огромное количество фреймворков. Всё это приводит к огромным знаниям, необходимым даже для базовой разработки современных веб-сайтов

Место применения

  • Си - По большей части применяется для создания прошивок для микроконтроллеры либо небольшие программы. В других областях не годится причина кроется в устаревшем дизайне. Закон и отсутствие многих концепции приводит к тому что даже банальная программа вроде чтения файла требует огромного количества кода, большая часть которых связана с обработкой ошибок, поэтому на данный момент с ним можно использовать только для написания прошивок для микроконтроллеров, либо приложение —которым требуется, как можно низкоуровневое взаимодействие
  • Си++ - За счёт модификация по сравнению С, позволяет писать приложение достаточно высокого уровня. Является лидером на данный момент при написании графических утилит за счет обилия библиотек учебного материала и вспомогательных инструментов также неплохо подходит для написания графических приложений либо видеоигр, но при этом совершенно не подходит для создания корпоративных приложений, либо создания веб-приложений Стоит также отметить, что разработка небольших Program, либо программа для автоматизации задач, также малоэффективны так как написание базовых вещей требует достаточно большое количество кода
  • Java - Основным местом применения является корпоративное приложение, либо веб-приложения для этих целей она отлично подходит и за счет имеющихся количество инструментов и обучающих материалов, Но за счёт того что исполняется в реальном времени полностью не подходят для написания приложение требующих максимального быстродействия а также приложения которые должны быть интегрированные в операционной системы для разработки игр он также не подходит, так как дает куда меньшую производительность
  • Pyton - Подходят для создания небольших программ, либо программ для автоматизации рутинных задач, а также для статистического анализа и машинного зрения и машинного обучения, не подходит для написания приложений, требующих высокую производительность, либо интеграцию в операционную систему. Также с недавних пор стал использоваться в в приложениях
  • JavaScript - Основным местом работы является веб браузеры и создание интерактивных страниц, также подходит для создания веб приложений и небольших игр.

Перспективы

  • С - На данный момент почти без перспективный язык программирования большинство задач которую решают можно решить другими способами гораздо быстрее получить более безопасную программу
  • С++ - На данный момент язык по-прежнему используется в огромном количестве приложение. А за счёт развития стандарта может остаться лидером в области создания приложений ещё на долгие годы так как по большей части альтернатив нет
  • Java -На данный момент уже есть один серьезный конкурент - это платформы от Microsoft. Хотя всё больше проектов использует её. Но по сравнению с проектами на Java их крайне мало, поэтому можно на данный момент говорить, что Java является монополистом в рынке корпоративных решений
  • Pyton - На данный момент альтернатив эту языку почти нет, а те что имеются не имеют такое мощное сообщество и набор библиотек- инструментов для разработки. А также за счёт того
  • JavaScript - На данный момент наличествует несколько конкурентов такие как dart но Данный проект развивается Крайне медленно Что приводит по сути к монополии в этой области