0

Выбор языка и среды разработки

Интегрированной средой разработки программного обеспечения

называют систему программных средств, используемую программистами для разработки программного обеспечения [1, 56].

Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, компоновщик, отладчик и справочную систему. Иногда также содержит систему управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают инспектор объектов, браузер классов и диаграмму иерархии классов, которые используются для объектно-ориентированной разработки ПО. Обычно среда разработки предназначается для одного определенного языка программирования, как, например, Visual Basic или Deiphi, но существуют среды разработки, предназначенные для нескольких языков, такие как Eclipse или Microsoft Visual Studio.

Примеры сред разработки — Turbo Pascal, Borland C++, GNU toolchain, DrPython.

В последнее время, с развитием объектно-ориентированного программирования, широкое распространение получили упоминавшиеся ранее среды визуального программирования, в которых наиболее распространенные блоки программного кода представлены в виде графических объектов.

Наиболее часто используемыми являются визуальные среды Delphi, C++ Builder фирмы Borland (Inprise Corporation), Visual C++, Visual Basic фирмы Microsoft, Visual Ada фирмы IBM и др.

Большую популярность в наши дни получила технология .NET Framework, предложенная фирмой Microsoft в качестве платформы для создания как обычных программ, так и веб-при-ложений. Основным преимуществом .NET является совместимость различных служб, написанных на разных языках. Например, служба, написанная на C++ для .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследующий от класса, написанного на Visual Basic .NET, а исключение, выброшенное методом, написанным на С#, может быть поймано и обработано в Delphi.

Так же как и в случае с выбором языка программирования, выбор среды программирования определяется характером проекта, привычками и навыками разработчика, веяниями времени, требованиями заказчика и просто общественным мнением: «Все подобные разработки должны выполняться в среде. »

Содержание

1 Выбор технологии, языка и среды программирования. 5

2 Анализ и уточнение требований к программному продукту. 10

2.1 Анализ процесса обработки информации и описание структур

данных для ее хранения. 10

2.1.1 Диаграмма вариантов использования. 10

2.1.2 Даталогическая модель БД. 11

2.2 Выбор методов и разработка основных алгоритмов решения задачи 12

3 Разработка функциональной схемы программного продукта. 14

4 Проектирование классов предметной области. 17

4.1 Построение диаграммы классов. 17

5 Выбор стратегии тестирования и разработка тестов. 18

5.1 Макеты экранных форм для ввода и вывода информации. 20

Список используемых источников. 23

Приложение А. 24

Введение

На сегодняшний день достаточно широко применяются разнообразные программные средства при работе с компьютером. В их числе находятся и автоматизированные информационные системы. Информационная система (далее ИС) – это система обработки, хранения и передачи какой-либо информации, которая представлена в определенной форме.

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

Исходя из вышесказанного, использование современных информационных систем позволяет нам:

– работать с огромными объемами данных;

– хранить какие-либо данные в течение довольно длительного временного периода;

– связать несколько компонентов, которые имеют свои определенные локальные цели, задачи и разнообразные приемы функционирования, в одну систему для работы с информацией;

– существенно снизить затраты на доступ и хранение к любым необходимым нам данным;

– довольно-таки быстро найти всю необходимую нам информацию и т. д.

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

Автоматизированная информационная система (далее АИС) – это ИС, которая использует ЭВМ на этапах ввода информации, ее подготовки и выдачи, то есть является неким развитием ИС, которые занимаются поиском, используя прикладные программные средства. АИС можно смело отнести к классу очень сложных систем и, как правило, не столько с большой физической размерностью, а в связи с многозначностью различных структурных отношений между компонентами системы.

АИС может быть легко определена как целый комплекс современных автоматизированных информационных технологий, которые предназначены для какого-либо информационного обслуживания. Без внедрения самых современных методов управления, которые базируются на АИС, невозможно и повышение эффективности функционирования предприятий.

Современные АИС позволяют:

– повысить производительность работы всего персонала;

– улучшить качество обслуживания клиентской базы;

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

Таким образом, создание АИС «Метрология» является необходимым для нормального функционирования предприятия, на котором необходимо вести контроль и обработку средств измерения (далее СИ), и является актуальной работой.

