future of computing

Програмування →  Три основні напрямки розробки ПО в майбутньому (частина 1)

(Переклад: 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-сервіси (soap, json, rest…), web-технології (ASP.NET, JSP …), RIA-технології (Flex, Silverlight…), програмування web-сторінок (Javascript, JQuery…)

Програмування →  Три основні напрямки розробки ПО в майбутньому (частина 2)

2. Паралельне програмування

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

Суть проблеми проявляється в словах Джона Шалфа «Паралельні алгоритми це не просто паралелізовані версії послідовних алгоритмів. Вони вимагають інших підходів та мов програмування.» Так паралельне програмування вимагає нових підходів, але деякі елементи паралельної обробки з`являються в сучасних мовах.

Як пристосуватись:
- вивчайте багатопроцесорне програмування та функціональні мови.

3. Розробка мобільних програм

Останнім часом на ринку з`являється багато нових смартфонів та планшетних ПК. В 2012 році таких пристроїв буде продано більше ніж звичайних ПК.

Ключові проблеми:
- мобільні пристрої мають досить високу продуктивність але набагато меншу ніж звичайні ПК. Розробка програм в умовах жорстких обмежень можливостей є не простою;
- програми виконуються на різних платформах і пишуться на нових мовах програмування.

Як пристосуватись:
- вивчайте нові технології для мобільних платформ (iPhone, Android, Windows Phone…).