Почему заказчики просят Java-у?

chriselwart

Я тут последнее время очень часто сталкиваюсь с требованием Заказчиков писать продукт на java. Чем этот язык заслужил такое внимание? Сам люблю python. До java руки так и не дошли, но честно говоря пока очевидных плюсов по скорости разработки/надежности/масштабируемости и пр не вижу.
Скажите мне гуру в чем соль.
Пока у меня объяснение одно - так принято (я про корпоративный сегмент рынка, который в настоящее время начинаю осваивать).

Dasar

java - более дуракоустойчивая чем c++, статически-типизированная, в отличии, от python-а (и компании и меньше завязана на ос, чем c#

danilov

Еще по сравнению с питоном я бы отметил скорость работы, разумеется, в ущерб скорости разработки.

Dasar

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

danilov

Да, с точки зрения заказчика жаба еще и выигрывает очень большим рынком разработчиков.

Dasar

еще у java-ы более широкий выбор библиотек (скорее всего даже шире, чем у плюсов)

pilot

Я тут последнее время очень часто сталкиваюсь с требованием Заказчиков писать продукт на java. Чем этот язык заслужил такое внимание? Сам люблю python. До java руки так и не дошли, но честно говоря пока очевидных плюсов по скорости разработки/надежности/масштабируемости и пр не вижу.
Все просто: заказчик в программировании туп и слышал отовсюду что "пишут на Жаве". Он думать рационально не умеет, объяснение не в свойствах языка.

danilov

Ну, если сравнивать с тем же питоном, хз, у кого библиотек больше.

okis

пишут на Жаве"
и оракл

danilov

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

pilot

и оракл
Ну и это тоже. Слова "постгрес" боятся.
Для первого проекта у меня получилось убедить заказчика только потому что у него было безвыходное положение. Сейчас, когда есть чем хвалиться — гораздо проще.

pilot

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

danilov

Нет, я просто не понял ты такой вывод сделал из того, что заказчик настаивает на жаве или из того, что в принципе специфицирует язык, чего делать не должен за малыми исключениями? Если первое, то не совсем согласен. В конце концов, может, приложение должно встраиваться в их инфраструктуру, например.

Dasar

Ну, если сравнивать с тем же питоном, хз, у кого библиотек больше.
откуда на питоне много библиотек?
на вскидку бедно: в корпоративном сегменте, и в сегменте где большая нагрузка на вычисления и на "нестандартную" обработку кучи байтов: графика, математика, криптография и т.д.
вики, конечно, совсем не показатель, но как пример:
http://en.wikipedia.org/wiki/Category:Python_libraries
http://en.wikipedia.org/wiki/Category:Java_libraries

pilot

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

pilot

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

Dasar

Ну и это тоже. Слова "постгрес" боятся.
питон, вообще, принято ставить в связку с постгрес, или это больше ваш выбор?

pilot

питон, вообще, принято ставить в связку с постгрес, или это больше ваш выбор?
Кем принято? Я такого не знаю.

Dasar

Я такого не знаю.
хмм. даже не удивлен..

chriselwart

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

pilot

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

Dasar

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

pilot

это плюсовые либы, а под питон лишь биндинги
Ичо? :grin:

Dasar

Ичо? :grin:
например, в итоге для заказчика - это всё тот же lock на ос и тип железа.

okis

lock на ос и тип железа
нормально написанные программы на С перекомпилируются ок

chriselwart

Ну я вот petsc собирал на нашем славном блюджине вмкашном. А там мягко говоря нестандартная архитектура. Дома тоже все заработало на ура на дебиане.

chriselwart

Ну я вот смотрю те задачи, которые сейчас приходится делат таки на джаве - нет там в них ничего такого, что было бы сложней сделать в питоне, хотя по скорости мб и будет выигрыш (хотя все мое общение с джавой почему то с тормозами ассоциируется :( )

pilot

Ну я вот смотрю те задачи, которые сейчас приходится делат таки на джаве - нет там в них ничего такого, что было бы сложней сделать в питоне, хотя по скорости мб и будет выигрыш (хотя все мое общение с джавой почему то с тормозами ассоциируется :( )
Гослинг же писал что жава — язык для программистов, которые не осиливают сложностей. Соотв большой рынок, в среднем более быдлокодерский. Поэтому и плохого ПО больше.
Касательно библиотек: например для Питона нет аналога Enhydra Shark, нам в итоге это только помогает — программистов которые проект делали на нем разогнали, мы делаем заново проект без них и гораздо быстрее и проще.
Тем не менее факт есть: библиотек нет.

Dasar

нормально написанные программы на С перекомпилируются ок
мы до сих пор говорим про конечного пользователя(админа)? и про сценарий, что через пару лет работающую прогу необходимо перенести на соседний сервер?

chriselwart

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

chriselwart

ясненько

pilot

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

elenangel

ага, питон не рулит, c++ - тем более, лучший язык - C#, уж у него с переносимостью проблем точно нет

Dasar

ага, питон не рулит, c++ тем более, лучший язык - C#, уж у него с переносимостью проблем точно нет
это только эльфам хочется выбрать раз и навсегда Самый Правильный язык

FRider

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

chriselwart

Я надеюсь это был сарказм?
У меня как то сосед машграф пытался на шарпе написать под линукс, дык у него вся жопа в мыле была в итоге.
Или ты имеешь ввиду переносимость между различными версиями винды? Тогда я тоже не соглашусь - я в свое время заебался ставить зоопарк ваших .net фреймворков, которые друг друга презирают и ненавидят.
По переносимости в моем личном рейтинге выигрывает Qt. Я спокойно прогал под виндой (потому что visual studio сука удобная потом просто скопировал исходники на линукс и одной кнопкой получил полноценное работающее приложение.

chriselwart

дык пусть заказывает поддержку! :)

Dasar

ну петон демонстрирует неплохие связки с с/с++ либами, где тут один язык?
как будто другие языки с c/с++ образуют плохие связи...
вообще, получается, что вместо связки sql - java - js, получается связка sql - c/c++ - python - js (т.е., например, в случае затыка на одного гуру больше надо и вот эта добавка в виде c/c++ будет просить свои 5-25% доп. денег на сопровождение (сам No разрешил :) )

elenangel

машграф пытался на шарпе написать под линукс,
надо было на Visual Basic, там проще все

chriselwart

Ты какого факультета?

elenangel

ваших .net фреймворков
Yacht ~ $ uname -a
Linux Yacht 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:17:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

:)

elenangel

физфак же

chriselwart

эммм, а нафига вы вот сюда приплели c++?

chriselwart

а, ну тогда с тобой все ясно :grin:

chriselwart

jaguar:~$ uname -a
Linux jaguar 2.6.32-5-686-bigmem SMP Mon Oct 3 05:03:32 UTC 2011 i686 GNU/Linux
И как же ты на шарпе прогаешь? Mono какой-нить юзаешь недорезанный?

FRider

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

elenangel

это был сарказм

chriselwart

ался, что мол эльфы хотят одного языка. Я написал, что вроде как на питоне вполне норм взять сишную либу и заюзать, как раз в тех случаях, когда чегото нехватает или скорость повысить надо - вполне работает кстати для всякой математики(пусть гуру поправят если не так!).
Ну дык питонисты отличаются высокой культурой и без отдельного спеца по плюсам спокойно эту либу куда надо впаяют. Так что никакого перерасхода. Хотя может кто с быдлокодерами работает, я им тогда сочувствую.

chriselwart

спасибо, Кэп!

Dasar

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

FRider

sql - java - js, получается связка sql - c/c++ - python - js
т.е. 1 язык - для эльфов, 4 языка - это дорого потенциально, а 3 - в самый раз? :)

FRider

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

chriselwart

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

danilov

Ну кстати у меня тут сегодня спрашивали человек 20 сеньер жава девелоперов в большой проект на потенциально приличные бабки, есть чо?
Потенциально крутой сеньёр подойдёт?

FRider

ну лол, потенциально девелоперы на потенциально бабки в потенциально проект всегда потенциально найдуцо :grin:

chriselwart

Ну я им так и сказал, типа давайте задачу и бюджет, а остальное приложится. Если будет какая то конкретика и что то начнет складываться - свистну.

Dasar

т.е. 1 язык - для эльфов, 4 языка - это дорого потенциально, а 3 - в самый раз? :)
все-таки стоит отличать следующие моменты друг от друга: чего хочется, что есть, и то, что назначается правильным.
хочется один язык.
реально сейчас используется связка из трех языков: sql + js + php/c#/java/python (выбор последнего языка определяется сегментом использования)
эльфы отрицают наличие сегментов, и рвутся назначить какой-нибудь язык единственно расово-верным.

