0xd34df00d 31.12.2010 03:22 Azoth_primary

Да блять, как вы здесь вообще без лямбд живете и без таких базовых элементов функциональщины, где function is a first-class citizen?

1. magog 31.12.2010 03:27 Maemo

нехрен тянуть в наш няшный оопшный с++ свою поганую функциональщину

2. 0xd34df00dmagog /1 31.12.2010 03:28 Azoth_primary

А я уже иначе не могу ><

3. 0xd34df00dmagog /1 31.12.2010 03:28 Azoth_primary

Кстати, C++0x медленно, но верно что-то такое потихоньку втягивает, да.

4. magog0xd34df00d /2 31.12.2010 03:29 Maemo

ты чего не спишь?

5. 0xd34df00dmagog /4 31.12.2010 03:29 Azoth_primary

Лень^W да с экзаменом вчерашним ритм сбился. В итоге, я днем проспал, а щас тупо не хочу.

6. magog0xd34df00d /5 31.12.2010 03:30 Maemo

понятно. Знакомая фигня. А че за лямбда? Годная штука?

7. magogmagog /6 31.12.2010 03:31 Maemo

и что за "первоклассный функциональный гражданин"?

8. 0xd34df00dmagog /6 31.12.2010 03:32 Azoth_primary

Лямбды == анонимные функции, в некотором смысле.
Можно писать что-то типа std::transform (vector.begin (), vector.end (), std::function ([] (auto x) { return x * 2; });
для умножения каждого элемента вектора на джва. Причем тут даже тип не важен, type inference-движок сам все выведет. Наверное. Чую, в плюсах движок этот будет тупым и уебищным, как и все в плюсах.
Ну и с синтаксисом я, может, наврал, ибо у меня это пока ограничилось втыканием в примеры на википедии и где-то еще, 0x я особо в руках не вертел.

9. 0xd34df00dmagog /7 31.12.2010 03:33 Azoth_primary

Типа, функция при таком подходе ничем не отличается от переменных — ее можно передавать в другие функции, возвращать, сохранять, иметь массив функций, и так далее.
Причем не с костылями типа boost::function или указателей на фукнции, а нормально.

10. magog0xd34df00d /8 31.12.2010 03:35 Maemo

так чего ты тогда на плюсах кодишь? Кодь на #

11. 0xd34df00dmagog /10 31.12.2010 03:35 Azoth_primary

Да шарп то же говно.

12. magog0xd34df00d /11 31.12.2010 03:36 Maemo

нет бога кроме функионального программирования я хаскель пророк его?

13. 0xd34df00dmagog /12 31.12.2010 03:37 Azoth_primary

А то!

14. magogmagog /12 31.12.2010 03:37 Maemo

s/я/и/

15. magog0xd34df00d /13 31.12.2010 03:38 Maemo

и чего ты тогда до сих пор не переписал личкрафты на нем?

16. 0xd34df00dmagog /15 31.12.2010 03:38 Azoth_primary

Там меньше готовых велосипедов.

17. magog0xd34df00d /16 31.12.2010 03:39 Maemo

тебе не привыкать свои писать

18. 0xd34df00dmagog /17 31.12.2010 03:39 Azoth_primary

Ну не настолько.

19. magog0xd34df00d /18 31.12.2010 03:40 Maemo

и это говорит человек написавший велосипеды для всех интернет-программ

20. 0xd34df00dmagog /19 31.12.2010 03:44 Azoth_primary

Ну таки писать свою реализацию торрентов я бы не взялся пока. Даже на няшке-хаскеле.

21. magog0xd34df00d /20 31.12.2010 03:45 Maemo

почему?

22. 0xd34df00dmagog /21 31.12.2010 03:47 Azoth_primary

Потому что трудоебко.

23. werehuman 31.12.2010 07:57

А полгода назад ты яросно дрочил на сабж

24. 0xd34df00dwerehuman /23 31.12.2010 09:34 Azoth_primary

Я и сейчас дрочу.

25. jtootfmagog /1 31.12.2010 14:12 galois

ООП в C++ такое же говёное, как и функциональщина. единственный настоящий плюс как раз в возможности комбинировать разные убогие механизмы для получения чего-то красивого

26. werehumanjtootf /25 31.12.2010 14:13 lithium

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

27. jtootfwerehuman /26 31.12.2010 14:15 galois

быструю программу можно написать на C, на Forth, на OCaml. даже на Haskell со скоростью всё ок (за счёт памяти). это не аргумент

28. 0xd34df00djtootf /25 31.12.2010 15:45 Azoth_primary

> чего-то красивого
Где ты там красоту нашел?

29. 0xd34df00djtootf /27 31.12.2010 15:45 Azoth_primary

У меня с хаскелем все работает и без памяти, если руки не из жопы.

30. werehuman0xd34df00d /29 31.12.2010 15:53 lithium

а когда у тебя руки из жопы, тогда не работает?

31. 0xd34df00dwerehuman /30 31.12.2010 16:01 Azoth_primary

А у меня не бывает рук из жопы :3

32. jtootf0xd34df00d /28 31.12.2010 16:16 galois

где нашёл, там уже нет

33. jtootf0xd34df00d /29 31.12.2010 16:18 galois

а у меня программы на C++ компилируются мгновенно и никогда не падают. ну, если руки не из жопы

34. 0xd34df00djtootf /33 31.12.2010 16:21 Azoth_primary

:(

35. jtootf0xd34df00d /34 31.12.2010 16:25 galois

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

36. 0xd34df00djtootf /35 31.12.2010 16:28 Azoth_primary

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

37. jtootf0xd34df00d /36 31.12.2010 16:31 galois

сделай да сравни. персистентность сама по себе на производительность не оказывает никакого (во всяком случае — неконстантного) влияния, вопрос лишь в вызовах GC на подчистку того, что на самом деле не используется

Do you really want to delete ?