
Alexander
08.02.2018
16:09:39
почему ООП это не функциональный?
хаскель вот ООП

Taras ?
08.02.2018
16:09:54
потому что для функционального надо больше мозгов))

Alister
08.02.2018
16:09:55
и джаваскрипт тоже

Google

Alexander
08.02.2018
16:10:19

Alister
08.02.2018
16:10:34
мультиметодами играться

Alexander
08.02.2018
16:11:12
вообще, сейчас любой современный язык одновременно ООП и функциональный
кроме го, но го для упоротых

Taras ?
08.02.2018
16:11:29

Alexander
08.02.2018
16:11:44
да какие вопросы, do-нотация в руки и вперед
тормозить правда будет безбожно
кстати, до сих пор не понимаю как эрланг стал считатсья функицональщиной
он же капец императивный
и сайд-эффекты на каждом шагу

Alister
08.02.2018
16:14:18
иммутабельность

Alexander
08.02.2018
16:14:49
иммутабельность это просто красивое слово
мутабельности добиться там проще чем в хаскеле

Google

Alexander
08.02.2018
16:16:42
комикс xkcd про 40 секунд

Leonid
08.02.2018
16:16:51

Taras ?
08.02.2018
16:16:57

Alexander
08.02.2018
16:17:13
просто надо понимать, что у тебя объекты это потоки, а не обычные переменные

Taras ?
08.02.2018
16:17:44
и там нет такой хрени с глобальными переменными как в js

Vitaly
08.02.2018
16:18:06

Alexander
08.02.2018
16:18:14
https://xkcd.com/451/

Alexander
08.02.2018
16:18:32
for(i=0;i<z;i++){...}
я знаю как пишется for, при чем тут это? Во всех языках высокого уровня for можно хоть самому сделать

Taras ?
08.02.2018
16:18:47
можно что-угодно сделать

kana
08.02.2018
16:18:50
я где-то точно видел цитату от Армстронга, что эрланг - не функциональный

Alexander
08.02.2018
16:18:57
если бы в эрланге были макросы, можно было бы и в эрланге сделать
а так придется выписывать руками и в рекурсивном стиле
я думаю, вся проблема в рекурсивном стиле

Taras ?
08.02.2018
16:19:38
да есть там макросы

Alexander
08.02.2018
16:19:46
люди видят рекурсию и не понимают, что она эквивалентна циклу

Taras ?
08.02.2018
16:20:10

Alexander
08.02.2018
16:20:23
мне кажется что логарифмы мы уже пробовали

Google

Alexander
08.02.2018
16:21:04
чего-то я злой сегодня :/
наверное целый день в аэропортах плохо действует
в общем далеко не все языки современные ооп

Alexander
08.02.2018
16:21:45
давай на примере, чтобы проще было

Alexander
08.02.2018
16:21:45
если не натягивать сову на глобус и не менять определения на ходу
только без сов на глобусе и логарифмов плз

Leonid
08.02.2018
16:22:18
Раст и го не ооп

Pig
08.02.2018
16:22:36

Alexander
08.02.2018
16:22:36
мне кажется, что если мы не согласны друг с другом, то у нас разные определения чего то там
и сложно будет не менять их на ходу
как то так

A64m
08.02.2018
16:22:57
а го точно не ооп?

Alexander
08.02.2018
16:23:18
и в эрланге не ооп
ну если не клеевское

A64m
08.02.2018
16:24:07
есть же такой экзотический ООП типа смолтолка 80 который вполне родственный эрлангу

Leonid
08.02.2018
16:24:07

Alexander
08.02.2018
16:24:11
ну эрланг вроде древний

A64m
08.02.2018
16:24:25
но под ооп, конечно, обычно не такое подразумевается

Alexander
08.02.2018
16:24:30
вообще, я не готов сейчас спорить на тему ялвяются ли трейты ооп

Alexander
08.02.2018
16:24:31
и если мы не называем ООП возможность через fixed point иерархии прописывать

Google

Alexander
08.02.2018
16:24:56
а так кроме го и раста я новых языков без ооп фич ну в упор не вижу

A64m
08.02.2018
16:25:57

Alexander
08.02.2018
16:26:10
окей, убедил

Leonid
08.02.2018
16:26:34

Alexander
08.02.2018
16:26:53
at?
ats ?

A64m
08.02.2018
16:27:28
а какие немаргинальные? го, тайпскрипт и котлин?

Alexander
08.02.2018
16:27:37
в ats разве не system F?

A64m
08.02.2018
16:29:01
а, свифт еще

Alexander
08.02.2018
16:29:05
system f не следует обьектность

Pig
08.02.2018
16:29:21
Новые языки по дефолту маргинальные, ваш КО

Alexander
08.02.2018
16:29:23
обьектооинтированность

Vitaly
08.02.2018
16:30:02

Alexander
08.02.2018
16:30:27
по идее, из systemf следует полиморфизм и наследование
обычно все кроме этого в языке уже есть

Тёма
08.02.2018
16:31:25

Leonid
08.02.2018
16:31:27

Alexander
08.02.2018
16:32:09
в твиттере
современном во всяком случае

Google

Alexander
08.02.2018
16:32:59
давай разберемся что такое наследование в смысле ООП

Alexander
08.02.2018
16:33:10
это subtyping
Г, а:А , А<B
------------------
a:B
естественно там выше полторы ошибки
но примерно это
с классами типов все поведение не кодируется адекватно

Alexander
08.02.2018
16:35:23
окей, я не могу формально ничего доказать :(

Alexander
08.02.2018
16:35:43
я идею понял, и даже в каком-то смысле соглашусь

Тёма
08.02.2018
16:36:27
Если нудствовать, то в system F нет сабтайпинга. Нужно брать F-sub

Taras ?
08.02.2018
16:44:47
с вырвыглазными скобочками))

Leonid
08.02.2018
16:46:00
<>(){} - которые вырывают?

Alexander
08.02.2018
16:47:52
в защиту си хочу сказать, что на нем вполне можно писать декларативно и в функциональном стиле

Leonid
08.02.2018
16:48:33
в функциональном стиле на ЯП без ГЦ писать в принципе нельзя

Alexander
08.02.2018
16:49:25
если не использовать кучу ГЦ и не нужен
точнее стэк сам себе идеальный гц
плюс поддержка TCO, указатели на фукнции, система типов правда слабая, но это к функциональщине не особо относится

Alexander
08.02.2018
16:54:57
стек идеальный GC конечно но захват контекста чуть более чем самая частая операция в функциональной программе
или возврат функции результатом
которая захватывает контекст
что не очень дружит с C-like стеком
писать build-map-fold конечно можно и на си