Почему вы выбрали бы язык программирования Java над другими? [закрыто]

Альтернативный метод:

import os
import sys    
import termios
import fcntl

def getch():
  fd = sys.stdin.fileno()

  oldterm = termios.tcgetattr(fd)
  newattr = termios.tcgetattr(fd)
  newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO
  termios.tcsetattr(fd, termios.TCSANOW, newattr)

  oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)
  fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)

  try:        
    while 1:            
      try:
        c = sys.stdin.read(1)
        break
      except IOError: pass
  finally:
    termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
    fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
  return c

Из этого сообщения в блоге .

20
задан Steven A. Lowe 16 October 2008 в 18:11
поделиться

15 ответов

Я использую Java для нашей платформы BPM и используемый Java в прошлом для веб-приложений предприятия.

Это зависит от того, что Вы хотите сделать. Рассматривая функции языка, библиотеки доступный и опыт IDE, я лично выбрал бы C# over Java. C# 3.0 имеет много полезных функций, в которых Java испытывает недостаток, такие как LINQ, Лямбда-выражения, и т.д. Некоторые люди предпочитают огромный выбор библиотеки, который доступен для Java, но я думаю, что существует только слишком много способов сделать вещи. IDE Java как Eclipse и NetBeans являются улучшением, но я думаю, что Visual Studio еще намного легче работать с.

, Конечно, если Вы не используете Windows, у Вас нет большой части выбора, но выбрать Java. Ruby и Python могут быть хорошими вариантами для вещей как служебные приложения и графический интерфейсы пользователя, включая веб-приложения, но для корпоративных приложений, которые не используют Windows, Java является в значительной степени единственной опцией.

2
ответ дан Denis Fradlin 16 October 2008 в 18:11
поделиться
  • Превосходные инструменты: IDE, CI, и т.д.
  • Обширный массив сторонних библиотек.
  • Огромная сумма доступной документации.
  • Большой бассейн доступных разработчиков.
  • повсеместная Платформа.
  • Превосходная производительность.
  • Превосходная спецификация.
  • Крепкая сборка "мусора".
  • Управляемая память.
  • Собственные потоки.
  • Выбор - реализованный несколькими поставщиками.

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

35
ответ дан johnstok 16 October 2008 в 18:11
поделиться

Не следуйте вслепую за всем java-entousiasts. Java имеет свои собственные дефекты. Java является большим для быстрой разработки, предприятие ориентировало материал, и "высокую производительность" проект (с тоннами проектов, сообщества...). И если один парень показывает мне выделение сравнительного теста, как код Java может быть столь же оптимальным, как C материал не означает, что полное решение для Java быстро и легко.

Java никогда не будет находить свой путь на некоторых важных приложениях производительности, как игры, кодеки, веб-браузер. Никакие главные компьютерные игры не разрабатываются в Java, и не потому что разработчик не способен к записи одной части кода Java, который имеет ту же скорость как C или C++, это вызвано тем, что самые ограничения языка включают ту производительность, и память consuption никогда не будет достигать хорошего кода C/C++. Берет VisualStudio и Eclipse. Java является большим для одного материала (материал производительности, промежуточное программное обеспечение предприятия), но если Вы хотите записать кодеки, игры, производительность критические библиотеки, необходимо попытаться знать C. Но, один другая рука, Вы напишете код Java, быстрее и более безопасный с C и C++, Вы берете на себя больше риска (указатели!) и это обычно занимает больше времени.

И не забывают шутку "Запись однажды, Отладка везде", это на самом деле верно. Необходимо иметь дело с другим кошмаром реализации JVM с Java.

Другой язык программирования имеют их интерес, сценарии удара/Python для локальных сценариев (повторяющееся действие, быстрый и быстрый UI...). Php или рубин для webapplication очень хорошо развертываются и документируются в сети.

1
ответ дан 16 October 2008 в 18:11
поделиться

Другое преимущество является потрясающими доступными инструментами статического анализа, например, FindBugs. Они выполняют большое проверение Вашего кода выше и вне выполненных компилятором и могут помочь определить ошибки и/или кодировать запахи, прежде чем тестирование начнется.

3
ответ дан Dónal 16 October 2008 в 18:11
поделиться

Почему я выбрал бы Java? Если у меня, оказалось, была команда <забастовки> заменимый обезьяны кода разработчики, которые знали Java лучше, чем что-либо еще, которое является, вероятно, с чем я пошел бы.

0
ответ дан runrig 16 October 2008 в 18:11
поделиться

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

C# является языком, который добирается по сравнению с Java чаще всего. C# не является столь же портативным как Java и имеет очень немного функций, которые не делает Java. Это делает Java намного более привлекательным, если программа не будет ТОЛЬКО запущена на единственной ОС, в этом случае я мог бы кодировать его в C++.

