Лучшая ОС для разработки Java?

Какая лучшая ОС для разработки Java? Люди из Sun подталкивают Solaris, да Solaris имеет некоторые дополнительные функции, включенные в себя, такие как (dTrace, возможность настройки производительности JVM и т.д.). Некоторые мои друзья, приложили свои приложения к соляриусу, и они сказали мне, что выступления были блестящими. Я не доволен переключением своей ОС и вместо этого использую Solaris.

Каковы были ваши впечатления?

Ответ 1

Из трех, которые я использовал (Mac OS X, Linux, Windows), я считаю Linux лучшим местом для разработки Java.

Моя основная персональная машина - это Mac, и я сделал там довольно много Java-разработок и был доволен этим. К сожалению, Apple отстает от официальных релизов JDK, и вы в значительной степени ограничены несколькими версиями, которые они предпочитают предоставлять.

Моя машина, предоставленная работодателем, представляет собой старый ящик P4 от HP, который я использую в основном для того, чтобы мои ноги были теплыми. Реальная работа происходит "Oberon", на четырехъядерном процессоре с тактовой частотой 2,6 ГГц Ubuntu 8.04 в 32-битном режиме [1]. Два преимущества, которые я вижу каждый день по сравнению с Windows:

  • Мощная командная строка, которая помогает мне автоматизировать скучные мелочи.
  • Дальнейшая высокая производительность файловой системы. (В настоящее время я использую EXT3, потому что я становлюсь консервативным в своем старости. Раньше я использовал ReiserFS, что было еще быстрее для тех видов операций, которые обычно выполняются на больших рабочих пространствах, извлеченных из подрывной деятельности.)

Вы можете получить эти преимущества от Mac, но Linux предлагает еще один приятный бонус:

  • Удаленный X11: до того, как мой $EMPLOYER предоставил электронную почту и календарь через Интернет, я должен был быть в окне Windows, чтобы читать мою почту и видеть мои встречи, поэтому я использовал Cygwin X11. Это позволило мне запустить материал в Linux, но отобразить его на рабочем столе Windows.

[1] Я использовал Ubuntu в 64-битном режиме, но у меня не было никаких проблем. (Смешивание 64-битного и 32-битного - это то, что Mac OS X делает намного лучше.) 7.04 отлично работала 32-разрядные приложения на 64-битном ядре. 7.10 сломал linux32 script и возможность установки новых 32-битных приложений, хотя старые продолжали (в основном) работать. 8.04 убил 32-битную java, сделав невозможным подключение к сети с 32-разрядной JVM (больше нет обновлений для Eclipse). Запуск 64-битной Eclipse не работал надежно. Текущая версия oXygen будет работать (неохотно) под IBM 64-разрядной VM, которая будет работать около 10 минут, пока не перестанет получать события клавиатуры. Я, наконец, разочаровался и использовал свой Mac в течение нескольких месяцев, пока у меня не хватило времени на выполнение 32-разрядной установки 8.04 в ящике Linux. Теперь все работает снова, и я вполне доволен.

Ответ 2

Развивайте все, что вам нравится. Как программист на Java, вы можете избежать Mac OS X, прежде всего потому, что новые функции, похоже, были значительно задержаны, а также потому, что вы можете найти, что у вас больше нет машины, поддерживающей новые версии Java. Сказав, что я предполагаю, что разработка на Mac OS X должна быть очень приятной (интерфейс командной строки, dtrace, хорошая ОС).

Я разрабатываю на Windows с IntelliJ 7. Это нормально, но вам нужно какое-то тяжелое оборудование. Затем я развертываю на solaris/linux. Если вы не пишете графический интерфейс или не интегрируетесь с кодом на С++, вы должны быть в порядке, что бы вы ни выбрали.

Ответ 3

"разработка"?

Я считаю, что вам следует придерживаться той ОС, с которой вам наиболее комфортно, или которая наиболее доступна для большой группы (разработчиков), например, для набора ПК в Windows.

Редко нужно делать глубокую настройку на платформе разработки.

Вы оставите все эти dtrace и другие настройки производительности на платформе сборки (например, в Linux), для ежедневных развертываний, где все будет перекомпилировано и проверено на единицу.

И тогда вы можете настроить специальную JVM (например, IBM JRockit вместо Sun JRE), чтобы провести анализ на вашей платформе интеграции, где все ваши системы можно протестировать с одного взгляда назад, со стрессом и безрегрессионным тестом

И, наконец, сделайте все тесты UAT (User Acceptance Tests) на предварительной производственной платформе (которая может быть дорогой F15K или SunFire880 или V490 или...) с целевой JRE, используемой там.

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

Ответ 4

Разработайте то, что вам нравится, и проверьте, на что вы развертываете.

Я получаю разработку Java на своем Mac и развертывание в Solaris и Linux. Истина заключается в том, что для большинства задач Java может быть разработан независимо от ОС. Это особенно актуально для разработки на стороне сервера.

Мне нравится разрабатывать в Unix вообще по Windows, но это мне.

Ответ 5

Я бы сказал Mac OS X.

Встроенная разработка Java. Все инструменты командной строки unix, которые вы хотите. Из коробки. Ant и maven. Не последние версии, но это достаточно легко обновить.

Да, у вас может не быть самой последней версии JDK, но на самом деле, если вам не нужна разработка для самого последнего и самого большого JDK, это не будет проблемой.

Ответ 6

Ответ прост, чем вы думаете: используйте свою любимую ОС. Для Java это лучший ответ. Не сама разработка, но ваш комфорт поможет вашему успеху, просмотру документов и т.д. В вашей любимой среде.

Ответ 7

Лично я не стал бы беспокоиться. Я бы использовал платформу, которая наилучшим образом поддерживает инструменты разработки и целевую платформу, которую вы используете.

Зачем вам нужно настраивать JVM? Это очень необычная вещь, которую хочется делать. Лучше ли вы писать на более низком уровне, например, на С++?

Dtrace доступен для OS X, также есть порт linux. У Solaris исторически была репутация медленного (отсюда прозвище Slowaris). Я не уверен, что это все еще так.

Ответ 8

У меня был успех перед тем, как начать разработку Java в Windows с помощью Eclipse. Похоже, вы также спрашиваете о развертывании/хостинге. Независимо от того, какая ОС лучше всего запускать ваше приложение, не следует предикатировать, какую ОС вы используете для разработки приложения.

Ответ 9

Windows и Eclipse работают хорошо, как предложил pmiller. Я также могу рекомендовать OS X с Eclipse или IntelliJ IDEA (последний также работает и в Windows).

Я только когда-либо делал самую основную разработку Java в Solaris (практика программирования базовых данных в университете), поэтому я не могу предложить никакого реального сравнения, я боюсь. Однако в Solaris мне было очень больно, из-за отсутствия надлежащих инструментов (я думаю, что мне было запрещено делать или что-то).

Ответ 10

Одна вещь, которую вы должны принять во внимание, заключается в том, будете ли вы разрабатывать приложение, которое можно запустить на Mac. Мне нравится OS X, но хороший старый steve удостоверился, что у нас всегда много версий JDK. Мы просто получили Java 6. Разработка на Mac может по крайней мере гарантировать, что вы работаете с минимально возможной версией JDK.

Ответ 11

Я использовал Linux, Windows и OS X. Мой большой аргумент в пользу OS X заключается в том, что это удобная для пользователя операционная система (т.е. я могу запускать iTunes, большинство современных браузеров и не нужно выделять 50 % моего времени поддерживая его на ноутбуке, таком как linux) с основанием unix. Поскольку большинство моих разработок для систем unix, это делает жизнь чрезвычайно продуктивной. Кроме того, здесь есть все более активное сообщество разработчиков. Эта причина также работает в обратном направлении для Windows - в то время как cygwin закрывает некоторые из моих требований для использования инструментов unix - это не похоже на наличие реальной системы unix.

Ответ 12

Ваша среда разработки ДОЛЖНА БЫТЬ ИСПОЛЬЗОВАНА КАК ПРОИЗВОДСТВО.

Нет "лучшей среды разработки", которая не идентична вашей производственной среде. Запустите то, что вы запускаете в процессе производства, в разработке.

Это не означает, что вы не можете запускать свою среду IDE, например, в другой ОС, если вы все еще работаете с разработкой в ​​той же системе, что и производство (например, на другой машине или виртуальной машине).

Ответ 13

Windows просто отлично.

Solaris - замечательная среда разработки Java (мне нравится это лучше, чем Windows, но по субъективным причинам), но если вы не развертываете ее, возможно, не стоит переходить на нее.

Linux немного неуклюж для разработки Java, но выполнимый.

Единственное, что я не могу порекомендовать, это Mac, потому что они всегда остаются в стороне от доступной версии Java (не предоставляется Sun, Apple делает свои собственные).

Ответ 14

Мой лучший совет - разработать на платформе, на которую вы нацеливаетесь. Таким образом, когда вы запускаете его во время тестирования разработки и запускаете модульные тесты, вы знаете, что он также будет работать на целевой платформе, без каких-либо неприятных сюрпризов.

Если вы настроите таргетинг на все платформы, тогда вы, возможно, захотите разработать на Mac, потому что вы получите самые неприятные сюрпризы на Mac. Что касается Java, то в Windows и Unix "это просто работает", но не так много на Mac. Sun разрабатывает среду выполнения Java (JRE) для всех операционных систем, кроме Mac. Apple разрабатывает собственную JRE.

Если вы разрабатываете Mac, вы, скорее всего, развиваетесь против наименьшего общего знаменателя, поэтому то, что работает на Mac, должно работать на других. Это был мой опыт.

Запрет на это, я всегда рекомендую вам выбрать операционную систему на основе того, запускает ли она ваше программное обеспечение. Выберите ОС, которая запускает вашу среду IDE и другие инструменты, которые вы используете для разработки и тестирования. Если более чем одна ОС запускает нужные вам инструменты, выберите тот, который наилучшим образом запускает их.