Автор Тема: прикладная монадология...  (Прочитано 28380 раз)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
прикладная монадология...
« : Сентябрь 04, 2012, 01:20:44 pm »
Я давно подозревал, что отношение Ермакова к хаскеллу является глубоко необъективным по религиозной причине. Илья не скрывает свою приверженность православному христианству, а в хаскелле есть -- о ужас!!! -- монады!!!  :o

Цитировать
Люцифер в мифологии Розы мира — великий демон, богорожденная монада, поднявшая бунт против замысла Бога, ставший причиной отпадения множества меньших монад — демонов.

Ну то есть очевидно, что хаскель -- зло!  :'(

Но! В хаскелле же совсем другие монады!!!  :P так что не всё та страшно на самом деле )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #1 : Сентябрь 04, 2012, 01:28:34 pm »
Монада - маловато будет. Нужна хотя бы диада:
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #2 : Сентябрь 04, 2012, 01:56:18 pm »
Geniepro блещет остроумием.

На самом деле одна из основных причин неприятия в том, что все энтузиасты новых "супервысокоуровневых" подходов толком не разобрались с резервами и возможностями "традиционных" инструментов и методов.
Поэтому у меня нет доверия к их изыскам никакого - в том плане, что решаемые проблемы могут быть решены проще. А цена за их применение - большая. Инструменты толстые, накладные расходы большие.

Короче, всё это полезный научный поиск, но реальный надёжный шаг вперёд должны делать люди, полностью исчерпавшие огромные резервы обычных императивных инструментов. А тут до исчерпания ого-го.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #3 : Сентябрь 04, 2012, 01:59:17 pm »
На самом деле одна из основных причин неприятия в том, что все энтузиасты новых "супервысокоуровневых" подходов толком не разобрались с резервами и возможностями "традиционных" инструментов и методов.
Да разобрались с ними уже давно -- Дейкстра и прочие. Вот и пожинаем плоды их разбирательств...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #4 : Сентябрь 04, 2012, 02:15:29 pm »
Евгений, Вы спрашивали, почему я лично так отношусь к Хаскеллу и ФП.
Я Вам ответил. Пока я, работая с Оберонами, раз за разом открываю какие-то новые свойства/архитектурные приёмы, ранее никому в массах неизвестные, я не буду доверять тем искателям, которые прохлопали эти свойства у себя под ногами, а теперь ведут "добычу где-то на Луне".

Если я нахожу жемчужинки в возможностях применения инструмента малого размера, почему я должен доверять изыскам тех, кто что-то городит на порядок более громоздкое. Когда я исчерпаю возможности текущих интересующих меня подходов, займусь другими. Аккуратно и экономно займусь.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #5 : Сентябрь 04, 2012, 02:19:05 pm »
Евгений, Вы спрашивали, почему я лично так отношусь к Хаскеллу и ФП.
Я Вам ответил. Пока я, работая с Оберонами, раз за разом открываю какие-то новые свойства/архитектурные приёмы, ранее никому в массах неизвестные
А можно пример подобного?
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #6 : Сентябрь 04, 2012, 08:32:12 pm »
Я ими периодически делился. Например, про возможность сочетать герметичность и валидность ссылок с работой без GC. Это невозможно и в Java, ни в C#. Принципиально невозможно. И много более мелких моментов.
Моё основное направление мысли пока что - это как многие актуальные проблемы, которые народ решает новыми языками, можно решить библиотечно, используя сочетание свойств Оберона.

Когда Google в 2009-м году публиковал свой Go и тестовый примерчик с Веб-сервером, у меня был только что написан свой HTTP-сервер, который месяц пахал "в боевом режиме". Дело не в том, что я мерялся чем-то там с Гуглом, но я чётко увидел, что они решают тот же спектр проблем и подобной "алгеброй типов и операций". Только новый язык - это позволительно гуглу и академикам, для всех остальных это слишком накладный и неэффективный способ пробовать новые идеи.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #7 : Сентябрь 04, 2012, 08:54:59 pm »
Я ими периодически делился. Например, про возможность сочетать герметичность и валидность ссылок с работой без GC. Это невозможно и в Java, ни в C#.
Зато это возможно как минимум в Аде (от 83 года) и в С++ (через свои типы). Как минимум. Также, если мне склероз не изменяет, в одном из фортранов. То есть ничего нового.

