
gxwin
16.09.2017
16:54:50
20 не 100, уже видно что не грязь люди месят)

Boris
16.09.2017
16:55:01
надо, да, но пока для больших систем замены в инфраструктуре жвм особо нет
просто проблемы-то появляются не сразу
а когда ты понимаешь, что тебе к твоим микросервисам на гоу надо прикрутить кроссервисный идентификтор запроса, и понимаешь, что тебе нужно руками вплилить во все твои сервисы, потому что твой сервис это просто хендлер хттп-запроса

Google

Boris
16.09.2017
16:58:09
и вот тут ты задумываешься, что может и ничего, есть это за меня сделает система интеграции, пусть и ценой увеличения сложности

gxwin
16.09.2017
16:58:41
го не мой, но я писал у меня там локатор и ничего нового не мешает старому, то есть там нет убер-либы которая навязывает как и что делать, поэтому все другие либы ты просто подключаешь и адаптируешь сам
ты просто реально думаешь что спринг это единственно правильная архитектура
НО
не что не мешает тебе добавит модуль в систему, если он действительно модуль

Boris
16.09.2017
17:00:14
что хорошего в том, что ты велосипедишь интеграцию? всё равно приходится делать какое-то переиспользование

gxwin
16.09.2017
17:01:47
чтоб локатор был локатором, и не читать потом доку в целую книгу "как интегрировать А в B через С"

Boris
16.09.2017
17:01:58

gxwin
16.09.2017
17:03:24
есть те рамки которые спринг для тебя устанавливает и то как ты его можешь расширять и взаимодействовать - это называется фреймворком и это есть архитектура.

Boris
16.09.2017
17:03:28
хотя спринг навязывет использование инверсии контроля в какой-то степени и жестко назяывает использование контейнера, но в остальном он достаточно гибок, чтобы сделать архитектуру так, как считаешь нужным

gxwin
16.09.2017
17:03:55
помоему от гугла есть интегратор DI без попытки спасти все человечество - почему бы не взять его?
или без спринга уже весь стек не прикрутить?

Google

Boris
16.09.2017
17:04:48
возьми, в чем проблема-то?
на андроиде насколько я знаю его активно используют

gxwin
16.09.2017
17:05:43
почему же спринг не берут? Случаем не из-за того что там "намесили"?))

Boris
16.09.2017
17:06:00
но если я собираюсь делать большую микросервисную систему, то я возьму спринг

gxwin
16.09.2017
17:06:35
большую
микросервисную
теперь у меня испанский стыд
Ладно проехали, ничего личного, но не одним спрингом джава живет
надеюсь в котлин это тянуть не будут
Кстати, даже тот WebFlux, который анонсировали - даже сами авторы понимают, что для простых вещей нужно тоже простые решения.

Boris
16.09.2017
17:11:13


gxwin
16.09.2017
17:15:55
не знаю что там у людей, но обычно это помогает масштабировать и просто отделить какой-то модуль от всей предметной области и даже писать на разных языках (кто на чем хочет).
Но вот мало кто хочет (по моему опыту) писать на го и на старой джаве (подразумевая в том числе и EE и спринг).
точнее никто не хочет возиться со спрингом и его объемной книгой ради лишь IoC, а до супер-пупер-интеграций в таким системах не доходит
да и порой проще накастылять код за пару часов, чем читать книгу по спрингу и какие там конфигураторы для конфигураторов создавать
вот ktor выглядит как то что нужно, спринг mvc - это намесили))
Или вот, django - тоже очередное намесили, а вот фласк и модули к нему - выглядит годно
Монолитные системы зло, хоть и упрощают некоторую начальную разработку
Еще один момент, вот разработчики радуются, что у них совместимость с джавой, но на самом деле, те кто хотят джаву, они останутся и так на ней, так как IDE и так дает гибкости и удобства работы с ней (ну еще начальник не позволит). А вот такие люди как я (а такие есть), взяв новый язык, который лучше чем джава, они уже как-то не хотят писать на "старой" джаве и тащить туда спринги, хибернейты (я видел более годные либы уже на котлине с DSL, хотя надо отметить что Spring Data тоже вкусная штука).
Я надеюсь андроид вышебет из котлина все эти энтерпрайзы ?


