LINUX.ORG.RU

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

Tark ★★
()

Спроси у биореактора :3

Deleted
()

как то слишком толсто, не? можно закрывать

хотя бы аргументы принес надуманные

umren ★★★★★
()

Кто вам такую глупость сказал? Самые востребованные — 1С и РНР.

PolarFox ★★★★★
()
Ответ на: комментарий от umren

Зашёл на первый же попавшийся сайт по работе для программистов, в списке вакансий лидирует Java.

w1nner ★★★★★
() автор топика

на нем легко и неприятно писать, и хорошо поддерживать

на руби легко и НЕприятно, и тяжело поддерживать

но кому интересно удобство рабов, главное чтобы рабы могли хорошо тянуть баржу (поддержку)

stevejobs ★★★★☆
()

1. Скорость выполнения. Java компилируется в очень быстрый код. Мало языков могут с ней сравниться.

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

3. Простота. Если взять Java 1.4, то это очень простой язык. Опытный программист может разобраться с ним буквально за неделю и начать продуктивно работать. Последующие версии язык усложнили, но его основа остаётся простой. На мой взгляд новичкам лучше всего изучать Java начиная с версии 1.4 и потом изучать добавленные фичи и то, как они ложатся на 1.4.

4. Число программистов. Это один их самых популярных языков программирования и всегда можно найти специалистов по ней любого уровня.

5. Мощность. Java поддерживает ООП (и в ограниченном объёме ФП). Это позволяет применять её для решения самых разнообразных задач.

6. Безопасность. Java является довольно безопасным языком. В ней сложно выстрелить себе в ногу. Кончился стек? Кинулось StackOverflowError, которое легко поймать и обработать. Разыменовали null? Кинулось NullPointerException, программа работает в штатном режиме. Ошибки класса «использование памяти после освобождения» исключены в принципе. Нельзя вылезти за пределы массива и испортить важные пользовательские данные. Более того, подробные стектрейсы позволяют легко находить место, в котором находится баг.

6. Обилие библиотек. Для Java, наверное, библиотек больше, чем для какого-либо другого языка. Это позволяет решать многие задачи, используя уже готовый код.

7. Развитый инструментарий. Только качественных IDE для Java известно 3 штуки (если не считать форков). Утилиты для сборки, статического анализа, проверки стиля, профайлеры, генераторы кода и многое другое.

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

9. Наработанная база программного кода. Java уже не первый десяток лет является одним из лидирующих языков программирования. За это время было написано множество программ, сопровождение и развитие которых требует программистов на Java.

Думаю это основные причины популярности этого языка.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

а какже незабвенная возможность в продакшене подцепиться к jre и посмотреть как там дела, ничего не перезапуская?

Deleted
()
Ответ на: комментарий от Deleted

в ruby можно найти _все_ места где используется метод to_str именно определенного интерфейса?

Deleted
()
Ответ на: комментарий от Legioner

фигасэ.. нормально так набросил, только пункт 1 не очень

unt1tled ★★★★
()

Деньги, деньги, дребеденьги.

dormeur86 ★★★★
()

Наверное потому что это самый эффективный ЯП из ныне существующих. Эффективность в данном случае включает не количество монад и лямбд на квадратный метр кода, а количество и качество библиотек, документации, сообщества — вот это всё.

CARS ★★★★
()
Ответ на: комментарий от Legioner

Скорость выполнения. Java компилируется в очень быстрый код. Мало языков могут с ней сравниться.

Лол!

Кроссплатформенность. Java работает везде, от миллиметровых сим-карт до многотысячных серверов.

Это такая же жаба, как me, только название похоже.

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

Простота языка никак не компенсирует угрёбищность его фреймворков.

Число программистов. Это один их самых популярных языков программирования и всегда можно найти специалистов по ней любого уровня.

PHP-шников больше, о чем это говорит?

Мощность. Java поддерживает ООП

Лоооооол! Вот это охренительное преимущество, никто ж больше такого не может!

Безопасность. Java является довольно безопасным языком.

Касается любого интерпретируемого или управляемого языка. А js вообще круть по этому критерию!

Обилие библиотек. Для Java, наверное, библиотек больше, чем для какого-либо другого языка.

Расскажите это сишникам. И да, большое количество библиотек не обозначает их высокого качества.

Развитый инструментарий. Только качественных IDE для Java известно 3 штуки (если не считать форков).

Зачем же их аж три штуки, если они такие качественные?

Количество обучающего и справочного материала. Тысячи книг, десятки тысяч сайтов, миллионы ответов на stackoverflow

По бейсику не меньше, и что это значит?

Наработанная база программного кода.

Говнокода, вы хотели сказать?

quwy
()
Ответ на: комментарий от quwy

Когда ты критикуешь ЯП с точки зрения характеристик, таких как скорость, качество кода, качество инструментария, и т.п., то неплохо было бы приводить примеры: «в java плохо то-то и то-то, а есть ЯП X, где это сделано хорошо».

mono ★★★★★
()
Последнее исправление: mono (всего исправлений: 1)
Ответ на: комментарий от mono

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

quwy
()
Ответ на: комментарий от Legioner

Все правильно сказал. Ей бы еще гуй а-ля Tk (в плане гибкости), цены бы не было.

buddhist ★★★★★
()
Ответ на: комментарий от quwy

Код джявы кстати довольно быстрый, если использует jit. Проблемы там с памятью и «невовремя сработавшей» сборкой мусора. Если пол-кучи уже в свопе, то естественно пока gc работает - всё стоит раком, вне зависимости от быстроты кода.

svr4
()
Ответ на: комментарий от quwy

Лол!

Аргументы?

Это такая же жаба, как me, только название похоже.

На самом деле практически такая же. Стандартная библиотека отличается, подходы к разработке отличаются (по очевидным причинам), но в целом язык не особенно отличается.

PHP-шников больше, о чем это говорит?

О том, что это сильная черта языка PHP.

Лоооооол! Вот это охренительное преимущество, никто ж больше такого не может!

Многие не могут. Возьми JavaScript. Насколько там убогая поддержка ООП, это просто ужас. Да даже в таком популярном языке, как пайтон, насколько я помню, нет разделений областей видимости, всё опирается на соглашения об именовании идентификаторов.

Касается любого интерпретируемого или управляемого языка. А js вообще круть по этому критерию!

Насчёт любого — не факт, но в целом да, наверное большинства касается. Это важный плюс для этих языков.

И да, большое количество библиотек не обозначает их высокого качества.

Большое количество библиотек означает возможность выбора. Взять задачу работы с XML. И тут я сходу найду 3 разных библиотеки, имеющих сильные черты в разных областях. Одна поддерживает W3C стандарты. Вторая имеет удобный API для работы из Java. Третья очень быстрая и имеет очень низкий оверхед по памяти.

Есть и некачественные библиотеки, кто ж спорит. Но есть и множество качественных.

Зачем же их аж три штуки, если они такие качественные?

Потому что разным людям интересны разные подходы. Eclipse модульный, весь насквозь опен-сорсный, переносимый. На его основе сделано множество продуктов смежного назначения (например специализированные IDE от IBM для WebSphere). Intellij Idea это коммерческий продукт со всеми плюсами (отполированность базового функционала, хорошая справка, поддержка). NetBeans я не пользовался, но наверняка у него есть свои плюсы. Вроде бы он отлично интегрирован с Java EE технологиями. От производителя, так сказать.

Количество обучающего и справочного материала. Тысячи книг, десятки тысяч сайтов, миллионы ответов на stackoverflow

По бейсику не меньше, и что это значит?

Сомневаюсь, что не меньше. Скорее всего намного меньше. Всё же бейсик в практической разработки используется редко.

Наработанная база программного кода.

Говнокода, вы хотели сказать?

Кода, приносящего пользу, в первую очередь. Говно или не говно, это часто субъективно.

Legioner ★★★★★
()
Ответ на: комментарий от Karapuz

Столько же они не писали программы.
И зачем лямбды, если функторов нет?

olibjerd ★★★★★
()
Последнее исправление: olibjerd (всего исправлений: 1)
Ответ на: комментарий от Legioner

6. Безопасность.

Это да, если бы не всякие мешающие мелочи. Но в целом жаба секьюрна, особенно если ее не качать и компы с ней к интернету не подпускать.

ptarh ★★★★★
()
Ответ на: комментарий от mono

в java плохо то-то и то-то, а есть ЯП X, где это сделано хорошо

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

umren ★★★★★
()
Ответ на: комментарий от Legioner

В приплюснутых сях вообще ограничение областей видимости, private-поля и всё такое прочее работает только на уровне компиляции (теоретически, можно написать такой компилятор, который всё это будет игнорировать).

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

А в джяве для этого приходиться городить паттерн «public morozov».

svr4
()

потому что ява — один из инструментов американского колониализма

какой-то мутный профессор ни с того ни ссего написал какой-то доклад про недоязычек для кофеварок

но просто за плечами всего этого стояла корпорация оракл, которая точно так же в прошлом внедрила и заставила всех использовать ещё 1 недоязык — эскуэль

Пока вроде на этом остановились.
Но можно ожидать и ещё какой-нибудь новой ерунды
правда, походу они законспирировались и поэтому такой ерунды можно ожидать со стороны ГУГЕЛА, возможно, что-то связаное с андроид или гуглОС

Bad_ptr ★★★★★
()
Последнее исправление: Bad_ptr (всего исправлений: 1)
Ответ на: комментарий от Legioner

Аргументы?

Этот возглас можно перевести так: «вы вбросили спорный тезис, я усомнился в его истинности, докажите свою правоту».

Стандартная библиотека отличается, подходы к разработке отличаются (по очевидным причинам), но в целом язык не особенно отличается.

Есть еще один язык, программы на котором работают вообще на всем, от восьмибитного контроллера в пылесосе (с сотней байт памяти), до суперкомпьютеров, для которых он является основным языком написания операционной системы. И этот язык в обоих своих ипостасьях язык тоже вроде бы один и тот же.

О том, что это сильная черта языка PHP.

Это только с одной стороны, а с другой это говорит о сильнейшем «забыдлячивании» языка, как это в девяностые случилось с Delphi, не к ночи упомянутой в соседней ветке.

Многие не могут. Возьми JavaScript.

JS — это скриптик для анимации падающих снежинок, не более. А кто пытается на нем что-то более сложное писать — ССЗБ.

Большое количество библиотек означает возможность выбора.

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

quwy
()
Ответ на: комментарий от quwy

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

mono ★★★★★
()

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

  • С/С++ - проблемы с качеством и безопасностью кода, утечки памяти, перепнения буфера вот это вот все
  • Скриптовые язычки, вроде пхп и питона с руби - нет многопоточности (за пределами скриптов и stateless веба использовать проблематично), невозможно поддерживать код, низкая скорость работы (хотя это не всегда важно), нет нативного GUI.
  • C# - лок на платформу
  • Экзотика вроде эрланга с хаскелем и камлом - нет документации, нет примеров, нет программистов, мало качественных библиотек, на каждый чих приходится копаться в их внутренностях и дописывать свое или править. Нет своего GUI.

Что еще забыл?

shimshimshim
()
Ответ на: комментарий от mono

А не собираешься ты ничего сравнивать, потому что на лурке об этом не написано, тут нужно голову включать.

А не собираюсь я ничего сравнивать, потому что делал это много раз и давно остыл к этому неблагодарному занятию. Всё.

quwy
()
Ответ на: комментарий от w1nner

Ты где живешь? На русских сайтах вакансий лидирует PHP, на втором месте 1C. А по Java почти нет вакансий, кроме андройда. Во всяком случае, мне за полгода так и не удалось найти удаленную работу именно на Java.

Den_Zurin
()

Да js востребованней. Да и в последнее время его область применения становится все обширней.

lazy_aleks
()
Ответ на: комментарий от Legioner

Кинулось NullPointerException, программа работает в штатном режиме.

Не видел ни одной java-программы, которая бы восстанавливалась после такого. Формально процесс конечно жив, но пользоваться им уже нельзя. Гораздо лучше упать, отбросить корку, перезапуститься вотчдогом.

Reset ★★★★★
()
Ответ на: комментарий от shimshimshim

С/С++ - проблемы с качеством и безопасностью кода, утечки памяти, перепнения буфера вот это вот все

Это всё есть и в java, только проявляется несколько иначе и ловить это надо по другому. Ловить те же утечки в java это ад из-за gc.

Reset ★★★★★
()
Ответ на: комментарий от Den_Zurin

Это только в провинциях так, наверно. Москва/Питер на первых местах js, java. 1с где-то примерно третий, а пхп не сильно впереди шарпа и питона.

lazy_aleks
()
Ответ на: комментарий от Reset

В жава такие ошибки случаются намного реже и очевиднее. И намного реже приводят к эксплойту. Ну и самое главное, забыл упомянуть, java проще c/cpp. Абстрактные фабрики абстрактных адаптеров проще для понимания, чем указатели на указатель на функцию возвращающую указатель.

shimshimshim
()
Ответ на: комментарий от Reset

Не видел ни одной java-программы, которая бы восстанавливалась после такого.

А тут нечего восстанавливаться. Словил исключение и дальше работай. Ничего страшного не произошло. Я видел плохо написанные веб-приложения, которые гадили в лог этими NullPointerException-ами по 20 раз в секунду. При этом сервер естественно как работал так и продолжал работать, разве что логи пухнут, вот и всё.

Формально процесс конечно жив, но пользоваться им уже нельзя. Гораздо лучше упать, отбросить корку, перезапуститься вотчдогом.

Нет ни одной причины это делать в Java.

Legioner ★★★★★
()
Ответ на: комментарий от Hertz

Люблю и обожаю, в своих говноподелках активно применяю:
Clojure, ClojureScript – практично, ёмко, красиво

лiл

Deleted
()
Ответ на: комментарий от Den_Zurin

так и не удалось найти удаленную работу именно на Java

Думаю, не каждая контора может платить дошираком.

olibjerd ★★★★★
()
Ответ на: комментарий от Deleted

Одно но – сами по себе они тормоза и более-менее производительный код писать на них первое время очень тяжело. Первое время.
Очень жалею, что не заинтересовался ими плотно раньше.

Hertz ★★★★★
()
Ответ на: комментарий от Legioner

А тут нечего восстанавливаться. Словил исключение и дальше работай.

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

Нет ни одной причины это делать в Java.

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

Reset ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.