Добавлен: 18.06.2023
Просмотров: 28
Скачиваний: 2
ВВЕДЕНИЕ
В любой из сфер жизнедеятельности человека: медицина, образование, наука, проектирование зданий, пищевая промышленность, торговля – используются компьютерные технологии. В любой из сфер, если есть знание хоть одного языка программирования, это значительно упростит вашу работу, развитие и рост результата. Программное обеспечение различного предназначения написано на языках программирования.
Все языки программирования можно разделить на языки низкого уровня и языки высокого уровня. К языкам низкого уровня относят например Assembler, а к языкам высокого уровня например С++, С#, Java и т.д.
Большинство программистов используют языки высокого уровня. С помощью их написанное программное обеспечение будет являтся хорошо организованным, функциональным, динамическим и т.д. Язык высокого уровня является посредником между компьютером и разработчиком или любым другим человеком. Он позволяет людям общаться с компьютером на более доступном и схожем до человеческого языке.
Также очень важно отметить, что на сегодняшний день программное обеспечение является сложным продуктом и реализуется на нескольких языках программирования одновременно.
Изучение программирования в свою очередь влечет необходимость изучения или ознакомления со смежными дисциплинами и науками:
- теория алгоритмов;
- компьютерная графика;
- системный анализ
Но несмотря на это, например в западных странах последние годы увеличивается осознание, что наличие навыков программирования является необходимым качеством каждому пользователю компьютера, будь то даже дизайнер или гуманитарий.
Основным инструментом при работе с языками программирования является система программирования, в своем роде комплекс инструментальных программных средств для разработки своего ПО.
Целью данной работы есть изучение существующих систем программирования и в результате изучения и понимание процесса их использования.
Основными задачами данной работы является:
- Анализ литературы по избранной теме
- Анализ существующих языков программирования
- Описание основных существующих систем программирования
- Пример реализации проекта с помощью любой из систем программирования
ОБЩИЕ ПОНЯТИЯ СИСТЕМ ПРОГРАММИРОВАНИЯ
-
- Определение системы программирования
Система программирования – это базовый комплекс программного обеспечения, поддерживающий процесс программирования. Системы программирования представляют собой единство инструментальных и исполнительных средств.
На сегодняшний день есть представление о следующем традиционном составе системы программирования(рис. 1):
- язык программирования;
- отладчик;
- средства редактирования программ;
- сопровождающая документация;
- библиотеки подпрограмм;
- трансляторы.
Рисунок 1 – Состав системы программирования
Это минимум, который позволяет достаточно эффективно вести процесс создания программ.
При изучении систем программирования следует также различать следующие понятия:
- Программный инструмент – программа, которая используется для поддержки разработки программных продуктов. Например, отладчик, который позволяет программисту проводить тестирование и исправление ошибок.
- Утилита – программа, которая предоставляет общие функции(копирование файлов, подготовка текстов, организацию ссылок и т.д.).
- Библиотеки процедур – набор процедур различного назначения, которые существенно упрощают разработку приложений. Например, библиотека функций ввода-вывода или математических функций.
- Классификация систем программирования
Классификацию систем программирования можно провести по ориентации на поддержку процессов, по функциональной ориентации, по категориям и по предоставляемому интерфейсу.
Классификация по ориентации на поддержку процессов:
1. Инструменты поддержки технологических процессов:
- инструменты, поддерживающие определенный технологический процесс;
- универсальные инструменты, которые можно использовать в нескольких технологических процессах;
2. Инструментальные системы разработки и сопровождения программных продуктов:
- инструментальные среды программирования;
- средства автоматизации разработки программ;
- интегрированные среды и репозитории проекта;
3. Инструменты поддержки коллективной разработки.
Еще одну классификацию можно провести с помощью функциональной ориентации систем программирования.
Функциональная классификация:
- Редакторы, что поддерживают формирование программных документов
- Анализаторы, которые производят:
- обработку документов, осуществляют различные виды контроля, выявляют определенные свойства;
- динамический анализ программ;
3. Преобразователи, что позволяют:
- автоматически приводить документы к другой форме представления;
- синтезировать какой-либо документ из отдельных частей;
4. Инструменты поддержки процесса выполнения программы, которые позволяют исполнять:
- описания процессов или отдельных частей, в виде отличном от машинного кода;
- машинный код с дополнительными методами его интерпретации;
Классификация систем по категориям определяет их уровень интегрированности и включает следующие:
- Вспомогательные программы – пакеты, решающие небольшую автономную задачу, принадлежащую проблеме более широкого масштаба.
- Пакеты разработчика – совокупность интегрированных программных средств, обеспечивающих доступ и помощь для одного из классов программных задач.
- Инструментальные средства – интеграция программных средств, которые поддерживают системный анализ, проектирование и разработку программного обеспечения.
Системы программирования поддерживают или делятся на такие, что имеют следующие интерфейсы:
- Интерфейс командной строки
- Графический пользовательский интерфейс
Рассмотрев основы и принципы функционирования, состав и классификацию систем программирования, очень важно также для дальнейшей работы провести ознакомления с самой важной частью, любой из систем. А именно с языками программирования.
-
- Существующие языки программирования
В данном параграфе будет рассмотрено некоторые из языков программирования, для возможности дальнейшего понимания и рассмотрения существующих систем программирования.
Существуют такие языки программирования:
- Pascal/Delphi;
- Basic;
- C/C++;
- C#;
- Java;
- Swift;
- Go;
- PHP;
- Python;
- JavaScript;
- Kotlin;
- Ruby;
- Rust;
- и другие.
Можно детальнее рассмотреть некоторые из них.
C++. Был создан, как альтернатива С, и сразу же стал популярным. Одним из известных проектов, созданным на С++, можно назвать Google Chrome. Также такими являются проекты Adobe и Amazon. Данный язык программирования остается востребованным до сегодняшнего дня. Он имеет достаточно мощные инструменты разработки и может быть использован, с некоторой адаптацией, в различных сферах: игры, банки, связь, платежные система, микроконтроллерные системы и многое другое.
С#. Разработанный компанией Microsoft. Этот язык программирования используется для разработки приложений на платформе С#. Это объектно-ориентированный язык, на нем разрабатывают приложения, основанные на .NET Frameworks. И если данная область является вашей, то этот язык – лучший выбор в создании приложений для данной платформы. Также, этот язык – рекомендованный для использования при разработке игр на всем известном движке Unity. С использованием сторонних компонентов, например инструмента Xamarin, этот язык позволяет писать и под мобильный платформы Android и iOS.
Java. Один из практичных языков для изучения. Множество компаний использует этот язык для разработки бэкэнд-систем и десктопных приложений. В этом языке в некотором роде достигнута кроссплатформенность благодаря виртуальной машине Java. В этом язык, как и во многих других, используется принцип ООП. Данный язык является нативным решением для разработки под мобильную платформу Android.
Python. За этим языком будущее. Данный язык достаточно прост в понимании и использовании, его постепенно вводят в учебную программу. Очень весомой причиной для изучения Python есть – нейронные сети. Данный язык программирования имеет достаточное количество библиотек, ориентированных на нейронные сети. Также этот язык является достаточно компактным.
PHP. 80% сайтов с посещаемостью свыше 10 млн. используют этот язык. Этот язык – проверенный временем инструмент для использования в веб-разработке. Это довольно простой язык с открытым исходным кодом, хорошей поддержкой многих баз данных, а также многочисленными инструментами и различными направлениями для использования.
Go. Язык 2009 года, когда уже во всю использовались многоядерные процессоры. Поэтому он учитывает многозадачность и работает с ней. Быстрое время запуска, использование памяти, только если это необходимо, и другие достоинства делают Go очень эффективным в решении многопоточных задач.
Рисунок 2 – Процентное соотношение предложений по языкам на фриланс-бирже
Swift. Это нативный язык для разработки приложений под iOS и Mas OS. Большую роль в становлении данного языка оказало влияние на него таких языков, как Python и Ruby.
Kotlin. Он стремительно развивается и обладает рядом преимуществ: совместимость с Java, поддерживается Google, лаконичность языка программирование, с каждым днем растет общество разработчиков. Вполне возможно, что в ближайшем времени приложения для Android платформы будут писаться только на этом языке.
В итоге можно обобщить, что языки высокого уровня достаточно популярны и удобные в использовании. Они позволяют разрабатывать под все на сегодня существующие платформы. Например на рис.2 отображена популярность некоторых языков в виде их процентного соотношения по свободным проектам на фриланс бирже Upwork.
СОВРЕМЕННЫЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ
-
- Краткий обзор существующих систем программирования
В этом параграфе рассмотрим кратко некоторые из существующих систем программирования, а именно:
- Eclipse;
- Visual Studio;
- Dev-C++;
- NetBeans;
- Qt Creator;
- IntelliJ IDEA;
- Delphi;
- Lazarus;
Eclipse. Свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation. Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse диспетчерами для работы с базами данных, серверами приложений и др.
Visual Studio. Линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ,поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.
Dev-C++. Свободная интегрированная среда разработки приложений для языков программирования С/С++. В дистрибутив входит компилятор MiniGW.
NetBeans IDE. Свободная интегрированная среда разработки приложений на языках программирования Java, Python, PHP, JavaScript, C, C++ и многих других. Последние версии поддерживают рефакторинг, профилирование, выделение синтаксических конструкций цветом, поддержка множества предопределенных шаблонов кода.
Qt Creator. Кроссплатформенная свободная IDE для разработки на С и С++. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса.
IntelliJ IDEA. Интегрированная среда разработки программного обеспечения для многих языков программирования, в частности Java, JavaScript, Python, Ruby, Kotlin, PHP, C, C++ и других, разработанная компанией JetBrains. У данной компании существуют и отельные продукты для многих из этих языков, которые базируются на IntelliJ IDEA, например: RubyMine, PyCharm, PhpStorm, CLion.
Delphi. Интегрированная среда разработки ПО для Microsoft Windows, Mac OS, iOS и Android на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio и поставляется в пяти редакциях: Starter, Professional, Enterprise, Ultimate и Architect.