Boris
16.09.2017
17:35:17
Монолитные системы зло, хоть и упрощают некоторую начальную разработку
монолиты разрабатывать на порядок проще, но вот масштабировать.. а что касается того, что микросервисы пишут кто на чем хочет, это иллюзия. Такая независимость от языка возможно только в гигантской инфраструктуре, где соединяются части системы, которые могут иметь полностью свои инфрастуктуру, которые могут позволить себе её разрабатывать и поддерживать, а это как можно догадаться не каждый себе может позволить
чот я потерял суть беседы, ладно, всё это болтовня довольно бессмысленная по большому счету, и во многом вкусовщина


gxwin
16.09.2017
17:40:13
ну почему же, есть какая-нибудь вебморда, например ютуб, морда грузит блок с видео, а комменты например вообще другой сервис на другом языке каком-то (понятно что через аякс, может даже морда проксирует, не важно).
Удобства этих микросерисов, даже если написал на плохом языке и всех уволил - можно потом переписать будет этот блок.
Или например морду написать на питоне, а какой-нибудь рендиринг картинок уже на го, си...
Не каждый мечтает монолитом морду на сях писать)

Google

gxwin
16.09.2017
17:42:19
Тут даже на го что-то мелкое не так страшно написать.
Нужен сервис локатор? Да я тебя умоляю, проще контекст передать прям с жесткой хард-сылкой на сервис

Boris
16.09.2017
17:43:27
я же выше писал, что это только взучит хорошо, до тех пор, ока не понимаешь, что для другого языка нужно еще столько же решений сделать, сколько для предыдущего, сделать полностью отдельную инфрастуктуру и тд. Это стоит столько денег, что этим просто не будут заниматься, если только это не реально гигантская корпорация
маштабируемость вдруг понадобилась, а у тебя жесткие ссылки, ой


gxwin
16.09.2017
17:48:35
Тут смысл понятен что велосипеды - это плохо, я за то чтобы котлин (как новый и более гибкий язык) был такой же простой как например го или питон. Нужен локатор - подключил либу, нужны сессии подключил либу, нужна ORM - подключил. А не тащить весь джава ад со спрингом, еще и ЕЕ в микросервис 100мб и превращать xml в эксепшены :)
В общем, ладно, я ушел)

Глеб
16.09.2017
17:49:18
Но питон ведь не простой...

gxwin
16.09.2017
17:49:36
>маштабируемость вдруг понадобилась, а у тебя жесткие ссылки, ой
Если ссылка это интерфейс - то ничего страшного, а если коду вообще 2000 строк то и IDE заменит :)

Anton
16.09.2017
17:50:02
ну попроще джавы

Глеб
16.09.2017
17:51:17
Вы ещё скажите, что яваскрипт проще явы
по факту там только в ногу выстрелить проще

Boris
16.09.2017
17:51:44
Тут смысл понятен что велосипеды - это плохо, я за то чтобы котлин (как новый и более гибкий язык) был такой же простой как например го или питон. Нужен локатор - подключил либу, нужны сессии подключил либу, нужна ORM - подключил. А не тащить весь джава ад со спрингом, еще и ЕЕ в микросервис 100мб и превращать xml в эксепшены :)
В общем, ладно, я ушел)
ты наверное просто не понимаешь, что все думают точно так же -- ну про "надо -- подключил", и вот будешь смеяться, но именно из за этого спринг и появился. Он работает именно так. Нужна ОРМ -- подключил, нужен веб -- подключил и тд

Sasha
16.09.2017
17:52:34

Anton
16.09.2017
17:52:59
я хз как ты вычисляешь сложность языка

Igor
16.09.2017
17:53:29

Boris
16.09.2017
17:53:51
народ, а я не рассказывал еще, как я сделал убер-билд на грейдл+котлин?

Sasha
16.09.2017
17:55:22

Mi
16.09.2017
17:55:25

Boris
16.09.2017
17:55:27
всё хотел статью написать, но времени нет

gxwin
16.09.2017
17:57:04
>Нужна ОРМ -- подключил, нужен веб -- подключил
Это в джаве, в каком-нибудь питоне тебе надо будет только в конфиг что-то написать и все. То есть по сути спринг решает подключение этих библиотек, потому что подключать их сложно, а почему сложно - потому что намесили. Я поэтому и говорю на другие языки посмотреть, многих сложнойстей джавы нет вообще, которая она гордо решает много лет. А если и были такие сложности в других языках, то их решали конструктивно, а не клепали очередной слой поверх еще слоя и еще слоя, пока спринг не пришлось придумать для этих адаптаций
И кстати спринг MVC который сейчас, это не эволюция джавы, это они наконец-то посмотрели как в другом мире живут. Если бы не посмотрели, месили бы какую-то адаптацию сервлетов и радовались - что только у них есть такая либа которая решает их проблему :)

