@scala_ru

Страница 712 из 1499
Oleg
31.05.2017
21:03:29
Это работает? Что это?
код в фунциональном стиле

Alex
31.05.2017
21:04:28
весна сменялась летом, а программисты все спорили про ооп

Иван
31.05.2017
21:04:36
Mikhail
31.05.2017
21:05:56
Мда, скале далеко еще...
что далеко? куда далеко? ты ведь понимаешь наверное, что в реальности это будет просто val razvernuto = razvernut xx ? а теперь расскажи, что из этого блока есть императивный вид, что ооп, а что фп или какие еще тотемы у тебя там в закромах? ?

Google
Иван
31.05.2017
21:10:00
что далеко? куда далеко? ты ведь понимаешь наверное, что в реальности это будет просто val razvernuto = razvernut xx ? а теперь расскажи, что из этого блока есть императивный вид, что ооп, а что фп или какие еще тотемы у тебя там в закромах? ?
Далеко до хаскеля, если в примере выше реально работающий код. Императивный стиль когда у тебя есть переменные и ты их меняешь, а fp когда есть функции и ты их применяешь. Может я не совсем точно написал, так как сам не точно знаю. Все, буду молчать и только читать, злые вы

Daniel
31.05.2017
21:10:05
собсно вот и понаблюдали предсказуемость кода и чсв =)

Mikhail
31.05.2017
21:10:14
Надо Одерски тредик скинуть. Дотти маловато будет. Да здравствует Scala Imperator!

Alex
31.05.2017
21:11:38
ats говорят еще лучше

KrivdaTheTriewe
31.05.2017
21:11:43
почему такие токсики(

folex
31.05.2017
21:11:57
Да, ребят, давайте полегче с новичками.

А то потом на работу некого будет брать :)

Google
Alex
31.05.2017
21:12:16
крещение ядом

Oleg
31.05.2017
21:12:26
ats говорят еще лучше
мне столько ЛСД не продают

Иван
31.05.2017
21:12:46
хачкель - лучший язык для императивного программирования [процитировано 26437 раз]
Это шутка или я что то не понимаю? Как может быть императивное без переменных?

KrivdaTheTriewe
31.05.2017
21:13:14
мне столько ЛСД не продают
а когда макрохэш будет ?

Alex
31.05.2017
21:13:15
ну, переменную можно представить как поток значений во времени

Oleg
31.05.2017
21:13:59
Это шутка или я что то не понимаю? Как может быть императивное без переменных?
Это может быть шуткой и Вы можете чего-то не понимать одновременно.

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

Иван
31.05.2017
21:14:58
ну, переменную можно представить как поток значений во времени
Я думаю что нельзя, так как переменной как таковой не, есть новое значение полученное из старого. https://ru.m.wikipedia.org/wiki/Императивное_программирование

folex
31.05.2017
21:16:19
Я думаю что нельзя, так как переменной как таковой не, есть новое значение полученное из старого. https://ru.m.wikipedia.org/wiki/Императивное_программирование
А новое значение полученное из старого это не "данные, полученные при выполнении инструкции" или "данные, полученные при выполнении предыдущих инструкций"?

Daniel
31.05.2017
21:16:39
> инструкции должны выполняться последовательно; Лол, сказали Jit, OS и процессор

Oleg
31.05.2017
21:17:48
Зависит от уровня абстракции :)
Полагаю, в императивном стиле мы всё же полагаемся на последовательность инструкций

Иван
31.05.2017
21:17:58
А новое значение полученное из старого это не "данные, полученные при выполнении инструкции" или "данные, полученные при выполнении предыдущих инструкций"?
Из Вики Основные черты императивных языков: использование именованных переменных;использование оператора присваивания;использование составных выражений;

folex
31.05.2017
21:18:15
Это же черты, а не определяющие какие-то свойства

