вторник, 6 июля 2010 г.

Три основных направления разработки ПО в будущем

(Перевод поста: Top 3 paradigm shifts that will shape the future of developers — Enes TAYLAN)

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

1. Облачные вычисления






Благодаря Интернету, компьютеры превратились из отдельных рабочих станций в полностью интегрированную среду из многих компьютеров и серверов. Степень интеграции повышается и уже сейчас много приложений работает по облачному принципу. Компании миллиардеры разрабатываю все больше продуктов для облачных вычислений. Стив Балмер заявил, что через два года 95% приложений Microsoft будут работать в облаке. MS Office тоже перестраивается под облачные технологии. Google Docs стал главным инструментом, который мы используем для совместной работы над документами. Мы можем развертывать свои приложения на серверах Amazon, Google Apps, Microsoft Azure или множестве других платформ.

В этот период ключевыми задачами для разработчиков есть:
— фокусирование на web-приложениях: разработка настольных приложений уже не так важна;
— разработчики должны подключать приложения к интернету через web-сервисы и разрабатывать приложения, которые выполняются на web-сервере.

Как адаптироваться:
— изучать web-сервисы (основанные на soap, json, rest…), web-технологии (ASP.NET, JSP …), RIA-технологии (Flex, Silverlight…), программирование web-страниц (Javascript, JQuery…)

2. Многоядерное программирование, параллелизм




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

Суть проблемы проявляется в высказывании Джона Шалфа «Параллельные алгоритмы это не просто распараллеленая версии обычных последовательных алгоритмов. Они требуют других подходов и языков программирования».
Параллельное программирование требует новых подходов. Но некоторые элементы параллелизма появляются в популярных языках программирования.

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

3. Разработка мобильных приложений





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

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

Как адаптироваться:
— изучайте новые технологии разработки для мобильных устройств (iPhone, Android, Windows Phone…).

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

Отправить комментарий