Google


Boris
16.09.2017
18:07:44
>Нужна ОРМ -- подключил, нужен веб -- подключил
Это в джаве, в каком-нибудь питоне тебе надо будет только в конфиг что-то написать и все. То есть по сути спринг решает подключение этих библиотек, потому что подключать их сложно, а почему сложно - потому что намесили. Я поэтому и говорю на другие языки посмотреть, многих сложнойстей джавы нет вообще, которая она гордо решает много лет. А если и были такие сложности в других языках, то их решали конструктивно, а не клепали очередной слой поверх еще слоя и еще слоя, пока спринг не пришлось придумать для этих адаптаций
нет, в джаве это требует "слоя" интеграции совсем по-другой причине. Потому что в отличии от довольно простых систем, которые используются для питона, в джаве библиотеки очень мощные, часто именно из за того, что они прокачены на всяких "энтерпрайзах" и позволяют делать намного больше и намного гибче кастомизировать нюансы. В системе же, которая подключается одной голочкой настроить обычно можно только одно включена она или выключена. А спринг мвц, наподобие того как он сейчас выглядит в спринге появился еще в первых версиях, по крайней мере во втором спринге уже было что-то вроде того, что есть сейчас. В то время еще был стратс, тоже типа того. Т.е. это где-то 2006-2007 год, что же это за миры-то в то время были, куда можно было подсмотреть?


gxwin
16.09.2017
18:30:26
Ну вот что сложного в подключение логера? Что сложного в подключение ORM? В чем тут сложность именно джавы от других языков? Опять из серии что джава решает какие-то космические проблемы и поэтому все у нее так сложно?
Что сложного в подклюение сервера, роутера?
...даже у питона есть в орм пул коннектов, в го вообще встроенный, иди подключи в джаве, так там даже отдельно существует два вида коннектов, один прост, другой под пул. Ну зачем?? какая разница когда ты делаешь get - откуда тебе дадут соединение?
Но джава это смело решает - сама создала, сама решила.

Глеб
16.09.2017
18:37:16
Я начал терять нить повествования

gxwin
16.09.2017
18:40:16
Энтерпрайз зло, тянуть эту каку в священный и чистый котлин - зло
типа такого)
Джава устарела не только синтаксисом но и либами

Глеб
16.09.2017
18:41:14
Та просто я сейчас пишу бэкенд на питоне и вот у меня прям нехорошее жжение начинается, когда я читаю как там хорошо
особенно в части "магии"

gxwin
16.09.2017
18:41:58
что именно жжет?)
не 2.7?

Глеб
16.09.2017
18:42:13
отсутствие помощи от IDE
нет, 3.6
берем SQLAlchemy и бац - sa.func
руки оторвать человеку, который это придумал

Михаил
16.09.2017
18:42:52

? animufag ?
16.09.2017
18:43:19

gxwin
16.09.2017
18:43:44
а как ты хотел в динамической типизации?

Google

gxwin
16.09.2017
18:44:22
Ну вот пример

Глеб
16.09.2017
18:44:44
во-первых динамическая типизация и модуль func - не связаны. Последний работает на... я даже не знаю как это назвать. В случае жабы это было-бы чем-то вроде кодогенерации в рантайме

? animufag ?
16.09.2017
18:45:04

Глеб
16.09.2017
18:45:54
При этом такого метода, поля или чего-либо ещё в модуле не существует
оно будет сгенерировано в момент обращения
соответственно отсутствует какая-либо проверка правильности написанного кода, окромя "запустить и посмотреть"

gxwin
16.09.2017
18:46:53
а в джаве бы тебе IDE помогла?))

? animufag ?
16.09.2017
18:46:55
А это ок
Ну жёстко конечно там даже греп не поможет найти откуда эта функция

Глеб
16.09.2017
18:47:49

gxwin
16.09.2017
18:47:56
в любом случае это вопрос к ide и достоинствам и недостаткам динамической типизации

? animufag ?
16.09.2017
18:47:57
Я так понимаю речь о хранимках?

gxwin
16.09.2017
18:48:02
мы же про архитектуры

Глеб
16.09.2017
18:48:08
те-же func.count

? animufag ?
16.09.2017
18:48:42
Алсо помню историю как переменные из питона автомагически пробрамывались в джс

Глеб
16.09.2017
18:49:05
а ещё там есть множественное наследование
и можно в родительском классе использовать методы наследника
последнее воспламеняет жопы всем коллегам .net-чикам в радиусе
ибо наследил там один товарищ, а потом стали переписывать на .net