Переключится ли Google с Java на Go?

18 мая 2012, Ивонин Кирилл 0
Исходный код Android может быть переписан на языке программирования, родившемся в недрах корпорации Google.

У Apple есть Objective-C, C# принадлежит Microsoft, а вот Google не владеет Java — хотя у них был шанс, когда компания Sun Microsystems находилась на грани банкротства. Конечно, 6 миллиардов долларов — огромная сумма даже для Google, тем более, в то время Android еще не "раскрутился". Но учитывая, что Google могла заплатить 4 миллиарда за Skype и Hulu, приобретение языка программирования для приложений Android стоило бы этого. Тем более, Sun после этого могла бы быть продана тому же Oracle или любой заинтересованной стороне.


Почему же Java стал выбором Google? Ну-с, на самом деле большого выбора среди популярных языков не было, тем более, учитывая количество разработчиков, которые ими владеют. К тому же, у самой Google есть множество программистов, использующих Java в инфраструктуре компании. И раз уж язык был открытым, они решили "форкнуть" Java VM и создать собственную виртуальную машину Dalvik. Это не такая уж редкость в мире открытого ПО, и даже не первый раз, когда такое произошло с Oracle после покупки Sun.

К примеру, разработчики OpenOffice оскорбились жадностью Oracle и сделали LibreOffice. Да. это нормальное поведение в мире open source. И все же это не остановило Oracle от подачи иска на Google за 9 строчек кода, вот почему у "корпорации добра" сейчас проблемы с Java.

В данный момент Google уже подыскивает альтернативы Java – например, язык Go, разработку которого специалисты компании недавно завершили. По словам разработчиков, это один из лучших существующих языков программрования. Вот причины, по которым был создан Go:

"Создание Go было обосновано неудобствами современных языков программирования и сред разработки. Программирование стало слишком сложным, и сам выбор средств разаботки был затруднен. Приходилось выбирать между быстрой и эффективной компиляцией кода, скоростью работы самой программы или легкостью программирования; полностью все это было недоступно в каком-либо одном популярном языке. Разработчики по мере возможности выбирали простоту, а не безопасность или эффективность, используя в результате Python или JavaScript вместо С++ или даже Java.

Go – попытка объединить простоту программирования интерпретируемого языка с динамической типизацией и эффективность статического, компилируемого языка. К тому же, Go современен, поддерживая многоядерные конфигурации и распределенные вычисления. И, наконец, он должен быть быстрым: только несколько секунд должно быть потрачено на компиляцию большого и сложного приложения на ПК. Для того, чтобы угнаться за всеми этими зайцами, предъявлялись требования к синтаксису: выразительный и при этом легковесный синтаксис, параллелизм и эффективные сборщики мусора, жесткие спецификации зависимостей и так далее. Такой объем невозможно сделать средствами одних утилит и библиотек. Нужен был совершенно новый язык."

Спецификации Go звучат весьма впечатляюще, но, к сожалению, портировать Android на Go — или на любой другой язык – будет сложно даже не из-за самой ОС, а из-за сформировавшейся вокруг нее экосистемы. Разработчики ПО под Android должны будут выучить Go, если упразднят Java. Каким-то образом Google должна будет сделать Go кроссплатформенным для работы с разными архитектурами. К тому же, сам исходный код Android придется здорово переписать для поддержки этого языка.

В перспективе, конечно, все это кажется панацеей для Google, так как все происходящее с языком будет полностью контролироваться компанией. Учитывая, что Go весьма дружелюбен, многие разработчики будут заинтересованы в его изучении — так же, как и бóльшая часть разработчиков под iOS специально выучила Objective-C. А вот сейчас этот переход станет болезненным и для Google, и для всех остальных; поэтому мы вряд ли увидим готовый продукт в ближайшие несколько лет.

Источник: www.androidauthority.com

Отзывы

0 Оставить отзыв

    Добавить отзыв

    загрузить другую
    Ваш отзыв

    Свежие новости раздела

    Все новости раздела

    Все свежие новости

    Все новости