C++ 0x

Jan 12, 2011 21:02

Текущий вариант стандарта выглядит гораздо более вменяемым, чем то, что нам показывали пару лет назад. Вместо фантазий на тему "как нам сделать из шаблонов настоящий пацанский compile-time Haskell" видим решения изрядно подзадолбавших проблем и некоторое количество легко имплементируемых и вполне приятных (хотя и совершенно необязательных) бантиков ( Read more... )

soft

Leave a comment

Comments 81

ban_dana January 12 2011, 18:24:54 UTC
А чем плохи лямбды? Довлоьно удобная вещь, вроде бы (ну, если без фанатизма, конечно)....

Reply

plakhov January 12 2011, 18:36:34 UTC
Ну в общем если на них смотреть не с точки зрения парадигм функционального программирования, а с точки зрения "старого" С++, то это просто такой синтаксический сахар для временных объектов, предназначенных к использованию с STL-like алгоритмами, который легко абьюзить, и, кажется, дико нетривиальный для имплементации в компиляторе (может быть, я ошибаюсь - я не писал компиляторы плюсов). Ох, боюсь, что лямбды в стандарте задержат появление полноценных С++0х компиляторов на несколько месяцев. По-моему, поддержать compile-time reflection стоило бы меньше усилий, а толку на порядки больше.

Reply

zhengxi January 12 2011, 18:45:04 UTC
Лямбды как раз уже сделаны и с gcc и в msvc.
В отличие от range for, variadic templates (нет в msvc) и nullptr (нет в gcc 4.5)

Reply

plakhov January 12 2011, 18:53:32 UTC
Ну может быть. Я, если честно, видел только []-лямбды, т.е. с тривиальными временными объектами. Работают ли всякие извращения в capture list'ах вроде [=x,&y]{...}, я не знаю. Очень подозреваю, что вылизывать баги во всём этом будут еще долго.

Насчет второй части - range for по сути всего лишь макрос, чего его там имплементировать, nullptr вообще тривиален
variadic templates - в конце концов, хрен с ними, не очень-то хочется

Reply


фромшере anonymous January 12 2011, 18:31:32 UTC
я вот, например, на этот счет думаю "эээ".
если помнишь, в французском мультике "minuscule" про букашек время от времени показывают реальность от лица паучка. так вот там звучит такое характерное "кап... кап..." и эхо гулкое от стенок черепа. вот примерно так я и думаю :)

Reply

Re: фромшере plakhov January 12 2011, 18:37:38 UTC
Ой, ты этот пост до конца дочитал? ЗОЧЕМ?!

Reply

фромшере anonymous January 12 2011, 18:40:15 UTC
ну не то чтобы подряд :) но вообще у тебя и в постах мимо моей компетенции бывают любопытные вещи

Reply


captain_tylor January 12 2011, 18:42:56 UTC
Я думаю, когда уже наконец этот Франкенштейн сдохнет...

Reply

plakhov January 12 2011, 18:44:00 UTC
А что вместо него-то? Ну так, если реально?

Reply

elephantum January 12 2011, 20:32:56 UTC
Python (+C/Cython/whatever), Java, Objective C

только игры с поиском, конечно, не понятно на чем писать.

Reply

9000 January 12 2011, 21:38:39 UTC
D? Go?

Ну и всякие OCaml / Haskell / CL довольно прилично компилируются, высокоуровневую логику на них вполне можно было бы писать, если бы можно было в нужных критических местах легко слезать до уровня железа и C, как это умеет C++.

Reply


(The comment has been removed)

plakhov January 12 2011, 19:16:02 UTC
99

Reply

(The comment has been removed)

plakhov January 12 2011, 19:21:55 UTC
я не для тебя, я для тех, кто гуглить будет :)

Reply


(The comment has been removed)

inline namespaces, конечно plakhov January 12 2011, 20:23:36 UTC
опечатался. у Страуструпа задумка вполне понятно описана: http://www2.research.att.com/~bs/C++0xFAQ.html#inline-namespace

Reply


Leave a comment

Up