Вопрос

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

Каким был ваш опыт?

Это было полезно?

Решение

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

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

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

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

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

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

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

Другие советы

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

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

"развитие"?

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

Редко возникает необходимость в глубокой настройке на развитие Платформа.

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

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

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

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

Развивайте то, что вас устраивает, и тестируйте то, на чем вы развертываете.

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

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

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

Встроенная Java-разработка. Все необходимые инструменты командной строки Unix. Из коробки. Муравей и мавен здесь. Не последние версии, но их достаточно просто обновить.

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

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

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

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

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

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

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

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

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

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

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

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

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

С Windows все в порядке.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top