4
ответ дан WolfmanDragon 16 October 2008 в 18:11
поделиться

Используя его для настольных приложений.

Превосходные IDE доступный, замечательный API, синтаксис "C-стиля" помогает погрузке. Как только JVM запускается, производительность является большой.

1
ответ дан Brian Knoblauch 16 October 2008 в 18:11
поделиться

Почему я выбрал бы Java - действительно ли это - самый популярный язык там прямо сейчас? В противном случае это, должно быть чертовски близким, поэтому если бы я создаю продукт, я мог бы выбрать это, потому что было бы самым легким нанять разработчиков для.

, Почему, я выбираю Java - потому что это - то, что я знаю лучше всего.

1
ответ дан bpapa 16 October 2008 в 18:11
поделиться

Вещи еще не упомянули:

  • Межплатформенное Настольное приложение, даже со сложным набором GUI
  • инструментов
  • статический контроль типов (см. GWT)
  • сообщения об ошибках во время компиляции
  • очень четкие сообщения об ошибках
6
ответ дан Davide 16 October 2008 в 18:11
поделиться

Java обеспечивает очень богатый API прямо из поля, и руки вниз производит большинство портативных приложений, так как существует Java VM почти для каждой платформы.

BTW: Я не использовал Java, так как я покинул колледж, так как я работаю на магазин Microsoft, но я не могу думать о единственной вещи, которую я могу сделать в C#, который я не могу сделать в Java, ли это быть корпоративными приложениями, веб-приложениями или настольными приложениями.

5
ответ дан IAmCodeMonkey 16 October 2008 в 18:11
поделиться

1) Очень хорошая и свободная документация
2) Очень хороший разработчик коммерческие и бесплатные инструменты
3) хорошая сертификация и учебные ресурсы
4) хорошие и бесплатные инструменты во время выполнения
5) хорошее профилирование и контроль инструментов
6) очень хорошие варианты поддержки от различных компаний
7) очень хорошее сообщество разработчиков ПО с открытым исходным кодом с огромным количеством библиотек

6
ответ дан anjanb 16 October 2008 в 18:11
поделиться

Много больших причин было уже упомянуто. Я хотел бы добавить политическую часть. Я доверяю языку Солнц намного больше, чем альтернативы Microsoft. Это - не потому что я ненавижу Microsoft, это просто, что Sun идет направление с Java, что я действительно как, и Microsoft иду направление с .NET и т.д., что мне действительно не нравится.

Это очень субъективно, я знаю. Но мне кажется, что Sun действительно хочет создать большой язык и попытаться делать деньги так или иначе. В то время как Microsoft кажется более интересующейся деланием денег зависимостью от поставщика и системами, который выглядит большим и чувствует себя большим, но не может быть столь хорошим, как это смотрит в конечном счете.

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

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

3
ответ дан myplacedk 16 October 2008 в 18:11
поделиться

Мои причины того, чтобы предпочесть Java по другим языкам программирования в это время:

  • цена - это свободно
  • производительность - действительно быстро в эти дни благодаря JIT-компилятору HotSpot
  • эффективность - много питания со строгими функциями как безопасный с точки зрения типов, поигравший в песочнице, и т.д.
  • возможность ООП
  • очень хороший, хорошо думавший обработка исключения; исключения C++ являются противоположным!
  • мобильность - это работает почти на всем
  • доступность инструмента - потрясающие IDE как Eclipse & NetBeans свободны, как веб-серверы как Tomcat и серверы приложений (JBoss, Glassfish, Geronimo, и т.д.)
  • , гибкость - делает графику, настольные графический интерфейсы пользователя, интерфейсы интернет-пользователя - все виды вещей во всех видах сред выполнения
  • пригодность - много корпоративных приложений сегодня должны поддерживать HTML, SQL и XML - Java имеет хорошую поддержку всех их, встроил, и можно получить сторонние библиотеки бесплатно, которые делают это еще более легким/лучше
  • хорошо поддерживаемый - Sun продолжает добавлять улучшения и чинить вещь, идущую одна или две версии назад
  • прямая совместимость - в отличие от чего-то как VB, который претерпевает закручивающее изменение в его синтаксисе каждая пара, версии или так, синтаксис и семантика Java кажутся приблизительно 99,9%, совместимыми снизу вверх от версии до версии

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

, Когда обновления JDK/JRE выходят, я просматриваю документацию для наблюдения то, что изменяется. Sun хорош о сообщении/объяснении этого. У меня никогда не было чрезвычайно грубого времени, портируя от одного JDK до следующего.

