Какой язык будет следующим?
Читатели недавно спрашивали, какой язык программирова-станет самым популярным сфере систем управления. Этот вопрос очень важен, поскольку правильный ответ пытаются найти многие системные интеграторы и разработчики программного обеспечения. К сожалению, однозначно правильного ответа не существует. Различные языки ориентированы на различные задачи. Обсуждение пары дополнительных вопросов может помочь в выборе «правильного» языка. Эти вопросы касаются будущих конечных пользователей, типа программного обеспечения, размера ожидаемой пользовательской аудитории, стратегии долговременной технической поддержки.
Во-первых, нужно определиться, работают ли конечные пользователи на производстве или нет. Производственные системы чаще всего основаны на программном обеспечении Microsoft, в то время как приложения общего назначения часто работают на Unix или Linux. Если приложение разрабатывается для платформы Microsoft, стоит использовать язык, хорошо интегрированный в среду Microsoft, например VB.Net или C#. Системы на базе Unix и Linux предоставляют большой выбор средств разработки, в том числе и открытые языки программирования.
Тип программного обеспечения также влияет на выбор. Если приложение должно иметь сложный интерфейс пользователя, лучший вариант для клиентской части — JavaScript и модель AJAX (асинхронный JavaScript и XML). Если приложение должно содержать базу данных и web-интерфейс, оптимальным выбором станет скриптовый язык, например Perl, PHP, Python или Ruby.
Если приложение ориентировано на серьезную базу данных и обмен данными, лучше выбрать объектно-ориентированный язык со строгой типизацией, например C++, C# или Java. Если приложение должно работать с высоким временным разрешением или даже в режиме реального времени, наиболее подходящим будет язык C++, благодаря его широким возможностям управления циклами выполнения и строгой типизации данных.
Ожидаемый размер пользовательской аудитории и стратегию долгосрочной технической поддержки также необходимо принимать во внимание при выборе оптимального языка программирования. Небольшая аудитория обычно соответствует десятку инсталляций и паре десятков пользователей на каждой инсталляции. В таких случаях хорошим выбором будет Visual Basic или подобный язык. Оставаясь профессиональной средой программирования, он позволяет ускорить разработку при разумном времени тестирования. Поскольку пользовательская аудитория невелика, расходы на техническую поддержку должны быть небольшими, а программы на VB-подоб-ных языках легко поддерживать.
Большие пользовательские аудитории насчитывают сотни инсталляций и потенциально сотни пользователей на одну инсталляцию. Расходы на устранение ошибок и обновление могут оказаться весьма значительными. Приложение с большой пользовательской аудиторией должно создаваться в профессиональной среде разработки и тестирования, использующей язык со строгой типизацией, например C# или Java.
Многие приложения разрабатываются системными интеграторами по заказу производственных предприятий. Как правило, они рассчитаны примерно на десять инсталляций, имеют web-интерфейс, базу данных и коммуникационные возможности, обычно не рассчитаны на режим реального времени.
Мой обычный выбор в таких случаях — модель AJAX, использующая Javascript для реализации интерфейса пользователя на стороне клиента иVB.Net для серверной части приложения. Серверная часть также может быть написана на Ruby, Pearl, Python, или PHP, но эти языки тесно связаны с документами XML и web-страницами и плохо поддерживают обмен данными, зачастую необходимый для управления приложением.
Удачные приложения могут быть написаны практически на любом разумном языке, включая Smalltalk, Lisp, FORTRAN и APL. Тем не менее, наиболее оптимальное приложение для производственных задач должно быть написано с использованием поддерживаемого серьезной компанией языка, который просуществует так же долго, как сама система управления.
Для специалистов по программному обеспечению всегда характерны жаркие споры о языках программирования. Приоритеты иногда носят почти религиозный характер, вплоть до деталей синтаксиса. Я все же рискну предположить, что следующим наиболее распространенным языком в производственной сфере будут JavaScript иVB.Net для приложений с небольшой аудиторией, а для крупномасштабных приложений — JavaScript и C#.
Денис Брэндл,
dbrandl@brconsulting.com,
президент компании BR&L Consulting,
Кэри, Северная Каролина, специализирующейся
на информационных технологиях
в производственной сфере
www.brlconsulting.com