Как выбрать язык программирования

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

programming_language

Так как я работал менеджером в компании по разработке ПО, то вот моя точка зрения, которая применима для большинства новых проектов.

Обоснование

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

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

Предпочтения разработчиков

Если коротко, то разработчики предпочитают языки, которые:

  • испытаны годами;
  • интересны для разработки;
  • поддерживаются большим сообществом;
  • просты в обслуживании.

Они избегают технологий, которые:

  • относительно новые;
  • громоздкие и сложные;
  • не поддерживаются большим сообществом;
  • трудно обновляемы.

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

Поучительные истории

Не все технологии одинаково пригодны для того или иного проекта. Есть языки, популярные многие годы, но есть и такие, распространенность которых быстро падает.

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

Кто-нибудь помнит Backbone.js? Эта библиотека до сих пор есть на рынке, но я не видел новых проектов на ней за последние четыре года.

Когда Backbone.js потерял популярность, ее ниша была занята AngularJS. Но когда Google выпустил вторую версию платформы, несовместимую с первой, все владельцы проектов на Angular остались без необходимой поддержки или должны были пройти дорогостоящие процедуры обновления.

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

Веские основания

Какие факторы следует учитывать при выборе платформы разработки?

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

Подводим итог

Несмотря на то, что выбор технологии кажется чисто техническим решением, это не так. Лучшее решение включает в себя оценку с точки зрения бизнеса и анализа истории разработки ПО.

Если у вас все еще остались сомнения, рекомендую использовать Ruby on Rails. RoR является платформой с открытым исходным кодом, поэтому ее закрытие одной из крупных компаний невозможно. Она получила огромную поддержку программистов, которые разработали большое количество библиотек для решения типовых задач. На рынке существует множество проектов любого размера, созданных на Ruby.

Так что вы можете выбрать Ruby on Rails для вашего проекта и никогда не пожалеете об этом.

Источник: https://anadea.info/blog/how-to-choose-a-programming-language

Комментарии:

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">