Sunday, December 5, 2010

Джеймс Гослинг: сессия "чекаво"

Джеймс Гослинг провел сессию вопросов-ответов  в Гугле на общие темы (в стиле "чего, как оно вообще"?).
Я сходил - интересно было послушать умного опытного человека. Сделал отрывочные заметки на бумажке. Уж не знаю, интересно кому будет читать или нет. Буду писать ответы Гослинга "от первого лица" курсивом.
Вот тут видео-версия сессии.


Гослинг сказал сразу, что он сейчас странный зверек и никому не принаджелит, потому не будет защищать какие-то компании или технологии. "буду говорить то, что думаю" (с).

Про Оракл: Оракл помирился с IBM и Apple. Оракл сильно заинтересован в Java, потому что очень многое в их системах работает на этой платформе.

Про покупку Ораклом SUN: они не знали толком, что купили. Их основная область знаний - базы данных. У них большая проблема с принятием решений. Компания очень иерархичная и правом принятия серьезных  решений обладают всего 2 человека.

Вопрос: что думаете про поддержку Generics в Java 1.5?
Generics с одной стороны добавили сложности, с другой -  убрали, улучшили compile-time check. Есть corner cases, но они обычному пользователю неинтересны. В целом - очень положительно.

Вопрос: что с Closures?
Надеялся, что они будут в Java 6, потом в Java 7. Теперь скорее уже в Java 8. Это был очень ugly fight.
Как-то раз я удалил все операторы "goto" во всем Java code в мире - их было всего 13 и заняло пару часов с утра. :) Теперь такое не получится, все обсуждения растянуты на годы.
Java 7 сильно застрял из-за войны с IBM. Теперь это не проблема и Оракл активно продвигает разработку Java 7.

Вопрос: какой  второй любимый язык после Java?
Ненавижу Си "with passion" - тратишь больше времени на отслеживание глупостей с поинтерами, чем на разработку логики. То же самое - про Objective C. Пожалуй, Scala ничего. Хотел бы, чтобы некоторые вещи из Scala были возможны в Java.
Ruby очень медленный. JRuby лучше, но слишком много накладных расходов поверх Java -> опять же медленный.

Вопрос: что думаете про hardware support for JVM bytecode?
Идея мертворожденная в принципе. Разработка CPU стоит 2 млрд. долларов. Взять несколько мощных программистов-компиляторщиков и дать им написать оптимизацию Java -> CPU instructions будет стоит жалкие сотни тысяч $.
Разработка железа для прямого исполнения JVM bytecode теоретически возможна и показывает неплохие результаты для простейшего POC (Proof Of Concept), но дальше этого не идет, потому что поддержка всех corner cases слишком дорога. Напоминание: Интел тратит 2 млрд. долларов на разработку 1 процессора. Не надо пытаться его перегнать, надо это переиспользовать.

Вопрос: что думаете про OSGI?
OSGI очень сильно растолстела и уже достала, вместе со своими гребаными юристами.
SUN в свое время анализировал, стоит ли судить Google за их эксперименты с Java для мобильных устройств. Решили, что не стоит - потому  что это никому не принесет выгоды и вообще судиться некрасиво. Дело надо делать, а не сутяжничать. Оракл - "fucking idiots" - которые смотрят на все в мире через призму прибыли, потому полезли судиться.

Вопрос: что думаете про платную версию Java?
Java сама по себе будет free forever. Оракл может вполне успешно продавать management tools подобные тем, которые были в JRockit.

Вопрос: возможен ли forking of Java?
Нет. Apache guys всегда чем-то недовольны, возмущаются и спорят. Поддержка и развитие Java на всех существующих платформах - это очень дорого, дороже всех остальных open source продуктов. Надо порядка 200 full time инженеров плюс QA. Это не weekend hobby, так что forking какой-то группкой энтузиастов - мертворожденная идея.

Вопрос:  мнение про Apple, который пытался откреститься от Java for Mac OS?
Apple is all about control. Interoperability для Apple - devil в чистом виде. Их цель - заманить к себе разработчиков и удержать всеми нечистыми средствами, которые у них есть. Ни в коем случае не разрешать переиспользовать код на компьютерах, отличных от Мак.

Вопрос: кто будет делать Java for Mac OS?
Apple имеет много секретных функций, поэтому SUN не мог писать для них Java. Видимо, придется Apple делать Java самим - выхода у них нет.

Вопрос: сравнение Java & Scale.
Большинство людей, которые пробуют Scala, на самом деле используют его как "Java with less text" и не как функциональный язык.

Вопрос: что сейчас exciting в технологиях/программировании?
Web уже достал полностью, соц. сети тоже достали - все копируют друг у друга одну и ту же ерунду. Интересные разработки идут в автомобильной промышленности. Сейчас я работаю над проектом с Volkswagen - там используется real-time Java.

Вопрос: сравнение "стандартных" решений от SUN и чужих библиотек (например JSF vs. Spring).
I hate JSF with passion. Другие библиотеки - тоже полное гавно. Они все сосуществуют, потому что нет явного лидера, один отстой.

Вопрос: что будет Next Big Thing?
Если бы знал, жил вы в Сочи (примечание: это вольный перевод от меня :) ).
Софт для автомобилей. Сейчас этот софт в зачаточном состоянии. Работы - непочатый край.

(примечание: мне знакомый рассказал, насколько просто взломать систему управления современной машиной и натворить что угодно - остановить двигатель, заблокировать тормоза, и т.д., и т.п... собственно, и взламывать ничего не надо, все в открытом доступе. софт на уровне "детский лепет".

Вопрос: мнение про Oracle OpenWorld.
Оракл - чистая акула бизнеса. Для них не существует ничего, кроме прибыли. Они не понимают, что эта идея не смешивается с JavaOne никак.

Вопрос: мнение про социальные сети.
Friends on Facebook are fake. Слишком много всякой ерунды, информационного мусора, глупостей, которые валятся от каких-то полу-случайных людей. В основном - пустая трата времени, самолюбование и иллюзия общения, на самом деле - чистый fake.

Вопрос: что может заменить Java, если она вдруг исчезнет?
Ничего. Back to sea. Нет другой Enterprise Level general purpose платформы и языка, поддерживающмх все разнообразие железа.

Вопрос: о каком функционале в Java жалеете?
XOR! (смеется). Кто его вообще использует из присутствующих? (в аудитории - молчание).

Вопрос: где работать молодежи в ИТ?
Оракл - просто капец, там все очень плохо. Гадюшник страшный. Кроме качественной СУБД, ничего нет.
Компании в области Cloud Computing - очень интересная идея, но все делают одно и то же. Скучно. В вебе - то же самое.
Биология - огромное поле для деятельности, большой недостаток специалистов. В Сан Франциско идут большие исследования протеинов и т.п.
Очень много интересных разработок в исследовании материалов и за всем стоит так или иначе разработка программного обеспечения.

Вопрос: имеете ли отношение к разработке Гуглового робо-автомобиля?
Нет, это совершенно отдельный проект. Volkswagen финансирует целое здание в Стэнфорде, с Гуглом никак не связано.

11 comments:

Ilya said...

Интересно.

Unknown said...

Спасибо, отличный пост

CTpaHHoe said...

Спасибо, отличная заметка!

Ivan Chika said...

Познавательно ))) +1

ArchiMage said...

Чувствуется обида...

_b1 said...

спасибо за перевод.
сами интересовались про научную разработку программ? что и как?

Andrii Vozniuk said...
This comment has been removed by the author.
Andrii Vozniuk said...

Спасибо, познавательно. Интересно какие основные направления разработки ПО в биологии.

Alex said...

не знаю, гугл в помощь...

rezwyi said...

Интересно...

relgames said...

а я использовал XOR в последнем проекте:)