Увага: численні точки переходу

Пізно вночі в месенджері набагато молодший програміст запитав мене: «Чорт, навколо стільки всього відбувається, це завжди так?» Хм, ні, раніше так не було. Але так може бути в майбутньому.

Наскільки я можу судити, ми зараз одночасно бачимо кілька точок переходу в мовах програмування, і базах даних, і мережевому програмуванні, і процесорних архітектурах, і веб-розробці, і бізнес-моделях IT, і робочих середовищах. Я нічого не пропустив? Але ще цікавіше те, що такий режим множинних точок переходу може тривати ще кілька років.

Мови програмування

До зовсім недавнього часу для великого серйозного програмного проекту ви б вибирали Java, або .NET, або, якщо ви справжній мазохіст, C++. А сьогодні будете дурнем, якщо не придивіться уважно до PHP, Python і Ruby. Скільки уваги вони будуть привертати в майбутньому? Я не знаю, але це рішення приймається всім співтовариством прямо зараз.

До речі, на цю тему подивіться Interview with the TIOBE guy - цікава штука, хоча я не з усім у ній згоден.

Бази даних

CouchDB. SimpleDB. BigTable. Чи потрібно ще щось говорити?

Ні, я не думаю, що реляційні бази даних скоро зникнуть. Але я думаю, що замкненість спільноти розробників на SQL сильно нашкодила їм за останні пару декад, і я радий, що тепер вважається нормальним дивитися на альтернативи.

Чи відірвуть нереляційні альтернативи шматочок ринку для себе? Я думаю, що так, але це рішення приймається всім співтовариством прямо зараз.

Мережеве програмування

CORBA мертва. DCOM мертвий. WS- * вже надсадно кашляє дорогою в могилу. Кажуть, REST - правильний шлях. І я з цим згоден. Але у нього все ще мало інструментів, і кращих практик, і накопиченої мудрості, і консультантів в синіх костюмах, і інших ознак мейнстрімної технології.

Так як через кілька років дітей будуть вчити правильному способу створювати додаток в мережі, повної різнорідних технологій? Це вирішує вся спільнота прямо зараз.

Процесори

Закон Мура все ще працює, але процесори ростуть вширі, а не стають швидшими. Після того, як кращі з кращих витратили декаду на створення і налагодження потокових (threading) фреймворків в Java і .NET, все ясніше стає, що це погана думка, вистачить розвивати її. Я сам повністю змінив мою колишню про-потокову позицію після того, як чотири роки тому прийшов в Sun.

Ми ще не з'ясували правильний для звичайної людини спосіб програмування для багатоядерних процесорів - перевірте непереконливі результати мого минулорічного проекту Wide Finder. (До речі, у мене тепер є мій власний виставлений в інтернет T2000, і як тільки на ньому буде достатньо даних, я перезапущу Wide Finder; приходьте всі).

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

Веб- розробка

Раніше це були Java EE, або Perl, або ASP.NET. А тепер несподівано це PHP, і потім Rails і ще купа фреймворків, видніються на горизонті; і місяця не минає, щоб я не побачив черговий галас про щось, «схоже на Rails».

Мені здається очевидним, що дуже скоро з'явиться Rails++, який буде поєднувати в собі хороші ідеї з RoR і деякі інші, очевидні відразу після того, як перший раз побачиш їх.

А ще, що деякі з цих «рейкоподібних» фреймворків, навіть якщо вони не здійснюють ніяких проривів, все одно знайдуть свою частку на ринку, тому що поєднують в собі кілька незначних переваг.

Знову-таки, не можу сказати, що це з'ясовується прямо зараз, тому що прямо зараз я бачу однозначну картину стабільно зростаючого ринку Rails. Але так буде недовго.

Бізнес-моделі

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

Вірніше, це якщо ви хочете самостійно возитися зі сховищами, обчислювальними потужностями і розподілом навантаження, а не відправити все це в хмару. Хочете? Технічні директори і хлопці з датацентрів розбираються з цим питанням прямо зараз.

А що стосується софту, раніше він продавався на магнітних носіях, і гроші бралися за право використання. Тепер же все є у відкритих вихідниках, і скачуються вони безкоштовно, а ви надаєте платну техпідтримку. Хоча ні, це теж було в минулому столітті, можливо, тепер весь софт опиниться десь там в хмарі, і ви навіть нічого не будете скачувати, просто платити за використання.

Я особисто не думаю, що якась із цих моделей повністю зникне. Але ось яка працює найкраще? Ринок вирішує це прямо зараз.

Робочі середовища

Як я писав кілька місяців тому: скільки ж часу державний і приватний технічний менеджмент буде продовжувати ігнорувати той факт, що є OS X і Ubuntu, що є навіть дві альтернативи робочому середовищу Windows, які надійніше, безпечніше, ефективніше і дешевше? Напевно, зараз кожен бачив мак або лінукс у друга або родича, і думає, чому його комп'ютер не може бути таким же класним.

Що тут станеться? Я не знаю, але це будуть кардинальні зміни, коли ми опинимося на точці переходу, а до неї ми наближаємося прямо зараз.

Чи завжди буде так?

Ви знаєте, може бути. Наше володіння інформаційними технологіями все ще дуже молоде, і безліч плодів висять дуже низько, і безліч широких кроків вперед чекають, поки їх зроблять. Зараз, з поширенням блогів, і неконференцій, і всіх цих нових способів спілкування, наші мислителі постійно, 24/7/365 спілкуються один з одним про всі ці проблеми. Розрив між переднім краєм і технологією, що дійсно використовується в корпораціях, все так само величезний, як і раніше, і мені здається, що саме благодяря йому відбувається безперервне руйнування. Ковабанга!

Увага: численні точки переходу @ blog.arty.name