Куда мы теперь Go?
АрхивСтатьиGoogle объявила о создании своего языка программирования Go. Собственно, если бы это не была Google, инициатива прошла бы незамеченной – в мире их и без того несколько тысяч. Новому языку придется очень и очень постараться, чтобы добиться успеха.
Google объявила о создании своего языка программирования Go. Собственно, если бы это не была Google, инициатива прошла бы незамеченной – в мире и без того, по одним подсчётам, более 2500 языков программирования, по другим – более 8 тысяч. И лишь порядка полутора-двух десятков из них можно считать находящимися в повседневном обиходе, отчего новому языку придётся очень и очень постараться, чтобы добиться успеха. Этого можно добиться двумя путями: либо потрясти простой и удобством в сочетании с широкими возможностями (как это не так давно было, например, с Python), либо обрести мощную корпоративную поддержку на какой-нибудь распространённой платформе (как при поддержке Microsoft это происходит вот уже пятое десятилетие с различными вариантами Basic, далеко, впрочем, ушедшего от классического прототипа). А в идеале – и то и другое вместе.
С нововведениями и удобствами, на первый взгляд, у Go всё в порядке: одна поддержка распараллеливания процессов в случае многоядерных процессоров и параллельных вычислений обещает многое. Но столь же многое зависит и от реализации этой функции, в чём есть определённые сомнения. Дмитрий Школьников, IT-директор компании ITMT: "Из архитектур есть x86_64, i386 и ARM (компилятор доступен только под Линуксом). Для по-настоящему больших параллельных вычислений все-таки используют иные архитектуры (PPC/PPC64, Sparc, IA-64)... Задачи распараллеливания вычислений во многом зависят от ядра ОС и микроархитектуры процессора. Вряд ли Гугл сумели обойти ограничения, связанные с особенностями обычных десктопных ОС.".
Корпоративная поддержка языку Go по понятным причинам кажется обеспеченной, но, если присмотреться внимательнее, пока лишь на уровне пиара. Дмитрий Школьников: "...новый язык войдет в массовое использование только когда появятся фреймворки и SDK. К тому же пока что нет версии для Windows. Только Linux и Mac OS X".
Дмитрий Леонов, системный администратор, создатель известного сайта BugTraq.Ru и автор учебных курсов по С++, С#, Perl: "...спецификация языка не вызывает ощущения революционности, это комбинация многих известных подходов, к тому же не создающая впечатления оптимальной. Без Google за спиной вряд ли бы он вообще заслуживал внимания, а так – интересно будет посмотреть, удастся ли его дожать до чего-то более-менее распространенного". В блоге на BugTraq.Ru он конкретизирует: "С одной стороны, нет адресной арифметики, с другой, нет наследования (есть интерфейсы), шаблонов, исключений... Очередная вариация на тему "мы тоже хотим сделать облагороженный C" – практически, высшая ступень любимого всеми программистами занятия по выпиливанию собственных библиотек и инструментов."
А по словам Алексея Куканова из Intel "...сейчас языки не делают погоды. Рулят платформы. Лучше всего это видно на примере .NET, где только "Майкрософт" поставляет минимум 4 языка, не говоря об языках/расширениях сторонних разработчиков. И все они могут пользоваться огромной функциональностью, реализованной в платформе. Java – тоже платформа, только моноязычная, если можно так сказать. Всю масса библиотек, разработанных для C/С++, тоже можно расценивать как платформу.
И это понятно, время построения велосипедов давно в прошлом. Программисты-практики решают свои задачи при помощи базовых блоков разного уровня, разработанных другими людьми.
Так что успех или неуспех этого языка будет определяться прежде всего тем, как скоро накопится достаточная масса библиотек, которые доведут его до уровня серьёзной программной платформы".
Разумеется, у нового языка немало и горячих поклонников. Действительно, у Google не так уж и много инициатив, которые можно однозначно отнести к провалам – гораздо больше успешных, причем среди успехов были и блестящие, определившие лицо индустрии на годы вперед, как это было с почтой Gmail или с проектом Google.Maps. Что, несмотря на понятный скептицизм специалистов, заставляет отнестись в новому языку со всей серьёзностью.