Alex
31.05.2017
21:18:53
фокус в том, чтобы не отображать эти переменные и операторы сразу на машинный код, а иметь промежуточное иммутабельное представление

folex
31.05.2017
21:19:01
Просто статья скошена в сторону более распостраненных и старых языков программирования

Daniel
31.05.2017
21:22:26
do x <- (readLn :: IO Int) putStrLn $ show (x+2) чем не императивно

Oleg
31.05.2017
21:24:19
Из Вики Основные черты императивных языков: использование именованных переменных;использование оператора присваивания;использование составных выражений;
Дам подсказку. Если в функции в в C вы напишете int x = 1; .... x *= 2; очень вероятно, что clang генерируя llvm код преобразует это во что-то вроде int x$0 = 1; ... int x$1 = x$0 * 2 семантика не поменялась, мутабельность ушла, что может очень помочь при распараллеливании операций в проце

folex
31.05.2017
21:24:38
for { user <- database.getUser(123L) newUser = user.copy(name = "New name") _ <- database.saveUser(newUser) } yield newUser.name тогда уж, а не хаскель :)

Google
Mikhail
31.05.2017
21:24:46
do x <- (readLn :: IO Int) putStrLn $ show (x+2) чем не императивно
потому что фп. очевидно же. мальчик так сказал. если фп, то не императивною. for нет, var нет - ничего нет, только строчки непонятные - значит не императивно.

folex
31.05.2017
21:25:12
адвокаааааат, уберите токсичных

folex
31.05.2017
21:25:46
ну да, но выглядит-то вполне императивно :)

Иван
31.05.2017
21:26:10
https://m.habrahabr.ru/post/223253/ тут говорят что на хаскеле можно императивно писать, не знал

folex
31.05.2017
21:26:16
. @optician_owl

больше нет

Alex
31.05.2017
21:26:29
императивность это всё иллюзия, битики в накопителе же никуда не деваются, просто перещелкиваются из 0 в 1 и назад

folex
31.05.2017
21:26:48
Всё так. Не стоит слишком загонять себя в рамки.

Mikhail
31.05.2017
21:27:04
ну да, но выглядит-то вполне императивно :)
ты думаешь, что если for поставил то сразу императивным стал? как-бы не так. сейчас он расскажет, что теперь мутабельности не хватает

Daniel
31.05.2017
21:28:11
просто мутабельность не понадобилась, бывает

Oleg
31.05.2017
21:28:28
for { user <- database.getUser(123L) newUser = user.copy(name = "New name") _ <- database.saveUser(newUser) } yield newUser.name тогда уж, а не хаскель :)
do user <- getUser database 123 let newUser = user{ name = "New name" } saveUser database newUser return $ name newUser

Иван
31.05.2017
21:28:36
императивность это всё иллюзия, битики в накопителе же никуда не деваются, просто перещелкиваются из 0 в 1 и назад
Так суть не в том как это выполнит процессор а в том как видит разработчик, исходники скалы все на var ах написаны. У меня слишком четкое представление того как я это понимаю и быстро я не переключусь, завтра буду разбираться

Alex
31.05.2017
21:28:59
так для разработчика же всё и делается

чтобы компилятор успел ему дать по рукам

Mikhail
31.05.2017
21:29:41
просто мутабельность не понадобилась, бывает
это у тебя бывает. а в императивном виде говорят нельзя так. в вики перечислено, значит должно присутствовать - иначе кыш с поля императора

Google
Иван
31.05.2017
21:29:43
folex
31.05.2017
21:30:02
:D

конструктивное несогласие это хорошо

Mikhail
31.05.2017
21:30:36
Я просто со всеми вами не согласен ?
только поэтому тебя здесь еще держат, тут много таких - зоопарк

Daniel
31.05.2017
21:30:45
что декларативное что императивное, всё зависит от уровня абстракции на которой работаем, одно может перетекать в другое да и вообще термины, которые не имеют четкого определения, вызывают сомнения и неоднозначности, вряд ли являются полезными

folex
31.05.2017
21:32:53
http://www.kpcb.com/internet-trends > 355 slides holy slide

Alex
31.05.2017
21:33:11
за год можно прочитать

и 10 дней на отпуск

folex
31.05.2017
21:33:28
там удобное содержание :)

Mikhail
31.05.2017
21:33:59
конструктивное несогласие это хорошо
когда оно конструктивное. но случай то явно не тот. тут с каким-то своим набором тотемов человек пришел и проповедует. а таким как известно логика ни к чему, главное чтобы в священных письменах написано было - все остальное ересь

folex
31.05.2017
21:34:13
он быстро перестал

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

Oleg
31.05.2017
21:34:37
только поэтому тебя здесь еще держат, тут много таких - зоопарк
а когда это Mikhail стал представителем чата?

Daniel
31.05.2017
21:35:04
а когда это Mikhail стал представителем чата?
когда его уровень токсичности превзашел твой)

folex
31.05.2017
21:35:18
И открыто признал что несогласен, без негатива. Это полезные умения.
Просто в московских перекрестках распродажа голландского сидра

Mikhail
31.05.2017
21:35:40
он быстро перестал
скорее затаился. он же написал: "я с вами не согласен, но пока хрен с вами... я еще священные письмена перечитаю и приду во всеоружии"

Google
Иван
31.05.2017
21:36:04
Я все равно тут последний день, рисков нарваться, Михаил, а где ты работаешь, просто интересно кто меня так критикует

folex
31.05.2017
21:36:26
главное тролля не кормить

Иван
31.05.2017
21:37:26
главное тролля не кормить
Ну если таких не банят то мне тут не интересно, но все таки интересен уровень этого человека

Daniel
31.05.2017
21:37:58
нормальный у него уровень просто не поужинал видать

Иван
31.05.2017
21:38:39
Понял, значит сам дурак, всем спасибо, пока

Oleg
31.05.2017
21:38:48
за остальное не банят

Mikhail
31.05.2017
21:40:13
Я все равно тут последний день, рисков нарваться, Михаил, а где ты работаешь, просто интересно кто меня так критикует
на что нарваться? ты зашел в хату с пинка дверь открыв, указывая кто на какой полке лежать должен и удивляешься как тебя встречают? ) ты просто будь проще и не ставь во главу угла пару статеек которые ты в интернете случайно прочитал, тогда все проще будет. и конечно относись ко всему проще - тогда все еще проще станет)

Diemust
31.05.2017
21:40:50
едрить у вас тут

Daniel
31.05.2017
21:41:14
> ты зашел в хату с пинка дверь открыв, указывая кто на какой полке лежать должен => > относись ко всему проще

где то тут эмоциональное противоречие

Oleg
31.05.2017
21:42:08
едрить у вас тут
мы выясняем, как мультимапы транспонировать проще

Diemust
31.05.2017
21:42:22
молча? =)

Daniel
31.05.2017
21:42:44
не, это было в самом начале, потом как то забылось

Oleg
31.05.2017
21:42:47
молча? =)
этот вариант не рассматривался

Nick
31.05.2017
21:53:04
когда его уровень токсичности превзашел твой)
Интересно когда он меня перерастет

Denis
31.05.2017
22:19:52
Что это тут было? :)

Daniel
31.05.2017
22:22:41


Nikolay
31.05.2017
22:24:37
успокоились или забанили?

Daniel
31.05.2017
22:24:51
ну и возможно теперь на одного гофера в мире больше ?

Nikolay
31.05.2017
22:33:48
http://dotty.epfl.ch/docs/reference/implicit-by-name-parameters.html implicit def optionCodec[T] (implicit ev: => Codec[T]): Codec[Option[T]] = new { def write(xo: Option[T]) = xo match { case Some(x) => ev.write(x) case None => } }

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