Целью данной работы является проектирование и разработка приложения для автоматизированной информационной системы «Метрология». Данная АИС должна обеспечивать ведение справочных данных обо всех средствах измерения (далее СИ) используемых на предприятии с возможностью оперативного и полного получения сведений о СИ с автоматическим сведением во всевозможные отчеты.

Разработанное программное средство предназначено для ведения метрологом контроля за СИ предприятия. При внесении СИ в БД автоматически составляется паспорт на СИ. Имеется возможность подачи централизованных ежегодных заявок подразделений на СИ по цехам.

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

– анализ предметной области;

– анализ аналогов задачи автоматизации информационных процессов ПО;

– выбор математического аппарата приложения;

– разработка архитектуры ПС;

– выбор средств программирования для построения архитектуры;

– разработка модели данных;

– разработка алгоритмов приложения;

– тестирование программного средства.

Для решения поставленных задач был проведён анализ языков программирования, средств разработки и тестирования программного обеспечения, сред проектирования на базе CASE технологии, выбора СУБД. В выборе средств проектирования на базе CASE технологии предпочтение отдано IBM Rational Rose 2006. Результатом анализа характеристик и функциональных возможностей различных СУБД стал выбор СУБД Microsoft Access, которая обладает всей необходимой функциональностью, не требовательна к ресурсам и достаточно проста в установке и использовании. В выборе средств разработки приложений предпочтение отдано Borland Delphi, так как это одна из самых мощных и удобных в использовании сред программирования, поддерживающая объектно-ориентированное программирование.

Выбор технологии, языка и среды программирования

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

Читайте также:  Векторная графика уроки для начинающих

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

– перечисление условий, при которых выполняется та или иная операция;

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

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

Объектно-ориентированное программирование (ООП) определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

Основным достоинством объектно-ориентированного программирования является «более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку. Это приводит к более полной локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести практически независимую разработку отдельных частей (объектов) программы. Сравнительная характеристика средств разработки приложений приведена в таблице 1.

Таблица 1 – Сравнительная характеристика средств разработки приложений

Название Параметры Borland Delphi Borland C++ Builder Microsoft Visual Studio
Фирма производитель Borland Borland Microsoft Corporation
Под управлением каких ОС функционирует Windows XP и выше Windows XP и выше Windows XP и выше
Подход к разработке программного обеспечения Объектно-ориентированный Объектно-ориентированный Объектно-ориентированный
Механизмы доступа к БД BDE, ADO, IBX [1] BDE, ADO, IBX ADO.NET, LINQ, IBX [4]

Продолжение таблица 1

Утилиты для работы с БД – Database Desktop; – BDE Administrator; – SQL Explorer; – SQL Monitor [1] – Database Desktop; – BDE Administrator; – SQL Explorer; – SQL Monitor – Solution Explorer; – Server Explorer; – Data Base Diagram Designer; – Table Designer; – Query and View Designer [4]
Поддержка классов Да Да Да
Поддержка стандарта языка SQL Да Да Да
Наличие компонент для работы с БД Визуальные и невизуальные Визуальные и невизуальные Визуальные и невизуальные
Наличие компонент построения отчетов и диаграмм элементы системы Rave Reports Borland Editions [1] элементы системы Quick Reports – Crystal Reports Windows Forms Viewer; – Crystal Reports Engine [4]
Поддержка Windows-подобного (оконного) интерфейса Да Да Да
Средства поддержки транзакций имеются имеются имеются
Возможность создания запускаемого файла Да Да Да

Таким образом для анализа были отобраны средства разработки: Borland Delphi 7, C++ Builder 6, Microsoft Visual Studio 2010, как наиболее популярные. Все три средства обладают большими возможностями для создания приложений, организующих взаимодействие с базами данных.

Выбор инструментальных средств для разработки системы зависит от целей разрабатываемой системы. После тщательного анализа было выбрано средство разработки Borland Delphi 7, так как отвечает основным предъявляемым требованиям – простоте в эксплуатации и низким системным требованиям.

Для обоснования выбора конкретной СУБД для разработки базы данных был проведён сравнительный анализ трёх СУБД, результаты которого приведены в таблице 2.

Таблица 2 – Сравнительные характеристики СУБД

название параметры Microsoft SQL Server InterBase Microsoft Access Oracle
Фирма производитель Microsoft Corporation Borland Microsoft Corporation Oracle Corporation

Продолжение таблицы 2

Под управлением, каких ОС функционирует Windows – Windows; – Mac OS X; – Linux; – Unix Solaris. Windows – Windows; – Mac OS X; – Linux; – Unix.
Требования к аппаратному обеспечению – Процессор 2,0 ГГц и выше – ОЗУ не менее 4 ГБ с последующ увелич. по мере роста размера БД. – требуется как минимум 6 ГБ свободного места – процессор Intel x86 – ОЗУ 32 MB – Место на диске 20 MB – Дисковод для чтения дисков CD-ROM – процессор с тактовой частотой не ниже 500 МГц – ОЗУ не менее 256 МБ. – место на жестком диске 1,5 ГБ – Процессор минимально Intel x86 1 GHz или x64 1.4 GHz – ОП не ниже 1 Гб – минимальное свободное место на диске 2Гб
Поддерживаемая модель данных Реляционная модель данных Реляционная модель данных Реляционная модель данных Универсальная модель данных
Поддерживаемые объекты БД – таблицы; – представления; – пользователь; – индекс; – процедура; – функция; – правила; – ограничения; – триггер [2] – таблицы; – домен; – триггер; – исключения; – курсор; – процедура; – функция; – таблица; – запрос; – форма; – отчет; – макрос; – модуль – таблицы; – представления; – пользователь; – последов-ть; – синоним; – индекс; – табличная область; – кластер; – роль; – процедура; – функция; – пакет.
Формат файла (файлов) БД; .mdf – основной файл (primary); .ndf – вторичн. файл (secondary); .ldf – файл журнала транзакций (Transaction Log) .gdb .mdb .accdb – Datafiles – Control Files – Redo Log Files – Archive Log Files – Parameter Files – Alert and Trace Log Files; – Alert File или Alert Log – Backup Files
Технология создания БД и объектов БД – визуально; – с использ. SQL-скриптов – визуально; – с использ. SQL-скриптов – визуально; – визуально; – с использованием SQL-скриптов
Возможность создания локальной БД Да Да Да Да
Поддержка сервера БД Да Да Нет Да

Продолжение таблицы 2

Наличие встроенного языка Элементы Microsoft Visual Basic for Application [3] Базовые языки SQL и Dynamic SQL [5] Microsoft Access SQL PL/SQL
Поддержка стандарта SQL Transact-SQL и MDX Да Да Да

Таким образом, в настоящее время существует большое количество СУБД. Для анализа были отобраны серверные СУБД: InterBase, Microsoft SQL Server, Oracle и настольная – Microsoft Access. Выбор этих СУБД связан с тем, что они наиболее распространены в настоящее время, а также с тем, что большинство из них уже встречались в работе (кроме Oracle). Выбор СУБД для применения зависит от поставленных целей.

Для небольшой базы данных с малым числом пользователей вполне подойдет настольная СУБД Microsoft Access. Кроссплатформенностью из рассматриваемых СУБД обладают: InterBase и Oracle, в отличии от двух других СУБД (SQL Server и Access), которые могут работать только под управлением операционной системы Windows.

Наиболее требовательна к ресурсам СУБД Microsoft SQL Server. В то время как Oracle при более умеренных системных требованиях предоставляет больше поддерживаемых объектов. Самыми низкими системными требованиями из представленных СУБД обладает InterBase.

Все из представленных СУБД имеют возможность передачи данных в формат MS Excel, MS Word, но SQL Server и InterBase требуют установки дополнительной надстройки. Наиболее удобное средство для получения отчета имеется в Microsoft Access.

По остальным характеристикам выбранные СУБД находятся примерно на одном уровне, но для данной работы наиболее приемлемой СУБД является Access, благодаря простоте использования.

Выбор инструментальных средств для разработки системы зависит от целей разрабатываемой системы. После тщательного анализа было выбрано средство разработки Borland Delphi 7, так как отвечает основным предъявляемым требованиям – простоте в эксплуатации и низким системным требованиям, кроме того, выбранная СУБД Access полностью интегрируется с Borland Delphi 7. Выбор инструментальных средств для разработки системы БД осуществляется при условии, что существует достаточное финансирование для покупки инструментальных средств.