(кстати, а вы знаете, что в .net'e не гарантируется что value-тип будет на стеке? :-) также как в java никто не гарантирует что объект будет в куче. и, если на то пошло, то и в Обероне нет ни слова про стек и кучу )

Когда Google в 2009-м году публиковал свой Go и тестовый примерчик с Веб-сервером, у меня был только что написан свой HTTP-сервер, который месяц пахал "в боевом режиме". Дело не в том, что я мерялся чем-то там с Гуглом, но я чётко увидел, что они решают тот же спектр проблем и подобной "алгеброй типов и операций". Только новый язык - это позволительно гуглу и академикам, для всех остальных это слишком накладный и неэффективный способ пробовать новые идеи.
Go'шный примерчик с Веб-сервером тоже никакой новизны в себе не нес. Подобному подходу минимум 20 лет :-)

Нет, я отлично понимаю что ты для себя открываешь все новые и новые подходы и приемы. Это здорово, я тоже периодически открываю для себя нечто эдакое. Но это не значит что это прям таки новаторские приемы не известные широко. Они известны и применяются, просто чтобы их понять и увидеть нужно до них дорости. Как дорос - начинаешь их видеть много где.

Также не вижу смысла ограничивать себя пристальным разглядыванием одного ЯП, много лучше (как мо мне) смотреть сразу на несколько. Иметь одновременно несколько точек зрения. Когда поработал на хаскеле, пощупал ерланг, увидел smalltalk, то совершенно по новому, более ясно видишь суть разных подходов в разных языках, видишь их общность. Общая картина становится ясна. И новые для себя подходы на любом языке (даже на хорошо знакомом) открываются много проще.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #8 : Сентябрь 04, 2012, 09:01:19 pm »
Я ими периодически делился.
Да, я потому и попросил дать примеры, потому что каждый раз когда ты чем-то делился, я видел что подобное давно в мейнстриме применяется.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Губанов Сергей Юрьевич

  • Hero Member
  • *****
  • Сообщений: 590
    • Просмотр профиля
    • Домашняя страница
Re: прикладная монадология...
« Ответ #9 : Сентябрь 05, 2012, 10:01:38 am »
Я ими периодически делился. Например, про возможность сочетать герметичность и валидность ссылок с работой без GC. Это невозможно и в Java, ни в C#.
Зато это возможно как минимум в Аде (от 83 года) и в С++ (через свои типы). Как минимум. Также, если мне склероз не изменяет, в одном из фортранов. То есть ничего нового.
Вы так хорошо друг друга поняли, а я нет. Что такое "сочетать герметичность и валидность ссылок с работой без GC. Это невозможно и в Java, ни в C#" ? ? ?

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #10 : Сентябрь 05, 2012, 11:58:19 am »
Нет, я отлично понимаю что ты для себя открываешь все новые и новые подходы и приемы. Это здорово, я тоже периодически открываю для себя нечто эдакое. Но это не значит что это прям таки новаторские приемы не известные широко. Они известны и применяются, просто чтобы их понять и увидеть нужно до них дорости. Как дорос - начинаешь их видеть много где.
Алексей, я здесь не рекламу делаю, меня спросили в начале ветке почему мне что-то там не интересено.
Я ответил - потому что имею возможности не заморачиваться, делать сам инструменты, не зависеть от кого-нибудь, кто вложил годы в свои инструменты и теперь всех на них подсаживает. Делаю свои и решая разные задачи, которые передо мной ставит жизнь. Особенно если учесть свои возможности подготовки кадров.

Цитировать
Также не вижу смысла ограничивать себя пристальным разглядыванием одного ЯП, много лучше (как мо мне) смотреть сразу на несколько. Иметь одновременно несколько точек зрения. Когда поработал на хаскеле, пощупал ерланг, увидел smalltalk, то совершенно по новому, более ясно видишь суть разных подходов в разных языках, видишь их общность. Общая картина становится ясна. И новые для себя подходы на любом языке (даже на хорошо знакомом) открываются много проще.
Период знакомства с самыми разными языками у меня прошёл очень давно. Все основные и неосновные книги по языкам, парадигмам (типа Пратта, Кауфмана, Бен-Ари и много других) были перечитаны. Уважаю компактные языки типа Форта, Смоллтока, Лиспа, Эрланга и проч., но вижу, что по универсальности и подходящести под любую задачу и "под любой свежий мозг свежего кадра" они уже Оберона. Уважаю Аду за основательность и гарантии, но позволить себе зависимость от такого жирного инструментария не могу. Принимаю подход Страуструпа в плане свойств "универсального языка системного программирования", вообще библиотечно на КП воплощаю некоторые свойства, достижимые именно на С++ (на котором я тоже пописал 2 года).

В общем, я сейчас однозначно за подход библиотечных экспеиментов, как самый экономичный, близкий к практике. На базе Оберона, потому что... сто раз говорено, почему. Язык выше уровнем, прячущий императивную машину, задаром не нужен, ибо я её и сам спрячу библиотечно. Языки того же уровня ничего принципиального содержать не могут, а цена зависимости от жирного инструмента высока.

Какие могут быть дальнейшие шаги, если не зацикливаться на текущей области? Думаю, в частности, подход семантических сред, генерации из табличных-графических спецификаций, и т.п. Над удачными библиотеками обычного императивного ЯП.

Ну а ФП... курит. :)

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #11 : Сентябрь 05, 2012, 12:00:44 pm »
Go'шный примерчик с Веб-сервером тоже никакой новизны в себе не нес. Подобному подходу минимум 20 лет :-)

Примерчик не нёс. Я его даже и не смотрел.
Идея безопасного программирования системных и сетевых приложений - нова.
Говоря оберонистым языком - запрограммировать реализацию любого сетевого протокола/сервиса быстро, с хорошей абстракцией/декомпозицией, с эффективным использованием памяти (без GC) - и в то же время без SYSTEM.
У меня это уже работало как раз тогда, когда Гугл это опубликовал...

Berserker

  • Sr. Member
  • ****
  • Сообщений: 254
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #12 : Сентябрь 05, 2012, 05:13:09 pm »
Цитировать
с эффективным использованием памяти (без GC)
Если будет когда-нибудь время, напишите пожалуйста, какими принципами при этом пользуетесь. Особенно в плане безопасности (Оберон без GC - ручное удаление или резерв однажды выделенной памяти?).

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #13 : Сентябрь 05, 2012, 05:34:06 pm »
Цитировать
с эффективным использованием памяти (без GC)
Если будет когда-нибудь время, напишите пожалуйста, какими принципами при этом пользуетесь. Особенно в плане безопасности (Оберон без GC - ручное удаление или резерв однажды выделенной памяти?).
Банальная автоматическая память. То есть все на стеке.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: прикладная монадология...
« Ответ #14 : Сентябрь 05, 2012, 05:36:57 pm »
или регионы памяти...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…