Почему вы выбираете java над другими? Почему вы выбрали java для программирования своего приложения?
Пожалуйста, укажите, что вы используете java для (настольное приложение/веб-приложение/мобильный).
Почему вы выбираете java над другими? Почему вы выбрали java для программирования своего приложения?
Пожалуйста, укажите, что вы используете java для (настольное приложение/веб-приложение/мобильный).
Я использовал Java для создания различных продуктов среднего уровня: Inventory mgmt; CMS; регистрация химических веществ; и др.
Одна из приятных вещей в Java - это то, что все это знают. Конечно, теперь, когда я сказал это, я получаю 80 комментариев от людей, утверждающих, что они никогда не изучали язык. Как бы то ни было...
Нравится нам это или нет, Java - это самое близкое к lingua franca (идиома означает "общий язык" ), который мы имеем в отрасли сегодня. Почти каждый из них либо использовал Java в какой-то момент, либо (чаще) активно использует его сейчас. Такого рода повсеместность может быть чрезвычайно привлекательной для некоторых компаний, особенно тех, которые зависят от консультантов. Если вы начинаете проект на Java, вы в значительной степени гарантируете, что сможете найти талант, чтобы поддерживать базу кода в течение многих лет в будущем.
С другой стороны, Java - отличный язык для разработки кросс-платформенных настольных приложений... это просто, что никто не знает об этом. Большая часть господства Java находится на стороне сервера в сочетании с небольшой любовью от толпы J2ME. Однако, если вы объективно рассматриваете Swing в Java 6uN, трудно найти лучший инструмент для работы. Не поймите меня неправильно, я вижу, что у него есть свои недостатки, но многие из них исправлены в последних выпусках. В настоящее время большая часть проблем - ум. Все знают, что Java медленная и уродливая (ни одна из которых не является строго верной). Другая проблема заключается в том, что Swing - это кросс-платформенный инструментарий UI. Это означает, что создавать профессиональные пользовательские интерфейсы в Swing гораздо сложнее, чем в Cocoa или даже WinForms.
Наконец, действительно хорошая причина для выбора Java (в отличие от .NET или Objective-C) - это экосистема. В других ответах упоминаются библиотеки, которые действительно заслуживают значительного внимания; но я думаю конкретно о растущем языковом разнообразии. Если вы пишете приложение в Java сегодня, вы можете в любой момент легко перейти на Scala. У вас также есть возможность делать скрипты в Groovy или JRuby, не говоря уже об использовании мощных абстракций concurrency в Clojure. Благодаря своей мобильности и высокоуровневому характеру JVM становится все более предпочтительной целью для компиляторов и переводчиков языка (даже больше, чем CLR). Java действительно находится в центре этой связи, не в полной мере пользуясь огромным облаком языков, которые роятся вокруг нее, но, безусловно, извлекают выгоду из всей функциональной совместимости, настоящего и будущего.
Моими предпочтениями Java в отношении других языков программирования в настоящее время являются:
Я пишу программы на Java уже более десяти лет, и я очень доволен этим. Я использовал другие языки почти за два десятилетия до этого. Поэтому я не предвзято описываю одно, что знаю, это один из многих языков, которые я знаю глубоко.
Когда выйдет обновление JDK/JRE, я просмотрю документацию, чтобы посмотреть, что изменилось. Солнце хорошо говорит/объясняет это. У меня никогда не было очень грубого переноса времени от одного JDK к другому.
Когда я перешел с одной ОС на другую в качестве основной ОС дома или на работе, это не вызвало проблемы для приложений Java, которые я пишу, или инструментов, которые я использую, в общем. Единственным исключением является Borland JBuilder, который некоторые Borland маркетинг или технический гений решил часто прекратить поддержку. Eclipse и Netbeans ужасно работают на Mac и, вероятно, всегда будут. Я использовал Java на:
Java-виртуальные машины (виртуальные машины) повсюду! Они находятся в:
Я написал программы по всем этим. Все, что вам нужно сделать - это получить IDE с правильными плагинами, получить документацию по API для целевой среды и начать программирование.
Программы GUI, которые я пишу, действительно выглядят и работают правильно на разных платформах! Я не могу сказать вам, как долго обещали другие продавцы, и как часто/долго они терпели неудачу. Просто осмотритесь, некоторые все еще существуют.
Sun пообещала это в Java 1.0, и они вроде бы поставляли его с AWT. Тем не менее, набор инструментов для абстрактного окна использовался с использованием собственных компонентов графического интерфейса и различия между этими компонентами (которые не соответствовали стандарту унификации) были слишком велики, чтобы получить одинаковый/приятный внешний вид на всех платформах.
Sun отлично зарекомендовала себя на этом переносном графическом интерфейсе, когда API GUI Swing был выпущен десять лет назад, еще в декабре 1998 года.
Что еще не упоминалось:
1) Очень хорошая и бесплатная документация
2) Очень хорошие коммерческие и бесплатные инструменты разработчика
3) хорошие сертификационные и учебные ресурсы
4) хорошее время исполнения и бесплатные инструменты
5) хорошие инструменты профилирования и мониторинга
6) очень хорошие варианты поддержки от различных компаний
7) очень хорошее сообщество с открытым исходным кодом с огромным количеством библиотек
Java предоставляет очень богатый API прямо из коробки, а hands-down выпускает самые портативные приложения, поскольку для почти каждой платформы есть виртуальная машина Java.
BTW: Я не использовал Java, так как оставил колледж, так как я работаю в магазине Microsoft, но я не могу придумать ни одной вещи, которую я могу сделать на С#, которую я не могу сделать на Java, будь то корпоративные приложения, веб-приложения или настольные приложения.
Переносимость - это ключ к java. Я знаю, что программа, которую я кодирую, будет работать в любой системе, нет необходимости создавать разные версии для разных ОС.
Java также предлагает встроенную защиту, что упрощает кодирование безопасных программ.
Java работает быстро, с чистый код java - это бенчмаркинг в том же диапазоне, что и С++.
С# - это язык, который чаще всего сравнивается с java. С# не такой портативный, как java, и имеет очень мало функций, которые нет в Java. Это делает Java намного привлекательнее, если программа не будет работать только на одной ОС, в этом случае я могу ее закодировать на С++.
Я переключился с лет С++ на Java, потому что я работал над материалом более высокого уровня и нуждался в преимуществах управления памятью, отражения и изолированного исполнения, которые я получаю с Java.
Я пробовал COM в конце девяностых и не мог прикоснуться к нему.
.NET выглядит многообещающим и во многом намного лучше, чем Java. К сожалению, быть оконным-ориентированным - это полный разбойник для меня.
Еще одно преимущество - доступные инструменты статического анализа, например, FindBugs. Они выполняют большую проверку вашего кода выше и выше тех, которые выполняются компилятором, и могут помочь выявить ошибки и/или запахи кода до начала тестирования.
Уже упоминалось много веских причин. Я бы хотел добавить политическую часть. Я считаю, что язык Suns намного больше, чем альтернативы Microsoft. Это не потому, что я ненавижу Microsoft, это просто, что Sun идет по направлению с Java, которое мне действительно нравится, и Microsoft идет в направлении с .net и т.д., Что мне действительно не нравится.
Это очень субъективно, я знаю. Но мне кажется, что Sun действительно хочет создать отличный язык и попытаться как-то заработать. В то время как Microsoft, похоже, больше заинтересована в том, чтобы зарабатывать деньги через блокировщик и системы, которые выглядят великолепно и отлично себя чувствуют, но могут быть не такими хорошими, как кажется в долгосрочной перспективе.
Итак, как Microsoft сейчас обрабатывает его, мне даже не важно, насколько это хорошо или плохо, технически. Мне все равно, я не буду использовать его.
В Java есть все, что я хочу от такого языка программирования, включая все скучные политические вещи, которые большинство людей просто пропускают. Я не знаю ни о каком другом текущем языке, который имеет все это.
Я использую Java для нашей платформы BPM и ранее использовал Java для корпоративных веб-приложений.
Это зависит от того, что вы хотите сделать. Учитывая возможности языка, доступные библиотеки и опыт IDE, я лично выбрал бы С# над Java. В С# 3.0 есть много полезных функций, которых не хватает Java, таких как LINQ, выражения Lambda и т.д. Некоторые люди предпочитают огромный выбор библиотеки, доступный для Java, но я думаю, что есть слишком много способов сделать что-то. Java IDE, такие как Eclipse и NetBeans, улучшаются, но я думаю, что Visual Studio все еще намного легче работать.
Конечно, если вы не используете Windows, у вас нет выбора, кроме как выбрать Java. Ruby и Python могут быть хорошими вариантами для таких приложений, как служебные приложения и графические интерфейсы, включая веб-приложения, но для корпоративных приложений, которые не используют Windows, Java - это почти единственный вариант.
Основная причина, по которой я использую Java для большинства моих приложений для настольных приложений, - это кросс-платформенная совместимость. Это довольно просто сделать, чтобы ваше приложение работало на OS X, Windows и Linux и выглядело родным на всех платформах.
Использование его для настольных приложений.
Отличные доступные IDE, замечательный API, синтаксис "C-style" упрощают выбор. После запуска JVM производительность отличная.
Почему я должен выбрать Java - это самый популярный язык там прямо сейчас? Если нет, это должно быть чертовски близко, поэтому, если я создаю продукт, я бы выбрал это, потому что это было бы проще всего нанять разработчиков.
Почему я выбрал Java - потому что это то, что я знаю лучше всего.
Почему я должен выбрать Java? Если бы у меня была команда сменная code monkeys разработчики, которые знали Java лучше, чем что-либо еще, это, вероятно, то, с чем я бы пошел.
Пожалуйста, не слепо следите за всеми java-entousiasts. У Java есть свои недостатки. Java отлично подходит для быстрого развития, ориентированного на предприятие материала и проекта с высокой производительностью (с множеством проектов, сообщества,...). И если один парень продемонстрирует мне контрольный показатель, подчеркивающий, как код Java может быть таким же оптимальным, как и материал C, это не значит, что полное Java-решение является быстрым и легким.
Java никогда не найдет своего пути в некоторых критически важных приложениях, таких как игры, кодеки, веб-браузер. В Java нет основного игрового программного обеспечения, а не потому, что разработчик не способен писать один кусок кода Java, который имеет ту же скорость, что и C или С++, потому что сами ограничения языка связаны с тем, что производительность и объем памяти будут никогда не достигают хорошего кода C/С++. Принимает VisualStudio и Eclipse. Java отлично подходит для одного материала (продукт производительности, промежуточное ПО для предприятий), но если вы хотите писать кодеки, игры, критичные по производительности библиотеки, вам лучше попробовать знать C. Но, с другой стороны, вы напишете Java-код быстрее и безопаснее, а C и С++ вы будете больше рисковать (указатели!), И это занимает обычно больше времени.
И не забывайте анекдот "Пишите один раз, отлаживайте всюду", на самом деле это правда. Вы должны иметь дело с разным кошмаром внедрения JVM с Java.
Другие языки программирования имеют интерес, bash/скрипты python для локальных скриптов (повторяющиеся действия, быстрый и быстрый интерфейс,...). Php или ruby для web-приложения очень хорошо развернуты и документированы в Интернете.