Читайте также:  Буквы на стену с днем рождения

При проектировании ПС использовались CASE-средства Rational Rose 2006 Enterprise Edition. Rational Rose – это Case-средство, предназначенное для анализа и проектирования объектно-ориентированных програм­мных систем.

Выбор Case-средства визуального объектно-ориентированного проектирования информационных систем Rational Rose 2006 Enterprise Edition, определялся рядом возможностей данного Case-средства:

– имеет удобный для пользователя графический интерфейс;

– проектирование систем любой сложности;

– развернутое представление о проекте в сочетании со средствами документирования (SoDA);

– возможность проведения обратного проектирования имеющихся систем;

– непосредственная работа (инжиниринг и реинжиниринг) с исполняемыми модулями и библиотеками форматов EXE, DLL, TLB, OCX;

– поддержка технологий MTS (Microsoft Transaction Server) и ADO (ActiveX Data Objects) на уровне шаблонов и исходного кода, а также элементов стратегической технологии Microsoft – СОМ+ (DCOM);

– поддержка языка UML.

Унифицированный язык моделирования (Unified Modeling Language – UML) это язык для специфицирования, визуализации, конструирования программных систем, а так же бизнес моделей и прочих не программных систем.

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

Введение

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

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

Факторы выбора

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

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

При выборе языка для персонального проекта можно положиться на свои личные предпочтения. Здесь может оказаться важным количество строк кода; очевидным выбором будет язык, позволяющий выполнить задачу при помощи 10 строк кода вместо 20. Сначала хочется получить решение, а потом позаботиться об удобочитаемости или производительности.

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

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

  • Целевая платформа.
  • Гибкость языка.
  • Время исполнения проекта.
  • Производительность.
  • Поддержка и сообщество.

Целевая платформа

Самым важным фактором является платформа, на которой программа будет работать. Рассмотрим для примера Java™ и C. Если программа написана на C и должна работать на машинах с Windows® и Linux®, потребуются компиляторы для платформ и два разных исполняемых файла. В случае с Java сгенерированного байт-кода будет достаточно для выполнения программы на любом компьютере, на котором установлена виртуальная Java-машина.

Аналогичный аргумент применим и для Web-сайтов. Они должны выглядеть и работать одинаково во всех браузерах. Использование тегов CSS3 и HTML5 без проверки совместимости с браузерами приведет к разному отображению и поведению сайта в разных браузерах.

Гибкость

Гибкость языка определяется тем, насколько легко можно добавлять к существующей программе новые функциональные возможности. Это может быть добавление нового набора функций или использование существующей библиотеки для добавления новой функциональности. Рассмотрите следующие вопросы, связанные с гибкостью:

  • Можно ли использовать новую функциональность без подключения новой библиотеки?
  • Если нет, доступна ли эта функциональность в библиотеке языка?
  • Если эта функциональность не встроена в язык и не доступна в библиотеке, какие усилия нужно приложить для ее создания с нуля?

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

Хотя сравнение этих языков технически некорректно, рассмотрим Perl и Python. Perl имеет встроенную поддержку регулярных выражений. В Python необходимо импортировать модуль re из стандартной библиотеки.

Время исполнения проекта

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

Время исполнения проекта очень зависит от размера кода. Теоретически, чем легче изучить язык и чем меньше объем кода, тем меньше это время.

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

Производительность

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

Рассмотрим два варианта Web-приложения, написанных на Java и на Python. На основании данных тестирования можно прийти к заключению, что в одинаковой среде приложение, написанное на Java, должно работать быстрее, чем приложение, написанное на Python. А как насчет самой среды? Если средой является одноядерная x86 Ubuntu Intel Q6600, это справедливо, поскольку вычислительная мощность ограничена. А если взять Web-приложение, работающее в облачной среде на Google App Engine? Такое приложение может использовать практически неограниченную процессорную мощность, и обе программы возвратят результаты почти за одно и то же время. Теперь основным фактором выбора будет количество строк кода и удобство обслуживания.

Читайте также:  В чем отличие amd от intel

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

Поддержка и сообщество

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

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

