2 of October - MS Stage Free Online conference: .NET, MS SQL, MS Azure, Cosmos DB. REGISTER
×Закрыть

Python или Java. Области применения, выбор.

Добрый день, всем читателям форума. Хотел бы узнать у вас — какая технология перспективней для молодого программиста. Я уже два года работаю с PHP — используя фреймворки, API, паттерны и т.д. То есть проекты более-менее сложные.

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

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Мне кажется

дабы не ограничивать круг специализации

чуть чуть противоречит

высоко-нагруженные проекты, кластеры.

А вообще, господа, не пойму, шо вы так спорите насчет борьбы жабы с питоном.

Используйте Jython и не парьтесь. :)

Используйте Jython и не парьтесь. :)

Мммм.

Вы вообще знаете о чем говорите, или просто посрать в комментах пришли?

Попробую заступиться за Python.

1) Python приучает к «прагматичному программированию». Мы (программисты python) не рвем на себе рубашку, утверждая «Только java/python/c++» либо «Только ООП/Функциональное/Процедурное программирование» правильно. Мы знаем сильные и слабые стороны нашего языка и стараемся использовать лучшее из идеологий. Если важна скорость можно использовать pypy, nuitka либо крутить с/с++ расширения Cython, Weave, CFFI и т.д.. Понятно, что если Вы будете писать с нуля Hadoop/поисковый движок гугла, то Вы выберете компилируемый язык. Но никто не мешает написать прототип на Python и перенести критические части на компилируемый язык.

2) Документация. Её можно читать вместо учебника по программированию. Приводится теория, примеры кода, все четко разъяснено. Сравните с той же scaladoc (которую без Ph.D. степени врядли разберешь) .

3) Комьюнити. Почти в каждом населенном пункте проводится Хацапетовка.Py конференция. Каждый день появляются интересные проекты, идеи. Вот например www.julython.org (python на июль).

А вообще Python не ставит за цель получить мировое господство. Поэтому изучайте еще java/c/c++/erlang/haskell (ради добра) и остальные языки, кроме, наверное, (php, delphi, visual basic) и используйте их, если они больше подходят для решения данной задачи.

Сравните с той же scaladoc (которую без Ph.D. степени врядли разберешь) .

А пример можно, а то я без ПхД как-то разбирался.

3) Комьюнити. Почти в каждом населенном пункте проводится Хацапетовка.Py конференция.

От это очень большой плюс, особенно по сравнению с джава. (Эт НЕ сарказм, если че)

Мы (программисты python) не рвем

Мы знаем сильные и слабые стороны нашего языка

А самое главное вы скромные :)

Но важно другое: Вы (программисты python) совсем не умеете держать контекст (и лично вы не единственный кто это демонстрирует):

Интересует больше всего высоко-нагруженные проекты, кластеры.

Понятно, что если Вы будете писать с нуля Hadoop/поисковый движок гугла, то Вы выберете компилируемый язык. Но никто не мешает написать прототип на Python и перенести критические части на компилируемый язык.

Высоконагруженность и тд — это как раз про движок гугла и критические части. И вся прелесть той же джава (как платформы) в том что она не требует «переписывания узких мест на чистом Ц», а позволяет работать в контексте одной платформы (и обычно, одного языка)

А пример можно, а то я без ПхД как-то разбирался.
Про Ph.D. это немного гиперболизированно, но вот пример:
docs.python.org/...rary/heapq.html
www.scala-lang.org/...e.PriorityQueue

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

Высоконагруженность и тд — это как раз про движок гугла и критические части.
Я очень сомневаюсь, что человеку после сайтиков на пхп доверят писать движок гугла либо он напишет убийцу Hadoop. В любом случае, перед тем как писать убийцу map-reduce надо натаскатся на существующих решениях. А так как у них у большинства есть биндинги к пайтон, то осваивать их будет гораздо легче на python — открыл консоль и экспериментируешь, а не думаешь как использовать минимум 4 паттерна из «Банды четырех», чтоб Hello world запустить.

гораздо понятнее будет читать документацию Python.

От тут не факт что это хорошо. Есть 2 этапа:
1) понимание теории;
2) конкретная реализация (в языке).
— скаладок (джавадок) — это именно описание АПИ, то есть пункт 2. Минимум (тут как получитсо конечно же :) ) воды, сухой справочник.

— питоновская дока (которую вы привели) — это скорее книга, которая не дает глубокой теории и не является справочником.

Тут конечно же «на любителя». Но, я считаю, что «монография + справочник» лучше чем «учебник для средней школы» (вспомните игрушки: чистокровки круче полукровок :) )

— скаладок (джавадок) — это именно описание АПИ, то есть пункт 2. Минимум (тут как получитсо конечно же :) ) воды, сухой справочник.

А когда мне надо такое в питончеге, я смотрю help(шотаммненадо), не выходя из REPL (и там доки по API обычно в одну строку влезают, ибо больше и не надо). Питонодока как раз для того, чтобы почитать, завалясь на диван, да решить, какой вариант решения задачи выбрать в данном конкретном случае. Для глубокой же теории есть работы, не привязанные к одной конкретной технологии. Это будет адов сипец, если авторы туториалов по языку программирования и его стандартной библиотеке будут пересказывать Кнута, причем всего.

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

Не смог придумать пример, когда без знания теории такое может прокатить. Приведите пример, пожалуйста.

А когда мне надо такое в питончеге, я смотрю help(шотаммненадо), не выходя из REPL

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

В питон РЕПЛ это тайпание кучи текста, и даже в питоновской доке это чтение кучи текста, потому что они ниасилили в доке писать тип возвращаемый методом в сигнатуре.

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

Или тип вообще нерелевантен — ну возвращается мне какой-то там спискообразный, файлообразный объект или просто итератор — мне параллельно, как там класс этого объекта зовется, мне надо, чтобы он вел себя, как автор пообещал. Ну будет внутренний враппер какой-то, как оно часто бывает. Мне от того, что я его название увижу, станет легче?

И об epydoc вы, конечно, не слышали (а там есть @return:). И об ipython/dreampie не слыхали наверняка, а там автодополнение есть (и все они являются REPL; кто будет много говорить «а ты со стандартным давай попробуй», пусть с джавой своей поработают без Eclipse/NetBeans месяцок, сравним очучения потом). А еще у меня в терминале copy/paste работает, знатная такая штука — с ней даже стандартный REPL отращивает суперсилу.

Интересно: это у всех java-программистов есть склонность судить другие технологии, толком о них не зная или попробовав разик-другой, или это удел необычайно активного меньшинства?

Я так и не увидел ответа на мою критику кроме каких то нерелевантных эмоций.

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

Тебя на работе заставляют писать код в консоли? Ну так не всем так не повезло в жизни.

Еще раз: про epydoc и о том, что его огромное количество библиотек использует — слыхали?

О том, что /usr/bin/python — не единственная REPL, слыхали?

Слухи о PyDev (pydev.org) вообще проходили мимо вас?

Нет? Тогда на чем вообще основываете свою критику?

Еще раз: про epydoc и о том, что его огромное количество библиотек использует — слыхали?

Слышал, но я смотрю в стандартную питоновскую доку и там никаких ретурнов нету.

О том, что /usr/bin/python — не единственная REPL, слыхали?
Слухи о PyDev (pydev.org) вообще проходили мимо вас?

Слышал, и че? В чем твой аргумент?

Не слышу ответа: на чем основываете критику? Вы с этими инструментами работали или вам Рабинович напел, что тайпать много?

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

Ipython я иногда поюзываю, но в нем что бы посмотреть что вернул метод re.match() все равно нужно вначале натайпать re.compile(...)?

Опаньки, а я re.compile() только тогда юзаю, когда надо много-много (больше двух) строк прогнать через одну регулярку.

Чисто на посмотреть хватит и re.match() со строкой в качестве выражения.

Опять все сводишь к «мне не нужно значит всем остальным тоже не нужно»?

Нет, просто даю неуклончивый ответ на вопрос:

что бы посмотреть что вернул метод re.match() все равно нужно вначале натайпать re.compile(...)?

Нет, не нужно, потому что можно вызвать re.match со строкой в качестве паттерна.

И перестаньте приписывать мне сентенции, которые я не говорил. Вообще, надо открыть курсы цивилизованной полемики на ДОУ, а то описание достоинств технологии X почему-то воспринимается приверженцами технологии У как оголтелая критика У. Окститесь, господа, зачем критиковать то, что нам не нужно?

Нет, не нужно, потому что можно вызвать re.match со строкой в качестве паттерна.

Да, только ты получись результат совсем другого метода match

И перестаньте приписывать мне сентенции, которые я не говорил. Вообще, надо открыть курсы цивилизованной полемики на ДОУ, а то описание достоинств технологии X почему-то воспринимается приверженцами технологии У как оголтелая критика У.

Та нет, некоторые перцы просто выдумывают несуществующие достоинства питона.

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

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

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

В PHP нормального REPL с интроспекцией вовсе нет, а еще я ненавижу уродскую документацию на php.net (она окончательно скатилась в то этосамое, как только началась работа над веткой 5.х, комментарии — вовсе авгиевы конюшни), но вынужден выкручиваться — в песочнице экспериментировать, на салфетках пару раз написать, чтобы запомнить. Вот где по-настоящему плохо.

пусть с джавой своей поработают без Eclipse/NetBeans месяцок

А с отключенным интернетом, и вообще на перфокартах?

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

И вот имя класса (а разве на Питоне нету классов? вроде не javascript) это не просто имя, оно говорит о том как этот объект себя ведет, и какие методы у него есть. И за счет этого количество обращений к документации уменьшается (если со временем запоминаешь классы).

В тоже время, и с Джавой, можно было бы признаться и честно сказать, что документация у стандартной библиотеки классов... не очень приятная. И это забавным образом передается по наследству всему что делает Джава комьюнити (к примеру на Андроид). Я понимаю, что есть методы которые можно понять по сигнатуре, и классы которые можно понять по имени и свойствам, но это не всегда так и не всегда всё так очевидно, и иногда хотелось бы иметь подробные примеры, и описание как метод/класс работает. Хотя конечно этим страдает не только Джава, да и это не проблемы самого языка, это проблемы комьюнити и саппорта со стороны разработчиков языка, хотя это тоже важный аргумент при оценке и сравнении языков, точно также как наличие IDE с хорошо работающими подсказками.
У Питона хорошая дока, тогда плюсик ему в этой колонке.

Нету хороших IDE с подсказкой — тогда минус в другой, хотя если ты говоришь что есть — тогда ещё плюс (я честно не интересовался работай с Питоном в промышленных масштабах =)).

Интересно: это у всех java-программистов есть склонность судить другие технологии, толком о них не зная или попробовав разик-другой

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

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

И вся прелесть той же джава (как платформы) в том что она не требует «переписывания узких мест на чистом Ц»,
А мужуки в PyPy переписывают узкие места с чистого Ц обратно на пайтон.

А мужуки в PyPy переписывают узкие места с чистого Ц обратно на пайтон.

Хм... Это ж какие «узкие места»? За счет чего там оптимизация?

Вот бегло просмотрев википедию, похоже что там дело сосем не в языке. Если в языке, то расскажите подробнее.

За счет JIT — те места, которые в CPython реализованы на сях, потому что так быстрее, там написаны на чистом же пайтоне.

За счет JIT — те места, которые в CPython реализованы на сях, потому что так быстрее, там написаны на чистом же пайтоне.

Ололо :)
При чем тут быстрее чем на Ц?
Они сделали JIT (компиляцию в нативный код) и __она__ оказалась быстрее чем интерпретация (вау, шок :) ).
Они изменили идею, а то что они это написали на питончиге, а не на Ц — не имеет значения.

Еще раз:

Это ж какие «узкие места»?

Работа с регулярными выражениями при использовании JIT обычно обскакивает сишную реализацию, например. Иногда в разы, иногда в разы разов. Почему — додумайте сами, вы ж многоопытный.

пруфлинк плиз.А то пока что все самые быстрые либы для регекспов нативные: lh3lh3.users.sourceforge.net/reb.shtml

Опять-таки, PyPy там что-то не наблюдаю. Я же о JIT говорю.

Ну так я и спрашиваю, а где ты наблюдаешь? С чего ты взял что в jit regex-ы работают быстрее?

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

Возможно, это и к жабе применимо.

Я понимаю эту теорию, но если основания полагать что именно это проишодит на практике? Есть ли такой jit компиллер под который есть такой алгоритм регекспов который эксплуатирует эту возможность(а не фигачит конечные автоматы как это делают все остальные)?

Например, не регекспы, а форматирование строк: morepypy.blogspot.com/...ain-string.html — статья, правда, годичной давности, так что циферки надо бы перепроверить, благо это несложно.

Еще одна статья оттуда же про регекспы: morepypy.blogspot.com/...nt-regular.html и продолжение morepypy.blogspot.com/...n-matching.html

Опять-таки, можно проверить, сравнить, пожаловаться в багтрекер, что PCRE, падлюка, обогнал PyPy в таком вот случае.

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

А про регекспы они там какой то частный случай реализовали и сравнивают с либами общего назначения, которые решают намного более общую задачу, в чем в конце и сознаются.

Как обойти, если нужен именно sprintf()?

Насчет регекспов — они показали пример, где другие либы будут медленны всегда, по определению, а первая статья показывает альтернативный подход к регуляркам, который медленный сам по себе (если интерпретировать его), но благодатен для JIT’а. Вторая просто иллюстрирует его на примере.

Как обойти, если нужен именно sprintf()?

Я не вижу как это относится к native code vs jit.

либы будут медленны всегда, по определению

Ок, опять жеоткуда взялся вывод что тот алгоритм нельзя быстро заимплементить в native code с сопоставимой скоростью? У меня сложилось впечатление что те хинты которые они дают jit-у не являются jit specific.

Я не вижу как это относится к native code vs jit.

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

Ок, опять жеоткуда взялся вывод что тот алгоритм нельзя быстро заимплементить в native code с сопоставимой скоростью?

Блджад, а JIT его не в нативном коде имплементит, значит, а так себе, в хрен знает чем.

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

Всмысле покурить какой то особенной травы которую ты куришь?

Блджад, а JIT его не в нативном коде имплементит, значит, а так себе, в хрен знает чем.

Вижу ты окончательно включил троль режим.

Почему — додумайте сами, вы ж многоопытный.

Меньше эмоций и больше фактов.

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

Про регэкспы, хотелось бы пруфф. Я понимаю почему JIT может быть быстрее нативной реализации.

Но речь о другом. Речь о том что ускорении в PyPy не благодаря питону, а благодаря JIT — как подходу. На сколько я помню, PyPy не в JIT-режиме медленнее CPython. Можете посмотреть тут speed.pypy.org/comparison

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

хм. только вот hadoop на java написан... ;)

в hdfs есть куски на сях и на плюсах

Вот здесь только АПИ к хдфс для сишки и с++шки: github.com/...e/trunk/src/c

A java это интерпретируемый язык чтоли?

Ладно, он JIT’ируемый :)

Мы (программисты python) не рвем на себе рубашку, утверждая «Только java/python/c++» либо «Только ООП/Функциональное/Процедурное программирование» правильно.

сказки

Если важна скорость можно использовать pypy, nuitka либо крутить с/с++ расширения Cython, Weave, CFFI и т.д.. Понятно, что если Вы будете писать с нуля Hadoop/поисковый движок гугла, то Вы выберете компилируемый язык. Но никто не мешает написать прототип на Python и перенести критические части на компилируемый язык.

Только управлять таким зоопарком и программить под него намного сложнее чем сразу писать на православной джаве.

2) Документация. Её можно читать вместо учебника по программированию. Приводится теория, примеры кода, все четко разъяснено. Сравните с той же scaladoc (которую без Ph.D. степени врядли разберешь) .

А может более корректно сравнить с джава докс?

Комьюнити. Почти в каждом населенном пункте проводится Хацапетовка.Py конференция. Каждый день появляются интересные проекты, идеи. Вот например www.julython.org (python на июль).

И в редкой хацапетовке нету своего джуга.

И в редкой хацапетовке нету своего джуга.
Накидайте кошерных джугов в Киеве.
Ибо то шо я видел совсем не хочетсо тратить время на такое.
Вот «коммюнити» и их активность — это наверное самая сильная сторона питончега.

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

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

Многие путают язык и платформу. Гугл компилирует java(язык) под llvm. Есть уже scala под llvm. Фейсбук тоже сделал с php (hip hop). Вот реализация clojure на python.

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

Если же сравнивать сами языки (не платформы, не компиляторы/интерпретаторы), то мне кажется, python и scala наиболее удобные и перспективные. Говорят, что язык — это всего лишь инструмент. Но буравчик и электродрель тоже инструменты. И согласитесь, вы будете выбирать наиболее удобный инструмент, несмотря на то, что некоторые будут утверждать: «Я уже 10 лет сверлю ручным буравчиком и меня все в нем устраивает».

Гугл компилирует java(язык) под llvm

пруф линк?

Фейсбук тоже сделал с php (hip hop).

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

Но я вообще не понял, ты эту простыню к чему написал? В чем мысль?

В чем мысль?

Смею предположить, в этом:

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

Но как по мне это фантастика (в предположении что генерируемый код будет вменяемый по производительности)

Мне тоже кажется что llvm если и догонит jvm, то через лет 10 при условии что оракл загнется и никто не возьмется развивать jvm, что врядли.

а еще недавно на pypy запилили php интерпретатор, тесты говорят, что он разрывает зендовское фейсбучье «поделия» (:

Там же в конце написано что это прототип и чувак уже забил на него

так не удивительно, тот же вывод можно было сделать следя за развитием 5.х ветки.

Ну правильно, вот делать ему больше нечего — писать свою реализацию нафиг ему не сдавшегося пыха. PoC сделал, производительность посчитал — более чем достаточно.

Достаточно для чего? От ПоЦ для пары примеров до работающего компиллера дорога очень длинная.

Простите чего? Компилятора? Пхп?

Компилятора пхп. Pypy это just in time compiller эсли ты не в курсе.

да что ты, я ж даже по-русски с ошибками пишу, куда мне до таких тонких материй.

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

Попробую с вами согласиться :

1) Python — просто супер-афигенный язык.
2) Python — очень гибкий и довольно мощный язык
3) Python — после 2-х месяцев изучения я срал с большой горы на Java/C#/C++ так как за это время понял намного больше и могу сделать намного больше чем когда я убил пол года времени на изучения Java до этого кучу времени угрохал на C# ... Теперь когда смотрю на код Java сразу тошнит и появляються рвотные рефлексы также мой организм угрожает мне бессрочной диареей если я не закрою или не уберу с компа Eclipse ...
4) Я обожаю Python и всем рекомендую ...

5) Python — это просто, быстро, мощно, афигенно-классно и зашибись как удобно (особенно когда есть PyCharm) !!!

Гы, а я программирую на пайтоне под Eclipse и плюю на восхищенные вздохи о PyCharm. :)

Может быть Eclipse и хорошая IDEшка но мой компьютер очень часто вешался от него и чуть не помер, а ПайЧарм немного проще для мого «мощного» компа !

В этом и прелесть Python, в том, что в отличие от java, IDE не является частью культа. Лично я пользуюсь emacs. Есть еще ipython notebook, pythonanywhere.

А вот представить java программиста без (идеи/еклипса/нет бинса) очень трудно. Любители emacs/vim в мире джавы — вообще белые вороны. Хотя тот же ensime для scala ничем не уступает eclipse, кроме пожирания памяти.

Лично я пользуюсь emacs.

Вопрос: Проект в котором 8754 классов большой или нет?
Вот сколько классов должно быть в «большом проекте»?

Как емаксик ищет (рефакторит) по такому объему?

Любители emacs/vim в мире джавы — вообще белые вороны.

Ну че. Сайтик на плей вполне нормально в ВИМе править. Вносить небольшие правки в проект тоже можно, но полноценная работа над хоть сколько большим проектом — тут никой вим/емакс не потянет.

Или емакс потянет? Если да, то буду переезжать с ВИМа.

Вопрос: Проект в котором 8754 классов большой или нет?

Определенно большой. В раз 10 больше, чем в hadoop (hadoop.apache.org/...es-noframe.html) и в раза 2 больше самой java (stackoverflow.com/...andard-edition.

Для рефактора Python в emacs естьropemacs.

Вот и вот как дружат emacs с java.

Как емаксик ищет (рефакторит) по такому объему?

Сам emacs ничего не ищет. Это программируемый редактор. Как запрограммируете, так и будет искать.

Определенно большой.

Это средненький джава проект, есть и больше.

Для рефактора Python в emacs естьropemacs.

А он работает на «8754 классов»?

Вот поэтому джава программисты так «зависят» от ИДЕ. Дело не в джаве, дело в размерах проектов.

Как запрограммируете, так и будет искать.

Ну чтобы не лазить по файлам, надо строить индексы и тд, и хорошо бы держать их в памяти для скорости ... «копиечка до копиечкы» и ...

Хотя тот же ensime для scala ничем не уступает eclipse, кроме пожирания памяти.

И отличий ваапшэ не будет, даже по памяти.

Это средненький джава проект, есть и больше.
А оно всегда так нужно — десятки тысяч классов?

Иначе будет несерьезно?

ну можна пару файлов, на пару миллионов строк.

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

На пайтоне в тех местах, о которых я знаю, стараются так не делать, потому что 1) на PyPI всего есть дофига, как и для Java, в принципе, но! 2) тащить все зависимости вовнутрь и заниматься сексом с их поддержкой не поощряется, хотя некоторые и пытаются так делать (ибо нефиг).

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

Есть не дураки, а бывают альтернативно одаренные, которые считают, что если на каждый класс, реально делающий работу, не придется по десятку врапперов да дюжине фабрик, то будет не айс. Таким образом сделать инфляцию со ста классов в 10000 и вовсе немудрено.

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

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

На пайтоне в тех местах, о которых я знаю

Достаем линейку, снова. Скольким из этих проектов больше 10 лет (в продакшене)?

на PyPI всего есть дофига, как и для Java, в принципе, но!

При чем тут PyPI? Я говорю о функционале приложения, а не о либах.

Иначе будет несерьезно?

И к чему вы это сказали?

А оно всегда так нужно — десятки тысяч классов?

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

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

А мне нравиться IDE для нинзь. Написана на кошерном Python (PyQt).

мой организм угрожает мне бессрочной диареей если я не закрою или не уберу с компа Eclipse ...
Это, батенька, вам худеть надо, в дверь же не пролезете. Хороший диетолог вам поможет.

Я люблю быть ЖИРНЫМ как поезд ПАСАЖИРНЫМ !!!

поддерживаю на все 100!
особенно что касается

после 2-х месяцев изучения я срал с большой горы на Java/C#/C++ так как за это время понял намного больше и могу сделать намного больше чем когда я убил пол года времени на изучения Java
Ну ладно, черт с ней производительностью, пофиг на фреимворки и иде, и пофиг на то что это оффтоп ваще.
Раскажите мне господа питонщеги, как вы в с динамическим языком (с переписыванием крит кусков на сях) живете ваще ?

Ну вот взять например обычный средний интырпрайз проджект где девелопмент тим — человек 100. Тут с статической, единственной, простой-дубовой жабе, местами очень и очень непросто... А как вы с динамикой то живете?

У нас вот девелопмент тим 130 человек. Динамический строготипизированный Erlang.

Нормально живем :) Да и не только мы :)

Erlang — чуток другое всетаки.

Тем не мение, мне также любопытно, что потеряет этот ваш Erlang, если его зделать статическим ?

Ну, тоже динамический, тоже строготипизированый ;)

Раскажите мне господа питонщеги, как вы в с динамическим языком (с переписыванием крит кусков на сях) живете ваще ?
Давайте лучше спросим у чуваков из магенты, где 100+ человек вынуждены ковырять СЛАБОтипизированный пыхапых, как они так живут.

Ведь некоторым это даже нравится, я знаю.

извращенцы-мазохисты, чё :-)

Моє маленьке зауваження щодо джава скрипта забанили, а любителі Ерланга розвернули офтоп на 115 постів. Face-palm.

Сдать «зеленый язык»! :)

если кластеры интересуют и нагрузки, то действительно лучше erlang, он в этом деле чертовски хорош:)

erlang, он в этом деле чертовски хорош:)

Ну на питоне «написан» ютуб. А что написано на ерланге? Я про живые сервисы (сервисы, а не утилитные куски)

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

большая часть всего телекома

А вот ссылочку, на эту «большую часть» можно? И как она соотноситсо с нагрузками и кластерами?

знаю по большей часть из общения с программерами на ергланге

где используется легко нагуглить:)

где используется легко нагуглить

Вот не нагуглилось. У вас гуглитсо проще, тогда кинте ссылки.

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

У вас гуглитсо проще, тогда кинте ссылки.

skillsmatter.com/...rney-to-success видео не смотрел

www.slideshare.net/...lecoms-software

эриксон создатели языка
вот неплохая статья: yzh44yzh.com/ru/scala_by_5

видно, что эриксон развивают язык и используют

Не, только в Ericsson было, остальной телеком — C++/Java.

Плюсы ерланга — отличная организация работы с многопоточностью и встроенная система сообщений, но синтаксис такой страшный, что на большом проекте, наверное, повесится можно ;)

Страшный синтаксис по сравнению с чем O_o. С Python — возможно. С C++/Java — дело привычки. Для тех задач, для которых используется эрланг, подходит отлично. Мусора в виде знаков препинания не больше чем в любом C-подобном ЯП. Если совсем уж не нравится синтаксис Erlang — берите Elixir elixir-lang.org

Где это у Erlang’а страшный синтаксис? Компактынй и предельно понятный уже через пять минут — это есть

Вы забыли про возможно лучший в индустрии GC и вообще рантайм.

Какой же он лучший если джаве по производительности в разы сливает?

Где он сливает Джаве? На каких задачах? Эрланговский GC работает с учетом SMP и многопоточности, и при этом не нарушает требования к soft-realtime.

Бла-бла-бла. А в джаве ГК ничего не знает о SMP и многопоточности?

shootout.alioth.debian.org/...java&lang2=hipe — слив от 3 до 20 раз

Удивительно, что еще остались люди, которые всерьез воспринимают бенчмарки на shootout.

Не говоря уже о том, что ни один из этих бенчмарков ничего не говорит про GC.

А про многпоточность... Java уже умеет запускать пару десятков тысяч потоков и ее GC умеет с ними работать?

Удивительно, что еще остались люди, которые всерьез воспринимают бенчмарки на shootout.

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

Не говоря уже о том, что ни один из этих бенчмарков ничего не говорит про GC.

А че, там память не выделяют?

Java уже умеет запускать пару десятков тысяч потоков и ее GC умеет с ними работать?

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

Это не говоря о том что у эрланга потоки не настоящие, а аналог чего то типа ExecutorService в джаве.

Ну приведи бенчмарк получше вместо вешания лапши.

Все бенчмарки, особенно сугубо синтетические, как на shootout’е, суть гуано. Достаточно посмотреть, где и как тот или иной язык применяется.

А че, там память не выделяют?

Выделяют. И? Если Erlang не годится для числодробилок на основе числодробительного теста будем делать выводы про GC? Нет, конечно. Но почему-то именно это вы пытаетесь сделать.

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

Только загнется выделять их на средней машине. И гарантий soft-realtime GC не предоставит

Это не говоря о том что у эрланга потоки не настоящие, а аналог чего то типа ExecutorService в джаве.

Вполне себе настоящие. ТО, что они не соотносятся один-в-один с потоками в системе, не делает их ненастоязими. У каждого свой heap и stack, у каждого свой GC.

Ну и вообще, курить en.wikipedia.org/...i/Green_threads для просветления

И тут: erlanger.ru/...ing-concurrency для окончательного просветления

Все бенчмарки, особенно сугубо синтетические, как на shootout’е, суть гуано.

Это основной аргумент фанатиков — то что нам не нравится — гавно

Достаточно посмотреть, где и как тот или иной язык применяется.

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

Выделяют. И? Если Erlang не годится для числодробилок на основе числодробительного теста

Там есть например тест на создание дерева — это не числодробилка а вполне себе тест операций с памятью.

Я уж не говорю о том что числодробилок в классическом понимании там вообще нету.

Только загнется выделять их на средней машине.

Если мало памяти юзай ExecutorService в чем проблема?

И гарантий soft-realtime GC не предоставит

Я вижу фанатиков эрланга привентивно в гугле банят уже.

У каждого свой heap и stack, у каждого свой GC.

У них эмуляция кучи и стека, иначе они кушали бы столько как и джавовские.

Ну и вообще, курить en.wikipedia.org/...i/Green_threads для просветления

И тут: erlanger.ru/...ing-concurrency для окончательного просветления

Green threads из джавы выпилили лет 10 назад, из-за плохой кроссплатформенности и производительности.

Это основной аргумент фанатиков — то что нам не нравится — гавно

Основной аргумент фанатиков — это ссылки на синтетические тексты и возведение их в абсолют

У них эмуляция кучи и стека, иначе они кушали бы столько как и джавовские.

Green threads из джавы выпилили лет 10 назад, из-за плохой кроссплатформенности и производительности.

После этой бредятины общение заканчиваю в виду невменяемости оппонента.

Как говорится слив засчитан, хотел блеснуть знаниями, но не получилось — сел в лужу.

Никогда не понимал, что означает «слив» и почему он «засчитан». Треды у Эрланга честные, всё работает честно, одновременно и в количестве аппаратных потоков по числу ядер. Если вы собрались писать числодробилку на Эрланге и сравнивать гигафлопсы — вы явно ошиблись языком, вам либо в сишечьку, либо в хаскелл с лиспом, лисп кстати всех по скорости делает. Не тем Эрланг силён, не там копаете.

Никогда не понимал, что означает «слив» и почему он «засчитан»

Похоже все поклонников эрланга уже начали автоматически банить в гугле.

Треды у Эрланга честные, всё работает честно, одновременно и в количестве аппаратных потоков по числу ядер

С отдельным стеком и кучей как это утверждает Dmitrii?

Если вы собрались писать числодробилку на Эрланге и сравнивать гигафлопсы — вы явно ошиблись языком

Я как раз языком не ошибся, ошибся похоже Dmitrii заявляя что у эрланга «самый лучший рантайм»

лисп кстати всех по скорости делает.

Бугагашеньки

Не загуглил лишь потому, что меня не интересует нерелевантное выражение, и я не знаю его значения. Покормил ))

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

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

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

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

А давай ты вначале почитаешь о том что такое в эрланге scheduler, run-queue и собственно процесс, и кто из них мапится на треды ос, а заодно почитаешь какой например в линуксе memory overhead на создание треда, и сравнишь с заявленным оверхедом на процесс в ерланге.

О, гуру Эрланга, тред в линуксе занимает столько, сколько стека изволит выделить конпелятор, счёт на мегабайты. В Эрланге процесс (будем называть всё своими именами, не путать с процессом ОС) занимает столько, сколько занимает стек и стейт треда + неочищенный мусор, счёт на десятки килобайт.

О, гуру Эрланга, тред в линуксе занимает столько, сколько стека изволит выделить конпелятор, счёт на мегабайты. В Эрланге процесс (будем называть всё своими именами, не путать с процессом ОС) занимает столько, сколько занимает стек и стейт треда + неочищенный мусор, счёт на десятки килобайт.

Ты в обоих местах не прав. Раз уж ты обломился разобраться в инструменте который ты используешь даю жирный намек — в ерланге тред выделяется на scheduler а не на процесс, и тред в линуксе потребляет стека соглассно конфигурации а не сколько ему даст «конпелятор».

в ерланге тред выделяется на scheduler а не на процесс

Мы тут путаем терминологию. Я о процессах, ты о тредах. Я стартую процессы Эрланга, цена треда ОС меня не интересует — это делает VM Эрланга.

Мне совершенно не нужно знать какой шедулер будет выполнять мой процесс, они (шедулеры) между собой сами договорятся. «it just works™». Это не сишечка, где надо наизусть помнить все UB из стандарта и сколько байт выделено для стека в pthread, чтоб не дай бох на тысяче тредов не вывалиться с out of memory.

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

Вот, мы почти пришли к общему знаменателю. Никто ведь не говорит, что Эрланг умеет что-то уникальное, чего нет в других языках. Другое дело, что то, что в Эрланге сделано, настолько замечательно друг с другом работает, отсутствие шаред памяти, отсутствие локов и синхронизаций, например, что писать многопоточное приложение становится просто и приятно. Ну и надёжность на высоте, обновление кода без остановки, обработка критических ошибок, самовосстановление. Чтоб завалить VM Эрланга надо либо сожрать всю память либо переполнить одну из внутренних таблиц (которые очень большие) — это надо здорово накосячить.

Да, стек у процессов таки раздельный. www.erlang.org/.../processes.html

Куча как будто отдельная, но большие данные VM передаёт по ссылке, но поскольку всё рид онли — проблем с синхронизацией не наблюдается.

Это какой то эмулятор стека, а не стек который юзает проц.

А стека проца у программы на Эрланге нету, BEAM является VM всё-таки. Вот допилят греки erlang-llvm тогда поглядим как у них там всё устроено в машинном коде.

Поэтому ерланг и такой тормозной, все что в ерланге выделяется на локальной куче в jvm с помощью escape analysis засовывается на стек, и операции с памятью обходятся вообще бесплатно.

Поэтому ерланг и такой тормозной, все что в ерланге выделяется на локальной куче в jvm с помощью escape analysis засовывается на стек, и операции с памятью обходятся вообще бесплатно.

В джаве есть JIT и миллионы денег вброшенные на её оптимизацию, я понимаю, что деньги зря не потрачены и джавистам есть чем гордиться. Опять сводишь к гигафлопсам. На тех задачах, на которых люди гоняют софт на Эрланге, он ни капельки не тормозит, а даже показывает замечательные результаты по времени отклика на сетевой запрос и количеству одновременных клиентов (конечно, какой тест не покажи, на любой скажут, что тест нечестный), а кому скорости мало — скоро будет LLVM бэкенд и стек станет настоящим стеком CPU, я надеюсь. Ну или всегда можно написать функцию на С/С++ и подключить там где производительность жмёт.

Опять сводишь к гигафлопсам

Та нет, это привет парню выше, который прославлял ГЦ ерланга.

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

Джава тоже отлично справляется с такими нагрузками: timyang.net/...va-performance

Джава тоже отлично справляется с такими нагрузками: timyang.net/....va-performance

Ага, ага, с приседаниями типа
# ulimit -n

150000

-Xmx1024m -Xms1024m -XX:+UseConcMarkSweepGC

И ничего не сказано про потребление памяти.

А в чем конкретно проблема с этими приседаниями? улимит вообще не очевидно необходим ли для джава

Бенчмарки трехлетней давности? Крайне убедительно.

Я, кстати, не очень в теме про ваши отсталые технологии — JVM уже ничего не останавливает при GC? Корректно соберет мусор при аварийном завершении потока?

С Concurrent Mark and Sweep, вроде, уже не останавливает. Что не удивительно, так как Jesper Wilhelmsson, который ведет разработку GC для Hotspot и JRockit, я вляется автором и соавтором вот таких вот работ: erlanger.ru/...ing-concurrency на основе Erlang’а

Бенчмарки трехлетней давности? Крайне убедительно.

А за это время что-то кардинально изменилось?

Я, кстати, не очень в теме про ваши отсталые технологии — JVM уже ничего не останавливает при GC? Корректно соберет мусор при аварийном завершении потока?

Вы бы коллективную заявку в гугл послали, может вас там разбанят.

Мне не интересно гуглить то, что мне никогда не понадобится.

А мне не интересно за тебя гуглить то что тебе никогда не понадобится.

Стек является ADT, и ему совершенно не обязательно использовать процессор.

Есть возражения по существу?

Ну да, ну да. В определении стека ясно ведь написано «обязательно должен использовать процессор». Тупые фанатики такие тупые фанатики.

Если буквоедствовать то твои стеки на машине тьюринга без проца используются, о упоротый фанатик?

Покажи мне, где в определении стека (хоть просто стека, хоть стека вызовов) есть требование использовать процессор.

А с чего я тебе должен это показывать?

Ну ты же тут несешь чушь про то, что стек должен использовать процессор и что в Эрланге эмуляция стека

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

Про первое я не несу

Это какой то эмулятор стека, а не стек который юзает проц.

Ну да, ну да, совсем не несешь

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

Ссылки я уже приводил. Читай, просвещайся. Единственное, что стек там может использоваться не так активно, как в «классической» поточной модели.

Это какой то эмулятор стека, а не стек который юзает проц.

Ну да, ну да, совсем не несешь

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

Ссылки я уже приводил. Читай, просвещайся. Единственное, что стек там может использоваться не так активно, как в «классической» поточной модели.

О, кто бы про сливы тут писал.

От того, что процессы Erlang’а не используют потоки ОСи, не делает их менее потоками.

Только для фанатиков, которые внятно свою позицию объяснить не могут

Не только для фанатиков, но ты как фанатик вижу согласился с моей позицией.

Где это я с ней внезапно согласился?

Ну ты же написал — «для фанатиков», поскольку ты фанатик игнорирующий реальность значит для тебя тоже процессы ерланга — недотреды.

Реальность игнорируешь только ты. Объяснить в чем процессы Erlang’а не являются потоками ты не можешь.
Объяснить, почему стек в Erlang’е не является стеком, а является его «эмуляцией» ты не можешь.
Ну и так далее.

Тупой ограниченный фанатик, как есть.

А с чего ты взял что я не могу? Я не хочу такой херней страдать.

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

А с чего ты взял что я не могу? Я не хочу такой херней страдать.

Слив, как он есть

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

Слив продолжается, это хорошо.

Осталось понять, каким боком shootout относится к реальности

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

Любая из тех задач — синтетическая. За исключением пары-тройки, для которых Erlang так или иначе применяться не будет.

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

Если вы собрались писать числодробилку на Эрланге и сравнивать гигафлопсы — вы явно ошиблись языком, вам либо в сишечьку, либо в хаскелл с лиспом, лисп кстати всех по скорости делает.

Это из той серии тестов, которые я когда-то видел. В нём сортировка большого массива чисел на баше работала быстрее чем на C.

поэтому джава самый популярный язык потому что у нее самый лучший рантайм

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

Так и GC нормальный она появила благодаря чуваку, взрощенному на Erlang’е :)

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

Как скажешь, что не исключает что ерланг рантайм курит в сторонке по сравнению с jvm.

Рантайм в котором нет зеленых тредов — сосет по определению. Х)

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

Он не поймет. Ведь JVM настолько крута, что народ в срочном порядке пилит Akka и активно пытается сравнить ее с Erlang’ом

Акка ирелевантна зеленым тредам, иди учи матчасть.

Все, чувак, ты загнался. Акка это ж те самые эрланговские процессы, только в профиль.

Та нет, это ты загнался, акка юзает под низом ExecutorService которому сто лет в обед, и у нее другие цели, это скорее реализация чего то типа ОТП с распределенностью и всякими ретраями.

Настолько иррелевантна, что она их по сути эмулирует:

Akka decouples business logic from low-level mechanisms such as threads, locks and non-blocking IO. Your Scala or Java program logic lives in lightweight Actor objects which send and receive messages.

Все, лишь бы иметь хоть что-то хоть близко похожее на Erlang

On a commodity machine, you might run several million Actors — quite a step up from mere thousands of threads in a traditional Java application.

Бгг. Это к вопросу о “хорошем рантайме”

И где там — «акка это реализация green threads»?

А, еще supervisor-ы из OTP, и remoting, который в эрланге из коробки.

Ну замечательно что ты понял что загнался таки ты.

Пруф?
Мой пойнт: «Akka реализует поверх JVM концепции, которые были в Erlang/OTP с момента создания».

Опровергни с обоснованием.

Как все меняется, а раньше было:

Все, чувак, ты загнался. Акка это ж те самые эрланговские процессы, только в профиль.

Actors are very lightweight concurrent entities. They process messages asynchronously using an event-driven receive loop. Pattern matching against messages is a convenient way to express an actor’s behavior. They raise the abstraction level and make it much easier to write, test, understand and maintain concurrent and/or distributed systems.

