среда, 27 октября 2010 г.

[prog.flame] Java под Mac OS X is deprecated: еще один шаг к превращению Java в COBOL XXI-го века?

Да простят меня приверженцы Java, но будучи любителем побросать камешки в Java-огород, я не могу не позлорадствовать на дошедшие и до меня новости:

As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.

This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

Т.е. Apple прекращает разработку и развитие собственного порта Java для своих Mac OS X. И, возможно, вообще выкинет Java из Mac OS X в будущем (хотя то, что вошло в версии Snow Leopard и Leopard будет сопровождаться согласно стандартному жизненному циклу).

В другом месте при обсуждении этого же события упоминают еще один фактор. Дело в том, что в Mac App Store не должны приниматься программы, которые зависят от устаревших технологий. И, поскольку Java объявлена устаревшей, то и Java приложения могут перестать принимать в Mac App Store.

Я не маркетолог и вообще далекий от бизнеса человек, но как по мне, так все выглядит довольно разумно. Apple за счет Mac OS и iOS (iPhone и iPad) создает собственный рынок программного обеспечения. И так уж повелось, что для данных платформ основным инструментом является Objective-C (а так же, по совместительству, еще и C с C++). Нужно вспомнить еще и про недавние расширения языков C-шной группы от Apple: туда были добавлены блоки кода. Т.е. Apple планомерно и непрерывно сажает разработчиков на собственную иглу. Ведь Apple должно быть выгодно, чтобы софт изначально затачивался под Mac OS/iOS и не был бы кроссплатформенным.

Итак, что получается. Хороших desktop-ных приложений на Java не так уж и много. Смысла писать Windows-only приложения на Java нет, т.к. для этих целей .NET подходит гораздо лучше (имхо, конечно). Смысла писать Mac OS-овские приложения на Java уже нет. Что остается? Большой и жирный сегмент Ынтырпрайза, где у Java уже давно очень и очень мощные позиции. Там она, похоже, и обречена оставаться. А это означает (да еще с ее темпами развития), что Java идет по пути COBOL-а.

Впрочем, для нынешних Java-разработчиков это, скорее, даже хорошие новости. Ведь тот же COBOL очень даже жив и каждый год на нем пишется огромное количество кода. А на Java, вероятно, уже написано намного больше. Так что без работы хорошие Java-программисты точно не останутся. А вот нужно ли сейчас Java изучать молодежи – вот это вопрос не праздный, имхо. Мы в свое время ни про COBOL, ни про FORTRAN, ни про PL/1 даже слышать не хотели :)

PS. Кстати, эти новости об Apple и Java прокомментировал и Джеймс Гослинг. Он сказал, что Apple сделала для Java чуть ли не больше “секретных API”, чем в свое время Microsoft. И что одной из причин этого был Oracle, который уж очень хотел, чтобы в JVM на Apple-овских системах была графика без сглаживания, как и под Windows.

6 комментариев:

Rustam комментирует...

Похоже эпл вполне может вернуть себе приличную часть десктоп и около (планшеты) рынка. Недавно вон слухи были что может прикупить Sony. Вообще два монстра это всегда лучше чем один :)

А ява на самом деле может все проспать, хотя может как раз третьему монстру она нужна только как карманная зверюшка :)

Блоки кода с появлением C+0x лямбд вещь совершенно не нужная, Parallel Algorithms от ms уже вполне удобно.

eao197 комментирует...

>может как раз третьему монстру она нужна только как карманная зверюшка :)

Третий монстр тоже хочет разработчиков на собственную иглу подсадить -- собственное железо, собственная ОС, собственная БД, собственный язык, собственный сервер приложений...

>Блоки кода с появлением C+0x лямбд вещь совершенно не нужная

Ага, C++никам он не нужен. Но для Apple более важны C-шники и Objective-C-шники. У тех альтернатив нет.

alex комментирует...

Вы забыли, что кроме enterprise java ещё очень и очень в mobile. А этот рынок, мне кажется, только расти будет. Под тот же android пишут на java.

eao197 комментирует...

@murz: да, об этой области я забыл.

Но, вот что касается мобильных приложений, то я не понимаю, в чем здесь коммерческий интерес Oracle. Что они получают от enterprise -- более-менее понятно, а вот от мобильного сектора? Хотят заставить производителей мобильных JVM платить лицензионные отчисления?

Имхо, на рынке мобильных приложений большой передел сфер влияния еще только грядет. MS будет подтягивать WP7 (хотя многие думают, что уже поздно, но у MS очень много денег), Android от Google, MeeGo от Nokia+Intel, Bada от Samsung, iOS от Apple. Ну и еще BlackBerry от RIM есть (которым вроде бы QNX досталась).

И еще возможно, что мобильные приложения начнут на JavaScript писать -- в стиле того, что хотят сделать в Chromium OS.

Так что нужно будет посмотреть.

имя комментирует...

> И еще возможно, что мобильные приложения начнут на JavaScript писать

Не начнут :-)

Фаерфокс с его интерфейсом на xul+js с треском провалился на мобильных устройствах, несмотря на то, что мозилла потратила несколько лет на оптимизацию плюсового кода, связанную с js (в т.ч. даже сделала некую спец. тулзу для профайлинга)

Видимо, интерпретация кода на маленьких процах имеет бОльший оверхед, чем на больших -- если допустим фаерфокс на Пентиуме200 вполне можно было юзать, то (5 лет назад) на мобильном арме 300МГц он у меня просто запускался под 2 минуты и безумно тупил при том, что интерфейс был обрезан почти под корень; предполагаю, что дело в малом кэше Л1/Л2

eao197 комментирует...

@имя:

>Не начнут :-)

И это хорошо. Поскольку, как мне представляется, JS -- это еще один write-only язык. Получше Perl-а, конечно, но все-таки.