0xd34df00d
31.12.2010 03:22 Azoth_primary
Да блять, как вы здесь вообще без лямбд живете и без таких базовых элементов функциональщины, где function is a first-class citizen?
Да блять, как вы здесь вообще без лямбд живете и без таких базовых элементов функциональщины, где function is a first-class citizen?
нехрен тянуть в наш няшный оопшный с++ свою поганую функциональщину
А я уже иначе не могу ><
Кстати, C++0x медленно, но верно что-то такое потихоньку втягивает, да.
ты чего не спишь?
Лень^W да с экзаменом вчерашним ритм сбился. В итоге, я днем проспал, а щас тупо не хочу.
понятно. Знакомая фигня. А че за лямбда? Годная штука?
и что за "первоклассный функциональный гражданин"?
Лямбды == анонимные функции, в некотором смысле.
Можно писать что-то типа std::transform (vector.begin (), vector.end (), std::function ([] (auto x) { return x * 2; });
для умножения каждого элемента вектора на джва. Причем тут даже тип не важен, type inference-движок сам все выведет. Наверное. Чую, в плюсах движок этот будет тупым и уебищным, как и все в плюсах.
Ну и с синтаксисом я, может, наврал, ибо у меня это пока ограничилось втыканием в примеры на википедии и где-то еще, 0x я особо в руках не вертел.
Типа, функция при таком подходе ничем не отличается от переменных — ее можно передавать в другие функции, возвращать, сохранять, иметь массив функций, и так далее.
Причем не с костылями типа boost::function или указателей на фукнции, а нормально.
так чего ты тогда на плюсах кодишь? Кодь на #
Да шарп то же говно.
нет бога кроме функионального программирования я хаскель пророк его?
А то!
s/я/и/
и чего ты тогда до сих пор не переписал личкрафты на нем?
Там меньше готовых велосипедов.
тебе не привыкать свои писать
Ну не настолько.
и это говорит человек написавший велосипеды для всех интернет-программ
Ну таки писать свою реализацию торрентов я бы не взялся пока. Даже на няшке-хаскеле.
почему?
Потому что трудоебко.
А полгода назад ты яросно дрочил на сабж
Я и сейчас дрочу.
ООП в C++ такое же говёное, как и функциональщина. единственный настоящий плюс как раз в возможности комбинировать разные убогие механизмы для получения чего-то красивого
единственный плюс — теоретическая возможность написать быструю программу
быструю программу можно написать на C, на Forth, на OCaml. даже на Haskell со скоростью всё ок (за счёт памяти). это не аргумент
> чего-то красивого
Где ты там красоту нашел?
У меня с хаскелем все работает и без памяти, если руки не из жопы.
а когда у тебя руки из жопы, тогда не работает?
А у меня не бывает рук из жопы :3
где нашёл, там уже нет
а у меня программы на C++ компилируются мгновенно и никогда не падают. ну, если руки не из жопы
:(
ну я правда не догнал твоего аргумента. graph rewriting, персистентные структуры, коалгебраические структуры — всё это замечательно дружит с производительностью, но не очень хорошо — с памятью. все чисто функциональные алгоритмы сливают императивным по памяти, все персистентные структуры данных сливают по памяти эфемерным. и это не зависит от кривизны рук
Ну, гм, после небольшого допиливания моя хренота, весьма жравшая память. ну ты помнишь, стала жрать, гм, мегабайт 5. Есть впечатление, что аналогичная хренота на плюсах жрала бы не меньше.
А вот производительность там кое-где за счет не-эфемерности просаживалась.
сделай да сравни. персистентность сама по себе на производительность не оказывает никакого (во всяком случае — неконстантного) влияния, вопрос лишь в вызовах GC на подчистку того, что на самом деле не используется