Заменяем actors на Erlang Process и ничего не меняется.

Actors were defined in the 1973 paper by Carl Hewitt but have been popularized by the Erlang language, and used for example at Ericsson with great success to build highly concurrent and reliable telecom systems.

Akka embraces distributed computing and the network and makes it explicit through message passing, therefore it does not try to lie and emulate a leaky abstraction. This is a model that have been used with great success in Erlang and requires the user to model his application around. You can read more about this approach in the Erlang documentation (section 10.9 and 10.10), Akka follows it closely.

Supervisor hierarchies originate from Erlang’s OTP framework.

То есть берем все из Erlang’а, но нет, ни в коем случае не называем это такими же именами. Пусть фанатики думают, что у них все не так

Еще раз, акка как ерланговские процессы использует то что уже давно было в джаве, никакого rocket since там нету, миллионы запросов можно было обабатывать и до АККА(см. netty например), ее цель — это комуникации, ретраи и ремотинг, т.е. это замена ОТП.

и в чем же семантическое различие? кроме того, что я не учел, что в Акке слизали помимо процессов еще и remoting и supervision tree.

В том что ерланговские процессы в том виде как они есть в акка использовались уже очень давно например в виде ExecutorService, и это не есть цель акка. Уже устал это повторять.

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

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

компромис jvm который с другой стороны позволяет делать эфективные многопоточные алгоритмы с разделяемой памятью.

Что возвращает нам ад ручных блокировок.

изоляцию акка не реализует

Потому что для этого нужна поддержка на уровне рантайма и никуда от этого не деться, увы. Может быть, можно обойтись системой типов, но я не уверен.

На мой взгляд, именно изоляция — big deal. Без нее в эрланге не было бы подхода «let it fail», и это было бы очень большой потерей.

Ну в jvm дают программисту свободу, где нужно можешь обьявлять и передавать немутабельные структуры и делать свой let it fail, а где нужна производительность можно делать как блокировки так и lock-free алгоритмы(в jvm куча уже готовых структур данных). Ну и let it fail нагибается когда в дело вступают БД.

Что возвращает нам ад ручных блокировок.

Ну так акка же, и немного коммон сенс, глядиш — и нету там ада ;-)

Акка и разделяемая память вместе? Оо

Как-то мне не рисуется.

А ваша жава умеет за миллион процессов(green threads) с soft-realtime per-process GC?

Производительность в вычислениях не важна — для этого пишутся внешние модули на С/Ocaml/whatever.

А ваша жава умеет за миллион процессов(green threads) с soft-realtime per-process GC?

Ну ты бы топик почитал, лень по два раза отвечать.

Производительность в вычислениях не важна — для этого пишутся внешние модули на С/Ocaml/whatever.

Та можно и на брейнфаке писать с ассемблерными вставками.

Про ниасиленные сановцами(или кто ее на тот момент разрабатывал) green threads? Почитал.

Они точно так же неосилены и эрланговцами, что можно увидеть на бенчмарках.

Ты сам-то понял, какую чушь сказал?..

mtreskin.metalkia.com/post/115

Проклацал слайды, и понял что надо переходить на ерланг, патамушо он -зеленый- не имеет недостатков. :)

здесь слайды почти не нужны, надо смотреть видео:)

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

Судя по этому видео — это даже не белка истеричка это что то страшное и не человеческое, после такого видео не то что Эрланг изучать, хочеться выстрелить себе в голову с арбалета ! Блин зачем «это» выпускать на сцену и пугать людей ! Просто нервное чудовище пришло обосрало php сказало что Ruby и Python го*вно и начало втирать про Эрланг в котором сам не особо шарит рассказал что у него где-то 128 ядер и они используются где-то у него и ещё и памяти мало жрёт и при этом всё очень просто ! УЖАС нашего времени ... Ему в секте зомбировать людей и вытягивать с них бабло и квартиры а не про Эрланг рассказывать .... Фууу ...

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

Ну на питоне «написан» ютуб
Фигассе! А по виду — обычный HTML

Из публично известных: чат в Фейсбуке, сервера Call of Duty 2, инфраструктура MochiMedia, Wooga и GitHub’а, риалтайм системы комментирования aboutecho. Из непубличных — тысячи их.

Курить избранные темы на Erlang User Conference и Erlang Factory:
www.erlang-factory.com/...rence2012/talks
www.erlang-factory.com/...SFBay2012/talks
www.erlang-factory.com/...rence2011/talks
www.erlang-factory.com/...ondon2011/talks
и т.п.

чат в Фейсбуке

У них свой или ejabberd. Ну и пруф!

сервера Call of Duty 2, инфраструктура MochiMedia, Wooga и GitHub’а,

Я про живые сервисы (сервисы, а не утилитные куски)

То есть если чуваки просто используют РеббитМКу то это не считается, в зачет идут те кто сами разрабатывают на ерланге при том активно, а не «написали 10 строк которые уже 10 лет никто не трогал». Ну и пруф!

aboutecho

О, про это забыл таки есть 1 точно :)

UPD. За ссылки спсыбо, мо найду чета полезного.

У них свой или ejabberd. Ну и пруф!

Сервис есть? Есть. Обрабатывает миллиарды запросов ежедневно? Обрабатывает. Напиисан на Erlang’е? Написан. Архитектура в принципе описана: www.erlang-factory.com/...gatFacebook.pdf

Я не понял, что вам не нравится?

> сервера Call of Duty 2, инфраструктура MochiMedia, Wooga и GitHub’а,

Я про живые сервисы (сервисы, а не утилитные куски)

Что значит сервисы? Что значит утилитные куски? То, что оно не торчит наружу в виде API, не значит, что это шелл-скрипт, работающий раз в сутки на шаред хостинге.

CoD2: www.erlang-factory.com/...sonShooters.pdf
Wooga: www.slideshare.net/...in-social-games
MochiMedia: www.erlang-factory.com/...ers/BobIppolito

GitHub: www.infoq.com/...lang-and-github

Но да, это мертвые сервисы, написанные Васями Пупкиными для своих шаред хостингов.

CoD2: www.erlang-factory.com/...sonShooters.pdf
Wooga: www.slideshare.net/...in-social-games
MochiMedia: www.erlang-factory.com/...ers/BobIppolito

GitHub: www.infoq.com/...lang-and-github

Ну что тут скажешь таки признаю что все не так печально как я думал.

То, что оно не торчит наружу в виде API, не значит, что это шелл-скрипт, работающий раз в сутки на шаред хостинге.

Как-то был разговор про ерланг и человек начал рассказывать что у них он активно используется. А оказалось что «активно» — это 2 года назад подкрученная CouchDB, для каких-то счетчиков. :)

Но да, это мертвые сервисы, написанные Васями Пупкиными для своих шаред хостингов.

Что значит сервисы? Что значит утилитные куски?

Там скорее ключевое слово «живые». Или даже «живой код», то есть тот который изменяют, а не «когда-то написали и не трогают, бо страшно»

На Erlang’е, думаю, полно кода, который написали и не трогают, не потому что страшно, а потому что работает :)

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

MochiMedia — рекламная сеть www.mochimedia.com
Wooga — онлайн-игры www.slideshare.net/wooga
первое что в голову пришло.
Ну и если считать сервисами EJabberd, RabbitMQ, Riak, Erlyvideo...

YouTube БЫЛ написан на пайтоне. После приобритения сервиса гуглом его планомерно перевели на java.

YouTube БЫЛ написан на пайтоне. После приобритения сервиса гуглом его планомерно перевели на java.

Ой какая подставочка :)

Просто интересно, откуда у вас столько инфы про техническую внутреннюю специфику гугла?

Просто интересно, откуда у вас столько инфы про техническую внутреннюю специфику гугла?

Любопытство кошку сгубило.

У эрланга есть минусы. Основной, самый большой — хер найдеш спецов на рынке (несмотря на то, что эрланг проще жабы)

Мне думается что и неуниверсальности инструмента в целом.
На нем удобно писать многопотоковые приложения.

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

И вот тут Эрланг сливает всему чему можно. Как по скорости работы, так и по неудобству отображения в коде таких задач.

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

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

Это все проблемы второго рода :-) которые можна обсуждать и холиворить обдумывать взависимости от задачи. Есть и носкль базы, и шаблонные движки, вроде нитрогена.
Вот например — нужно было мне както спецефический сетевой сервер написать. О выборе технологии мной — и речи не шло, но гипотетически я прикинул. Вроде эрланг для этого годится как никто другой. С другой стороны — а нужно ли мне с ним связыватся ? Я ничерта не знаю про то как делать на нем «хорошую архитектуру»; что делать если у меня дето затык будет? смогу ли я найти дето инфо, или комуните в нете?; что если понадобится маштаборовать ? я же ничерта про это не знаю, даже мыслить о том где затыки и как маштабировать не умею; и самое главное — где брать девелоперов, если понадобится ?

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

Причем про дольше, больше и некрасивый код вполне можно поспорить.

Ну дак мы этим и занимаемсё ;-)
Под «некрасивый» я подразумеваю обильное использование мутабельности.

Я кстати внезапно открыл для себя крайне любопытное наблюдение (про котором писали в журнале ФП, но я тогда его не воспринял). Если проэктик небольшой, относительно не сложный, и програмист обладает должной «написательной» культорой — то по большому счету — пофигк на чем его писать. Он вполне будет «простой и понятный» будь то на эрланге, жабе, или там старом добром це. Разница начинается, когда вам надо его развивать и поддерживать.

Многие архитектурные вещи в Erlang’е уже есть в самом языке или его библиотеке. Типа деревьев контроля: erlanger.ru/...hp/OTP_Overview, erlanger.ru/...OTP_sup_princip Или готовых к использованию паттернов (erlanger.ru/.../OTP_Gen_Server и т.п.)

Для того, чтобы разобраться в Erlang’е требуется пару дней. Чтобы начать писать production-код требуется от двух недель до месяца. Мы набираем народ, который Erlang не знает.

Мы набираем народ, который Erlang не знает.

Який Вам з цього зиск?

Ну если у них есть мозг, то они смогут выучить другой язык :)

Наличие мозга куда ценнее знаний синтаксиса.

Так как специалистов, которые знают Erlang и ищут работу, мало, то легче обучить :)

которые знают Erlang и ищут работу,

Ололо :)

«Я же на банках писал что мед липовый» ©

Для того, чтобы разобраться в Erlang’е требуется пару дней.

ну я вкурсе, да.

Чтобы начать писать production-код требуется от двух недель до месяца.

Я уверен, что это при наличии людей с опытом. А людей с опытом эрланга на рынке почти нет.

Мы набираем народ, который Erlang не знает.

Чисто интересно, сколько платите ?

при наличии людей с опытом

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

Разобратся с чемто уже работающим одно дело. Проэктировать чтото сноля — другое.

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

Ну, плагины под него за меня уже никто не проектировал.

весьма спорно даст какойнибуть бенифит

Ну, в описанном для меня есть один огромный плюс — мне не нужно писать бэкэнд RTMP-приложения на Java.

У вас условия «другие».

Я думаю, еслиб уже был готов хороший опенсорсь RTMP сервер , скажем, на питоне, без альтернатив на других платформах — то вы выбрали бы именно его ;-)

без альтернатив на других платформах

Хорошего без альтернатив не бывает.

А RTMP-сервер на питоне — извращение. Х)

Я уверен, что это при наличии людей с опытом. А людей с опытом эрланга на рынке почти нет.

Нет, без опыта. Главное, чтобы человек думать умел, а Erlang язык во многом примитивный.

Чисто интересно, сколько платите ?

От 10% выше, чем в среднем по рынку, если среднее брать тут: lostinstockholm.com/...-by-occupation

Но также зависит от того, на кого устроишься — джуниором или сениором :)

А вы в швеции находитесь?

Та тю... о чем с вами говорить? :-D

В Швеции. Приезжайте к нам :) Тут хорошо

И че, берете из уашки с рилокейшном тех у кого нету опыта?

Из уашки еще не было, а из рашки, белорашки и молдовашки есть :)

80 человек программистов, из них треть — иностранцы. Половина программистов, наверное, до нас с Erlang’ом не работала. С релокейшном помогаем (то есть оформление документов, поиск квартиры, компенсация перелета).

klarna.com/.../work-at-klarna :)

Интересно, запомню на будущее. =)

Кстати, про ерланг. Решил я тут эзотерикой занятсо, что бы вы посоветовали почитать по ерлангу?

джо амрстронга книга, для ознакомления что это есть такое — вполне пойдет. pragprog.com/...gramming-erlang

Ще на офф сайті Ерланга рекомендують shop.oreilly.com/...780596518189.do
Але книжка Армстронга pragprog.com/...gramming-erlang сподобалася більше

я сам только недавно решил его освоить, охота попробовать что-нибудь для веба на нём написать:)
пока по спецификации и гитхабу разбираюсь

Приходите оба к нам в чятик на erlang@conference.jabber.ru. Насчёт «эзотерики» можно поспорить, кому эзотерика, а кому и основная работа. Заработать хватает на хлебушек с икрой и бензина полный бак.

Книги смотреть Армстронга (в оригинале сам читал и другим советую) и есть другая книга Франческо Чезарини, эта точно есть в переводе, если оригинал не осилите.

Как уже сказали, Армстронг и Чезарини. Вторая точно есть на русском: http://erlanger.ru/page/2055/f-chezarini-s-tompson-programmirovanie-v-erlang

Ну и чатик (xmpp://erlang@conference.jabber.ru) и рассылка (groups.google.com/...rlang-russian/, как же без этого

Я OTP in action читаю. Для первых шагов в Erlang вряд-ли подойдет, но чтобы писать Real-world приложения самое то

Господа я так понимаю вы натроих (Богдан, Сергей, Ростислав) решили в этой теме 1000+ коментов дать ;)

Ага, решили на троих сообразить...

Андрей, вот вы явист, давайте тоже за Питон, вы ж наверное, там все слабые стороны уже знаете, поддайте жару, так сказать, товарищам из своего лагеря)))

Андрей, вот вы явист, давайте тоже за Питон, вы ж наверное, там все слабые стороны уже знаете, поддайте жару, так сказать, товарищам из своего лагеря)))
" Вегетарианского не держим-с." © 12 стульев

вы натроих (Богдан, Сергей, Ростислав) решили в этой теме 1000+ коментов дать ;)

Вы хотите присоединитсо, судя по всему? :)

А с каким тезисом?
Нужен тезис в качестве взноса для вступления.

Можно и вброс :D

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

Так! Кто тут не мейнстрим, я не понял?

Это вы можете определить по количеству вакансий на ту или иную технологию на жоп сайтах ;-)

А, ну тогда, судя по разделу работы на ДОУ Java по сравнению с .NET, и даже JS, — вообще не мейнстрим )))

Блин, только написал коммент, тут мне игровой центр mail.ru вылетей с картинкой сиськатой тетеньки на экран и с надписью: «Пришло время дать отпор! Сразись в доспехах богов», ну это просто знак на холивар!

картинкой сиськатой тетеньки на экран
чеспионерское ни я ни джава тут непричем ;)

щас джависты будут кастовать заклинанием «энтерпрайз»

Да, что, все-таки, всегда меня поражало в Java-коммьюнити, так это то, что почти все данные товарищи подвержены яростному фанатизму и непринятию мыслЕй со стороны и других технологий. Эдакая современная инквизиция в мире IT. Богдан (Торквемада) Серебристый Волк рвет и мечет по ДОУ части тел суппостатов =)

и непринятию мыслЕй со стороны и других технологий.

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

Может он и заблуждается, себе на беду, но таков уж стимул от доминирования.

Эдакая современная инквизиция в мире IT.

Никто не мешает делать проекты на других технологиях.

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

Что и требовалось доказать)))

Что и требовалось доказать

Мне другое интересно.

Почему на сугубо технических форумах по Java (данный форум общий, и тема поставлена в общем виде «Python или Java.») постоянно появляются то phpшники, то питонисты, очень редко, но бывает рельсовики — и начинают хаять и плеваться на Java.

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

Какая нужда их гонит на форум по другой технологии доказывать что та технология — фигова?

P.S.
И не помню чтобы .NETчики таким занимались.
Иногда сами джависты всплакнут, «эх, классно все таки С# развивается, нам бы в Java такие плюшки...»

Но вот phpшники и питонисты — с завидной регулярностью.

Какая нужда их гонит на форум по другой технологии доказывать что та технология — фигова?

Ну, по идее, обычно, голод.

Та иррациональный технофанатизм характерен для любых технологий...

А джава, это на данный момент времени здесь на доу...

почти все данные товарищи подвержены яростному фанатизму и непринятию мыслЕй со стороны и других технологий.

Например?

Богдан (Торквемада) Серебристый Волк рвет и мечет по ДОУ части тел суппостатов =)

Например?

Я на вас не ведусь, я слишком худой, не тот уровень, не бейте слабенького, пожааалуйста... =(

Ваапшэта, личные выпады, хорошо бы подтверждать фактами.

Ну такое, из относительно недавнего:
1) Java vs Python: dou.ua/...o-budet/#109998
2) Java vs C#: dou.ua/...o-budet/#109942

3) Java vs C#: dou.ua/...ic/5747/#205960

И где в ваших примерах

непринятию мыслЕй со стороны и других технологий.

?

1) Java vs Python: dou.ua/...o-budet/#109998

Там не Java vs Python. Там совсем о другом, там про читабельность кода. И тут не зависимо от джава/не джава, слова понятнее символов (особенно человеку не подготовленному).

Java vs C#: dou.ua/...o-budet/#109942

Тут так же не вижу не принятия мыслей. Разве шо про «unsigned числа», но это не со стороны других технологий, это просто специфическая фича, которая не особо нужна в не системном программировании (да и в системном не особо).

Java vs C#: dou.ua/...ic/5747/#205960

А это комментарий от «Boris Roshal ASP.net Develope»

Копаем дальше.

Не, так много времени нет, я как-то в следующий раз напомню, мне кажется он скоро настанет ;)

;)

dou.ua/...=comment#207522

А там где

непринятию мыслЕй со стороны и других технологий

?

Не, ну так толсто писать чушь про len, какое-то сокрытие реализации ... и тут такое .. в общем, троллинг чистой воды))))))

А вы читали все или просто слова повыдергивали?

какое-то сокрытие реализации

Оттакое:

len([1,2, 4]) вместо [1, 2, 4].__len__()

Почему вместо? Пишите как вам больше нравится... Мне вот первый вариант ближе)

Пишите как вам больше нравится...

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

Хорошо, и в чем тут проблема с обучением?

Я так понимаю, вы подразумевали list в контексте сравнения с java-массивами. И опять-таки, я не понимаю, что вы подразумеваете под «сокрытием реализации» и как len() утяжеляет обучение.

По-моему все просто: «объект, для которого можна посчитать длину (неважно, что за объект: масив, графический примитив, объект-автомобиль...), владеет методом __len__, а функция len — более красивый шорткат для вызова этого метода».

Тот же java-способ определения длины массива arr.length, тут нет сокрытия реализации?

А вот прочитайте всю ветку :)

Ну так ветка слилась в обсуждение питона для прототипирования проектов, или я не ту ветку смотрю? ;)

В общем, мы друг друга нэ панимай, мне кажется...

рубироиды обычно горячи тупы и фанатичны.
хаскелисты вообще секта полоумных например

А как же коммунити функциональщиков?

Да как-то их тут не видно совсем.

кстати да. Вот это — самые пламенные фанатики! Но мне начинает казаться что в рунете они выдохлись. Все реже встречаю. А там где они тусуются не бываю.

Вот это — самые пламенные фанатики!

В пламенном фанатизме нет ничего плохого, если он обоснован.
«Функциональщики», как правило, могут обосновать свою позицию (мо мне на таких везло).

А вот самые «конченые» — это фанаты МСа (но это так же субъективно).

UPD. Перечитал свой пост, толсто конечно получилось :)

«Функциональщики», как правило, могут обосновать свою позицию (мо мне на таких везло).

Да, могут. Мне их стиль аргументирования напоминает железную детскую логику. Но оно и понятно, обеим группам свойственно отсутствие «житейского опыта».

А вот самые «конченые» — это фанаты МСа

МС — это MS, MicroSoft? Как-то не припомню...

Но оно и понятно, обеим группам свойственно отсутствие «житейского опыта».

А это вы согласно показаниям хрустального шара определяете?

А это вы согласно показаниям хрустального шара определяете?

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

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

А весь мир нужно переделать, людей перевоспитать, физические законы исправить, и т.д. и т.п. и вот тогда вы увидите все преимущества!

P.S. «И вместо того чтобы писать этот поганый ынтырпрайз софт нужно просто исправить экономику. Перевести ее на строго математические рельсы. И будет полный порядочек!»

То может вам такие встречались)))

А вообще такие споры бессмысленны, пока не определяется область применения.

То может вам такие встречались)))

Странный тезис. Конечно я не могу говорить о тех кто мне НЕ встречался :)

Но насчет «фанов ФП» (если убрать из рассмотрения студенчество, которое сложней курсового ничего не писало), то различие в житейском опыте продемонстрирую на крайнем случае:

родился в Москве, папа доктор наук, мама инженер в КБ, детсадик с такими же детьми, лицей с мат анг уклоном, Бауманка, «исследовательское подразделение NVidia» — несложно догадаться о как о причинах укорененного идеализма так и об оправданности снобизма :)

А вообще такие споры бессмысленны, пока не определяется область применения.

Самое забавное что житейский опыт это и говорит.

Но «фаны ФП» тем и отличаются — яростным отрицанием многообразия областей применения и глубокой уверенностью что любое «красное» и «соленое» можно свести к единому.

Теисты и телеоголисты. А это и характерная черта детского взгляда на мир.

Странный тезис. Конечно я не могу говорить о тех кто мне НЕ встречался :)

Ну естественно )

Теисты и телеоголисты. А это и характерная черта детского взгляда на мир.

Самое забавное что житейский опыт это и говорит.

Вот, это ВАШ опыт говорит. Возьмем другой пример.

Человеку, 20 лет драйвера пилит, например.

Java ему абсолютно до лампочки, но, экстраполируя свой С-шно-асмовский опыт на другие области применения, он, придя на ДОУ, говорит исключительно из вредности, что Java — гуано, потому что:

1) нет ручного управления памятью, указателей, арифметики указатель
2) производительность ниже плинтуса
3) Исходя из вышесказанного Java вообще для детей и неграмотных
...

очередной холивар ниочем как в данном топике «Python или Java».

А по сути то:
1) Оба языка достаточно популярны, чтобы без проблем найти работу (да, у Java вакансий на порадок больше), но

2) Может человеку не будет доставлять удовольствия пилить стотысячный класс навороченной ERP-системы

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

Полностью согласен.

Просто у меня ничего личного против ФПшников нет.
И против питонистов тоже. И их инструментов — тоже.
Но у них часто почему-то есть претензии и к моему и инструменту, и ко мне лично, когда им начинаешь объяснять, почему уверен что их инструмент не подойдет для решения моих задач:

«А ты просто ни асилил, вот если бы асилил...»

На — ну так напиши, покажи — «мировой заговор, маркетинг не пускает нас!»

Как с вашим примером Сишника:

«Ды ты просто ни асилил ручное управление памятью, а то бы и ERP свои писал на Си!»

Не помогает и моя отговорка что профессиональную карьеру я начинал как Сишник. И ассемблером не гнушался, и его же, выдаваемого компиляторов иногда оптимизировал. «ТЫ не асилил, и точка!»

С чем тоже согласен, даже в 10000 лучших Сишников мира не вхож. «Вот то-то!» радостно скажет фанат Сишник.

У фанатов же как и у детей — ни тени сомнений. Отсюда их железная логика.

А «житейский опыт» это кряхтение — охо-хо, если бы все так просто было...

«Да просто все!» возражает ребенок и — фанат :)

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

Не, сначала надо тему прочитать :)

Интересует больше всего высоко-нагруженные проекты, кластеры.

И все наезды на питон тут были именно в контексте «внутренностей» высоконагруженых систем.
А эта ветка
dou.ua/...ic/5773/#207490

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

Не, сначала надо тему прочитать :)

Количество срача обратно пропорционально зависит от количества людей, читающих тему и помнящих ее на протяжении обсуждения, поэтому читать тему не надо)

И все наезды на питон тут были именно в контексте «внутренностей» высоконагруженых систем.

Ну... «высоконагруженные системы», это же пэрсык) Тут же надо еще разобраться, что это такое ) ну, там внизу уже вроде разобрались), ведь если по вакансиям полазить, то тут больше половины вакансий — «высоконагруженные проекты»

Вопрос был вполне конкретный — про «области применения» и про «высоко-нагруженные проекты, кластеры». Ответ — для кластеров больше джава подходит.

«высоко-нагруженные проекты, кластеры»

Вопрос был вполне конкретный — про «области применения» и про «высоко-нагруженные проекты, кластеры». Ответ — для кластеров больше джава подходит.

Я не до конца согласен. На Python, используя C-extensions в критических по производительности местах, можно добиться такой же, а то и большей производительности, чем на Java. Все зависит от задачи. Например, числодробилки, прекрасно решаются таким набором инструментов.

Опять-таки, «высоконагруженные проекты, кластеры» — очень широкое понятие охватывающие разные области задач. Если Enterprise и нужна производительность — пожалуй не буду спорить на счет преимуществ Java.

P.S.

Проблема больше в том, что среди питонщиков (по крайней мере у нас) крайне мало людей с опытом разработки на С.

можно добиться такой же, а то и большей производительности

Кстати я от питонистов слышу это часто. Что — бОльшей производительности от питона чем на Java. И никак не пойму, как питон оверлочит процессор.

Или — написать все на Си, а на питоне вызывать — start, stop — это будет программа ни питоне?

Проблема больше в том, что среди питонщиков

То есть — «ни асилили. Вот если б асилили»....

;)

Или — написать все на Си, а на питоне вызывать — start, stop — это будет программа ни питоне?

Нет, только критические участки кода, на которых производительность Python — неприемлима.

То есть — «ни асилили. Вот если б асилили»....

;)

На самом деле не считаю, что это смешно. С знать вообще полезно ), а в связке с Python — вдвойне, поскольку данное знание дает возможность решить проблемы с производительностью, если они есть.

Что — бОльшей производительности от питона чем на Java.

Без хоть какого-то профайлинга вообще говорить о производительности как то нехорошо, поэнтому каюсь.

Нет, только критические участки кода, на которых производительность Python — неприемлима.

Думаю вы знаете что есть такая штуки как JNI и JNA.
Писать на Си критический код и подцеплять к Java — запрещается?

Так же есть java.nio.ByteBuffer, с direct режимом. На котором, если не путаю TerraData реализовала большую кластерную штуковину.

в связке с Python — вдвойне, поскольку данное знание дает возможность решить проблемы с производительностью, если они есть.

И это делает Python шустрым, а жабу от тормозов не избавить?

Без хоть какого-то профайлинга вообще говорить о производительности как то нехорошо, поэнтому каюсь.

То есть вы хотите сказать, что если мы возьмем Сишную реализацию критического участка, подцепим ее с помощью JNI или еще как будем вызывать — вот это останется верным: «На Python, ... можно добиться такой же, а то и большей производительности, чем на Java.»

Вы знаете Си, я знаю Си. Так что о работе компьютера представление имеем. Поясните за счет каких факторов возможна такая ситуация? Вот это «а то и большей производительности чем на Java»?

в связке с Python — вдвойне, поскольку данное знание дает возможность решить проблемы с производительностью, если они есть.

И это делает Python шустрым, а жабу от тормозов не избавить?

Заметьте, я ничего не говорил по поводу Java.

Думаю вы знаете что есть такая штуки как JNI и JNA.
Писать на Си критический код и подцеплять к Java — запрещается?

Так же есть java.nio.ByteBuffer, с direct режимом. На котором, если не путаю TerraData реализовала большую кластерную штуковину.

Ну естественно) И это замечательно. Но тут же дело не в том, у кого длиннее, а удовлетворяет ли длина потребностям. И моя позиция в том, что, да, удовлетворяет. А так же мне кажется, что среди Java разработчиков с native-интерфейсом работал примерно такой же процент, как питонщиков с С-расширениями), разве что матерые игроделы на андроиде.

Поясните за счет каких факторов возможна такая ситуация?

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

PS
Да и вообще данная дискуссия какая-то сферическая.

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

Заметьте, я ничего не говорил по поводу Java.

dou.ua/...ic/5773/#208804

Хоть бы почистили пост, прежде чем отрекаться :)

Не имея реальных возможностей/похожих проектов для проведения конкретного сравнения и профилирования

Так вы гипотетический придумайте.

Вы же гипотетически смогли выдать:

Я не до конца согласен. На Python, используя C-extensions в критических по производительности местах, можно добиться такой же, а то и большей производительности, чем на Java.

причем «Заметьте, я ничего не говорил по поводу Java».

Да, я заметил, даже намека на Java там нет.

Прикол в другом:

Вы строите аргументацию как классический член секты питонистов, и пишете штампы уже на автомате.

;)

А так же мне кажется, что среди Java разработчиков с native-интерфейсом работал примерно такой же процент, как питонщиков с С-расширениями)

А причем тогда питон? С какого перепугу С возник?

причем «Заметьте, я ничего не говорил по поводу Java».

Да, я заметил, даже намека на Java там нет.

dou.ua/...ic/5773/#208804

Хоть бы почистили пост, прежде чем отрекаться :)

Правильно, я говорил об увеличении производительности Python, и ничего не говорил о том, что нельзя победить «тормоза Java».

Прикол в другом:
Вы строите аргументацию как классический член секты питонистов, и пишете штампы уже на автомате.

;)

Я ни в коем случае не фанат питона, и использую его в работе там, где это целесообразно.

Вы строите аргументацию как классический член секты питонистов, и пишете штампы уже на автомате.

;)

Вы строите аргументацию как классический член секты явистов, и пишете штампы уже на автомате.

А причем тогда питон? С какого перепугу С возник?

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

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

А при чем тут приложение на Python которое может работать быстрее чем на Java?

Мало того, еще нужно потрудиться поискать такую систему программирования, которую нельзя расширить с помощью С. То есть весьма сомнительное превосходство — а вот С расширение...

(Это как PHPисты говорят что фейсбук на PHP работает. То что там диалект PHP транслируется в С++ код, который естественно компилируется и он то и работает — «Но писали же на PHP!»)

Вот в 1С, есть «технология внешних компонент». На С, С++, Дельфи, пишете код, оборачиваете и вуаля:

«простой способ ускорить 1C-приложение!»

И «Если на внешних компонентах написать критические участки кода, то и на 1С можно высоконагруженное кластерное приложение»

Далее, вы написали в ответе — «простой способ», а ранее «Проблема больше в том, что среди питонщиков ... крайне мало людей с опытом разработки на С.»

Так в чем тогда — простота для питонщика такого способа ускорения?

Вы строите аргументацию как классический член секты явистов,

Покажите. Я показал почему так высказался.

Вместо хотя бы гипотетического, теоретического примера — вы мне что отвечаете?

Я ни в коем случае не фанат питона

Но быстро пришили к штампам и противоречиям.

Я вот как не фанат Java перескажу историю.

Не так давно команда джавистов из гугла опубликовала код на Java и C++, показав на тестовых замеров что НЕ уступает Java по производительности.
Через небольшое время, другая команда из гугла, но плюсовиков увидела это дело в интернете (видать далеко сидят друг от друга), выпучила глаза, немножко (я смотрел, там действительно не ахти какая переделка получилась) подправила код тестов и С++ показал в 4ре раза более высокую производительность.

Забавно что после шума на форумах, и западных тоже, один из той команды плюсовиков сделал «контрольный выстрел» в своем блоге: я тут посмотрел, подумал, и еще чуть подправил, вот... тесты С++ в 6 раз быстрее получились.

А вы мне говорите "

То может вам такие встречались)))

"
Ну вот, только такие и встречаются :)
Допускаю что есть питонщики не фаны, и они просто заняты делом. И им до лампочки кто там кого быстрее, что там за хаки в синтаксисе.

Одного только действительно знаю такого. В реале.

Я показал почему так высказался.

Нет, не показали.

Вместо хотя бы гипотетического, теоретического примера — вы мне что отвечаете?

Вы противоречите сами себе. То гоните на «фанатов ФП», которые «в гипотетических ситуациях», по ходу, я так теперь понимаю, аргументированно доказывают преимущества ФП, фанатику Явы)))))))), то теперь я уже фанатик, потому что не могу привести «ту самую гипотетическу ситуацию», от которой вы всем вокруг открываете глаза жизненным опытом. Раз вокруг вас все фанатики, пора задуматься.

Допускаю что есть питонщики не фаны, и они просто заняты делом.

И я допускаю, что среди Java-разработчиков есть не фаны, и просто заняты делом))))

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

Не так давно команда джавистов из гугла опубликовала код на Java и C++, показав на тестовых замеров что НЕ уступает Java по производительности.

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

Ахахаах, вы только что сами себя обозначили, по вашим критериям, фаном, доказываете что Java быстрее С++)

Нет, не показали.

Вам конечно врядли :)

то теперь я уже фанатик,

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

В четвертый раз просить у вас пояснений ваших же слов?

вы только что сами себя обозначили

Не тупите :)

Если мой основной инструмент Java то чего я фан — ее тормозов по сравнению с С++?

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

Не вижу на себе никакого ярлыка, а ваши высказывания в данной ветке подняли настроение на весь день не только мне, за это вам премного благодарен =)

используя C-extensions

Это есть извращение, как минимум потому что:

Проблема больше в том, что среди питонщиков (по крайней мере у нас) крайне мало людей с опытом разработки на С.

А от дальше интереснее:

в критических по производительности местах

Это какие такие места? Примеры, пожалуйста.

Если:

числодробилки

То «высоконагруженные сервисы» — это совсем про другое.

То «высоконагруженные сервисы» — это совсем про другое.

Ну назовите свой пример, чай я вас не понял.

Ну назовите свой пример

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

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

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

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

А что в этом не интересного?

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

Ну вот простенький youtube

А что именно там написано на питон?

Судя по www.insight-it.ru/...ektura-youtube там от питона в основном формирование html (хотя откуда инфа не понятно)

А что в этом не интересного?

Кроме того что «не спортивно»? :)

Не интересно, потому что это не значит написать эффективное решение, это значит иметь достаточно денег на оборудование, а денег много не бывает.

А что именно там написано на питон?

Судя по www.insight-it.ru/....ektura-youtube там от питона в основном формирование html

А в простеньком интернет-магазине кроме нескольких запросов в БД и формирвоания хтмл больше ничего и не надо.

(хотя откуда инфа не понятно)

Там в самом низу написано

Не интересно, потому что это не значит написать эффективное решение

А в чем, собственно, проблема с эффективностью?

А в простеньком интернет-магазине

Простенькие интернет-магазины ограничиваютcя php + joomla

А в простеньком интернет-магазине кроме нескольких запросов в БД и формирвоания хтмл больше ничего и не надо.

О, так не только формирование ХТМЛ.

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

А в чем, собственно проблема с эффективностью?

Вкратце:

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

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

А, то есть Java магическим образом взламывает сервера и их параметры становятся безграничными?)

P.S

Ладно, Java — the best! Все пишите на Java и будет вам счастье, а я пусть останусь несчастным))))

их параметры становятся безграничными?

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

Ладно, Java — the best!

Где я такое говорил?

Все пишите на Java и будет вам счастье, а я пусть останусь несчастным))))

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

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

Ну, опять же, просто заявление, я так же про питон могу сказать)))

Где я такое говорил?

Это я сказал, а вот вы как-то сразу атакуете сразу, наверное чашка кофе в глазах рябит)) И я еще фанатик ... . Короче, будем считать сухим остатком то, что Java в кластере рулит. Вы меня убедили.

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

Я не фанатик питона, и вообще в последнее время на питоне меньше пишу, так как для текущих задач есть более актуальные инструменты (предложенные мной, кстати, а не руководством). Мне нравится решать задачи, и мне нравится, что python хорошо решает большинство задач, которые передо мной ставятся, только и всего ;) а ваше мнение, — всего лишь ваше мнение.

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

Так это здорово!

Чего вас понесло повторять голословные мантры фанатиков-питонистов?

«От голода»?

Так это ж ДОУ))))

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

Это я сказал, а вот вы как-то сразу атакуете сразу, наверное чашка кофе в глазах рябит)) И я еще фанатик ... .

Слово:

Ладно,

Как правило, означает согласия (или псевдо-согласие) с мыслью оппонента. Вот я и не понял где я высказал мысль с которой вы согласились. :)

Как правило, означает согласия (или псевдо-согласие) с мыслью оппонента. Вот я и не понял где я высказал мысль с которой вы согласились. :)

Та не, это я уже чтобы ветку убить, но что-то не получаеццо. Вас он двое, а я один.

Та не, это я уже чтобы ветку убить

Уважаемый коллега.
Вы просто «не за тех подписались».

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

В полноценных же высоко-нагруженных системах используется троица:

С/С++, Java, (Python, Ruby, PHP)

То есть критические участки реализуются на С/С++ и для Java и для (Python, ...)

Но так как программирование на С/С++ совсем не просто, даже если это просто «расширения», то не пишутся эти полностью на них.

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

И тут то, начиная с bash, awk, ..., - Python в высоконагруженных кластерных системам — отличный инструмент.

Но это не означает что и на bash можно писать такие системы. С расширениями на С и Java.

МС — это MS, MicroSoft?

Угу.

Как-то не припомню...

Ну знать мне «везло» на таких :)

Ну знать мне «везло» на таких :)

Я если и встречал то вяло отбивающихся от наседающих с своей верой в СПО линуксоидов или иных поклонников Столлмана :)

А какую конкретно технологию от MS вы обычно слышали от этих фанов? Интересно.

А какую конкретно технологию от MS вы обычно слышали от этих фанов?

В том то и суть, что дело не в конкретной технологии, а в общем отношении.
При разговоре о разработке, первый аргумент:
«Студия очень крутая, и точно круче еклипса» (при том про еклипс никто даже не заикалсо :) ).
Разговор про БД, как правило вызывает удивление в том что их больше одной (сами знаете какой).
А те кто знают про существование других, не понимают что есть другие ОС (кроме сами знаете какой).

Хвалят МС за каждый новый ИЕ, и правду верят, что он лучше других браузеров, а все проблемы совместимости других браузеров с ИЕ можно решить с помощью джКвери.

Разговор про БД, как правило вызывает удивление в том что их больше одной

Не надо не надо — у М$ очень много различных СУБД:
— MS SQL 2012
— MS SQL 2008
— MS SQL 2005
— MS SQL 2000
— И даже MS SQL 7.0

:)

можно решить с помощью джКвери.

Так IE работает не стабильно не потому, что он такой кривой, а потому, что jquery кривая :)

и правду верят, что он лучше других браузеров

Ну так конечно — вот если бы IE не было — чем бы вы закачивали браузеры? :)

Ну так конечно — вот если бы IE не было — чем бы вы закачивали браузеры? :)

wget, lynx, curl

А это с виндовсом вместе идет, или его докупать надо?

Почему докупать? Скачать бесплатно, без смс, без регистрации

А кому нужен виндоус. Мне лично — нет.

А кому нужен виндоус. Мне лично — нет.

Действительно, мне вот тоже не особо нужен...

А кому нужен виндоус. Мне лично — нет.

Действительно, мне вот тоже не особо нужен...

Ну такую трололо-возможность низя пропускать:

А вы пользуетесь ОС которая занимает около 1% или около 5% рынка десктопных ОС?

Ну такую трололо-возможность низя пропускать:

А я вас уже заждался.

А вы пользуетесь ОС которая занимает около 1% или около 5% рынка десктопных ОС?

Обоими, я пользуюсь осями, получается занимают около 6% рынка ОС ;)

А 1% и 5% это какие-то такие важные показатели, которые должны оказать решающее влияние на мой выбор ОСей?

на мой выбор ОСей?

Откуда столько эгоцентризма? :)

Это я скорее к тому что

мне вот тоже не особо нужен

Не совсем корректно. Скорее:

А зачем ВЫ надо виндовсу.

А зачем ВЫ надо виндовсу.

Незачем, да и вообще скоплению машинных кодов и скриптов ничего не надо)

Откуда столько эгоцентризма? :)

Вы же спрашивали, какой осью Я пользуюсь, я и ответил, при чем тут эгоцентризм?

А я вас уже заждался.

А вот я вас не ждал, кстати. Больше рассчитывал на всяких 13-летних фанатиков :)

А вот я вас не ждал, кстати. Больше рассчитывал на всяких 13-летних фанатиков :)

Да откуда 13-летние на ДОУ? 13-летние исключительно на Хабре.

Ну такую трололо-возможность низя пропускать:

Десктоп не нужен уже.

Десктоп не нужен уже.

Господин кодит на хромбуке или на айпаде?

Ну попытайте вы счастья, а то шота «не клюет» :)

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

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

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

В сферическом кластере в вакууме все рулит =)

Кластер — это не область применения, это способ организации вычислительных ресурсов. Вот, например, тот же youtube прекрасно справляется (www.insight-it.ru/...-youtube-2012/. Или это не кластер, а 4 миллиарда просмотров страниц в день на шаред-хостинге работает? ))))

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

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

В сферическом кластере в вакууме все рулит =)

Кластер — это не область применения, это способ организации вычислительных ресурсов. Вот, например, тот же youtube прекрасно справляется (www.insight-it.ru/....-youtube-2012. Или это не кластер, а 4 миллиарда просмотров страниц в день на шаред-хостинге работает? ))))

Ну ты бы вначале ветку почитал: dou.ua/...ic/5773/#207264

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

Чья то поделка springpython != spring, а spring != enterprise.

Ну ты бы вначале ветку почитал: dou.ua/...ic/5773/#207264

Я читал эту ветку, но изначально ваш комментарий был про то, что

и питон оказывается на кластерах рулит..

Ну ты бы вначале ветку почитал: dou.ua/...ic/5773/#207264

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

Чья то поделка springpython != spring, а spring != enterprise.

Я дико извиняюсь, конечно, но на springsource.com на главной большим шрифтом написано:

Spring is the most popular application development framework for enterprise Java™. Millions of developers use Spring to create high performing, easily testable, reusable code without any lock-in.

Или вы знаете какую-то грязную подноготную, которой не делятся авторы спринга (я со спрингом дела не имел, так что может не в теме, поясните) ?

Какой ты непоследовательный однако, то у тебя:

вы троль, причем унылый уже год как знаю, поэтому считаю сию ветку закрытой. Удачи в личной жизни.

то начинаешь из себя джентельмена строить.

А, понятно, опускаете ключевые слова, тонко троля )

Не вижу причинно следственной связи и какие такие keywords я опускаю.

Я дико извиняюсь, конечно, но на springsoure.com на главной большим шрифтом написано:

И че? То что он популярный энтерпрайз фреймворк не исключает того что
а) его применяют не только для энтерпрайза
б) для энтерпрайза применяют не только его

в) springpython вполне возможно вообще для энтерпрайза не применяют

то начинаешь из себя джентельмена строить.

Это про Spring != enterprise. Больше верю сообщению на официальном сайте, чем левому анонимусу на ДОУ, ...

Не вижу причинно следственной связи и какие такие keywords я опускаю.

Значит, не понимаете, что такое кластер... =(

И че? То что он популярный энтерпрайз фреймворк не исключает того что
а) его применяют не только для энтерпрайза
б) для энтерпрайза применяют не только его

в) springpython вполне возможно вообще для энтерпрайза не применяют

ну-ну, так мы скоро дойдем до того, что может и Java для ентерпрайза вообще не применяют

Это про Spring != enterprise. Больше верю сообщению на официальном сайте, чем левому анонимусу на ДОУ, ...

А где на оф сайте написано что спринг = энтерпрайз?

Значит, не понимаете, что такое кластер... =(

Ну значит есть куда расти!

ну-ну, так мы скоро дойдем до того, что может и Java для ентерпрайза вообще не применяют

Не мы, а ты.

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

Это маркетинг, детка! :)

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

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

Objective C в первую очередь, наверное.

Потому, что там айфон и большой рынок, или потому, что язык сам по себе приятен и хорош?

Я бы хотел Smalltalk’ом побаловаться, но ума не приложу, что бы такого полезного запилить. Для собственных нужд питона как-то хватает, а если я хочу странного, то есть перл.

Потому, что там айфон и большой рынок

Да. Очевидно.

а если я хочу странного

Тогда уж лучше похапе

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

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

Groovy & Grails. И Java программистом по ходу станете и писать также легко как на Питоне (или даже легче).

Интересует больше всего высоко-нагруженные проекты, кластеры.

C++, Erlang

Помимо само-собою разумеющегося срача жаба vs питон. Про область применения питона так никто и не написал...

Я, кстати, в копилку питона могу добавить что это отличный выбор при написании опен-сорс десктоп приложений под линукс. На этом поле питону только цепепе конкурент.

да и под винду иногда. Пользуюсь wikidpad ом, на wxPython написан. Няшная вещица.

В копилку питона к сказанному ранее добавлю еще:
Многим стартапам стоит первую публичную версию делать на Python’е.
Даже когда супер-мега онлайн игра, по скромным прикидкам в которую будет рубиться четверть интернет пользователей мира.

Потому что хардкодить на нем — проще чем на Java.

А вот когда треть пользователей интернета начнут приходить — подумать о
High accessibility, high scalability, high responsibility

(www.insight-it.ru/highload)

Или остаться на питоне, если успех немножко задерживается. Эти High все равно не нужны будут. Временно естественно!

Многим стартапам стоит первую публичную версию делать на Python’е.
Почему не на рельсах, или (что помойму более лутше) на грельсах ?

рельсы и грельсы это уже фреймворки. Который навязывает всяко разное.

А стартап - это ж когда творят невиданное!

Но конечно, можно и ну руби или на груви. Груви кстати, говорят тормозней Спитона. Не проверял.

Да и руби не шустр. Но не суть важно, в рамках "срача жаба vs питон" высказался за питон в определенных ситуациях.

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

Груви - да, самое тормозное что я видел. Но у него огроменный плюс в том что с него легче всего "спрыгнуть" на джаву, да и результаты всяких статик груви и груви++ очень и очень радуют.

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

Можно. Мне так кажется, и встречал мнения, что порог вхождения в программирование на питоне ниже чем в руби.

И - груви. Груви для джависта как родной. А только приходящему в мир Java - вопрос.

Или остаться на питоне, если успех немножко задерживается.
В случае с Jython-ом, переход на java можно откладывать продолжительное время. Скомпиленные в байт-код приложения можно задеплоить на java application server. Код же можно улучшать постепенно, подменяя питоновский код модулями на java.

Кстати, следуя вашей же ссылке www.insight-it.ru/...ektura-dropbox

она может и не нужна.
Просто без нее — никак уже :)

Нужен только Си.
Будет Си — стальное можно дописать.

Если бы все писАли под .net — то в мире бы установилось вселенское счастье: тут же тебе и десктопные технологии, и веб, и облака и распределенные технологии, и мобайл, и СУБД, и виртуализация, и TFS с поддержкой всех всех всех процессов разработки (MSF ко всему адаптирован), и виртуальные лаборатории для тестировщиков, и снапшоты, с запечатанными багами... И платформа для создания роботов, и однокристаллки под божественный фреймворк! И процессоры скоро будут под CLR работать! И даже своя ERP, которая девелоперам на ЗП накидывает побольше! И в синтаксисе языков нет ограничений — хоть Algol60.NET! Нет, блин, обязательно найдутся ренегаты — еретики... Это ж как Вавилонская башня, где всех наказали, и все стали говорить на разных языках :)
upd: ooops, есть ada.net, он же ашарп :)

Щас тебе про жабу тоже самое скажут :)

А уж как МС был бы счастлив считая бабосы и поголовье анальных рабов!

И армию индусов-формошлепов готовых работать за еду

С каких это пор .net фреймворк стал платным обращать в анальное рабство? Да и если нет $10000 зеленых на полную MSDN подписку — можно юзать бесплатные тулзы разработки (типа кастрированной студии экспресс, или вебдева экспресс), и даже SQL server express или даже бесплатный sql ce :) Ну или ловить момент, и выкачать нашару 2012 студию с поддержкой 4.5 фреймворка :)

А запускать на линуксе? И у тебя все сайтеги которые разрабатываются помещаются в скл экспресс?

ну так выбери виртуальный сервер у хостинг-провайдера со всеми бесплатно предустановленными фичами :) Если у тебя заказан сервер, скажем, под сервер 2008 — ты ведь винду не покупаешь? :) Так же само и SQL сервер — обычно олл инклюзив

Если у тебя заказан сервер

Я думаю речь идет о 100500 серверах, а там математика немного другая :)

Я думаю речь идет о 100500 серверах

Херассе у вас инфраструктура! Как же вам тяжко, иноверцы! :)

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

Вообще вижу очень радужная жизнь у дотнетчиков — кастрированная ВС на кастрированных серверах.

Вот блин, а я и не знал, что Hyper-V сделана для хомепагов :)

Не следует путать shared хостинг и виртуальный сервер

В том сценарии в котором ты его предлагаешь — юзать на overselled серверах с другими чуваками активно сношающими дисковую систему — да, именно для хомепагов.

Твоя хомепага-визитка жрет немеряно ресурсов? Я так и знал, что все на свете гуано, кроме IIS

Твоя хомепага-визитка жрет немеряно ресурсов?

Я где то такое писал?

Я где то такое писал?

Ну да!

Виртуальный сервер — это [...] сайтов хомепагов

юзать на overselled серверах с другими чуваками активно сношающими дисковую систему

То есть, все, что находится на виртуальных серверах, ты подразумеваешь что это — хомепаги. А если е хватает ресурсов — то они активно их сношают. Отсюда, хомепаги активно сношают ресурсы. И это в твоем понимании. А в твоем понимании — не M$ технологии. Соответственно, хомепаги в твоем понимании и в понимании твоих технологий активо сношают ресурсы :)

То что у других хомепаги сношают ресурсы или же их засунули просто очень много на один сервер(это про overseller) не значит что моя хомепага сношает ресурсы, не находишь?

Не получится из тебя Шерлок Холмс.

Если бы все писАли под .net — то в мире бы установилось вселенское счастье

С каких это пор .net фреймворк стал платным обращать в анальное рабство?

здесь я поперхнулся попкорном.

продолжайте, интересно.

Вообще говоря, на любом прогерском форуме назва типа %имя_языка виси %имя_другого_языка выглядит как смачный вброс, независимо от намерений ТС.

Особенно цинично, если добавить что то типа "мне интересно рассмотреть все их достоинства и недостатки", "только не начинайте срач" и т д

Правда, топик еще не скатился к обсуждению фальсификации американцами высадки на Луну, что не может не радовать.

PHP і патерни!

Щось цікаве чи фабульний MVC?

MVC — нормальний язик прогмування!!!11

А что на питоне появился уже фреймворк уровня Spring ?

Он там не нужен. Питон не выдерживает критики по перфомансу и когда хорошим профи код написан по месту.

А уж если фреймворк на нем реализовать...

Встречал как-то замеры разных ОRMов на питоне. Между собой.

Самый мощный, SQLAlchemy просаживается в разы, чем впрямую да вручную SQL код слать.

На таком фоне Hibernate или EclipseLink какой - просто не заметны.

А если еще питоно-Spring прикрутить, то...

Есть ERP на питоне, бельгийская, OpenERP называется. Годна только для маааалого бизнеса. Встречал сравнения с той же ADempiere - которая без особого тюнинга сотню-две активных подключений выдерживает. OpenERP - десяток, два.(активные подключения в ERP это те что приводят к бизнес-транзакциям и как итоге - записи в хитропереплетенные таблицы БД. На чтение, в мире ERP, особо никто не считает. В отличие от внешнего веба, где много больше - но подключений сугубо читающих)

ADempiere
Очередной форк Compiere. ИМХО если уж чтото серьезное писать то только java

Очередной форк Compiere

Бесплатный функционал просто у Compiere уж слишком убог.

А ADempiere кажется вообще первый форк был.

ИМХО если уж чтото серьезное писать то только java

Да, несмотря на рост мощности железа, перфоменс по прежнему частое требование, и весьма суровое. Убогонький но приемлимо быстрый функционал часто предпочтительней медленной красотети и богатства функционала.

А разработка на С++ - дорога потому что долгая.

D подавал надежды, да уже думаю можно ставить на нем крест. Не взлетит, раз до сих пор - не смог.

Может таки в сторону ФП смотреть чем хипстерского питона ? )

я пару минут написал слово постмодерн.

И знаете, а пожалуй и в языко-строении - он тоже :)

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

Вот NoSQL, новое! кричат. А мне довелось программировать на MUMPS. Штука дореляционной эпохи. В чем новизна NoSQL - не понял, это уже было. "Те же я*цы только в профиль"

ФП - оно ведь не умирало. Оно вполне развивалось и совершенствовалось. И что оно может предложить в итоге?
Ведь проблемы то все больше в проектировании а не кодировании.

На PHP вона сколько накодили. И работает же.

В чем новизна NoSQL - не понял, это уже было.

Было что именно?

ДоSQL базы данных.
Одну знаю лично - MUMPS. И она дожила до сих пор под названием

System Cache

Ни одна из них не имеет эластично горизонтально масштабируемую nothing shared архитектуру, что как бы и является одной из мотиваций движения nosql.

Я за Python. Ибо local.joelonsoftware.com/…бучения_на_Java

1) "обучения". Обучение и разработка — это разные вещи.

2) По всем параметрам для обучения, питон еще хуже чем джава.

1) Обучение никогда не оканчивается.
2) Автор знает только PHP (я так понимаю) и не видел мир, так сказать.

Хуже в чём? Я считаю что он во все поля лучше для обучения. Чего может узнать человек из жабы того что он не узнает работая с Пистоном? Тонны лабуды про патерны (которые цветут сегодня лишь благодаря популярности той же Жабы)? Думать что если он пишет только классы то это уже ООП? Что еще?

1) Обучение никогда не оканчивается.

Вы статью читали?

Java в целом недостаточно сложна, чтобы отделить отличных программистов от посредственных

-------

2) Автор знает только PHP (я так понимаю) и не видел мир, так сказать.

Вы исходный пост читали:

Я уже два года работаю с PHP - используя фреймворки, API, паттерны и т.д.

-------

Чего может узнать человек из жабы того что он не узнает работая с Пистоном?

type(int(2**25600)) == type 'long' -- где переполнение?
len([1,2, 4]) вместо [1, 2, 4].__len__() -- прячут внутренность? Что внутри list? Какая реализация?

Оченб абстрактный язык.

Тонны лабуды про патерны

Велосипеды! Только велосипеды!

Думать что если он пишет только классы то это уже ООП?

А в какой форме дается ООП в Питоне?

Велосипеды! Только велосипеды!

Ну что вы так обидно.

Это у "противников паттернов" творческие порывы и тяга к самореализации. А джава им видите ли - препятствует самовыражаться и творить! Они оригинальной строчкой кода покоряют... сердца таких же творцов. Обычным унылым программистам этого не понять. Ориентация разная.

Как у Хэмингуэя есть:

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

А в какой форме дается ООП в Питоне?

В прикольной. Там даже метаклассы реализованы.

Правда опытные питонисты рекомендуют поменьше этого ООП. "Вызов метода в питоне ввиду тонкостей реализации ВМ - медленный. Функции используйте почаще, вместо классов."

По поводу обучения, пару лет тому в MIT вроде SICP c Scheme на питон перевели.

Может и правильно.

Но целиком поддерживаю:

Обучение и разработка — это разные вещи.

Правда опытные питонисты рекомендуют поменьше этого ООП. «Вызов метода в питоне ввиду тонкостей реализации ВМ — медленный. Функции используйте почаще, вместо классов.»

Потрудитесь дать пруфлинк. Надеюсь, там отсылка будет не на версию 2.3 или 1.5.2 с припиской «а на более новых версиях мне тестировать было западло».

А то мне не внове слышать аргументы типа «а этот ваш линакс hotplug не умеет» со ссылкой на какую-нибудь статью 1998 года про ядро 2.2.

Вы статью читали?

Да.

Вы исходный пост читали:

Да.

type(int(2**25600)) == type 'long' -- где переполнение?
Согласен момент не ловкий. Не говорю что это сделано красиво. К сожалению такое есть во всех языках, и в Питоне таких моментов достаточно мало. Плюс это в 3-м починили.

И еще. Переполнения при таком возведении в степень не будет во многих языках 90-х.

len([1,2, 4]) вместо [1, 2, 4].__len__() -- прячут внутренность? Что внутри list? Какая реализация?

Простите что? Какие внутренности? Что о Вас прячут? Информация о __len__ присутствуйте в стандартной документации. У Вас этот момент вызвал удивление лишь по тому что Вы не прониклись философией языка, а хотите чтобы все всегда было так как привыкли Вы. Очень все отлично здесь сделано, например. Вы еще скажите что a < b что-то там прячут. Ну а в С++ с их перегрузкой так вообще ужас.

Оченб абстрактный язык.

Да, как по мне так, Питон и действительно язык с более высоким уровнем абстракции чем Ява. Разве языки высокого уровня не для этого придумывали?

Это все хорошо. Так а почему Питон хуже для обучения?

К сожалению такое есть во всех языках

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

Ну автор JavaScript отмазался, "за 10 бессоных суток сделал. А то бы на 11ые вышел VBscript от MS".

А остальные - почему?

Тот же питон. Автор делал его неспеша, реальное применение не давило. И...

Scala и D - сколько уже пришлось ломать, хотя тоже, еще не дошло до массового использования. А что будет когда совместимость станет обязательной... Какие хаки выдаваемые за фичи из них будут торчать...

Меня тоже этот вопрос постоянно тревожит :)
PHP вообще "не программист" делал. Или как-то так он себя назвал :)

Ну незнаю, в Python такого досточно немного встречается. Так даже ничего на ум не приходит.

PHP вообще "не программист" делал.

Да, я в курсе.

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

Ну незнаю, в Python такого досточно немного встречается.

Ничего себе немного, если пришлось ломать совместимость между ветками 2.* и 3.* :D И, как слышал, питоно-сообщество по прежнему сидит на 2.*, ибо ломка такая, что бытенько перейти на 3.* не получится.

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

Ничего себе немного

Приведите. И побольше, пожалуйста.

Совместимость это совсем не то. Я считаю что правильно сделали что поломали совместимость. Не будут тянутся костыли годами.

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

Ну грубизну каждый по своему считает. Языки развиваются, в них что-то меняют, улучшают. Если вы не заметили то это везде так, от железа до библиотек и ОСей. А зачем тянуть этот хлам веками, как это делает Интел/Майкрософт?

Ну конечно баланс должен быть, не так как в PHP, что там даже минорные релизы все ломают. Так что совместимость Java это скорей ограничение которое накладывает ее интерпрайзность.

Я считаю что правильно сделали что поломали совместимость

Ломают совместимость когда нет другого выбора, а не по прихоти или злокозненности. Была бы у Гвидо возможность - он бы не ломал. Я верю в его здравомыслие - что если можно не ломать, чтобы что-то добавить, то и незачем ломать.

Если вы не заметили то это везде так

Да вы что? Не может быть! Это просто наклеп какой-то на отрасль! И вообще на могучий человеческий разум!

Так что совместимость Java это скорей ограничение которое накладывает ее интерпрайзность.

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

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

Тогда получается что легко ломать то что несерьезно? Такое себе баловоство, ничего серьезного не написано, отчего не поломать. ;)

Замечу, что более бурное развитие C# - привело к неудобству на переходе к версии 2. А дальше, вполне обходились без серьезной ломки, правда - без обратной совместимости.

Ломают совместимость когда нет другого выбора, а не по прихоти или злокозненности. Была бы у Гвидо возможность - он бы не ломал. Я верю в его здравомыслие - что если можно не ломать, чтобы что-то добавить, то и незачем ломать.

Используйте вветку 2.* и представьте что 3.* это совсем новый язык.

Зачем тащить костыли веками?

Тогда получается что легко ломать то что несерьезно?

Получается что у Гвидо есть возможность держать пару веток, а у Оракла нет.

Это и с Ядром произошло. Там тоже все произошло (да и сейчас происходит). Скажете там тоже все несерьезно и зря? Вот ОС все считают что переписывать можно, прикладной софт тоже можно. А языки ни-ни. Тем более когда есть две ветки и фичи даже бекпортируются в первую.

Используйте вветку 2.* и представьте что 3.* это совсем новый язык.

То есть сломали еще сильней, что аж - "новый язык" :)

Зашибись! А 4.* тоже будет новым языком? Имеет ли тогда смысл разрабатывать сложный проект, рассчитанный на года эсксплуатации на 3.*

Получается что у Гвидо есть возможность держать пару веток

Да, на питоне мало проектов, а из них мало критичных и сложных.

Дает Гвидо гарантии сохранения капиталовложений в проекты на "старом" и несовместимом с новым питоне?

Вот ОС все считают что переписывать можно

Не знаю о чем речь.
Например программы написанные еще для вынь2к в подавляющем большинстве работают и под 7ой виндой без проблем. А немало еще из 95ой виндовс живут. То есть - MS не ломает совместимость. По крайней мере - очень старается ее сохранить.
И не советует:

Используйте Windows 2000 и представьте что Windows 7 - это совсем новая операционная система.

Вобщем вы подтвердили мой тезис,

Питон - это не серьезно.

Зашибись! А 4.* тоже будет новым языком? Имеет ли тогда смысл разрабатывать сложный проект, рассчитанный на года эсксплуатации на 3.*

Да, вторая ветка будет поддерживаться еще о-о-о-чень долго. Можете считать что вечно. + даже если она не будет поддерживаться официально это не проблема. Свободный софт все таки.

Что нам гарантирует Оракл по этому поводу? Я, честно говоря, не в курсе. И как это все на практике? Также как со Флексом? Вот Вам и энтерпрайз.

Да, на питоне мало проектов, а из них мало критичных и сложных.

Дает Гвидо гарантии сохранения капиталовложений в проекты на "старом" и несовместимом с новым питоне?

Я не в курсе что из написаного на Питоне можно привести в пример. Но скажу что Фейсбуки и Вконтакты со своими PHP с Вами не согласны. Это более серьезный и "социально полезный" софт чем половина того что написано на Жава.

Так что мне гарантирует Оракл по поводу моего проекта написанного на Жава?

Не знаю о чем речь.
Например программы написанные еще для вынь2к в подавляющем большинстве работают и под 7ой виндой без проблем. А немало еще из 95ой виндовс живут. То есть - MS не ломает совместимость. По крайней мере - очень старается ее сохранить.

И не советует:

Используйте Windows 2000 и представьте что Windows 7 - это совсем новая операционная система.

Я понимаю что сегодня ОС синоним Windows, но ни OS X ни Linux не позволяют запустить приложения которые написаны еще нашими дедами.

Свободный софт все таки.

Аха, понятно, никто не будет отвечать.

Что нам гарантирует Оракл по этому поводу?

Во-первых Оракл - коммерческая организация.

Во-вторых Java есть и у другой коммерческой организации - IBM.

Я понимаю что сегодня ОС синоним Windows, но ни OS X

Старые программы не работают в OS X?

В Linux?

Если работают, то и у них есть совместимость.

Вы же привели пример что переписываются и ОСи.

Так почему программы написанные для версии 2.* не работают на ВМ 3.*?

Где совместимость по аналогии с Windwos, OS X, и Linux?

Аха, понятно, никто не будет отвечать.

Вообще-то это значит независимость от вендора.

Во-первых Оракл - коммерческая организация.

Во-вторых Java есть и у другой коммерческой организации - IBM.

Кроме того что эти коммерческие организации будут следовать своим коммерчески интересам а не вашим они что-то Вам конкретно (как пользователю Явы) гарантируют? Гарантируют что будут ее поддерживать через N лет?

Старые программы не работают в OS X?

В Linux?

Не работают. Их переписывают вслед на ОС и тулкитами.

Если работают, то и у них есть совместимость.

Вы же привели пример что переписываются и ОСи.

Так почему программы написанные для версии 2.* не работают на ВМ 3.*?

Где совместимость по аналогии с Windwos, OS X, и Linux?

Извините, не понял что Вы хотели сказать. Mac OS переписывали между 9-й и 10-й версией. Linux ядро 2.4 - 2.6. Программы написанные для версии 9/2.4 на следующей не пускаются без существенной модификации. В некоторых случаях были придуманы спец. прослойки, которые правда уже выпилены. Так что взять бинарник (или исходник просто скомпилить) и запустить как в Венде не получится.

Вообще-то это значит независимость от вендора.

СПОшные сказочки :)

Вы думаете серьезный бизнес эта зависимость беспокоит?

И второе - вендоро-зависимость заменяется на - зависимость от незнамо каких парней. То им так, то им сяк - обязательств никаких.

эти коммерческие организации будут следовать своим коммерчески интересам а не вашим

Именно. Они деньги зарабатывают. И дорожат как клиентурой, так и именем.

что-то Вам конкретно (как пользователю Явы) гарантируют

Лично мне нет. Я маленький пользователь, они меня просто в упор не увидят.

А вот пользователям использующим стек технологий от них да, немало.

Гарантируют что будут ее поддерживать через N лет?

Они и поддерживают древние версии. За деньги.

Не работают. Их переписывают вслед на ОС и тулкитами. ...

Так что взять бинарник (или исходник просто скомпилить) и запустить как в Венде не получится.

Ужас какой.
Не, тогда Windows лучшая. В ней программы не надо переписывать чтобы работали.

Вот что значит - ответственный вендор.

Лично мне нет. Я маленький пользователь, они меня просто в упор не увидят.

А вот пользователям использующим стек технологий от них да, немало.

Верно я понял что Оракл никак не гарантирует клиентам что будет поддерживать Яву через N лет? Юридически. А зависимость от вендора это не сказки.

Они и поддерживают древние версии. За деньги.

За деньги можно поддерживать любой свободный проект и без Оракла.

Ужас какой.

Не, тогда Windows лучшая. В ней программы не надо переписывать чтобы работали.

Вот что значит — ответственный вендор.

Кому как. :) Вы басню Спольски про Синсити слышали? :) Я предпочитаю починить что-то сломав совместимость чем лепить костыли. Упомянутые мной ОС показывают что это реально. Да и вообще, во многих проектах делают ветки между собой не совместимы.

Верно я понял что Оракл никак не гарантирует клиентам что будет поддерживать Яву через N лет?

Не вникал. Наверняка — есть такие гарантии. Платные так уж точно.

А зависимость от вендора это не сказки.

Java как уже сказал не зависит только от Оракла.

Серьезный вендор — это гарант стабильности.

Вот это — не сказки, а руководство к действию для большинства компаний.

За деньги можно поддерживать любой свободный проект и без Оракла.

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

Вы, как и подавляющее большинство фанов открытого и свободного кода напрочь не в курсе — откуда берутся деньги у таких проектов.

Сказочек наслушались про волонтеров, вечерами попивающих пивцо и патчащих ядро линух или либу из апача.

Я предпочитаю починить что-то сломав совместимость

Табуретку дома — сколько угодно.

А когда простой информационной каждую секунду выливается в миллионые потери — куда только деваются такие герои.

Да и вообще, во многих проектах делают ветки между собой не совместимы.

А во многих НЕ делают.

И чем серьезней проект, тем там с «ветками» строже.

Вобщем мелочевкой занимаетесь, вот и рассуждения у вас такие.

Вы, как и подавляющее большинство фанов открытого и свободного кода напрочь не в курсе — откуда берутся деньги у таких проектов.

Сказочек наслушались про волонтеров, вечерами попивающих пивцо и патчащих ядро линух или либу из апача.

Почему же? Давно все в курсе. Но разве те сравнительно небольшие конторы которые коммитят в master не являются доказательством работы модели СПО?

А когда простой информационной каждую секунду выливается в миллионые потери — куда только деваются такие герои.

Причем тут простой? Перед обновлением уже наверняка знают сломали ли совместимость или нет. Так что не понял почему оно должно ломаться.

Вобщем мелочевкой занимаетесь, вот и рассуждения у вас такие.

Врать не буду, ентерпрайз для банков не писал.

Но разве те сравнительно небольшие конторы

Так я неоднократно и писал, и имею ИМХО в русской аббревиатуре (Имею Мнение Х*й Оспоришь)

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

Но с ростом размера проекта и количества исполнителей проявляется недостаток не Python’а, а динамической типизации вообще.

Врать не буду, ентерпрайз для банков не писал.

Утрировано — программисты на Java имеют высокие зарплаты не потому что они кручее, а потому что существует корреляция между экономическим эффектом от использования ПО и доходом производящего такое ПО.

В бизнесе — наибольшие деньги.

Healthcare ПО не менее сложно, но даже в западной медицине — более весомы затраты не в ПО, а в мед оборудование и мед персонал, и программисты healthcare — зарабатывают потому меньше программистов унылых оперденей (в среднем).

«Контрольный выстрел» для наших реалий:
Сравним прекрасный портал для обслуживания детских домов

и говеный для мелких торговцев пиццей и суши.

Второй принесет разработчику куда больше денег.

Используйте вветку 2.* и представьте что 3.* это совсем новый язык.

Зачем тащить костыли веками?

"пахнет" как -написать, выкинуть и забыть. Язык для прототипирования. Я имел опыт работы в компании, где легаси проэкты на жабе успешно живут и развиваются >10 лет. Как вы думаете, захочет ли руководство запустить там хоть один проэкт на питоне ?

Как вы думаете, захочет ли руководство запустить там хоть один проэкт на питоне ?

Конечно нет! Это же маркетинг.

Да какой к черту маркетинг?

Если я скажу что системщики не хотят писать дрова на питоне, а хотят на ц, вы тоже скажете что это маркетинг?

Маркетинг при том что в большинстве случаев выбирают технологию лишь по тому как она разрекламирована, иначе тот же PHP уже давно умер.

Вцелом ваше мнение - неверно.

Вы еще б теорию заговора приплели.

Она - неопровержимый аргумент на любой случай.

PHP бессмертен потому что изначально задумывался как язык для НЕпрограммистов.

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

При чем тут маркетинг. Кто рекламирует PHP? За сколько денег?

PHP бессмертен потому что изначально задумывался как язык для НЕпрограммистов.

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

Согласен, доля случая тут есть.

При чем тут маркетинг. Кто рекламирует PHP? За сколько денег?

Маркетинг при том что сегодня в большинстве случаев его выбирают в качестве инструмента без каких-то объективных на то причин.

Маркетинг

Ма́рке́тинг (от англ. marketing — продажа, торговля на рынке) — деятельность, направленная на рентабельную работу предпринимателей посредством обмена.

Кто занимается маркетинговым продвижением PHP?

Ма́рке́тинг (от англ. marketing — продажа, торговля на рынке) — деятельность, направленная на рентабельную работу предпринимателей посредством обмена.

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

Кто занимается маркетинговым продвижением PHP?

В кого-то одного пальцем ткнуть вряд-ли получится. Но даже если смотреть на ДОУ то четко видно какие языки «рекламируют» зубры рынка Украины (Сиклумы, Епамы, ...), в каких мероприятиях они выступают спонсорами. На мировом рынке все также. Понятно что новоиспеченный программист выберет то что перспективно, популярно и востребуется на рынке. Думаю моя идея понятна.

В кого-то одного пальцем ткнуть вряд-ли получится.

А кто сомневался что вы так, с потолка о маркетинге говорите.

какие языки «рекламируют» зубры рынка Украины (Сиклумы, Епамы, ...)

У вас телега впереди лошади.

Как отмечал — вы напрочь и тут не понимаете, как устроен бизнес у сиклумов и епамов.

Думаю моя идея понятна.

Да, с вами все понятно, мне казалось вы умней и эрудированней.
А скатались до рассуждений «красноглазого линуксоида».
Не хватало еще тут филиала ЛОРа.

Удачи.

И Вам не хворать.

большинстве случаев выбирают технологию лишь по тому как она разрекламирована

как это ни банально, но технологию в большинстве случаев выбирают по количеству денег, необходимых на
1) разработку
2) поддержку
3) решение проблем.

последний пункт, к слову, достаточно важен для буржуев. например, один из бывших заказчиков выбирая для мокинга в тестах (!) между EasyMock и Mockito выбрал второе по причине наличия службы поддержки, которую можно дернуть в случае чего, хотя местные спецы очень хотели первое. на теперешнем месте наблюдаю, что многие заказчики выбирают решение от ibm на java только потому что (цитирую буржуя)

IBM support is the best support service in the World

IBM support is the best support service in the World

Кстати, рассуждение "

даже если она не будет поддерживаться официально это не проблема(???). Свободный софт все таки.

" мне чем-то напомнило снговско-сисадмнинское:

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

Вы таки скажите что Вам конкретно _гарантирует_ этот самый best service in the world. Adobe уже нагарантировала?

Вы таки скажите что Вам конкретно

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

Мне лично вообще без разницы - будет ли Java завтра. В первый раз что-ли менять инструмент.

Adobe уже нагарантировала?

А что случилось, кто и насколько пострадал?

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

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

А что случилось, кто и насколько пострадал?

Адобе надоело тащить убыточный Флекс и она отдала его сообществу. На счет пострадавших не в курсе, но это о вопросе о гарантиях.

как бы то же самое, что и гарантийный талон на любой товар, который я покупаю в магазине. все тоже самое, только в контексте программного обеспечения.
например, подписавшиеся на суппорт от Oracle, при обнаружении критичного бага в той же JVM, быстро получат персональную версию, где баг пофикшен, и не будут страдать в ожидании глобального релиза новой версии. что касается Adobe, кто сказал, что они отказались от своих обязательств по поддержке клиентов? helpx.adobe.com/flex.html

ссылка Contact Support в наличии, и уверен будет там еще очень и очень долго.

В серьезных свободных проектах критические баги чинят довольно таки быстро.

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

Очередное мифотворчество от СПО адептов. :)

Сколько уже исследований на эту тему приводилось, а байки все те же :)

Ну точно — филиал ЛОРа начинается.

Ничего себе немного, если пришлось ломать совместимость между ветками 2.* и 3.* :D И, как слышал, питоно-сообщество по прежнему сидит на 2.*, ибо ломка такая, что бытенько перейти на 3.* не получится.

А мужуки тем временем ухитряются писать код, который выполняется и на 2.*, и на 3.*. И как они смеют. Наверное, ломки у них нет, потому что они от джавистов о ней и не слышали-то.

Да

Да

Не верю! (с)

Что о Вас прячут?

В конкретном случае вызов методов и отправку сообщений (а это страшнее)

Это все хорошо.

Для обучения (это к тому что вы читали Джоэла ;) ) или для работы?

Не верю! (с)

Дело хозяйское.

В конкретном случае вызов методов и отправку сообщений (а это страшнее)

Я так понимаю в Java есть понятие "отправка сообщений объекту"? И даже большинство Java-программистов слышали о таком? :)

Для обучения (это к тому что вы читали Джоэла ;) ) или для работы?

Для обучения однозначно. Для работы конечно можно спорить, но думаю как минимум не хуже. И не потому что я читал Джоэла, а потому что работал (и сейчас работаю) с обеими платформами.

Дело хозяйское.

Мои комментарии вы так же не читали, ибо я привел вам примеры :)

Я так понимаю в Java есть понятие "отправка сообщений объекту"?

Только через вызов метода (да, да, убого, но если сравнивать с Питоном...).

len([1,2, 4]) вместо [1, 2, 4].__len__()

В первом случае, кто кому чего посылает? А во втором?

И даже большинство Java-программистов слышали о таком? :)

Из 8 опрошенных: 4 знают, 2 в наушниках, 2 промолчали. Так шо все может быть.

Только через вызов метода (да, да, убого, но если сравнивать с Питоном...).

В Питоне методы хуже чем в Яве? ))

В первом случае, кто кому чего посылает? А во втором?

Повторюсь. Вы хотите чтобы везде все было как привыкли Вы к тому что есть в Яве.

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

А вот скажите что происходит тут?
int[] arr = new int[15];

Создается объект? А где конструктор? Вот что такое не логично и не прозрачно. Если это сахар то как создать объект данного типа без него?

В Питоне методы хуже чем в Яве? ))

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

Одно слово - динамика.

Вас удивляет то что что-то можно сделать что-то двумя способами?

Из «The Zen of Python»

Должен существовать один — и, желательно, только один — очевидный способ сделать это.

Вот что такое не логично и не прозрачно.

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

Удивительным свойствам необъектных типов в Java посвящена одна, две главы в учебнике. Сделано это исключение в целях - более высокого перфоманса. Красотой и эстетикой иногда приходится жертвовать.

как создать объект данного типа без него?

Хм, не сталкивался с такой потребностью.

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

Но думается и с помощью рефлексии - не получится.

Вопрос для собеседования по RTTI :)

Тем же чем и лучше. Их там нет.
А есть словарь ссылок на функции, по которым вирт машина носится каждый раз, и т.д.

Тормоза, но зато - во время выполнения черте чего можно вытворять.

Одно слово - динамика.

Это уже реализация. Не нужно ее суда приплетать только потому что она тут открыта а в Жабе нет.

Из «The Zen of Python»

Должен существовать один — и, желательно, только один — очевидный способ сделать это.

Это конечно круто но zen ведь не стандарт языка? :)

Рабочий инструмент должен обладать не только логичностью и непрозначностью для неофитов.

Он предназначен для - опытных.

Удивительным свойствам необъектных типов в Java посвящена одна, две главы в учебнике. Сделано это исключение в целях - более высокого перфоманса. Красотой и эстетикой иногда приходится жертвовать.

Вы так говорите как будто базовым типам Python целые томы посвящают.

Хм, не сталкивался с такой потребностью.

Ровно как и я. И так же не сталкивался с потребностью вызывать __len__. Просто меня удивляют двойные стандарты, там это плохо, а тут хорошо.

Или Вас удивляет то что что-то можно сделать что-то двумя способами?

1) Это просто плохо, когда одно и то же можно сделать по разному.

2) Это в двойне плохо, когда это политика языка. Если вспомнить джавовский for(:), то это упрощенный синтаксис. А питоновский len() — это просто замещение, оно ничего не упрощает.

int[] arr = new int[15];

Создается объект?

Создается "Массив". Массив — это конструкция языка (может есть более корректный термин), это сущность, которой вроде нет в питоне (или есть?).

Натив типы — это так же конструкции языка. Возвращаясь к теме обучения, джава это не строго ООП язык типа Смаллтока, Джава допускает и чисто процедурный подход (пишите все статиками) и функциональный, хотя при этом, в текущей версии, не скрывается реализация через объекты.

Вот что такое не логично и не прозрачно.

Все логично и прозрачно, для человека, который

работал (и сейчас работаю) с обеими платформами

1) Это просто плохо, когда одно и то же можно сделать по разному.

Я тоже это не люблю но это есть везде. Посчитаем сколькими способами мы можем пробежать массив в Java? Не вижу в этом ничего плохого.

По поводу Питона то Вы все таки не поняли, там все четко и пример не удачный. Просто сперва это может показаться странным, так как в виду отсутствия приватных свойств «кишки» торчат наружу, и приведенный пример с len() это четко демонстрирует. Но там все четко. А про приватные свойства это уже другой вопрос.

2) Это в двойне плохо, когда это политика языка. Если вспомнить джавовский for(:), то это упрощенный синтаксис. А питоновский len() — это просто замещение, оно ничего не упрощает.

А еще же итераторы. Фу, два способа пройти массив. А если прикинуть что можно вместо for использовать while то вообще ужас. :)

Создается «Массив». Массив — это конструкция языка (может есть более корректный термин), это сущность, которой вроде нет в питоне (или есть?).

Массив это объект. Но в данном случае он почему-то создается по особому. В питоне же все более прозрачно, и списки (аналог массивов) создаются как и все объекты list(1, 2), но в языке есть сахар с квадратными скобками. Что мне кажется прекрасным решением.

Но дело не в том, я не говорю что масивы в Java кривые, я лишь этим хотел сказать что к len не верно вцепились.

На счет мультипарадигмености Java я думаю Вы сильно приувеличиваете :)

Все логично и прозрачно, для человека, который

Не совсем. Все прозрачно если знать как оно устроено. Согласитесь, что глупо говорить что в lisp все не понятно лишь потому что я с ним не знаком и там все не привычно и через дупу.

А еще же итераторы. Фу, два способа пройти массив.

Массивы в джаве стали итерируемыми? Какие 2 способа, есть 1 и 1 синтаксический сахар для наиболее частой ситуации.

А если прикинуть что можно вместо for использовать while то вообще ужас. :)

for и while — это принципиально разные вещи, и использование while — это чаще всего ошибка разработчика. А вот len() и __len__() это совсем про другое.

Массив это объект. Но в данном случае он почему-то создается по особому.

Потому что:

Массив — это конструкция языка (может есть более корректный термин)

списки (аналог массивов)

Драсте, список и массив это разное.

я лишь этим хотел сказать что к len не верно вцепились.

len — это всего лишь пример. Нужны другие? Объявления методов (которых по факту нет), перегрузки операторов, странный if-else.

Все прозрачно если знать как оно устроено.

Так вы и свои комменты не читаете? :) Не забывайте про контекст.

len([1,2, 4]) вместо [1, 2, 4].__len__() — прячут внутренность? Что внутри list? Какая реализация?

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

Оченб абстрактный язык.

А что в этом плохого?

А в какой форме дается ООП в Питоне?

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

Насколько тяжела в обучении scala? по сравнении с той же java, pyton

Да, часто цитируемая статья.

Только Javе никак не мешает мнение Спольски.

Есть еще упомянутый там ярый лиспер Пол Грэхэм, который с еще кучкой трубит о провале ООП. И что с того? С ООП много спрыгнуло? Куда и кто провалился, ООП или лисп?

Может потому что для разработки она не так уж плоха, а программисты с высоким ЧСВ пусть себе идут на питоны, рельсы с лиспами и погоды не делают?

Кто желает может по ЛОРу побродить, там этого люду хватает. с фразочками про "ООП головного мозга"

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

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

Тонны лабуды про патерны (которые цветут сегодня лишь благодаря популярности той же Жабы)

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

Это как смеяться над карьерным самосвалом раскатывая на лисапедике.

Да, часто цитируемая статья.
Самое смешное, что обычно не к месту цитируемая :)

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

Интересует больше всего высоко-нагруженные проекты, кластеры.

и

Просто ничего не делать и получать, -- да, жаба удачный выбор.

найдите противоречие ;-)

Но вы забываете о том что в этом мире есть люди для которых главное не заработать побольше бабла

На этом форуме я тоже об этом говорю.

Но в данном случае - есть нужные другим проекты. Настолько что они готовы платить немалые деньги. Проекты не очень интересные, бухгалетрия всяка. финансы, бизнес-процессы. Скукотища.

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

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

Либо - получаешь удовольствия от мапополезного для других занятия.

Но все же, если человек профессионал то его зарплата не зависит от того на котором он пишет.

Да. Но профессионал не будет заниматься такой х*етой как серьезное хаяние инструментов других профессионалов.

Просто ничего не делать и получать, -- да, жаба удачный выбор.

Да да, где такие рабочие места. Поделитесь инфой.

Вот ничего серьезного не делать на питоне и ничего получать - да, это круче :D

Либо - получаешь удовольствия от мапополезного для других занятия.

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

Да да, где такие рабочие места. Поделитесь инфой.

Я такое видел и не раз. :) Думаю будет не этично, с моей стороны, если я назову эти места.

Что значит малополезного для других?

То и значит.

Стало быть интранет проект на Java полезней чем остальные?

Спектр спроса - широк.
Есть конкуренты и у инструмента под названием Java.

Но это не питон.

Так какой великой полезностью инструмента гордятся питонисты?

И какие такие полезные, особые приложения они создают, что джависты должны устыдится?

Я такое видел и не раз.

Черт, какой вы везучий. Я пока ни разу.

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

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

то Вы сказали что на Жава делают самые социально полезные проекты

Приведите пожалуйста полную цитату. Я не помню чтобы такое говорил.

На пистоне делают все то же что и на других языках.

Даже на джаве драйверов и ядер операционных систем не пишут в отличие от С и С++. Хотя были попытки.

Да, крут пистон. Кручее джавы.

Но знаете, на ассемблере вообще все можно сделать.

Вот только - не делают.

И я не задавал вопроса о тьюринг полноте Питона.

А спросил - чем так гонорятся пишущие на питоне. Какими такими особыми проектами.
Если проекты все те же что и на Java, тогда зарплатами?
Всемирной славой?

А-а-а, количеством проектов наверное? Их масштабом?

Чем, что куды ни ткнись в рунете, или питонист или рельсовик начинает хвост распускать.

Чего особого то сделали, чего джаве и не снилось, что ваше благородие так нос дерет?

Приведите пожалуйста полную цитату. Я не помню чтобы такое говорил.

Так вот же она опять в вашем посте: "А спросил - чем так гонорятся пишущие на питоне. Какими такими особыми проектами."

Даже на джаве драйверов и ядер операционных систем не пишут в отличие от С и С++. Хотя были попытки.

Да, крут пистон. Кручее джавы.

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

Если проекты все те же что и на Java, тогда зарплатами?

Всемирной славой?

А-а-а, количеством проектов наверное? Их масштабом?

Чем, что куды ни ткнись в рунете, или питонист или рельсовик начинает хвост распускать.

Чего особого то сделали, чего джаве и не снилось, что ваше благородие так нос дерет?

Повторюсь. По поводу гордости за проекты сказали Вы. Я не понимаю при чем тут вообще гордость?

Мы говорили о технологии и какую лучше выбрать чтобы начинающему программисту. Причем тут нос?

Мы говорили о технологии и какую лучше выбрать чтобы начинающему программисту.

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

Это студенту да, нужно выбирать то что расширяет кругозор.

А программисту нужно выбирать тот инструмент, который зарекомендовал себя и распространен в выбранной предметной области. Либо, по всем прогнозам вот вот станет основным.

Ваше мнение породило поколение человеков с горем пополам выучившим один язык, так и не освоившим за 5 лет институтов ни С ни АСМ. Которые думают что ООП единственная парадигма в этом мире, которые не могут понять (именно понять) как передается значение в Java потому что понятия не имеют про указатели, память, и прочую low level ерунду. Но тем не менее они гордо называются программистами, получают больше своих более смышленых от природы и образованных одногодок. Качество ПО в этом мире так и продолжает стремится вниз, но тем не менее все довольны: начальство и они. Проработав два года и прочитав про пару патернов можно становится синьором и командовать более смышлеными джуниорами.
И это везде и кругом. Зачем доктору знать что-то там о сердце? Он же просто вырезает аппендицит. Зачем строителям (понятно что не тем что раствор носят) знать сапроматы? У них нет времени! Его не было в институте, не будет и на работе.
Зачем Аньке Меркель знать что-то о земном шаре и где находится ее родная Германия?

- Кто там сказал что она тупая для управления страной? Ты вот сперва добейся а потом говори. Вон немцы колбасу жрут и на нее не жалуются. Так что иди ты со своей географией.

Человечество деградирует благодаря вам (множественное число тут. Ибо деградировал даже наш язык).

Ваше мнение породило поколение человеков

Это как? Как чье-либо неавторитетное мнение может порождать такие масштабные вещи?

Которые думают что ООП единственная парадигма в этом мире

А какая еще есть? ФП?

Их вообще сколько, парадигм? - 4ре с натягом, 3 из которых маргинальны? ;) а 2 можно свести к 2ум другим?

как передается значение в Java потому что понятия не имеют про указатели, память, и прочую low level ерунду

И? Ну вот не знают они, а вы знаете. И, какое преимущество у вас перед ними? Как действующего программиста конечно, как человек уже да, минимум эрудированней. Насколько вы больше кода пишете. Или сложней, что он непостижим.

Но тем не менее они гордо называются программистами

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

Качество ПО в этом мире так и продолжает стремится вниз

И вообще скоро очередной конец света. Вас почему качество мирового ПО беспокоит?
А кризис программного обеспечения да, еще Дейкстрой был подмечен. Причины - не устранены.

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

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

Пусть кто им платит - решает.

Зачем доктору знать что-то там о сердце? Он же просто вырезает аппендицит.

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

Сесть что-ли прикинуть количество состояний конечно автомата - всей цифровой техники и человеческого тела..

И это везде и кругом.

Конечно, и было, и будет. Редкий человек будет вкалывать задарма. И врач - не исключение.

Человечество деградирует благодаря вам

Критерий какой? Деградации?

Ибо деградировал даже наш язык

У меня есть подозрение, что вы сравниваете с языком аристократии да прочего дворянства.

Но это далеко не все человеки недавнего и давнего прошлого.

Но в целом, странно от технаря стоны гумманитарной богемы слышать.

Я как на другом форуме очутился. Увлекаясь философией бываю.

Так все что вы грустного написали - всего лишь постмодерн :)
Рекомендую хорошенькую статью:
"Дряхлый папик постмодерна"

www.boldachev.com/…ext/postmodern

Это как? Как чье-либо неавторитетное мнение может порождать такие масштабные вещи?

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

А какая еще есть? ФП?

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

И? Ну вот не знают они, а вы знаете. И, какое преимущество у вас перед ними? Как действующего программиста конечно, как человек уже да, минимум эрудированней. Насколько вы больше кода пишете. Или сложней, что он непостижим.

Как Вам сказать... Думаю никто спорить не будет что человек знающий о многих подходах и решениях будет быстрей решать прикладные задачи, так как он может выбрать решение из того разнообразия что знает. Кто тут будет "велосипедить" тоже понятно. Кто сможет что-то объяснить и подсказать менее опытному колеге, принять важное техническое решение. Написать более грамотный и быстрый код, наконец.

но все же они - программисты, раз пишут - программы.

Как-то коллега сказал про один проект: "Да это же просто набор текста".

И вообще скоро очередной конец света. Вас почему качество мирового ПО беспокоит?

Потому что мне приходится в нем ковыряться и его использовать. Думаю Вас это тоже не очень радует.

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

И может всего интернета, и цифровых устройств к нему подключенных и неподключенных.

Сесть что-ли прикинуть количество состояний конечно автомата - всей цифровой техники и человеческого тела..

Тем не менее все мы доверимся более профессиональному врачу.

Конечно, и было, и будет. Редкий человек будет вкалывать задарма. И врач - не исключение.

При чем тут задарма?

Критерий какой? Деградации

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

Так все что вы грустного написали - всего лишь постмодерн :)

Как по мне так это началось намного раньше и с сегодняшней кульминацией в виде прикладного гедонизма сегодня.

Рекомендую хорошенькую статью:

"Дряхлый папик постмодерна"

www.boldachev.com/……ext/postmodern

Спасибо, почитаю. Правда да я больше политикой и около того интересовался. В последнее время что-то совсем ко всему интерес потерял. :(

На самом деле их много, и их классификация вопрос достаточно философский.

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

логическая - как частный случай функциональной.

Ваши варианты? Без аргументации, просто перечислите.

Потому что мне приходится в нем ковыряться и его использовать. Думаю Вас это тоже не очень радует.

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

падение качества биологического материала

Ну это да, есть такая у нас.

У арабов например - желающих подорваться - хоть отбавляй.

Так что - локальная эта проблема.

морали общества

В Древнем Риме родители имели право на убийство своего ребенка. Ребенком считался человек до 14ти лет.
Самураи имели право на пробу меча. На любом встреченном крестьянине.

Помещик мог забить крепостного до смерти, или затравить собаками.

Куда упала мораль сейчас? Если уже аборт собираются приравнять к убийству и - осуждению?

В последнее время что-то совсем ко всему интерес потерял.

А политика и футбол - это просто жвачки, с вечно новыми новостями, но которые странно походят на вчерашние новости :)

Бизнесу нужны не фанатики-задроты,

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

а специалисты, которые разрабатывают проекты качественно и не слишком вылезая за сроки. Это и есть профессионалы.

Бизнесу нужны не фанатики-задроты,

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

А кто говорил что нужны? Ему нужны рабы.

А вы кого обслуживаете? Кому нужны ваши программы как не рабам, дитям, курицам-домохозяйкам и бизнесу?

Или вы на питоне матрицы для ученых перемножаете?

Может пора в гималайские пещеры... не, там уже китайцы, да и в Непале нет того покою уже, маоисты вверх дном все перевернули.
В карпатскую избушку, и взирать оттуда на суетный мир.

С такими взглядами то на современную цивилизацию.

Вот забавно, вы то как, бесплатно код пишите и сопровождаете? Сугубо для души? А кормит вас кто, папа с мамой? Жена?

Причем тут я? Мы же не мою персону обсуждали? Как изменятся обсуждаемые нами технологии от моих качеств и образа жизни?

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

Большинство кода я пишу конечно же за деньги.

То есть и вы раб. Хорошо.

Как изменятся обсуждаемые нами технологии

Никак естественно.

Переформулирую тогда вопрос безличностно:
Что такого особого написано на питоне, что показывает его особую технологичность.
Или

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

Про Haskell и тем более Coq - я могу сказать, что в них особого, и где им ничто в подметки не годится. Хотя далек от использования.

Про OCaml - могу. Про Prolog, который вытеснили лиспы и те же mlы - могу придумать. Про Фортран, могу.

Поясните про питон.
Что особенного пишут на нем.

что в нем самом есть сверхособенного.

То есть и вы раб. Хорошо.

Есть немного. Я же не говорил что я живу оторванным от системы и рынка.

Что такого особого написано на питоне, что показывает его особую технологичность.

Вопрос не в том что на нем написано. Вопрос в том что он из себя представляет. Есть же разница? Самое большее софта крутого написано на С, Фортране. Но мы же не станем говорить что Фортран круче Явы потому что на нем больше финансового софта.

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

Да все тоже что и на аналогичных языках. Это язык широкого профиля. Я не понимаю почему этот вопрос играет роль.

Про Haskell и тем более Coq - я могу сказать, что в них особого, и где им ничто в подметки не годится. Хотя далек от использования.

Про OCaml - могу. Про Prolog, который вытеснили лиспы и те же mlы - могу придумать. Про Фортран, могу.
Поясните про питон.

Что особенного пишут на нем.

что в нем самом есть сверхособенного.

Наконец-то я понял вашу мысль. Действительно, зыки типа Prolog имеют свою нишу применения, они лучше в этой нише лучше других. Python как и Java же языки общего назначения, и конкретно выраженной ниши у них нет, и потому нельзя сказать что Java/Python лучше Prolog. Но можно сказать что пролог лучше Java/Python при разработке ИИ или еще там чего-то. На Java можно писать то же что и на Python и наоборот. Это про то что на нем пишут.

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

Я же говорил о том что на сегодняшний день Java язык примитивен

Она из эпохи увлечения минимализмом :)

Но все основные концепции в ней реализованы.

Как давно в ней появились лямбды?

Синтаксически - Java 8 еще не вышла.
Семантически - с появлением анонимных встраиваемых классов. Да, этого не хватает чтобы удобно реализовать такой механизм как LINQ в C#.

Вы мне хотите открыть очи на недостатки Java?

Замечу, что Python я вообще не рассматриваю. Это язык с динамической типизацией.

А вот сравнение с C#, C++, Scala - да, можно проводить.

Но все основные концепции в ней реализованы.

Ну "основные" это уже ядро без которого наверное ни один язык не обходится.

Да не хочу я ничего Вам открывать. А тон сравнения данных двух языков задал топикстартер.

Мне любопытно просто, strategy, template, command например — это же паттерны, которые облегчают жизнь и дальнейшую поддержку продукта. Почему бы их в Питоне не использовать? Или это — уже вопрос чистоты веры?

Если принять во внимание ссылку, тогда запретить даже смотреть в сторону Java и Python до того как пройдешь курс лиспа и страшно представить сколько лет непрерывного коддинга на Си.

При чем я как раз полностью согласен с Джоэлом вот только вряд ли у кого есть желание забить на несколько лет на работу. Да и где ж на Украине есть подобные курсы? То что мы юзаем это по идее вообще уровень технаря, если не ПТУ...

Лиспа и Си мало.
Для освоения настоящего ООП нужен еще SmallTalk и Eiffel. И обязательное штудирование Object-Oriented Software Construction от автора Eiffel. Можно даже вместо Кнута.

Да и где ж на Украине есть подобные курсы?
Можно сказать что программистов в Украине и доныне нигде не готовят.

Впрочем как Спольски жалуется в статье, что и в штатах их мало где готовят.
Так и автор другой известной статьи «Профессия — каменщик» (см на rsdn.ru) об этом пишет.

Что удивительно. Без компьютерных программ сложно представить нынешнюю цивилизацию, но не только мэтры, а и такие как я не прочь побрюзжать что программистов учат разве что в паре мест на Земле.
Я например не пойму, на кой черт пичкают студентов ИТнаправлений матаном в таких количествах. Прикладной математикой — да.
А, ладно. «вечная тема».

Кто говорит забивать? Разве нельзя работая осваивать другие технологии?

И я к стати не представляю как можно вообще быть программистом не зная при этом С хотя бы как-то.

Небольшое сравнение от меня в случае с OpenCV: privateblog.info/…​-opencv-na-python-i-java Выигрыша нет. Поэтому только Java

Спасибо всем за конструктивные ответы, ну и за мелкий троллинг тоже ;)

уже два года работаю с PHP

На Python будет переходить проще. От стиля программирования на Java первое время будет основательно коробить.

То есть проекты более-менее сложные.

То есть - не в одиночку. А значит выбор технологии будет не за вами. Тогда - Java. Проекты на ней встречаются чаще чем на Python'е.

Руби сейчас в моде.

Руби сейчас в моде.

Доброе утро!
Уже не в моде :)

Node.js наше фсее. При этом код должен быть не на Javascript, а на CoffeeScript.

А еще лучше LiveScript и собираться brunch’ем.

JS — зло, независимо от реинканации!

Вы просто не умеете его готовить ;)

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

каюсь, не знал о таком

после беглого просмотра понял, что мне в нём нравится только лого:)

Ещё какой-нибудь Haskell вспомните, Lua, и что там ещё есть на радость асоциальным интеллектуальным снобам, которые воротят нос от Java и C#.
:-)

Ни хаскель, ни луа, в мейнстрим (в отличи от нодежс) не входили, и не входят, и не будут входить. Хотя у них и есть свое применение.

Ну чего вы так. Haskell - это язык где-то из computer science. Нечто вроде экспериментального производства при исследовательском центре. В отличие от Java, C#... огромных цехов мега-корпораций разбросанных по всему миру.

А Lua хорошо себя зарекомендовал как язык сценариев поведения в играх.

Но точно нелепость - нахваливать себя за выбор - инструмента.
Не за результат - а:

"Я выбрал особый молоток, а потому я кручее тебя, потому что у тебя молоток - обычный! Вот :P"

Нечто вроде экспериментального производства при исследовательском центре

Расскажите это Barclays

А ты думаешь они еще не знают?

Добрый вечер!
Это было пол года назад :)
Щас рулят clojure & clojurescript

Щас рулят clojure & clojurescript

Позвольте вам не поверить. Лисп рулить не может, ибо очень сложный.

Но я искренне надеюсь на вашу правоту, мо подкинете пару основных (живих) ресурсов.

Лисп рулить не может, ибо очень сложный.

«Вы просто не умеете его готовить» ;) А вообще, если в голове есть встроенный парсер скобок, как у Столмана, то вполне себе приличная вещь для размять моск.

«Вы просто не умеете его готовить» ;)

Если бы один я, то это пофик. Проблема в том что его ваапшэ мало кто умеет готовить.

node.js — это вообще заговор фронтендшиков сайтовых, которые решили учинить побег из браузера ;)

Кому как, кому заговор, а кому реактор «из коробки» ;)

в Erlang все равно рантайм лучше.

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

перспективней для молодого программиста

Где больше бабла отваливают и учится меньше, да?

Учиться меньше? Ага, поэтому склоняюсь к Java *сарказм*

обучение Java сравнимо с ремонтом. процесс невозможно закончить, его можно то прекратить.

Меньше всего учить в дотнете, так как формошлепство процветает

Интересует больше всего высоко-нагруженные проекты, кластеры.

Такие проекты еще найти надо (многие пишут такое требование, но при этом оно им не надо). И тут технология (язык) вторична, если проект будет на каком-то руби, то знание джавы/питона вам не особо поможет, а вот СМО не помешает :)

Честно-гворя не понимаю, как можно сравнивать Python и Java. Конечно нужно учить Java. А еще лучше,-знать и то, и то..

Выбирайте то, что больше нравится.

высоко-нагруженные проекты, кластеры.

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

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

Кластеры кластерам рознь, если там просто веб морда за load balancer, то действительно без разницы, если что-то посложнее, то уже возникают вопросы при выборе технологии, и джава сильно заруливает питон.

если что-то посложнее ... джава сильно заруливает питон.
Чем? Либами/фреймворками/накопленным опытом?

И либами/фреймворками/накопленным опытом, еще производительностью, многопоточностью, и крутостью jvm(я могу подконнектится к любому прод серверу с помощью visualvm, посмотреть гистограмы расхода памяти, отпрофайлить узкие места, и еще куча всего), и кучей людей в java комьюнити которые этим занимаются(под питон восновном либо скриптуют либо веб дев делают), именно поэтому на джава написано куча кластерного ПО(hbase,cassandra,hadoop,activemq,elasticsearch,gridgain), а на питоне я как то ни про что такое не слышал.

То что в инетах нашел это и есть лоад балансер для веб морды о котором я писал выше.

это я типа шутил. Конец рабочего дня, не очень выходит

многопоточностью, и крутостью jvm

Надеюсь месье слышал о Jython? Реализации Python на Javа, который позволяет компилировать исходники Питона в byte-code JVM?

Джавистам я бы рекомендовал смотреть в сторону Groovy а не Jython.
Там все роднее на вид, и учтены как и ошибки проектирования Python, так и передовые фичи.
Или Scala.

Или Clojure - более щадящий глаза Lisp.

Jython - не нужен.

Только для питонистов.

Для общего развития так сказать. Можно подробней про

ошибки проектирования Python

?

недавно была хорошая статья на хабре (переводная) об ошибках PHP.

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

Ну и "для веба". Хотя думаю PHP ни руби, ни питон в ближайшие 5 лет не подвинут. Не потому что хуже, а потому что - не имеют явных преимуществ для промышленной разработки этого класса ПО.

ИМХО.

так все же приведите хотя бы парочку ошибок в проектировании Питона?

Лично я считаю только одну критичную у CPython-a - Global Interpreter Lock и которая отсутствует у Jython-а.

И это возвращает нас к изначальному назначению Питона, а именно языку для создания прототипов. То есть проверить идею, если она рабочая или нет. Не понравилось выбросить и забыть. Если идея рабочая, то воплотить ее на Java или на любом другом низкоуровневом языке.

А почему сразy не прототипировать на правильном языке? Тогда ничего переписывать не надо было бы.

Но и за идею питона как языка исключительно для прототипирования тебя разорвут фанатики апологеты питона.

"Правильный язык" - это нонсенс. Это как "неуловимый Джо", котором все говорят, но никто никогда его не видел. :)

А почему сразy не прототипировать на правильном языке?

Утрировано. А почему-бы сразу не писать прототип в машинных кодах, чтобы не переписывать?

Утрирование какое то явно идиoтское получилось..

Что-бы получить правильный ответ - необходимо правильно поставить вопрос.

А почему сразy не прототипировать на правильном языке?

На языке с статической типизацией - муторней. Много будет уходить времени на "уговаривание" компилятора. чтобы не орал.

Groovy вместо Jython-а, да, хороший выбор.

Если в языке есть лямбды и выведение типов то все идет просто на отлично + ide дает отличные бенефиты.

ну если есть выведение типов уровня Haskell или Scala то может быть. :D Хотя сомневаюсь что кто-то делает прототипы на этих языках, а потом пишет код на Java, C#, C++

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

Так зачем усложнять себе жизнь?

Я не вижу ничего плохого в прототипировании на скале, причем код потом поддается рефакторингу и может легко превратится из прототипа в продакшн код.

Продакшн на скале?, или всетаки "конвертировать" в жаву ?

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

Это на груви можна писать код идентичный жаве, только с "местами приятными, динамическими печеньками". А у скалы всеже синтаксис, чуть другой, и система типов мозгосносящая...

Впрочем это все фигня, и никого не волнует ;-)

Расскажите лучче про ваш опыт использование скалы в продакшене, используете ли вы фп, какие плюсы/минусы вы можете отметить?

Это на груви можна писать код идентичный жаве, только с "местами приятными, динамическими печеньками". А у скалы всеже синтаксис, чуть другой, и система типов мозгосносящая...

Та нифига, скала тоже отлично юзается как better java, если типы кажутся мозговыносящими, их никто юзать не заставляет.

Расскажите лучче про ваш опыт использование скалы в продакшене, используете ли вы фп, какие плюсы/минусы вы можете отметить?

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

Жесткую функциональщину не использую, еще не проникся, а так, по мелочи.

На скале можно писать код идентичный джаве, только с приятными печеньками, зачем его конвертировать?
...

Та нифига, скала тоже отлично юзается как better java, если типы кажутся мозговыносящими, их никто юзать не заставляет.

Частый ответ.
Но во--первых тогда не нужна Scala
а главное - код будет усложняться, при росте опыта программистов, и довольно быстро вот это "можно писать код идентичный джаве" станет пустой потенцией. "Можно стать миллионером, разве нет?"

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

И потому - очень права бюрократия в вашей конторе.

Ну и конечно беда Scala в том что она все никак не стабилизируется. Для вспомогательного кода сгодится, для продакшна - никак.

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

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

Для массового использования нужна Scala Lite или Fantom. С поддержкой серьезного сообщества или коммерческой компании.

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

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

Контроль качества кода не универсален. Он сильно завязан именно на специфике языка. Например метрики в Sonar'е. Они уже плохо начнут работать и для C# 3.5 и выше.

Для Scala такие метрики еще нужно создать.

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

Не потому :) Это я конечно просто эмоционально усилил, для красного словца :)

Не пойдет - в силу сложности. Кривая вхождения - "можно писать как на улучшенной Java" - вроде низкая, но если посмотреть код от самого Одерски - то быстро понимаешь что это уровень минимум лихо завернутого C++ кода с "бустом", либо вообще нечто haskellоподнобное. И в командах быстро возникнет проблема - те что могут только как на улучшенной Java писать - ничерта не будут понимать в коде более опытных.
Scala и Java все же - разные языки программирования. Как и С++ и С.

ИМХО конечно.

А вот что-то из списка Fantom, Gosu, Kotlin или "JaC#" - было бы самое то.
P.S.

Но какие-то сложные алгоритмически подсистемы, библиотеки или фреймворки с внятным API для Java, написанные на Scala, да, вполне могут стать привычным делом. В конце концов и в библиотеке JRE хватает кода, повторить который многие программисты на Java не смогут.

Я все равно не вижу проблему ограничить в команде список разрешенных к использованию фич и юзать scala как better java. А fantom и прочим котлинам еще дорасти нужно, разрыв на данный момент слишком значительный.

Если ограничивать, то зачем она нужна тогда?

бери фантом, котлин или Eclipse Xtend - и все дела.

котлинам еще дорасти нужно

Ой не нужно, а то будет тоже что и со Scala :D

И - зачем Scala №2? Одной хватит :)

Если ограничивать, то зачем она нужна тогда?

Тем у кого мозга хватает на более продвинутые фичи и тем кому они добавляют продуктивности очевидно.

бери фантом, котлин или Eclipse Xtend - и все дела.

Оно все в каких то альфах и бетах небось.

Тем у кого мозга хватает на более продвинутые фичи и тем кому они добавляют продуктивности очевидно.

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

Оно все в каких то альфах и бетах небось.

May 11, 2012 : Xtend 2.3 M7 is available.

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

Я не распарсил мысль.

May 11, 2012 : Xtend 2.3 M7 is available.

Я если честно не вижу преимуществ перед скалой, но если индустрия подхватит этот тренд на этом графике: www.indeed.com/…=xtend,scala&l= - я пересмотрю свое решение.

Я не распарсил мысль.

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

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

Я если честно не вижу преимуществ перед скалой

Проще. Понятней.

но если индустрия подхватит этот тренд на этом графике:

Меня сейчас больше вот этот тренд интересует:

www.indeed.com/…, javascript&l=

Потому что похоже незаметно так возвращаются позабытые идеи из опередившем время:
ru.wikipedia.org/…ограммирования

Когда он не взлетел - я был огорчен.

А XTend у меня - первый из улучшателей Java кандидат на серьезно попробовать.

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

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

И? Как это относится к скале?

Проще. Понятней.

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

Меня сейчас больше вот этот тренд интересует:

www.indeed.com/, javascript&l=

Вы опять на ложном пути: www.indeed.com/...vascript,sql&l= - вот где истина!

И? Как это относится к скале?

Напрямую — получатели прибыли с труда программистов пока не видят в Scala вещи улучшающей производительность труда.

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

В третий раз:

Если на Scala писать как на Java то конечно она и будет понятна как Java. Только зачем она тогда нужна, зачем электронным микроскопом гвозди то заколачивать???

Это как в начале взлета C++ тоже слышал:

Да не надо заморачиваться, пиши как на улучшенном С. Ну, или если очень крут, «С с классами». А ООП всякии не трогай, мутное это дело. Подозрительное.

Давайте по другому, в чем вы меня убедить хотите?
Я вам пытаюсь объяснить свои версии почему Scala не взлетает, а вы мне что пытаетесь?

Что она уже летит, и прямо заполонила, и ..., ...,?

О чем вообще разговор? О неуловимом Джо?

41 Scala — на спорном Tiobe

Как вы вот это объясните? Не надо мне о крути.
Поясните вот это 41ое место. У Haskell — 25ое!
Мировой заговор джаво-масонского закулисья?

Тотальной тупостью программистов, менеджеров и владельцев бизнесов?

Вы опять на ложном пути

Мне JPA достаточно.

Напрямую — получатели прибыли с труда программистов пока не видят в Scala вещи улучшающей производительность труда.

Твиттер, линкедин, 4square, klout вполне себе видят.

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

Потому что много плюшек, которые и xtend себе завел — выведение типов, лямбды например, a еще клевый cli, и много клевых либ, например www.scala-lang.org/...ss/package.html и finagle.

Я вам пытаюсь объяснить свои версии почему Scala не взлетает, а вы мне что пытаетесь?

Вполне оно взлетает.

О чем вообще разговор? О неуловимом Джо?

41 Scala — на спорном Tiobe

TIOBE действительно спорная штука, indeed тренды намного более показательны: www.indeed.com/...cala,haskell&l=

Мне JPA достаточно.

Ок, выбирайте jpa вместо питона, скалы и javascript.

Твиттер, линкедин, 4square, klout вполне себе видят.

А список подобных подобных проектов где НЕ видят — будет приблизительно такой же длины?

И этот список вы не мне, а коллегам да руководству показывайте.

Как Бобук рассказывал как-то в радиОте — пришел один ко мне и давай, хочу на Scala, хочу на Scala! Я ему — никаких проблем. Найдешь еще 10 желающих — дам добро. Ушел радостный.

Пришел через недельку грустный, двое только сказали — нуууу, давай попробуем.

Вам компанию как этому бедолаге нужно готовиться сменить. В команду Твиттера там, или Линкдина.

Потому что много плюшек,

И поэтому она НЕ взлетает какой год?

Я ж о том и удивляюсь, как при таких достоинствах я сам до сих пор на Java сижу. Прямо неудобно и стыдно за себя становится :)

Вполне оно взлетает.

Где цифры? Где пруф линки?

выбирайте jpa вместо питона, скалы и javascript.

Вообще-то JPA — ортогонально приведенному списку.

А javascript мне интересен потому что Web UI на GWT не очень нравится. Обычная работа.

А список подобных подобных проектов где НЕ видят — будет приблизительно такой же длины?

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

И поэтому она НЕ взлетает какой год?

Вполне оно взлетает.

Где цифры? Где пруф линки?

Кривая тренда на indeed вполне показывает взлет.

Прямо неудобно и стыдно за себя становится :)

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

Вообще-то JPA — ортогонально приведенному списку.

Блин, а я и не знал..

В одном из доу дайджестов была ссылка на статью от одной конторы юзающей скалу (помойму из вашего списка), где они достаточно серьйозно разложили скалу по полочкам, и фактически вернулись к использованию джавы. Рекомендую почитать.

Я думаю я ее уже читал и свои выводы сделал: www.infoq.com/...11/yammer-scala

Scala хуже, чем Java. Как минимум, для половины Java проектов

Дэвид Поллак:

Я активный участник Scala сообщества с ноября 2006 года. Являюсь основателем проекта Lift.

«После всей этой подготовки, позвольте высказать мое заключение:

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

Это утверждение не более спорно, чем:

Java — неподходящий язык для большинства PHP разработчиков и не может рассматриваться как замена PHP, поскольку, как минимум, для половины PHP разработчиков сложность Java перечеркивает её достоинства.»

Я отвергаю аргумент: «Ну, тогда, найдите лучших программистов». Мы могли бы решать проблему сложности Scala путем повышения общего качества разработчиков (до тех, кто понимает сигнатуры типов, может описать свои программы математически и т.д.), но это не решит проблемы. Дело в том, что Scala не настолько лучше, чтобы спровоцировать революцию в области подготовки кадров, образования и приема на работу, и, таким образом, настолько изменить качество среднего разработчика, чтобы сделать её же доступной для этого разработчика.

Мы не можем сдвинуть эту гору... или, конкретнее говоря, Scala не настолько лучше, чтобы уволить 50% непродуктивных разработчиков.

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

habrahabr.ru/post/134897

Дэвид Поллаку, как гуру в Scala — верю.

Об этом я говорил где-то в другой теме,

что первично в высокой эффективности труда — программист или Haskell?

Scala — не панацея.

Какого грандиозное открытие? :))
Очередная «Серебряная пуля» все еще не существует. Кто бы сомневался? А вместо нее куча воинствующих фанатиков, что уж их то язык точно «самый самый».

:)

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

Ё*! а я об чем? А вы мне в ответ — да можно и в скала формошлепить, да и можно и в скала г*кодить.

Конечно — можно.

Кривая тренда на indeed вполне показывает взлет.

Давайте построим кривую увеличения воды в стакане, в который капает вода. В процентах.
Сухой стакан — первая капля принесла 100%!
Вторая капля 50%!

...

Когда на Скале программировало три программиста и прибавилось еще три — ого-го тренд, прирост в 50%!

Тренды нужно уметь еще трактовать.

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

«Неделю тому я решил жить вечно.

Пока все идет по плану!»

Вот тоже пример — тренда.

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

Расти и без Скала есть куда. Причем поважнее.

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

Приятно — когда есть лямбды

и каждая последующая капля приносит все меньше %% воды в стакан.

Блин, а я и не знал..

а я взял и пристебался к той строчке :D

Очевидно на скала программируют не 3 программиста и не 6, капля уже далеко не первая, а рост все устойчив.

К сожалению я не увидел мысли за остальной частью простыни.

капля уже далеко не первая — а рост все устойчив.

41ое место на Tiobe.

Tiobe в силу методики подсчета отражает для данного случая как раз то что надо — интерес к языку. «А поговорить».

Какой может быть устойчивый рост использования в проектах когда просто интерес к Scala — упал? С год тому она на Tiobe кажется до 28ой позиции добралась.

Я кстати вчера решил глянуть, и обнаружил у себя установленную Scala. Вспомнил что года два тому пробовал и Hello World написал, и плагины для IDE стояли.

То есть и я был той каплей.

Снес конечно. Она могуча, но мне некогда ее осваивать. Хотя бы потому что я не вижу как она ощутимо уменьшит общие затраты моего времени. Если б я писал только хитромудрые многопоточные алгоритмы, то да.

Но я — обычный программист, в обычном программировании бизнес ПО.

Мне надеюсь необязательно опять тыкать носом в indeed trend график и сравнивать с «21-ым» хаскелем?

Необязательно.

Между маргиналами различия пусть выискивают эстеты.

О trend’ах я уже сказал, не вижу смысла повторяться.

Хотя, четкий тренд последних лет — обсуждение Scala значительно поубавилось на форумах о Java.

Был период — пестрило. «Попробовал народ, и ...»

Дерзайте! По крайней мере сугубо для вашей карьеры она может стать трамплином.

Ой не нужно, а то будет тоже что и со Scala :D

И - зачем Scala №2? Одной хватит :)

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

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

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

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

Но "для попробовать", и некритичного кода - вполне можно. И возможно даже - рекомендуется :)

А вот что-то из списка Fantom, Gosu, Kotlin или "JaC#" - было бы самое то.

Я фантом когдато "смотрел" - мне он по вкусу пришолся.

Тем не мение, все эти языки совершенно не разрикламированны, и считаются маргинальщиной.

GIL вобщем-то не имеет отношения к самому языку. Я по крайней мере не отношу это к языку.

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

Надеюсь месье слышал о Jython? Реализации Python на Javа, который позволяет компилировать исходники Питона в byte-code JVM?

Мсье слышал. А что на джитоне уже написали какое то кластерное ПО? Или может появились вакансии для его написания? Или просто появились вакансии? Единственное применение которое я слышал это что jython воюет с тиклем за право быть скриптовым языком под вебсферу.

Мне право неудобно напоминать месье о Гугле ибо если бы месье потрудился вбить в поиске нечто типа "python cluster computing" его вопрос не выглядел бы столь неуместно и сам бы месье не выглядел столь глупо. Из поиска месье без труда узнал о том, что кластерное ПО писалось на Питоне еще во времена, когда о Java еще и в проекте не было. Да, возможно это немного другая ниша, и это немного другой мир о котором месье не слышал, но он существует и поныне, и будет еще долго существовать, подобно миру Фортрана. Засим разрешите откланяться ибо дискуссия принимает формат "у кого пальцы шире", что мне совершенно не интересно.

Понятно, с jython похоже вброс не получился, перешли на аспирантские скриптики не доросшие до уровня proof of concept.

Вычислительные кластеры оказались "некошерными"? Кто-бы сомневался. :)

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

Конкретнее уже по моему некуда.

(под питон восновном либо скриптуют либо веб дев делают)

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

а на питоне я как то ни про что такое не слышал.

www.parallelpython.com
www.picloud.com
discoproject.org
github.com/douban/dpark

Это так навскидку.

машинное обучение, компьютерное зрение, научные вычисления, nlp, и т.д.

Мы все еще о кластерах? Есть какие то метрики опровергающеи слово «в основном»?

www.parallelpython.com
www.picloud.com
discoproject.org

github.com/douban/dpark

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

Всем. Например найди аналог такой книжечки www.amazon.com/…m=ATVPDKIKX0DER для питона.

Попытка подмены понятий. :)

По ссылке основные темы - отладка и настройка VM. VM - это среда исполнения в которой запускается скомпилированный байт-код с того или иного языка. Будет ли этот байт-код сгенерирован из исходников Питона или Java правила настройки и отладки среды исполнения едины. :)

ну вы же не будете спорить что вокруг high performance Java комунити напорядок больше и развесистее? :)

Не буду.

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

у нас на проекте куча одноразовой фигни сделаной на питоне. а css воон вообще compass собирает который на ruby.

ниши у них просто совсем разные, питон jave совсем не конкурент.

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

Я полагаю, что истина где-то между. То есть начать можно с Питона, и по мере освоения переходить на Java.

Питон - язык для создания прототипов.

Именно. А ява - язык для создания нормальных (с точки зрения производительности) приложений.

А почему нельзя прототипы писать на groovy/scala и сказать что питон не нужен?

скажу просто про наш случай- традиция. Сложилось так что залипухи на питоне. Хотя вот может на гредл перелезем и тендернция сломается. Я против тащить питон куда не надо. вот только что словил прикол на виндовой машине.

Подписаться на комментарии