Re[18]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 17:57
Оценка: +1
Здравствуйте, novitk, Вы писали:

НС>>Практика показала, что фишка то есть, а вот широкого использования ее особо то и нету.

N>Разве она не сокращает писанину с List<Object>?

Может и сокращает. Но за пределами СОМ интеропа как то так оказывается, что List<Object> особой популярностью не пользуется.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[13]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 17:57
Оценка:
Здравствуйте, novitk, Вы писали:

N>Ватакуси говорит о системах занимающиеся подсчетом рисков в JPM and BAML. Это безусловно самые дорогие и важные проекты в ИТ инвестбанка.


Возможно. Только он эти детали уточнить забыл, причем явно намеренно, так как уже не в первый раз.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[14]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 18:08
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

F>>>например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле

C>>Самый популярный сейчас форум (Discourse) написан на Ruby.
НС>Самый популярный — reddit, и он на Петоне.
У них немного разные области, Reddit — это централизованный сайт, а Discourse — аналог phpBB.
Sapienti sat!
Re[16]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 18:11
Оценка:
Здравствуйте, neFormal, Вы писали:

C>>Зачем? REPL в принципе не очень-то удобен для реальной разработки.

F>ха-ха! скормите его печень лисперам!
Это те люди, от которых хайпа было больше, чем от всего остального в индустрии вместе взятого? С полноценно нулевым итоговым выхлопом?
Sapienti sat!
Re[19]: на чём писать бэкенд?
От: novitk США  
Дата: 11.04.19 18:20
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, novitk, Вы писали:


НС>>>Практика показала, что фишка то есть, а вот широкого использования ее особо то и нету.

N>>Разве она не сокращает писанину с List<Object>?

НС>Может и сокращает. Но за пределами СОМ интеропа как то так оказывается, что List<Object> особой популярностью не пользуется.


Думаю косность мышления. Гетерогенные коллекции есть более чем везде, а сахарок вроде неплохой.
Re[17]: на чём писать бэкенд?
От: Sharov Россия  
Дата: 11.04.19 18:27
Оценка:
Здравствуйте, Cyberax, Вы писали:

F>>ха-ха! скормите его печень лисперам!

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

Алан Кей на кворе только о нем и говорит, дескать уравнения Максвелла в cs. Выхлоп-то может и нулевой, а вот влияние оказал будь здоров.
Кодом людям нужно помогать!
Re[12]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 18:31
Оценка:
Здравствуйте, neFormal, Вы писали:

C>>Типы — это как перила на лестнице. И они мешают прыгать с пролёта на пролёт.

F>типы — это такие костыли, чтобы программа не падала рандомно после запуска.
Нет. К моменту запуска/компиляции типы уже не нужны (кроме как для оптимизации). Они нужны во время разработки.

C>>Идеология та же — создание виртуального окружения. В venv — за счёт магических переменных окружения.

F>фактически виртуальная машина и переменные окружения — немножко не одно и то же.
Docker — это не виртуальная машина. Учим матчасть.
Sapienti sat!
Re[10]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 19:03
Оценка:
Здравствуйте, Ватакуси, Вы писали:

C>>Я участвовал в миграции проекта с Питона на Go. Количество бардака после миграции сильно упало, а качество увеличилось. Количество строк там было меньше, в районе десятка миллионов. Миграция заняла несколько лет.

В>Какие-то чудеса рассказываешь. Пять самых крупных в мире банков с огромным удовольствием уходят из Явы (почти ушли, на самом деле) в питон. Я про 80% их кода.
Кто где уходит? Имена, пароли, явки.

В>Они такие тупые, а ты умный?

Видимо.

C>>Понятно, что при желании и должной дисциплине можно и на ассемблере всё писать. Но зачем?

В>Затем, что когда хочешь написать на яве, с# или подобных языках то, что делается на питоне за час-два у тебя вдруг это занимает день. А то и два.
Не бывает такого. А вот наоборот — бывает.

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

В>Это не брехня, как ты изволился утончённо выразиться, а суровая правда жизни. Если у тебя распределённая система (и база), кучка сервисов и клиентов, то I/O будут занимать минимум 50%, а то и все 90% времени выполнения.
Да-да. Знаю я эти сказки.

В>Если ты, конечно, фибоначчи считаешь или там рисуешь чего, тут питон конечно не нужен. Только когда ты последний раз подобные задачи решал?

Нет. Банальный SQLAlchemy + рендеринг шаблонов уже влёгкую съест весь CPU на одном ядре.

C>>Корутины в текущих реализациях Питона относятся к категории "do not use" из-за "coloured function problem".

В>Сам придумал?
См.: http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/

Языки, где такой проблемы нет: Go, LUA и даже Perl6.

C>>Эээ... Ты ТОЧНО писал на Питоне? CPython — это интерпретатор Питона. Есть Cython, но он крайне ограничен и требует писать на (фактически) С с питоновским синтаксисом.

В>Да, писал. Cython нужен для всях вычислений. И на нём не пишут обычно. А пишут сперва на нормальном питоне, а потом когда уже всё готово — оптимизируют.
Угу, переписыванием на нормальный язык.

C>>К нему прилагается сложность распространения — если хочется распространять бинарные артефакты, то с Cython начинаются прыжки и ужимки из-за его мега-умности.

В>Ты пробовал? Там всё прямолинейно как дерево, какие прыжки?
Попробуй запаковать скомпилированный Cython'ом код. Чтобы можно было сделать красивый DEB/RPM для лёгкой установки.

C>>Даже с Докером хорошей практикой является создание наиболее лёгкого образа, без компиляторов и сред разработки внутри.

В>эээ каких сред разработки? Докер несколько для другого. Обычно в образё все, что тебе нужно для ИСПОЛНЕНИЯ.
В>Пакетный же менеджер под названием pip отлично справляется со своими задачами уже много лет.
Не справляется. Там отсутствует понятие lock-файла, например.

Питоноводы это тоже понимают, потому появились всякие Conda ( https://conda.io/en/latest/ ), но пока ещё не доросли.

C>>В том числе и с ними (разных национальностей), как на любом большом проекте.

В>Ну, с ними проблем конечно становится больше. Тут как раз без твоей дисциплины только на компилятор полагаться.
В>Правда, когда они пишут SQL функцию (компилируемую) на 10 тыщ строк с 39-ю запросами внутри (и обращению к десяткам разных таблиц), это понять можно только после присоединения к кришне.
Так SQL как раз — это динамический язык.

C>>JS нынче чаще всего заменяют TypeScript, который более-менее адекватен по сравнению с Питоном.

В>Не заметил огромной адекватнойсти. И мода на TS что-то утихла.
Где утихла? Большинство библиотек на JS нынче имеют аннотации типов.
Sapienti sat!
Re[16]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 19:03
Оценка:
Здравствуйте, neFormal, Вы писали:

F>>>банальный пример с гетерогенными списками

F>>>очень актуально для конфигов, где в одном списке могут лежать разные структуры данных
C>>1) Не надо так делать.
F>ты скозал?
Да.

C>>2) Какие проблемы-то?

F>сериализации дофига
Где?

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

C>>List<Object> — Java, []interface{} — Go, std::list<void*> — C++, ...
F>вся суть статико-поклонников
То есть?
Sapienti sat!
Re[19]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 11.04.19 19:03
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>Так скрипт заполняет определённые структуры данных.

WH>>>Дёргает определённое API.
F>>или нет
WH>Что за детский сад. Если нет аргументов так и скажи что был не прав.

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

WH>Ну, вот теперь ещё и шумы полезли. Что не можешь отстоять свою позицию на конфигах? Так ты их сам предложил.


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

WH>Я не понял. Ты споришь или соглашаешься?

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

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

WH>Так и где тогда обещанные преимущества перед статической типизацией?


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

WH>>>Твой код ждёт поля foo и bar, а получил baz и biz.

WH>>>Что дальше?
F>>скипаем.
WH>А если там важные данные?

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

WH>>>Вот это ожидание foo и bar и есть неявно заданная схема данных.

WH>>>И если в случае со статически типизированным языком ты при чтении конфига получишь сообщение об ошибке с указанием строки и позиции. То в случае с динамикой у тебя через полчаса свалится программа с сообщением: у объекта нет нужного поля.
F>>в этом и цель.
WH>То есть твоя цель это написать падучий багодром? Я тебя правильно понял?

да, потому что это вылезает на тестировании.
такие системы имхо меньше приспособлены к отдаче в неподготовленные руки(хотя это может быть спорно), потому что требуют большего понимания предметной области
а ошибки будут попроще. типа, "в такой-то сущности нет такого-то поля"
...coding for chaos...
Re[17]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 11.04.19 19:04
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

F>>например, если в качестве конфига выступает скрипт(а такое тоже бывает)

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

насколько я заметил, это вылезает на тестах, которые покрывают поведение
...coding for chaos...
Re[17]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 11.04.19 19:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Зачем? REPL в принципе не очень-то удобен для реальной разработки.

F>>ха-ха! скормите его печень лисперам!
C>Это те люди, от которых хайпа было больше, чем от всего остального в индустрии вместе взятого? С полноценно нулевым итоговым выхлопом?

не знаю на счёт хайпа, а выхлоп от них есть
но это всё зависит от популярности, которая у лисп-языков довольно слабенькая
...coding for chaos...
Re[13]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 11.04.19 19:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Типы — это как перила на лестнице. И они мешают прыгать с пролёта на пролёт.

F>>типы — это такие костыли, чтобы программа не падала рандомно после запуска.
C>Нет. К моменту запуска/компиляции типы уже не нужны (кроме как для оптимизации). Они нужны во время разработки.

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

C>>>Идеология та же — создание виртуального окружения. В venv — за счёт магических переменных окружения.

F>>фактически виртуальная машина и переменные окружения — немножко не одно и то же.
C>Docker — это не виртуальная машина. Учим матчасть.

не пропускай слова.
докер даёт эмуляцию системы, что для пользователя выглядит, как виртуалка
...coding for chaos...
Re[15]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 11.04.19 19:09
Оценка:
Здравствуйте, Cyberax, Вы писали:

F>>>>например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле

C>>>Самый популярный сейчас форум (Discourse) написан на Ruby.
НС>>Самый популярный — reddit, и он на Петоне.
C>У них немного разные области, Reddit — это централизованный сайт, а Discourse — аналог phpBB.

варианты пхпББ есть и на питоне
тут вопрос в том, можно ли взять движок дискурса и натянуть на свои нужды дёшево?
...coding for chaos...
Re[18]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 19:19
Оценка: :)
Здравствуйте, neFormal, Вы писали:

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

F>не знаю на счёт хайпа, а выхлоп от них есть
И какой же? Я не знаю ни одного крупного проекта на Лиспе, кроме emacs. Собственно, даже и мелких проектов не знаю.

F>но это всё зависит от популярности, которая у лисп-языков довольно слабенькая

А хайпа много, ага.
Sapienti sat!
Re[16]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 11.04.19 19:21
Оценка:
Здравствуйте, neFormal, Вы писали:

C>>У них немного разные области, Reddit — это централизованный сайт, а Discourse — аналог phpBB.

F>варианты пхпББ есть и на питоне
Ага. Тут речь шла о том, что PHP — это наше фсьо.

F>тут вопрос в том, можно ли взять движок дискурса и натянуть на свои нужды дёшево?

Можно.
Sapienti sat!
Re[16]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 19:21
Оценка:
Здравствуйте, neFormal, Вы писали:

F>варианты пхпББ есть и на питоне

F>тут вопрос в том, можно ли взять движок дискурса и натянуть на свои нужды дёшево?

Оно там, вроде, не движок а сервис. Изрядно глючный и тормозной. Но это заслуга JS, а не Ruby.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[20]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 19:21
Оценка: +1
Здравствуйте, novitk, Вы писали:

НС>>Может и сокращает. Но за пределами СОМ интеропа как то так оказывается, что List<Object> особой популярностью не пользуется.

N>Думаю косность мышления. Гетерогенные коллекции есть более чем везде, а сахарок вроде неплохой.

Есть много разных способов обрабатывать гетерогенность, не отказываясь от типизации.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 19:21
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Так SQL как раз — это динамический язык.


Причем непонятно почему. 99% конструкций прекрасно выводятся статически. За бортом остаются пара не особо нужных извратов, да некоторые странности в реализации отдельных sql серверов (кое кто, к примеру, в одном рекордсете может поменять по ходу выборки тип колонки).
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[19]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 11.04.19 19:22
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>И какой же? Я не знаю ни одного крупного проекта на Лиспе, кроме emacs. Собственно, даже и мелких проектов не знаю.


Все тот же реддит был изначально на лиспе. Переписали на петон.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.