@scala_ru

Страница 518 из 1499
Vadim
26.02.2017
17:53:23
ты чтоли манагеру скалу хочешь продать7)

Daniel
26.02.2017
17:54:32
> это то что скала функциональна (то есть более читабельный код меньше багов) я че-то проспал

Grigory
26.02.2017
17:54:57
я думаю если хочешь продать манагеру то важно мб в некоторых случаях смещение рисков в компайл тайм из рантайма, в случаях когда на проихводительность импактанет или это не важно ну и всякое такое в таком духе

Google
Grigory
26.02.2017
17:55:15
ну и при всем при том совемтимость с джавой есть так что пробелм в отсутвии либ нету и тыры пыры

Sergey
26.02.2017
17:55:16
и чем это лучше джавы?

Grigory
26.02.2017
17:55:28
чем компайл тайм лучше рантайма?

Vitaly
26.02.2017
17:55:40
ты чтоли манагеру скалу хочешь продать7)
не , там не в этом дело скорее мой пм сказал чтобы я придумал как пояснить заказчику почему мы сделали именно так. точнее даже не это, а почему то, что мы сделали круто по определению

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

Daniel
26.02.2017
17:56:26
ну в этом ключе, имхо, стоит референсы в презентахах лайтбенда поискать))

Sergey
26.02.2017
17:56:29
чем компайл тайм лучше рантайма?
смотря о чем именно ты

Grigory
26.02.2017
17:56:42
бл*ть о рисках

о чем я

об ошибках

Vitaly
26.02.2017
17:56:56
и в том то и соль, что если я скажу заказчику - ну там функционалка, кода меньше пишем и тд и будет что то типа "и чо? "

Vadim
26.02.2017
17:57:13
мне кажется тут ничего вообще придумывать не надо - если это работает, соответвует прдъявляемым требованиям и не на говне мамонта - какие вопросы у меня как у заказчика могут быть?)

Google
Ivan
26.02.2017
17:57:19
а зачем вам там скала?

Sergey
26.02.2017
17:57:40
об ошибках
скала по-умолчанию защищает от ошибок?

Ivan
26.02.2017
17:57:50
вот как себе ответишь на эти вопросы так и заказчику сможешь ответить только еще и приукрасишь немного

Daniel
26.02.2017
17:57:54
вопрос какой поинт со стека заказчику если это праздный интерес, то и ответ такой же

Grigory
26.02.2017
17:58:27
скала по-умолчанию защищает от ошибок?
прочитай еще разочек; богатая система типов нужна чтобы больше тупых ошибок отловить на этапе компиляции

Wystan
26.02.2017
17:58:42
заказчику нужен кластер из коробки? если нет, то берите го или ноду

на ноде правда шлак легко писать

Vitaly
26.02.2017
17:58:50
лол ладно парни, я вас понял ))) значит будем реально делать по принципу - уровень ответа зависит от уровня вопроса

Grigory
26.02.2017
17:59:12
фактически фп код это формула и компилируя ты доказываешь правльность формулы; зачем еще придумали сложные типы?) навренео для понтов

Ivan
26.02.2017
17:59:17
заказчику нужен кластер из коробки? если нет, то берите го или ноду
писать на js что то серьезное такое себе, ну имхо

Daniel
26.02.2017
17:59:19
ты иди, а мы тут с попкорном за срачиком посмотрим))

набросил чутка

Grigory
26.02.2017
17:59:48
прост тип математики корочи угарали вот и придумали форумлы там типы и всякий бред ток потому что процедуркалка зло.

Wystan
26.02.2017
17:59:59
писать на js что то серьезное такое себе, ну имхо
ну потому что нет ограничения. жена не дала - написал шлак в этот день. постепеннь уровень снижается

Sergey
26.02.2017
18:00:55
ну потому что нет ограничения. жена не дала - написал шлак в этот день. постепеннь уровень снижается
вот в скале все не так. у нее богатая система типов, которая спасает от всех ошибок и гавнокода (с)

Grigory
26.02.2017
18:00:57
и я не псиал защищает - а риски в компайл тайм частично сдвигает в некоторых случаях

Sergey
26.02.2017
18:01:21
есть реальный пример?

Vitaly
26.02.2017
18:01:21
пока гуглил - нашел такое, есть парочка предложений подходящая моему вопросу)

https://dev.by/lenta/main/mneniya-pochemu-scala-vdrug-stala-takoy-populyarnoy

Google
Grigory
26.02.2017
18:01:52
пример что богатая система типов свдигает риски в компиляцию?

Sergey
26.02.2017
18:01:59
да

Grigory
26.02.2017
18:02:04
да любой код высокороувневый

Grigory
26.02.2017
18:02:27
гуглани блджа

почему нужнабогаатя сиетема типов

если сферический простой пример - это списки с длиной в типе

Daniel
26.02.2017
18:03:57
пока гуглил - нашел такое, есть парочка предложений подходящая моему вопросу)
Уважаемый заказчик, писали на стеке, в котором у нас высокая экспертиза, а предпочитаем его, потому что ФП и Типы снижают время и косты тестирования, а богатая инфраструктура позволяет реализовать сложные вещи в максимально короткие сроки.

пойду выпью что ль, чтоб забыться

Sergey
26.02.2017
18:04:35
Ivan
26.02.2017
18:04:42
и не паришься что там в переменной null/undefined/""/0 или еще чего

пустой масси какой нибудь

Sergey
26.02.2017
18:05:15
js гавно, тут даже никто не спорит)

Grigory
26.02.2017
18:05:15
что мешает на джаве сделать это?
потому что системы типов такой нет в джаве

так ты можешь хоть на спп что угодно сделать

или на пхп...

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

Daniel
26.02.2017
18:07:08
мы пишем на скале, потому что еще акку на идрис не портировали

Grigory
26.02.2017
18:07:14
монопенисуальные языки отличаются ток синтаксисом (джава и скала)

Sergey
26.02.2017
18:07:36
если сферический простой пример - это списки с длиной в типе
ну вот реализовал себе FixedSizeList или взял из либы. проблема решена?)

Google
Grigory
26.02.2017
18:08:48
смари пример простой зачем нужны типы; если ты конечно не толстый троль вот у тя есть json сообщения; предположим ты можешь делать массивы этих сообщений; программа иъх жрет (как тсроки чет там кастуует и выпоняет)

фактически джсон это только строки

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

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

ну я хз как еще обяснит ьзачем нужны типы

Max
26.02.2017
18:10:47
Предлагаю новый токсичный-функционально-высоколобый ответ: "иди почитай TaPL"

Grigory
26.02.2017
18:10:48
гугланите зачем нужны типы и зачем нужны сложные системы типов

и кто придумал типы

Admin
ERROR: S client not available

Wystan
26.02.2017
18:11:49
strong types for weak minds!

Grigory
26.02.2017
18:11:58
ну идеально кончено прога должна быть формулой

и ты типа пиешшь формулу

Daniel
26.02.2017
18:13:09
пока гуглил - нашел такое, есть парочка предложений подходящая моему вопросу)
Еще придумал. "Как известно скала имеет высокий порог вхождения, что позволило нам отобрать в команду вашего проекта лучших программистов."

Daniel
26.02.2017
18:13:59
не, не советую заказчики такое не оч любят)

Oleksandr
26.02.2017
18:14:19
есть реальный пример?
вынос абстракций на более высокий уровень, труднодостижимый обычным наследованием (некоторые вещи из http://eed3si9n.com/herding-cats, вроде функтора или полугруппы)

Max
26.02.2017
18:14:24
Sergey
26.02.2017
18:15:18
Тем что компилятор тебе пояснит по жизни за невалидные данные
так если не разбирать json строки, что он мне пояснит?

Max
26.02.2017
18:16:50
Ошибку типа в рантайме получишь при невалидных данных, вот и все

Google
Sergey
26.02.2017
18:18:08
так за анализ и парсинг отвечает GSON/Jackson

Max
26.02.2017
18:22:06
так за анализ и парсинг отвечает GSON/Jackson
Ну ты можешь и на питоне его парсить сразу. Смысл типов в том, что они грубо говоря не дают писать непроверяемый бред по всему коду. Если кусок системы работает без них — они бесполезны в этой части, да

Artem
26.02.2017
18:24:13
https://github.com/derive4j/hkt )

все есть же )

Sergey
26.02.2017
18:24:20
(в джаве ты напрешься на отсутствие типов высшего порядка)
надо короче книжку по скале почитать. а то я в упор не вижу проблем, которые оно решает)

Max
26.02.2017
18:29:48
Если она как в жаве — нет.

Wystan
26.02.2017
18:30:10
(в джаве ты напрешься на отсутствие типов высшего порядка)
алсо начал гуглить как дело в шарпе и наткнулся на вот этот смешной ишью: https://github.com/dotnet/roslyn/issues/2212

Oleksandr
26.02.2017
18:31:12
надо короче книжку по скале почитать. а то я в упор не вижу проблем, которые оно решает)
ну на пальцах: вот у тебя есть список и есть мапа у них можно определить некое общее поведение, для примера, пусть это будет ассоциативность операции то есть combine(x, combine(y, z)) = combine(combine(x, y), z) это свойство есть у многих вещей, так почему бы не вынести его в отдельный интерфейс? собственно, это и делается, с той разницей, что с обычными интерфейсам тебе придется много копипастить, а тайпклассы + HKT позволяют иногда это красиво обойти herding cats написан для хаскелистов, там надо уже разбираться в теме, чтобы понять /= я посоветовал бы "functional programming in scala" ака "красная книжка"

Grigory
26.02.2017
18:33:15
да что угодно по типам почитать; это интересно (мне кажется) историчесикй момент изобретения типов тоже весьма нагляден

Oleksandr
26.02.2017
18:38:43
другими словами: есть некие кирпичики — "структуры" из алгебры, которые задают некоторые законы если выполняется закон, то можно давать некоторые гарантии по поведению => проще reasoning (хз как перевести, что-то типа "анализ кода") => меньше думаешь, когда пишешь код пример для абзаца выше — вот есть monad chain (for), для него ты можешь быть уверен, что операции выполнятся с каким-то порядком если тебе не нужен порядок (можешь ослабить гарантии), то можно получить профит в производительности, для примера с монадами это переход от них к аппликативному функтору

Oleksandr
26.02.2017
18:40:48
самое главное — не надо всей этой фигней слишком увлекаться, пытаться этими законами все-все обосновать, это путь к оверинжинирингу а причем тут скала — она позволяется выбирать уровень абстракции, от HKT до лобовой императивщины

Grigory
26.02.2017
18:42:08
не понял, можешь перефразировать?
ну я про то что ты расписал это все верно)); но типа что у Сергея мб какоето фундаментальное недопонимание зачем оно все нужно.

Oleksandr
26.02.2017
18:42:51
Grigory
26.02.2017
18:42:58
прагматичный путь к го

Oleksandr
26.02.2017
18:44:04
в какой-то степени если пофилософствовать, то Го — "жадная" стратегия

Sergey
26.02.2017
18:44:23
для каких задач это вообще нужно? ну скажем если мне нужно написать скрейпер для сайтов или что-то по типу как для Megogo писали тут тестовое(опрашивать апи, с учетом лимитов, ретраев и тд). как мне все эти типы помогут в этом всем?

Страница 518 из 1499