Хороший пример значения сообщества дает язык Perl. Архив Comprehensive Perl Archive Network (CPAN) поддерживается усилиями сообщества. Главная цель CPAN – помочь программистам в поиске модулей и программ, не включенных в стандартный дистрибутив Perl. По своей структуре он децентрализован; авторы обслуживают и улучшают свои собственные модули. Обычной практикой является создание ответвлений и конкурирующих модулей для одной и той же задачи или цели.

Сценарии

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

  • REST-сервис для операции сложения.
  • Простая программа чтения фидов.
  • Корпоративные приложения.
  • Исследовательские проекты.

REST-сервис для операции сложения

В этом сценарии рассматривается REST-сервис, выполняющий сложение. Сервис вызывается по URL, http:// ?num1=number1&num2=number2, а результат должен содержать сумму двух чисел, переданных сервису. Эту программу можно написать на разных языках. В нашем примере используются JSP (см. листинг 1) и PHP (см. листинг 2). JSP-программа написана в Eclipse IDE.

Листинг 1. REST-сервис, использующий JSP

В листинге 2 приведена та же программа, написанная на PHP.

Листинг 2. REST-сервис, использующий PHP

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

Возможности JSP позволяют использовать его преимущественно на корпоративном уровне. Например, в случае использования JSP программа при самом первом вызове загружается в память как сервлет. При каждом последующем запросе вызывается программа, находящаяся в памяти, что улучшает время ее реакции. Она также идеальна для среды Java. В случае использования PHP программа загружается в память при каждом вызове, что может увеличить время реакции для критических приложений.

Еще одной важной функциональной возможностью JSP, которая делает его более подходящим выбором для предприятия, является его многопоточность. PHP не имеет встроенной поддержки многопоточности.

Простая программа чтения фидов

Цель этого сценария заключается в предоставлении программе ссылки на фид. Программа должна получить фид и вывести все его заголовки. Чтобы сделать программу более интересной, мы подпишемся на фид в JSON-формате, а не в RSS.

Фрагмент кода, приведенный в листинге 3, взят из O’Reilly и написан на Java.

Листинг 3. Программа чтения фидов, использующая Java

В листинге 4 приведена программа, написанная на Python.

Листинг 4. Программа чтения фидов, использующая Python

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

Листинг 5. Сокращенная третья строка

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

Корпоративные приложения

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

Важную роль играет также среда, в которой программа будет использоваться. Корпоративные программы никогда не работают автономно. Каждая программа становится частью более крупной задачи, поэтому важным фактором становится способность к взаимодействию.

Представьте себе, что предприятие, использующее свои реализованные на Java-коде Web-сервисы, хочет в качестве надежной платформы добавить WebSphere® MQ. Нет никакого смысла использовать для написания приложения C-интерфейсы системы WebSphere MQ; следует выбрать Java.

Исследовательские проекты

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

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

В такой ситуации на помощь могут прийти такие языки, как MATLAB и LISP. Если вы начнете создавать прототип на C, то погрузитесь в дебри переменных и указателей и не получите реальных результатов исследования. MATLAB интегрируется с C/C++ и Fortran, что позволяет вызывать C-код из MATLAB и наоборот.

Заключение

В данной статье были рассмотрены некоторые факторы, влияющие на выбор языка программирования. Однако этот список неполон. Например, если опытный программист предложит вам язык, который вы не рассматривали, возможно, вам следует оценить и его.

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

Ресурсы для скачивания

Похожие темы

  • Оригинал статьи: Selecting the optimal programming language (EN).
  • На сайте Computer Language Benchmarks Game приведены данные о производительности программ, написанных примерно на 24 различных языках программирования для десятка простых задач.
  • Информация о Google App Engine, позволяющем запускать Web-приложения в инфраструктуре Google.
  • В одном из первых результатов тестирования производительности, Computer Language Shootout Scorecard от 2003 года, подведены итоги измерений производительности ряда языков программирования.
  • В статье Миф о немасштабируемости PHP утверждается, что PHP масштабируем (EN).
  • Дополнительная информация о Comprehensive Perl Archive Network (CPAN).
  • Stack Overflow: обсуждения скорости PHP, ASP, JSP, CGI и т.д.
  • Дополнительная информация о среде MATLAB фирмы MathWorks.
  • Как анализировать JSON в Java – фрагмент кода для листинга 3 из ответов O’Reilly.

Комментарии

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

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *