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

Замените

 setTimeout("postinsql(topicId)", 4000);

на

 setTimeout("postinsql(" + topicId + ")", 4000);

или еще лучше, замените строковое выражение на анонимную функцию

 setTimeout(function () { postinsql(topicId); }, 4000);

EDIT:

Комментарий Браунстоуна неверен, это будет работать так, как было показано, как показано на рисунке ниже, в этом случае в консоли Firebug

(function() {
  function postinsql(id) {
    console.log(id);
  }
  var topicId = 3
  window.setTimeout("postinsql(" + topicId + ")",4000); // outputs 3 after 4 seconds
})();

Обратите внимание, что я согласен с другими, что вам следует избегать передачи строка в setTimeout, так как это вызовет eval() в строке и вместо этого передаст функцию.

22
задан vaske 18 November 2008 в 20:04
поделиться

14 ответов

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

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

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

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

можно получить те преимущества от Mac также, но Linux предлагает другую хорошую премию:

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

[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 не работал надежно. Тогдашняя текущая версия кислорода только выполнила бы (неохотно) под IBM 64-разрядный VM, который будет работать в течение приблизительно 10 минут, пока это не прекратило получать события клавиатуры. Я наконец сдался в разочаровании и использовал свой Mac в течение нескольких месяцев, пока у меня не было достаточного количества времени простоя, чтобы сделать 32-разрядную установку 8,04 на поле Linux. Теперь все работает снова, и я довольно счастлив.

39
ответ дан bendin 18 November 2008 в 20:04
поделиться

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

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

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

0
ответ дан MarkR 18 November 2008 в 20:04
поделиться

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

0
ответ дан James 18 November 2008 в 20:04
поделиться

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

2
ответ дан Szundi 18 November 2008 в 20:04
поделиться
  • 1
    Если вопрос хотел мобильность, это shouldn' t определили x86 и ARM;-) – Steve Jessop 23 September 2008 в 14:40

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

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

0
ответ дан alastairs 18 November 2008 в 20:04
поделиться

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

0
ответ дан Uri 18 November 2008 в 20:04
поделиться

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

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

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

6
ответ дан tunaranch 18 November 2008 в 20:04
поделиться

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

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

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

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

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

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

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

7
ответ дан VonC 18 November 2008 в 20:04
поделиться

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

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

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

1
ответ дан Dave Hillier 18 November 2008 в 20:04
поделиться

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

0
ответ дан Peter M 18 November 2008 в 20:04
поделиться

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

я разрабатываю на окнах с IntelliJ 7. Это в порядке, но нуждается в некоторых значительных аппаратных средствах. Я тогда развертываюсь на solaris/linux. Если Вы не пишете GUI или интегрируетесь с кодом C++, необходимо быть прекрасным выбором, вообще поражает воображение.

11
ответ дан Egwor 18 November 2008 в 20:04
поделиться

Разработайте, на каком Вы довольны, и тест на том, на чем Вы развертываетесь.

я добираюсь, чтобы разработать Java на моем Mac и развернуться на Солярисе и Linux. Истина - то, что для объема задач, Java может быть разработан независимым от операционной системы способом. Это особенно верно для серверной разработки.

мне нравится разрабатывать на Unix в целом по полю Windows, но это - я.

6
ответ дан Will Hartung 18 November 2008 в 20:04
поделиться

Windows очень хорошо.

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

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

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

0
ответ дан Brian Knoblauch 18 November 2008 в 20:04
поделиться

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

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

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

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

0
ответ дан 29 November 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: