Re[11]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 11:05
Оценка:
PJ>Ну да, реальный мир пишет на разных языках, как и почему это должно останавливать от перехода на тот же хаскель? Некоторые, типа фейсбука и гугла, так в каких-то своих проектах и сделали.

PJ>У тебя какая-то статистка в подтверждение есть или просто ветер так палец обдул?


Только мой опыт и описания практически любого «мегакрутого» проекта с презентаций и конференций.

M>>ВНЕЗАПНО там:


PJ>Сова и глобус. Есть куча компаний которые просто используют. Пример. https://www.netscout.com/arbor-ddos я знаю ребят оттуда, начали сами, потому что затрахались со скалой. Теперь-то есть ядро экспертов, да.


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


M>>А так да – Хаскель используется, и вы тоже используйте, все будет хорошо :D

PJ>Меня просто убивают подобные споры от профессионалов. Ну, блин, откатитесь на 30-40 лет назад, и, внезапно, все те же разговоры о пользе OOP. В 90м мне один чувак доказывал, что все это баловство и любое решение можно прекрасно написать на фортране. Он, разумеется, прав, любую программу можно написать даже на brainfuck.

Твое возражение даже возражением нельзя назвать. Какой-то набор бессвязных «ты не прав потому что».


dmitriid.comGitHubLinkedIn
Re[12]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 30.08.19 11:25
Оценка:
Здравствуйте, Mamut, Вы писали:


PJ>>У тебя какая-то статистка в подтверждение есть или просто ветер так палец обдул?


M>Только мой опыт и описания практически любого «мегакрутого» проекта с презентаций и конференций.


Ну, я примерно так и подумал.

M>Затрахались с одним языком, описываемым, какой он крутой, и решили перейти на другой


Упражнение в остроумии?

M>Твое возражение даже возражением нельзя назвать. Какой-то набор бессвязных «ты не прав потому что».


Возражение? А на что у тебя возражать? На фантазии и предрассудки?
Мне просто показалось забавным цикличность с которой люди оправдывают свое нежелание отбросить устаревший опыт.
Re[13]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 11:36
Оценка: +1
PJ>Возражение? А на что у тебя возражать? На фантазии и предрассудки?

Это опыт, сын ошибок трудных

PJ>Мне просто показалось забавным цикличность с которой люди оправдывают свое нежелание отбросить устаревший опыт.


Мой «устаревший опыт» включает в себя два десятка языков программирования, включая ФП. На сказочников про крутость и невероятность <любой ЯП> я давно смотрю с усмешкой.


dmitriid.comGitHubLinkedIn
Re[14]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 30.08.19 11:44
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Это опыт, сын ошибок трудных


Твой опыт по ощупыванию жопы слона и глубокие выводы о его привычках.

PJ>>Мне просто показалось забавным цикличность с которой люди оправдывают свое нежелание отбросить устаревший опыт.


M>Мой «устаревший опыт» включает в себя два десятка языков программирования, включая ФП. На сказочников про крутость и невероятность <любой ЯП> я давно смотрю с усмешкой.


А мартышка попробовала с полдюжины очков. Числа сами по себе не всегда впечатляют.
Если на всех на них писать как на фортране, то ничего лучше фортрана и не найти никогда. Функциональность это про композицию и типы, в основном. А тебе не хватает только паттерн матчинга. Вот такой твой опыт. Ну усмехайся, чё.
Re[8]: Монады - пример где бы были полезны...
От: IT Россия linq2db.com
Дата: 30.08.19 13:37
Оценка: 7 (3)
Здравствуйте, Mamut, Вы писали:

M>Функциональные подходы, а не языки, могут упростить разработку. Любой язык — это инструмент со своими границами применимости. После Эрланга мне сильно не хватает паттерн-матчинга и tail-call optimisation.


Где? В C#? Как тебе такое?

https://github.com/igor-tkachev/Linq.Expressions.Deconstruct
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 19:30
Оценка:
M>>Функциональные подходы, а не языки, могут упростить разработку. Любой язык — это инструмент со своими границами применимости. После Эрланга мне сильно не хватает паттерн-матчинга и tail-call optimisation.

IT>Где? В C#? Как тебе такое?


IT>https://github.com/igor-tkachev/Linq.Expressions.Deconstruct


Интересно, но многословно и не встроено в язык. Это скорее всего нельзя использовать в определении функции, например. На уровне языка он мееееееедленно проникает в C#, но все еще в сильно ограниченном виде: https://docs.microsoft.com/en-us/dotnet/csharp/pattern-matching


dmitriid.comGitHubLinkedIn
Re[15]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 19:31
Оценка:
PJ>Твой опыт по ощупыванию жопы слона и глубокие выводы о его привычках.
PJ>А мартышка попробовала с полдюжины очков. Числа сами по себе не всегда впечатляют.
PJ>Если на всех на них писать как на фортране, то ничего лучше фортрана и не найти никогда. Функциональность это про композицию и типы, в основном. А тебе не хватает только паттерн матчинга. Вот такой твой опыт. Ну усмехайся, чё.

Во-во. Именно такие люди с горящими глазами в огромном количестве присутствуют на конференциях по ФП.


dmitriid.comGitHubLinkedIn
Re[16]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 30.08.19 19:43
Оценка:
Здравствуйте, Mamut, Вы писали:

PJ>>Твой опыт по ощупыванию жопы слона и глубокие выводы о его привычках.

PJ>>А мартышка попробовала с полдюжины очков. Числа сами по себе не всегда впечатляют.
PJ>>Если на всех на них писать как на фортране, то ничего лучше фортрана и не найти никогда. Функциональность это про композицию и типы, в основном. А тебе не хватает только паттерн матчинга. Вот такой твой опыт. Ну усмехайся, чё.

M>Во-во. Именно такие люди с горящими глазами в огромном количестве присутствуют на конференциях по ФП.

И только ты туда ходишь рассказать им какие они дебилы?!
Re[17]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 19:57
Оценка:
PJ>>>Твой опыт по ощупыванию жопы слона и глубокие выводы о его привычках.
PJ>>>А мартышка попробовала с полдюжины очков. Числа сами по себе не всегда впечатляют.
PJ>И только ты туда ходишь рассказать им какие они дебилы?!

Если люди общаются только в таком стиле, что еще остается рассказывать?


dmitriid.comGitHubLinkedIn
Re[10]: Монады - пример где бы были полезны...
От: IT Россия linq2db.com
Дата: 30.08.19 20:07
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Интересно, но многословно и не встроено в язык.


Почему не встроено? Это C# 8 preview. Вон даже appveyor ещё фэйлится по причине отсутствия у них там последней версии.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Монады - пример где бы были полезны...
От: IT Россия linq2db.com
Дата: 30.08.19 20:11
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Интересно, но многословно...


Оставлю здесь

[Test]
public void ConstantFoldingTest()
{
    Expression<Func<int,int>> f = i => i * 0 + 0 + i + 10 * (i * 0 + 2);

    var f1 = f.TransformEx(ex => ex switch
    {
        Multiply(Constant(0) e,   _)               => e,               // 0 * e => 0
        Multiply(_,               Constant(0) e)   => e,               // e * 0 => 0
        Multiply(Constant(1),     var e)           => e,               // 1 * e => e
        Multiply(var e,           Constant(1))     => e,               // e * 1 => e
        Divide  (Constant(0) e,   _)               => e,               // 0 / e => 0
        Divide  (var e,           Constant(1))     => e,               // e / 1 => e
        Add     (Constant(0),     var e)           => e,               // 0 + e => e
        Add     (var e,           Constant(0))     => e,               // e + 0 => e
        Subtract(Constant(0),     var e)           => Negate(e),       // 0 - e => -e
        Subtract(var e,           Constant(0))     => e,               // e - 0 => e
        Multiply(Constant(int x), Constant(int y)) => Constant(x * y), // x * y => e
        Divide  (Constant(int x), Constant(int y)) => Constant(x / y), // x / y => e
        Add     (Constant(int x), Constant(int y)) => Constant(x + y), // x + y => e
        Subtract(Constant(int x), Constant(int y)) => Constant(x - y), // x - y => e
        _                                          => ex
    });

    Assert.IsTrue(f1.EqualsTo(i => i + 20));
}


Что здесь лишнее, что можно было бы убрать?
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 20:14
Оценка:
M>>Интересно, но многословно и не встроено в язык.
IT>Почему не встроено? Это C# 8 preview. Вон даже appveyor ещё фэйлится по причине отсутствия у них там последней версии.

А. Мне показалось, что это им енно твоя библиотека реализует паттерн матчинг в виде надстройки. Про то, что в C# появляется я написал

На уровне языка он мееееееедленно проникает в C#, но все еще в сильно ограниченном виде


Но проникают!


dmitriid.comGitHubLinkedIn
Re[11]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 30.08.19 20:16
Оценка:
IT>Что здесь лишнее, что можно было бы убрать?\

Я подумал, что это твоя библиотека для реализации паттерн матчинга, и что паттерн матчинг реализуется обертками/вызовами функций. Поэтому показалось многословно.

А в реальности ты используешь встроенные в язык паттерн матчинг для по AST функции.

Пятница, поздно, во мне Поэтому не сразу дошло.


dmitriid.comGitHubLinkedIn
Re[18]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 30.08.19 20:56
Оценка: -1
Здравствуйте, Mamut, Вы писали:

PJ>>>>Твой опыт по ощупыванию жопы слона и глубокие выводы о его привычках.

PJ>>>>А мартышка попробовала с полдюжины очков. Числа сами по себе не всегда впечатляют.
PJ>>И только ты туда ходишь рассказать им какие они дебилы?!

M>Если люди общаются только в таком стиле, что еще остается рассказывать?


Ну да, я за вами три дня скакала, чтобы сказать как вы мне безразличны.
В каком таком? Это ты, весь в белом, на гора выдаешь тайное знание, о том, что все тлен и пустое, реальных проектов нет, всем можно расходиться.
Re[19]: Монады - пример где бы были полезны...
От: Mamut Швеция http://dmitriid.com
Дата: 31.08.19 09:53
Оценка:
PJ>Ну да, я за вами три дня скакала, чтобы сказать как вы мне безразличны.

Пишет мне человек, который уже вторые сутки из кожи лезет вон, чтобы попытаться меня оскорбить.


dmitriid.comGitHubLinkedIn
Re[20]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 31.08.19 15:55
Оценка: -1
Здравствуйте, Mamut, Вы писали:

PJ>>Ну да, я за вами три дня скакала, чтобы сказать как вы мне безразличны.


M>Пишет мне человек, который уже вторые сутки из кожи лезет вон, чтобы попытаться меня оскорбить.


Вот это сейчас было смешно. Желающий оскорбиться ищет повод. Неужели сомнение в абсолютности твоего печального опыта с ФП повергло тебя в такой шок?
Re[21]: Монады - пример где бы были полезны...
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.09.19 08:17
Оценка: +2
Здравствуйте, Poopy Joe, Вы писали:

M>>Пишет мне человек, который уже вторые сутки из кожи лезет вон, чтобы попытаться меня оскорбить.


PJ>Вот это сейчас было смешно. Желающий оскорбиться ищет повод. Неужели сомнение в абсолютности твоего печального опыта с ФП повергло тебя в такой шок?


Лет десять назад Мамут топил за ФП очень аргументировано. Для сравнения, в этом треде из тебя в основном эмоции лезут, конструктива около нуля.
Re[22]: Монады - пример где бы были полезны...
От: Poopy Joe Бельгия  
Дата: 02.09.19 09:40
Оценка: -1
Здравствуйте, Ikemefula, Вы писали:

I>Лет десять назад Мамут топил за ФП очень аргументировано. Для сравнения, в этом треде из тебя в основном эмоции лезут, конструктива около нуля.


"Топить" за что-то можно в разговоре с коллегами, когда их работа влияет на тебя. Можно объяснять желающим слушать. Топить в священных войнах, где никто не собирается менять точку зрения, немного слабоумно, на мой вкус и точно бесполезно. Весь конструктив уже 100500 раз изложен в различных статьях, смысла повторять которых нет.

А любопытства ради, можно ссылку на тот топик?
Re[11]: Монады - пример где бы были полезны...
От: Ночной Смотрящий Россия  
Дата: 10.09.19 09:22
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>Меня просто убивают подобные споры от профессионалов. Ну, блин, откатитесь на 30-40 лет назад, и, внезапно, все те же разговоры о пользе OOP.


Ну так и результат такой же. ООП тащат уже больше по инерции, реальной его применимости, особенно тяжеловесных фич вроде полиморфизма и наследования не так уж и много.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Монады - пример где бы были полезны...
От: Mr.Delphist  
Дата: 11.09.19 11:19
Оценка:
Здравствуйте, omgOnoz, Вы писали:

O>Сначала я думал, что монады — это ругательство.


O>Потом я научился Scala-е, а уже после узнал, что я использую монады и это не ругательство


Как говаривал классик, "а я и не знал, что всю жизнь ругаюсь монадами"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.