Информация об изменениях

Сообщение Re[4]: Философско-практические вопросы про метапрограммирова от 23.03.2023 0:25

Изменено 23.03.2023 0:27 ботаныч

Re[4]: Философско-практические вопросы про метапрограммирование
Здравствуйте, Voivoid, Вы писали:


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


V>Здравствуйте, ботаныч, Вы писали:


Б>> вы имеете в виду что нельзя сделать i=i+1

V>Да, но в первую очередь конечно иммутабельные структуры данных и алгоритмы. Те же typelist'ы, краеугольный камень шаблонного метапрограммирования, это стандартная структура данных в haskel'е. Без базового знакомства с функциональным программированием я практически уверен, что будет совершенно непонятно почему все именно так и что вообще со всем этим можно делать.

V>Думаю никто не будет спорить, что код на haskell

V>
V>data List a = Nil | Cons a (List a)
V>map _ Nil = Nil
V>map f Cons(head, tail) = Cons(f(head), map(f, tail))
V>

V>понятнее и легче воспринимается чем аналогичный код на C++

это выглядит как мотив. мотив для вас ) вам не нравится С++ в этом, в котором собственно метапрограммирование было не спроектировано, а открыто "как остров" (хотя сфинай). я относительно недавно доказал себе, что эппроач реализуем, я реализовывал в с++ ограниченный синтаксис регекпов (с компиляцией компайл тайм строк), с довольно шустрой рантайм мoделью. ну я понимаю, до этого я подобным занимался в других масштабах, но я просто доказал себе, что это реализуемо, инородный синтаксис в С++, но вы можете реализовать тоже самое, в С++ довольно недолго, если вопрос касается тайп листов — мгновенно. вопрос куда это все лепить? о тайп листах кстати
они сейчас такие
template <typename ... > struct type_list;


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

V>Тем более что по haskell куда больше книг и туториалов( по сравнению с материалами по шаблонному метапрограммированию ).

да, потому, что ) всегда так бывает ))

V> А стоит ли говорить про сообщения об ошибках? По c++ ошибкам в таких делах будет практически невозможно понять что вообще нет так, что особенно фатально, когда только начинаешь со всем этим знакомиться.

невозможно вопрос — спорный (и где? gcc msvc?)

Б>> вы много назовете проектов, где будет такая возможность? если мы говорим о профессии. эо должно очень повезти, чтобы тебе на проекте позволили найти выделенный scope, чтобы внедрять что-то написанное на haskell, rust etc..

V>Так а зачем это в рамках рабочих проектов делать? Мне видится, что достаточно просто часов 20-30 потратить на базовое знакомство с haskell'ем, необходимости что-то в production'е на нем делать нет никакой.
))) 20 30 ). кошмар. ну у меня на знакомство с перл (исключительно в рамках базовой задачи) ушло 2- часа. я почему-то так и прочитал ваше 20-30. откуда у меня 20-30. для чего?

Б>> я предлагаю таки учить это на практике, именно на практических задачах, чтобы ты видел как оно взлетает

V>Это ж не rocket science, там ж не прям что-то такое, чего нельзя было бы осилить за 1-2 недели неспешных экспериментов с учебными примерами.

в одном из своих проектов я как-то ляпнул с дуру, что в принципе я бы понял
Re[4]: Философско-практические вопросы про метапрограммирова
Здравствуйте, Voivoid, Вы писали:


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


V>Здравствуйте, ботаныч, Вы писали:


Б>> вы имеете в виду что нельзя сделать i=i+1

V>Да, но в первую очередь конечно иммутабельные структуры данных и алгоритмы. Те же typelist'ы, краеугольный камень шаблонного метапрограммирования, это стандартная структура данных в haskel'е. Без базового знакомства с функциональным программированием я практически уверен, что будет совершенно непонятно почему все именно так и что вообще со всем этим можно делать.

V>Думаю никто не будет спорить, что код на haskell

V>
V>data List a = Nil | Cons a (List a)
V>map _ Nil = Nil
V>map f Cons(head, tail) = Cons(f(head), map(f, tail))
V>

V>понятнее и легче воспринимается чем аналогичный код на C++

это выглядит как мотив. мотив для вас ) вам не нравится С++ в этом, в котором собственно метапрограммирование было не спроектировано, а открыто "как остров" (хотя сфинай). я относительно недавно доказал себе, что эппроач реализуем, я реализовывал в с++ ограниченный синтаксис регекпов (с компиляцией компайл тайм строк), с довольно шустрой рантайм мoделью. ну я понимаю, до этого я подобным занимался в других масштабах, но я просто доказал себе, что это реализуемо, инородный синтаксис в С++, но вы можете реализовать тоже самое, в С++ довольно недолго, если вопрос касается тайп листов — мгновенно. вопрос куда это все лепить? о тайп листах кстати
они сейчас такие
template <typename ... > struct type_list;


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

V>Тем более что по haskell куда больше книг и туториалов( по сравнению с материалами по шаблонному метапрограммированию ).

да, потому, что ) всегда так бывает ))

V> А стоит ли говорить про сообщения об ошибках? По c++ ошибкам в таких делах будет практически невозможно понять что вообще нет так, что особенно фатально, когда только начинаешь со всем этим знакомиться.

невозможно вопрос — спорный (и где? gcc msvc?)

Б>> вы много назовете проектов, где будет такая возможность? если мы говорим о профессии. эо должно очень повезти, чтобы тебе на проекте позволили найти выделенный scope, чтобы внедрять что-то написанное на haskell, rust etc..

V>Так а зачем это в рамках рабочих проектов делать? Мне видится, что достаточно просто часов 20-30 потратить на базовое знакомство с haskell'ем, необходимости что-то в production'е на нем делать нет никакой.
))) 20 30 ). кошмар. ну у меня на знакомство с перл (исключительно в рамках базовой задачи) ушло 2- часа. я почему-то так и прочитал ваше 20-30. откуда у меня 20-30. для чего?

Б>> я предлагаю таки учить это на практике, именно на практических задачах, чтобы ты видел как оно взлетает

V>Это ж не rocket science, там ж не прям что-то такое, чего нельзя было бы осилить за 1-2 недели неспешных экспериментов с учебными примерами.

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