Dasar

почему расово-правильным выбрана гнилая и мерзкая ява, а не какой-либо приятненький язычок :)
scala еще есть: связка scala - java повеселее, чем python - c/c++

chriselwart

ты еще про всякие верстки забыл!

FRider

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

chriselwart

Ну кстати можно еще поговорку перефразировать "скажи мне на чем ты прогаешь и я скажу какой ты программист".
За некоторыми языками прямо прилипла приставка быдло (я про PHP вот ты и про джаву такой коммент отпустил, чем в общем то меня расстроил и немного удивил, но тебе видней.

Dasar

ну т.е. они хотят приближения к идеальной ситуации? хотябы шаг в ее сторону?
искажение действительности лишь ухудшает движение к идеалу

FRider

это мое личное отношение к яве, но понимаю, чем оно тебе расстраивает(и да, коммент был не про "быдловатость").

chriselwart

ну я не думал, что все так плохо в этом мире, хотя так посмотришь процент пользователей винды и уже ничему не удивляешься :(

FRider

искажение действительности лишь ухудшает движение к идеалу
я реально запутался.
в идеале - 1 язык. В действительности - несколько. Но чтобы двигаться к идеалу, нужно уменьшать эти несколько(ну или одним махом рубануть :grin: что исказит действительность...

Dasar

Но чтобы двигаться к идеалу, нужно уменьшать эти несколько(ну или одним махом рубануть :grin: что исказит действительность...
ты разницу между словами сделать и назначить знаешь? а она есть..

FRider

я рассматриваю "назначить" как "попытку сделать" в данном контексте. Идеал-то все равно недостижим :grin: так что "сделать" неполучицо

Dasar

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

FRider

ну это можно не один тред засрать спорами
Однако исторически вроде универсальных инструментов особо не придумали в различных областях.

Dasar

Однако исторически вроде универсальных инструментов особо не придумали в различных областях.
только в тех случаях, когда есть реальные конфликты - например, предмет не может быть одновременно и самым гибким, и самым прочным.
С многообразием языков sql, js, php/c#/java/python/c/c++ такого реального конфликта нет, если лишь эффект царя-горы: кто первый пришел, того и тапки, а остальные начинают долго и нудно карабкаться на занятую вершину, но периодически происходит рывок и царя-горы меняют на более универсального.

pilot

Даркгрей - великий борец с эльфамиветряными мельницами :D

val63


Ну дык питонисты отличаются высокой культурой
На этом форуме они отличаются высоким чсв и отсутствием культуры!

pilot

Про отсутствие культуры согласен. А про чсв откуда?

Papazyan

Джава - солидный язык для солидных разработчиков, а питон - для хипарей.

elenangel

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

Dasar

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

soroka000

Про связки языков я полностью согласен.
Но вынужден признать, что пока привыкаешь к одному языку, перестаешь думать на другом.
Я вот буквально на месяц с питона пересел на c++ и заметил, что в питонячем коде пишу ; после каждой строчки =)
Недавно тут на YaC 2011 чел толкал следующую аналогию.
Типа программист он как музыкант. Играть умеет скорее всего на нескольких инструментах, но жизнь посвящает одному.
На мой взгляд тут нет правильного решения. Все решения и правильны и неправильны по-своему.
Последний месяц решил походить по собеседованиям. И честно говоря складывается такое впечатление:
1) тех. спецы восновном понимают, что важна общая адекватность и знание алгоритмов, паттернов еще чего-то, но почему-то боятся сказать HRам что на самом деле им нужен тот, кто умеет думать
2) HRы думают (восновном что есть программисты под WEB и не под WEB. Это раздельные категории, как слоны и крокодилы.
Еще HRы думают, python — говноязык о_О
Когда им начинаешь объяснять, что python старше жавы, входит уже давно в стандартную поставку дебиана (куда всякую хуйню не ставят) и вообще язык с одним из самых приятных синтаксисов. — Они тебя шлют в хуй, типа мое мнения предвзятое, потому что я работаю на пятоне.
Одна радует весь этот зоопарк только в неадекватных компаниях.

danilov

sudo apt-get install bf

ava3443

входит уже давно в стандартную поставку дебиана
много знаешь компаний, где программистов собеседуют тупые HR-ы, но на серверах в продакшене работает Debian?

pilot

много знаешь компаний, где программистов собеседуют тупые HR-ы, но на серверах в продакшене работает Debian?
В нормальных компаниях на серверах вместо Дебиана ставят Убунту, так что ситуация вполне вероятна. :)

chriselwart

Ну кстати мне не ясно почему так делают, но в целом так и есть. Яндекс тому пример и гугл вроде (правда у них там свои какие то хитрые версии).

danilov

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

serega1604

>В нормальных компаниях на серверах вместо Дебиана ставят Убунту, так что ситуация вполне вероятна. :)
В ненормальных тоже, смею тебя заверить.

chriselwart

Мнение вообще субъективно. На вкус и цвет фломастеры разные. :p

snega25

Я тут последнее время очень часто сталкиваюсь с требованием Заказчиков писать продукт на java. Чем этот язык заслужил такое внимание? Сам люблю python.
  Крупные заказчики предпочитают стандарты и не зависимость от разработчиков, поставщиков и платформ.
  Пока лучше Java.
  Мелким же главное подешевле и побыстрее прототип получить, и им всё равно на чём на брэйнфаке или 1с.
 PS +1 к тому что сказал DG в первом ответе.

chriselwart

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

stm6692945

меня возмете?

6yrop

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

6yrop

Схема такая.
Случай 1: есть возможность рефакторинга.
Мы можем писать, откладывая большое количество решений на потом, тем самым, мозги программиста освобождаются и могут быть использованы более эффективно.
К моменту принятия решения может появиться новая информация, т.е. решение принимается на большем объеме информации, что позволяет принимать лучшие решения.
Случай 2: возможности рефакторинга сильно ограничены.
Мозги программиста заняты прогнозированием и просчитыванием будущего вместо того, чтобы решать текущие задачи.
Оставить комментарий
Имя или ник:
Комментарий: