Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Основы программирования).pdf
Добавлен: 25.04.2023
Просмотров: 130
Скачиваний: 1
Серверные языки делятся на группы, исходя из критерия их работы на той или иной операционной системе. Это разделение является условным, так как популярные серверные языки подходят для всех операционных систем, но редко используются на неродных платформах.
Что касается платформы Windows, то здесь властвует технология ASP.NET, разработанная Microsoft. Плюсом этой технологии является возможность создавать сайты любой сложности и проходимости, начиная от самых простых, заканчивая ресурсами, которые могут обрабатывать несколько миллионов запросов в день. Все сайты компании Microsoft созданы по технологии ASP.NET. Сегодня ASP.NET пользуется небывалой популярностью, но особо революционной технологией уже больше не является. И хотя базовые функциональные возможности, лежащие в основе ASP.NET, на удивление, выглядят точно так же, как и десять лет назад, разработчики из Microsoft добавили к ним еще кое-какие дополнительные средства и абстракции кодирования более высокого уровня. Также появилось и еще как минимум одно новое направление, составляющее конкуренцию традиционному программированию с использованием ASP.NET, которое получило название ASP.NET MVC. [37]
Когда платформа ASP.NET была выпущена впервые, от предыдущих продуктов Microsoft и конкурирующих платформ ее отличали семь ключевых фактов. Тем, кто перешел на ASP.NET с какой-то другой платформы для разработки веб-приложений, или еще никогда не программировал в .NET приложений для веб-сети, материал следующих разделов позволит быстро получить общее представление об ASP.NET. ASP.NET интегрируется с .NET Framework.
Платформа .NET Framework делится на практически неповторимый ряд функциональных частей с десятками тысяч типов (в .NET так называются классы, структуры, интерфейсы и другие ключевые элементы программирования). Прежде чем пытаться программировать любое приложение .NET, необходимо сначала получить хотя бы общее представление об этих частях и о том, почему они организованы именно таким, а не каким-то другим образом.
То, как организована предлагаемая в .NET Framework обширная коллекция функциональности, программистам традиционных Windows-приложений, несомненно, покажется замечательным улучшением. Каждый из тысяч доступных в .NET Framework классов размещен в логическом иерархическом контейнере, который называется пространством имен (namespace).
Хотя в .NET предлагаются ориентированные специально на Windows- и на веб-приложения классы для построения пользовательских интерфейсов, большинство возможностей .NET Framework (начиная с получения доступа к базам данных и закачивания поддержкой многопоточной обработки) допускается использовать в приложениях любого типа. Другими словами, в .NET разработчикам веб-приложений предлагаются те же самые инструменты, что и разработчикам многофункциональных клиентских приложений.[38]
Другими словами, PHP – это препроцессор гипертекста, что и отражено в его названии. Препроцессор потому что окончательной обработке гипертекст подвергается уже на стороне клиента, результат которой мы видим в окне браузера (процессором гипертекста является уже сам браузер).
PHP – это язык программирования, который поддерживает практически все основные конструкции процедурного программирования: переменные, условные операторы, циклы, функции и т.д. PHP – это объектно-ориентированный язык программирования – он поддерживает классы и объекты, а также привычное наследование на уровне классов. PHP – это язык веб-программирования, поскольку он в первую очередь создан для разработки динамических интернет сайтов и поэтому содержит большое количество готовых решений, применяемых в этой сфере, таких как:
- обработка и извлечение параметров http запросов GET и POST;
- формирование и отправка http заголовков;
- инфраструктура для хранения данных сеанса;
- программные сервисы для работы с cookies.
- работа с файлами по FTP протоколу;
- работа с базами данных посредствам SQL запросов;
- поддержка регулярных выражений;
- поддержка HTTP авторизации;
- обмен сообщениями по электронной почте и многое другое.
Высокую популярность среди веб-разработчиков приобретает язык Ruby и его фрейворк Ruby on Rails. благодаря тому, что с его помощью можно быстро создать адекватно функционирующий сайт.
Из важнейших особенностей описываемого языка программирования, как правило, выделяют следующие:
Все является объектом. Любые данные в Ruby могут иметь собственные properties и actions. То есть таким образом мы можем присвоить какие-то методы даже обычному числу или любому другому примитиву.
Расширяемость базовых возможностей. Ruby изо всех сил старается не ограничивать разработчика вообще ни в чем. К примеру, базовый класс Numeric имеет оператор + для сложения, но мы можем добавить свой собственный, к примеру plus. Exception handling. Наравне с другими популярными языками вроде JavaScript или Python, Ruby также имеет встроенную поддержку exception handling для удобства работы с ошибками.
Независимость от платформы. Ruby не только запускается на любой системе, включая древний MS-DOS, но и дает возможность использовать multithreading вне зависимости от того, поддерживает система эту опцию или нет. Как видно, Ruby – очень амбициозный и достаточно мощный инструмент, который, к слову, применяется очень многими разработчиками, причем и desktop-приложений тоже. К примеру, его частенько используют в качестве внутреннего скриптового языка для комплексных приложений.
3.3 Интегрированные среды разработки
Среды разработки ПО (Программного обеспечения) являются объединением программных средств, которые предназначены для написания (создания) программных продуктов. Среда разработки включает в свое содержание: компилятор, интерпретатор, отладчик, средства автоматизации сборки, а также редактор текста.
Компилятор – это такая программа, которая считывает исходные коды, написанные программистом и преобразует эти коды в программу.
Интерпретатор – это программа которая считывает команды, находящиеся в исходных кодах, сразу выполняя их.
Обычно среда разработки ПО предназначена для разработки только на одном языке программирования. А такая среда разработки как интегрированная, предоставляет право выбрать создателю программы язык программирования для разработки, удобный разработчику (из языков поддерживаемых данной средой). Примером тому служат: Visual Studio, Komodo, Geany, Kylix, NetBeans, Eclipse.
Рассмотрим каждую среду разработки по отдельности
Microsoft Visual Studio – одна из интегрированных сред разработки, разработана на С++ и С#, поддерживается Windows OS. Данная среда разработки переведена на десять языков (также и на русский язык). В Visual Studio создатель может вести разработку вебсайтов, веб-служб, писать консольные приложения, а также приложения с графическим интерфейсом. Также VS поддерживает разного рода дополнений.[40] Самые знаменитые дополнения – это Re Sharper (выполняет поиск ошибок в коде во время написания кода программы разработчиком, до компиляции); Visual Assist (в отличии от Re Sharper поддерживает также и С++); AnkhSVN (использует в Visual Studio систему контроля версий, которая носит название Subversion).
Интерфейс VS представлен на рисунке 2
Рисунок 2 – Интерфейс среды разработки Visual Studio
Достоинства: [41]
- Быстрая интерпретация кода Новый редактор кода позволяет изменять размер шрифта кода, выделять места использования методов и добавлять собственные мощные элементы визуализации.
- Создание насыщенного пользовательского интерфейса Предлагаются новые визуальные дизайнеры Windows Presentation Foundation и Silverlight для разработки приложений для Windows 7 и Веб.
- Масштабируемость с Windows Azure Интегрированные шаблоны проектов, отладка и публикация упрощают развертывание приложений в Windows Azure.
- Новые возможности Используя интегрированную поддержку разработки многопоточных приложений, добавляйте новые возможности в свое приложение, если оно выполняется на компьютере с многоядерным процессором.
- Настройка Visual Studio соответственно собственному стилю Основное улучшение IDE - включение поддержки для множества мониторов и повышение четкости текста делает привычную среду еще более продуктивной.
- Применение разработки через тестирование Visual Studio формирует весь код заглушек, необходимый для выполнения модульного тестирования, позволяя разработчикам сосредоточиться на логике приложения.
- Применение имеющихся навыков Используйте Visual Studio 2010 Professional для разработки SharePoint решений - включая инструментарий для Веб-частей, списков, рабочих процессов, событий и многого другого - и создавайте замечательные новые инструменты координации совместной деятельности для своей компании.
- Меньше времени на отладку Встроенная иерархия вызовов позволяет быстро прослеживать поток выполнения программы без вызова отладчика. Также для упрощения отладки можно использовать метки для точек останова.
- Интегрированная система контроля версий, отслеживание дефектов и автоматизация сборки Visual Studio 2010 Professional с MSDN включает Team Foundation Server 2010, который является идеальной системой контроля версий, отслеживания дефектов и автоматизации сборки для пользователей Visual Studio. Базовая установка Team Foundation Server превосходно подходит для использования на настольных компьютерах и для начинающих пользователей, до этого работавших с Microsoft Visual SourceSafe.[42]
- Включена подписка MSDN Подписки MSDN предоставляют простую модель лицензирования и обширный источник информации высокого качества, что обеспечивает максимальную экономическую эффективность разработки приложений на платформе Microsoft.
Недостатки: Сложно для начинающих программистов.
Среда особенно распространена в англоговорящих странах, России, Китае, Германии, Франции, Португалии, Италии, Японии, Испании и Корее.
Geany это также интегрированная среда разработки ПО. Поддерживается на ОС Linux, а также на Mac Os и на Windows. Работает с тридцатью двумя языками (также и с русским языком). В составе Geany отсутствует компилятор. Компилятор можно установить как дополнение. Поддерживает достаточно много языков программирования, среди которых присутствуют классический С. С++ и С#.
Интерфейс среды разработки Geany представлен на рисунке 3.
Рисунок 3 – Интерфейс среды разработки Geany
Достоинства:
- простота и удобность
- подсветка исходного кода
- возможность подключать дополнения.
Недостатки: Не включает в свой состав компилятор.
Среда распространена во многих странах (Более чем в тридцати).
Komodo или ActiveStateKomodo – была написана на JavaScript, XUL, Python. Интерфейс данной среды только на aнглийском языке. Рaботает нa теx жe опeрационных систeмах как Geany: на Os Linux, Windоws и Mac Os.
Поддерживает десять языков программирования, среди которые присутствуют: PHP, Ruby, HTML5.
Интерфейс среды разработки Komodo представлен на рисунке 4.
Рисунок 4 – Интерфейс среды разработки Komodo
Достоинства:
- дополнение Code Explorer позволяет просматривать объектное дерево скрипта или библиотеки;
- среда является кроссплатформенной;
- удобный отладчик с возможностью удаленной отладки;
- возможность настроить интерфейс среды «под себя».
Недостатки: Высокая стоимость, поддерживает мало языков программирования, сильно загружает компьютер (а именно оперативную память), является сложным для понимания.
Распространена в основном в англоговорящих странах.
Kylix – интегрированная среда. Функционирует на OS Linux. Работает с С, С++ и ObjectPascal.[43]
В данной среде есть возможность писать приложения веб-служб.
Kylix выпускался в трёх пакетах. Эти пакеты: Enterprise Edition – включал в себя сто девяносто компонентов (являлся самым большим и самим дорогим пакетом программы); Professional Edition (более дешевый вариант, который включал в себя около 165 компонентов); Open Edition – бесплатный пакет программы, содержащий в себе 75 компонентов, в нём отсутствует средства для работы с базами данных.
Обновленная версия Kylix 2, в отличии от Kylix работала гораздо быстрее. Например, Kylix 1 осуществлял сортировку пузырьком массива из 115 элементов полторы минуты, Kylix 2 – одну секунду.
В 2002 году данную среду разработки прекратил поддерживать разработчик.
Достоинства: Удобен в переносе написанного с одной операционной системы на другую.
Недостатки: Данная среда больше не поддерживается разработчиком.
Распространена в основном в Европейских странах и США, из-за того что разработчик (Borland) перестал поддерживать Kylix – становится всё менее популярной и не востребованной.
Netbeans – интегрированная среда разработки ПО. Была реализована на программном языке Java. Эта среда разработки высокого качества. Умеет работать на нескольких операционных системах, то есть является кроссплатформенной. Работает более чем с пятью программными языками.[44]
Интерфейс среды разработки NetBeans представлен на рисунке 5.
Рисунок 5 – Интерфейс среды разработки NetBeans
Достоинства: является бесплатной, присутствует система контроля версий, подсветка синтаксиса, возможно переименовывать переменную/класс одним кликом, в том случае если вручную переименовывать слишком долго (автоматизированное переименование), имеется возможность форматирования кода по CodeStyle, разработчиком среда постоянно совершенствуется, улучшается.[45]
Недостатки: Временами в среде разработки возникают проблемы с кодировкой, долгий запуск программы.
Распространена во многих странах, в силу того что является удобной и бесплатной.
Eclipse – ещё одна интегрированная среда разработки ПО. Написана на языке Java в две тысячи третьем году. Также является кроссплатформенной. За счёт присоединяемых к этой среде дополнений – имеется возможность создавать программные продукты более чем на пяти языках программного кода.
Интерфейс среды разработки Eclipse представлен на рисунке 6.
Рисунок 6 – Интерфейс среды разработки Eclipse
Достоинства: Постоянное обновление версий среды разработки, поддержка многих языков (в том числе и русского), является бесплатной, поддержка многих языков программирования, среда имеет промышленный уровень, является гибкой – то есть легко настраивается как под любую платформу, так и под любого пользователя.
Недостатки: Сильно загружает оперативную память компьютера, долго запускается, однако, если компьютер достаточно мощный – данная проблема легко решаема.
Сравнение характеристик описанных интегрированных сред разработки