Существует некоторая реклама с такими языками, как Python (что мне очень нравится) и Ruby, но я пишу систему среднего размера в Python и ощущаю отсутствие некоторых инструментов, которые у меня были бы, если бы я использовал Java: функции Eclipse, Интеграция JUnit и некоторые языковые функции, такие как улавливание некоторых ошибок во время компиляции.
Некоторые люди говорят, что Java мертв как язык. Но большое важное программное обеспечение написано на Java: Hadoop, Lucene и многие другие.
Является ли Java более понятным языком, чем Python или Ruby для такого программного обеспечения средней и большой инфраструктуры?
Этот вопрос может стать очень аргументированным... Для корпоративного программного обеспечения большую часть времени ключевой фактор является политическим, а не техническим.
Если вы владеете бизнесом, придерживайтесь технологии, которая наилучшим образом соответствует вашему видению. Если нет, используйте Java - это политически безопасно.
В технической области это почти галстук.
Вы подтверждаете, что Java больше подходит для корпоративного программного обеспечения. Это действительно, где Java сияет: он отлично работает для корпоративного программирования.
Однако ваши проблемы с инструментами в Python и Ruby необоснованны. PyDev для Eclipse в полной мере использует те же функции, которые вам понравятся, если вы разрабатываете Java. Ruby имеет аналогичный плагин для Eclipse. Для обоих языков существуют единые модули тестирования, такие как pyunit, нос и другие (и я считаю, что PyDev поддерживает модульные тесты). Кроме того, точно так же, как компилятор Java будет ловить ошибку во время компиляции, Python script даст синтаксические ошибки перед запуском, а также (ИМО) гораздо более понятную систему ошибок, чем компилятор Java.
Поскольку Python и Ruby - это языки сценариев, их область знаний больше связана с небольшими задачами, быстрой разработкой и использованием фреймворков, таких как Django или Rails. Так что да, более тяжелые языки, такие как Java, отлично подходят для предприятий, но есть что сказать об элегантности и простоте использования Python и Ruby.
На самом деле большая часть мухны. В Python/Ruby есть функции, которые вы знаете об этом, что делает их более привлекательным предложением, чем Java. Статическая типизация может быть вашим лучшим другом большую часть времени, и боль для другого.
Отсутствие инструментария связано с усыновлением. Java/С# имеет более широкое применение.
Корпорации/Предприятия и средние и крупные организации, например, приобретать решения с контрактами, а не технические достоинства.
Из опыта Python имеет некоторые проблемы с производительностью, я не могу комментировать Ruby, но я полагаю, что если ваши приложения требуют специальной скорости, я бы не использовал python.
Кроме того, многопоточная обработка потоков не так хороша, как может быть в python, хотя 2.7, похоже, улучшает многие старые проблемы, я думаю, что проблема GIL по-прежнему остается для потоковой передачи.
Мой единственный комментарий к Java - это то, что теперь Oracle стоит за ним, и в зависимости от того, где ваше сидение и как вам нравится Oracle, вы можете изменить свое отношение к Java. особенно если вы разрабатываете решения для Open Source.