, Когда я переключился от одной ОС до другого как моя основная ОС дома или на работе, она не вызвала проблему для JAVA-приложений, которые я пишу - или инструменты, которые я использую, обычно. Одним исключением является Borland JBuilder, который некоторый маркетинг Borland или технический гений, решенный, чтобы часто прекратить поддерживать. Eclipse и Netbeans, выполненный ужасно на Mac и вероятно всегда, будут. Я использовал Java на:

  • MS Windows 95, 98, NT4, 2000, Unix XP
  • Sun Solaris/SunOS
  • Mac OS X IBM AIX
  • сотовые телефоны Linux
  • Motorola (MIDP, CLDC)
  • Java Palm Pilot PDA

VMs (виртуальные машины) везде! Они находятся в:

  • веб-браузеры
  • сотовые телефоны
  • настольные компьютеры PDAs
  • веб-серверы
  • серверы приложений

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

программы GUI, которые я пишу на самом деле, смотрят & работайте правильно над различными платформами! Я не могу сказать Вам, сколько времени другие поставщики обещали сделать и как часто/долго они перестали работать. Просто озирайтесь, некоторые все еще существуют.

Sun обещал это в Java 1.0, и они сортируют поставленных его с AWT. Однако абстрактный инструментарий работы с окнами использовал собственные компоненты графического интерфейса пользователя и различия между этими компонентами (который следовал, никакой стандарт объединения вообще) были слишком большими для получения того же/хорошего взгляда/поведения на всех платформах.

Sun, поставленный очень хорошо на этот портативный GUI, обещает, когда API GUI Swing был поставлен десятилетие назад, назад в декабре 1998.

7
ответ дан JohnnySoftware 16 October 2008 в 18:11
поделиться

Одна из хороших вещей о Java - то, что все знают это. Конечно, теперь, когда я сказал, что, получу 80 комментариев от людей никогда, утверждающих не учить язык. Будьте этим, как это может...

Нравится или нет, Java является самой близкой вещью на лингва франка (идиома означает "общий язык"), мы имеем в промышленности сегодня. Примерно каждый или использовал Java в какой-то момент или (чаще всего) активно использует его теперь. Такая повсеместность может быть чрезвычайно привлекательна для некоторых компаний, особенно уверенные в консультантах. При запуске проекта в Java Вы, как в значительной степени гарантируют, будете в состоянии найти талант поддерживать кодовую базу в течение многих лет в будущем.

На другом гвозде, Java является превосходным языком для разработки межплатформенных настольных приложений... это просто, что никто не знает это. Большая часть преобладания Java находится на стороне сервера вместе с определенной любовью от толпы J2ME. Однако, если Вы объективно рассматриваете Swing в Java 6uN, трудно найти лучший инструмент для задания. Не понимайте меня превратно, я вижу, что это имеет свои дефекты, но многие из тех были зафиксированы в недавних выпусках. Большей частью проблемы теперь является доля завоеванного внимания: все знают , что Java является медленным и ужасным (ни один из которых больше не строго верен). Другая проблема состоит в том, что Swing является в значительной степени межплатформенным инструментарием UI. Это означает, что по сути намного более трудно создать профессиональный UIs в Swing, чем в Какао или даже WinForms.

Наконец, действительно большой причиной выбрать Java (в противоположность.NET или Objective C) является экосистема. Другие ответы упомянули библиотеки, которые действительно заслуживают значительного центра внимания; но я думаю конкретно о возрастающем разнообразии языка. Если Вы пишете приложение в Java сегодня, можно беспрепятственно перейти Scala в любое время. У Вас также есть опция сделать сценарии в Groovy или JRuby, не говоря уже об использовании в своих интересах мощных абстракций параллелизма в Clojure. Из-за ее мобильности и высокоуровневой природы, JVM все больше является предпочтительной целью для языковых компиляторов и интерпретаторов (еще больше, чем CLR). Java действительно в центре той связи, не действительно извлекая выгоду непосредственно из обширного облака языков, которые роятся вокруг этого, но конечно получение значения на всю совместимость, настоящее и будущее.

22
ответ дан Daniel Spiewak 16 October 2008 в 18:11
поделиться

Я переключился с лет C++ к Java, потому что я работал над высокоуровневым материалом и нуждался в преимуществах управления памятью, отражения, и поиграл в песочнице выполнение, которое я получаю с Java.

я попробовал COM в конце девяностых и не мог коснуться его.

.NET выглядит многообещающей и во многих отношениях теперь намного лучше, чем Java. К сожалению, быть центральным окном является полным dealbreaker для меня.

3
ответ дан Uri 16 October 2008 в 18:11
поделиться
Другие вопросы по тегам:

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