Apple избавляется от Java в Mac OS X
3Иллюстрация с сайта Greatdaneband.Com
Неужели Apple действительно заинтересована в уменьшении числа средств разработки для своей системы? В очередном обновлении к последней версии Mac OS X — 10.6 Update 3 — поддержка Java объявлена «нежелательной» (deprecated).
В официальной документации по обновлению сообщается, что «разработчики больше не должны полагаться на поставляемую компанией Apple реализацию Java в будущих версиях Mac OS X». При этом Java, входившая в состав релизов Mac OS X 10.5 и 10.6, будет поддерживаться в соответствии с принятыми циклами продуктов.
Это означает, что Apple теперь может формально «безболезненно» (для своих разработчиков) исключить Java из поставки будущих версий Mac OS X, а авторы Java-приложений для этой платформы останутся не в самом выгодном положении (для запуска их ПО рядовым пользователям Mac OS придется совершать дополнительные действия, чтобы установить JRE).
В общем-то, данный шаг вряд ли можно назвать удивительным в контексте политики Apple — компании, которая привыкла сама указывать пользователям, что и как им лучше использовать. Можно предположить, что это еще и своеобразная корпоративная «игра» с корпорацией Oracle, которой теперь принадлежит Java и которая уже показала, что намерена воспользоваться полученными патентами по их прямому (юридическому) назначению.
Постоянная ссылка к новости: http://www.nixp.ru/news/10798.html. Дмитрий Шурупов по материалам Apple Developer, osdir.com.
- IBM будет работать над OpenJDK вместе с Oracle 2 12 12 октября 2010 г.
- Apple присоединяется к OpenJDK вслед за IBM 3 2 14 ноября 2010 г.
- Представлен OpenJDK для Mac OS X 13 января 2011 г.
- Oracle обновляет правила для сообщества OpenJDK 6 1 февраля 2011 г.
- SAP присоединилась к Open Source-проекту Oracle OpenJDK 15 июля 2011 г.
Oracle собирается отдать развитие Java EE в руки Open Source-сообществу 2
VirtualMonitor может быть перенесён на GNU/Linux из-за сложности разработки под Windows 6
Microsoft: Linux больше не является ключевым конкурентом Windows на десктопах 2 14
EnterpriseDB: Apple заменила MySQL на PostgreSQL в Mac OS X 10.7 из-за Oracle 5 1
Представлен OpenJDK для Mac OS X
Apache Software Foundation ушла из комитета по Java 10 4
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Картинка намекает?
Да давно пора уже джаву задвинуть подальше, и не только на маке.
А какие альтернативы? Дотнет?
Даже Гуглу пришлось переписать кучу кода на питоне на джаву, чтобы быстрее работало, да и вообще у них джава много используется.
Если брать десктопные приложения, то почти все IDE на джаве. Только не надо говорить что надо использовать емакс вместо них и будет счастье.
Какой ещё emacs? VIM only and forever!111[/sarcasm]
Строго говоря, для emacs есть проект CEDET, у которого есть шансы однажды зарулить как минимум опенсорсные IDE.
Вроде как ничего альтернативой выглядит Vala.
CEDET он же стремный.
Etags (jtags) и нормал.
жава гамно. всем по емаксу!!!
Как какие 0_О
Вы о чем вообще???? Qt, например, великолепная альтернатива! И работает прекрасно как на Linux’е, Unix’е, Mac’е так и на винде и еще на куче платформ, в том числе и мобильных. Писать на ней не сложнее чем на яве, а то и проще. При этом никаких виртуальных машин — чистый C++, прекрасные интерфейсы делаются очень быстро, реализовано множество современных паттернов. Бери и пользуйся одним словом.
qt cool согласен!
Согласен про QT. Если бы он еще на чистом C был то вообще круто бы было.
Уж не знаю, кто у вас там, а мне сотрудники Google говорили, что переписывают проекты с Java на C++. И было это почти 3 года назад.
Что такое IDE? Чем плох Emacs?
Emacs — это (если не использовать CEDET) DE. Не Integrated. Отличным примером IDE я считаю IntelliJ IDEA сотоварищи (RubyMine, PhpStorm, PyCharm), Visual Studio + ReSharper/VisualAssist. Ну то есть это среды разработки, позволяющие (в идеале) разрабатывать ПО, не переключаясь в друге приложения.
Emacs по умолчанию, например, не умеет подсвечивать вызовы пользовательских функций в erlang-mode. Определения он подсвечивает, да — тут много мозгов не нужно, тупо регэксп, который к тому же легко ломается. А вот сохранить в уме все определения функций проекта, пропарсить исходник, сообразить, что вот этот X() — это вызов именно юзерской функции, и выделить этот X особенным образом (а потом легко и просто, скажем, переименовать) — вот такое erlang-mode не умеет. Хотя в принципе такое реализовать возможно — благодаря elisp под капотом. Ну и лучше писать сразу плагин к CEDET, да.
А зачем что-то куда-то интегрировать, если есть, например, мавен, и нет смысла сейчас переносить сборку в среду назад (из ком строчки не сильно сложнее мавен билд дернуть чем кнопку в иде нажать).
Идея — круто, пока не возникает потребность сделать что-то чего там нет.
Да эти все рефакторинги — только поверхностная экономия времени.
Legacy/3rdparty код никогда не использовали? Там рефакторинг частенько пригождается.
Использовал. Там было порядка 10k строк. Я неделю занимался рефакторингом. Плюнул, и переписал с нуля за две недели. До сих пор убеждён, что код стал гораздо лучше, чем он мог бы быть, даже если бы его рефакторингом занималось бы 10 программистов в течение года.
Вот как раз чужой код мне и было бы страшно рефакторить автоматически. Свой еще ладно.
Страшно? Вообще для предотвращения регрессий используются автоматизированные тесты. Впрочем, ССЗБ.
А вам дадут время на то чтобы покрыть тестами тонну legacy кода?
Не дадут — значит, ССЗБ. Потому что тестить руками — ненадёжно.
Зачем всё это? Зачем подсветка? Вы сейчас много написали о том, как круто, когда есть свистоперделки. Не знаю, может быть вам за это платят, а мне платят за код. И в редакторе я его пишу, а не пялюсь на какую-то подсветку. Проблем с запомнить функции с которыми я работаю у меня тоже почему-то никогда не возникало. Может стоит потренеровать память? И да, я все делаю не выходя из Emacs, ведь в этом и есть его основное удобство.
Странно… Мне, почему-то, казалось, что ты поклонник vim.
Тут ты не совсем прав. Когда привыкаешь к подсветке, очень раздражает её отсутствие. И даже не просто раздражает, а возникают проблемы восприятия. Наверное, к этим проблемам можно привыкнуть. Но я уверен, что всё же подсветка полезна.
Но насчёт подсветки вызовов функций, я согласен — это именно что «свистоперделки».
Ну вообще, есть мнение, что не-ручное изменение сорцов — это не-труЪ. Если сорец изменяется скриптом, значит в нём плодятся баги. На erlang’е я не писал, но по-моему, переименовывать функцию приходится, во-первых, редко, во-вторых это делается через query-replace-regexp в интерактивном режиме.
Если же рефакторинг кода всё же нужен, то надо просто выбирать более популярный язык. Скажем для C, я где-то видел мод для емакса. Правда за него денег хотели, и я не стал покупать. Так что отзывов написать не могу. Единственное что скажу: мой опыт рефакторинга существующего кода, сводится к простому девизу: проще написать с нуля, заглядывая в существующие сорцы исключительно для справки.
> Мне, почему-то, казалось, что ты поклонник vim.
Давно это было, но правда.
Вот то-то и оно, что мнение. Некомпетентное, кстати. И не забудем почтить минутой молчания критерии труЪшности, ага.
Критерий — безбажность. И я бы не советовал Вам его хоронить раньше времени.
От регрессий избавляемся с помощью регрессионных тестов. Автоматических, как правило. Прогнали тест, убедились, что всё по прежнему работает — вот и всё.
Вообще же правка кода посредством преобразования AST (именно так это делается в IDE) очевидно является более надёжной, чем поиск/замена буковок по регэкспам. Однако существенно более сложна в реализации. Собственно, почему оно и ест больше ресурсов, и отсутствует во всяких geditах.
/>
/>Странно, а мне платят за результат.
Кому свистеть и так далее, а кому полезные инструменты. По всей видимости, вы просто не понимаете, о чём речь. Несмотря на то, что уверенно и безапелляционно об этом рассуждаете.
А мне платят за результат, и IDE мне реально помогают достичь его быстрее. А подсветка помогает быстрее структурировать код и не отвлекаться на ненужные детали.
Во фреймворке, с которым я работаю, что-то около 200 классов. В текущем проекте одной бизнеслогики на ещё 50 классов (по 5-7 методов). Ключевое слово — задолбаюсь память тренировать, для рутины есть компьютер. Частоиспользуемые сигнатуры я помню, а редкоиспользуемые — сюрприз — мне подсказывает IDE.
Ну и я умолчу о всяких приятных плюшках вроде «перекрыть метод»/«реализовать метод интерфейса» в один аккорд, полуавтоматических рефакторингов и т.д.
> По всей видимости, вы просто не понимаете, о чём речь.
Поверьте, я очень хорошо понимаю, о чём речь. Может быть даже лучше, чем вы.
> А мне платят за результат, и IDE мне реально помогают достичь его быстрее. А подсветка помогает быстрее структурировать код и не отвлекаться на ненужные детали.
Если ваш код так сложен, что в нём есть ненужные детали, вы делаете это не так.
> Во фреймворке, с которым я работаю, что-то около 200 классов. В текущем проекте одной бизнеслогики на ещё 50 классов (по 5-7 методов).
Вы работаете с продуктом, который отвратительно спроектирован, а рассуждаете так, будто это норма.
> Ну и я умолчу о всяких приятных плюшках вроде «перекрыть метод»/«реализовать метод интерфейса» в один аккорд, полуавтоматических рефакторингов и т.д.
Это что ещё за?
> Поверьте, я очень хорошо понимаю, о чём речь. Может быть даже лучше, чем вы.
Речь о плюшках, предоставляемых IDE, вроде тех, что я привёл. Ваши edlinы так могут? Какими IDE вы пользовались/пытались пользоваться и как долго?
> Если ваш код так сложен, что в нём есть ненужные детали, вы делаете это не так.
Конечно, не так. Вместо того, чтобы есть кактус и восхищаться «а колючки-то совсем тупые» я ещё и жаловаться смею. Ужас. Святотатство.
> Вы работаете с продуктом, который отвратительно спроектирован, а рассуждаете так, будто это норма.
Вообще для начала было бы неплохо вкурить предметную область, покрываемую этим продуктом, прикинуть хорошенько, как бы вы сами реализовали его, а уж потом можно и высказать аргументированное мнение. Вместо того, чтобы газифицировать лужи.
> Это что ещё за?
В общем, делаем так.
Запускаем Eclipse4Java/Netbeans/IDEA, открываем какой-нить проект на Java и последовательно проходимся по пунктам меню Refactor.
develop7, судя по тому что вы пишете — вы недавно кодите за деньги, проект убили до вас, и вы очень боитесь потерять вашу работу, поэтому и используете все эти среды и рефакторинги для создания видимости эффективной работы, типа закоммитил много строчек кода. Вот сколько я рефакторил код — как-то эти автоматические переносы кусков кода не особенно помогают, когда нужно его улучшить принципиально, а не впихнуть пару паттернов чтобы еще больше запутать код. Еще вы наверно много пользуетесь интерфейсами, наследованием и подобной хренью, на них все эти рефакторинги и работают, а не на нормальном относительно чистом коде.
> вы недавно кодите за деньги
Мимо. 6 лет скоро. Хотя кому и 20 — не показатель. Дада, я знаю, что у местных экспертов по всему средний стаж кодинга за деньги — 45 лет, спасибо.
> проект убили до вас
мимо.
>вы очень боитесь потерять вашу работу
мимо.
> используете все эти среды и рефакторинги для создания видимости эффективной работы
мимо. C IDE я работаю эффективнее, чем в этих ваших edlinах. И фреймворки, которые используют эти_ваши_паттерны, тоже помогают мне работать эффективнее.
> эти автоматические переносы кусков кода не особенно помогают, когда нужно его улучшить принципиально
Качественного скачка за программиста не сделает никто (очень странно, что я вообще вынужден это говорить). А вот всякие рутинные операции вроде неоднократно упомянутого переименования методов/классов или правки сигнатуры функции/метода IDE существенно облегчают. А редакторы — нет.
> впихнуть пару паттернов чтобы еще больше запутать код
Паттерны не «впихивают». Паттерны используют. И используют их не затем, чтобы запутать код — а чтобы сделать его проще в понимании и обслуживании. Ну а если в мозг не помещается — ну ничего, со всеми бывает.
Кстати, мудаков, которые паттерны именно впихивают и именно чтобы запутать код, я бы с удовольствием гнал из профессии ссаными тряпками.
> Речь о плюшках, предоставляемых IDE, вроде тех, что я привёл. Ваши edlinы так могут?
А должны?!
> Какими IDE вы пользовались/пытались пользоваться и как долго?
C++ Builder, Visual Studio, Eclipse. Очень недолго — все они, как и сама идея уберкомбайнов, ущербны. Извините, если я вас расстроил.
> Вместо того, чтобы есть кактус и восхищаться «а колючки-то совсем тупые» я ещё и жаловаться смею.
Вы же и восхищаетесь колючками в коде.
> Вообще, для начала, было бы неплохо вкурить предметную область, покрываемую этим продуктом…
Я не первый год вкуриваю и прикидываю, чтобы знать, что 200+50 классов — это пиздец, а не архитектура. Такое делают ООП-фанбойные джедаи, начитавшись макконелов, фоулеров и GoFов.
> Запускаем Eclipse4Java/Netbeans/IDEA, открываем какой-нибудь проект на Java и последовательно проходимся по пунктам меню Refactor.
Код, с которым я работаю, не требует того, что вы называете «рефакторинг», потому что он написан на основании здравого смысла, а не «передовых техник и шаблонов».
> А должны?!
Нет-нет, что вы — ведь это же не нужно ;)
> Очень недолго
Я что-то такое и предполагал :) В общем, предубеждение — страшная сила, как я и говорил.
> Извините, если я вас расстроил.
Напротив, даже повеселили :) В частности, категоричностью. Что ни мнение — то либоНЕНАВИСТЬ!!!1111, либо ОЙКАКАЯНЯШЕЧКАОБОЖАЮПРОСТОНЕМОГУ.
> Я не первый год вкуриваю и прикидываю, чтобы знать, что 200+50 классов — это пиздец, а не архитектура.
Полутора лет тоже недостаточно, поверьте.
С другой стороны, если вы не планируете поддерживать собственные проекты, то такой подход тоже имеет право на жизнь. Работает, и ладно. Ну подумаешь, придётся переписать 70% кода для реализации нетривиальной хотелки клиента — ну и что, киллеров не наймут же, правильно? Зато всегда будет работа, вот.
> Вы же и восхищаетесь колючками в коде.
С чего вы это взяли?
> начитавшись макконелов, фоулеров и GoFов.
Вообще паттерны проектирования хороши тем, что их не нужно выдумывать. Они есть уже сейчас, и достаточно гибки, чтобы собрать из них порядка 90% задачек. Таким образом экономится самый ценный ресурс — время программиста.
И да, коль уж Фаулер сотоварищи — ламо маздайное, посоветуйте, что же нужно читать. М?
На самом деле не «emacs не умеет…», а «erlang-mode не умеет…». Но с т.з. юзера это неважно.
Кстати, CEDET вроде как поддерживает плюсы полностью.
Да на джаве по-мойму основная проблема не сам язык и не платформа, а то, что наворочено много фреймворков и чтобы сделать простую вещь нужно 50 библиотек, а кодить всё руками люди понемногу отвыкают, да и смысла нет раз уже всё закодили. Как результат — тяжеловесные приложения (и по объему и по итоговой сложности кода — в том числе библиотечного).
Да Гугль вообще не показатель, что они там используют и на чем у них что написано. Думаю поиск у них не на джаве написан. А больше ни одного более-менее юзабельного продукта у них нет (пишу не для разведения флейма, а потому что так думаю. Гмайл не в счет — веб интерфейс мне лично надоел, простые клиенты больше нравятся).
Ну я использую емакс, а до этого пользовался как раз основными иде на джаве по очереди в течение лет 6 наверно (идея-нетбинс-идея-эклипс в такой последовательности). Ну и доволен в общем-то и назад не хочется.
Qt хорошая платформа, но писать на C++ это совсем не тоже самое, что на Java.
Думаю, Qt с C++ это хорошая альтернатива, в довольно обширной области, но не во всем.
Например, в области бизнес-приложений Java предпочтительнее (имеется в виду Java EE). Занимаюсь разработкой в этой области несколько лет и могу сказать, что в серверной части ничего лучше серверов на базе JavaEE найти не удалось. Что касается клиентской части, то есть идеи переноса кода с JavaSE на Qt с сильным «утоньшением» клиента (фактически на клиенте останется только UI на Qt).
А спринг?
Петиция по теме — www.petitionspot.com/petitions/macjdk («Contribute the Apple JDK source to OpenJDK»).