Думал сначала в С++ запостить, но раз уж это даже на LtU есть (с пометкой "For those of you who don't hate C++" ), решил сюда
Day 1 (Theme: C++11 Today)
• Opening Keynote: C++11 Style (Bjarne Stroustrup, TAMU)
• Threads and Shared Variables in C++11 (Hans Boehm, Hewlett-Packard)
• STL11 – Magic && Secrets (Stephan T. Lavavej, Microsoft)
• Variadic Templates are Funadic (Andrei Alexandrescu, Facebook)
• Panel: The Importance of Being Native (Andrei Alexandrescu, Hans Boehm, Bjarne Stroustrup, Herb Sutter)
Day 2 (Theme: C++11 Today and Tomorrow)
• C++11, VC++11 and Beyond (Herb Sutter, Microsoft)
• C++11 and Clang (Chandler Garruth, Google)
• Static If I Had a Hammer (Andrei Alexandrescu, Facebook)
• A Concept Design for C++ (Bjarne Stroustrup and Andrew Sutton, TAMU)
• Panel: Ask Us Anything! (all speakers)
Здравствуйте, alexeiz, Вы писали:
A>Интересно, чем Александреску занимается в Facebook-е?
Угу, и у меня та же мысль первой была, когда я список докладчиков прочитал.
Заодно сразу вспомнились крики о том, что фейсбук весь на ПХП и в этом его сила
На мелкосайте написано "Andrei Alexandrescu is a computer scientist working at Facebook."
На его собственном сайте написано (год назад) "Currently Andrei works as a Research Scientist at Facebook."
Что конкретно он там делает —
Кстати, там еще кое что написано:
Andrei initially pursued other interests, such as classical guitar (honorable mention in 1986 and 3rd prize in 1987 at the Classical Guitar Festival in Sinaia, Romania) and drumming.
Здравствуйте, gandjustas, Вы писали:
J>>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012 J>>Главный рулез в том, что все это будет транслироваться в инете, так что необязательно ехать в Редмонд
G>Евент прошел, записи выложены, где же холивар?
Из-за чего холиварить? Холивар — это удел светлых сил добра и завтрашнего дня — вот нехай они промеж себя и разбираются, у кого фонарь ярче, завтрашний день завтрее и флейта нежнее, а тут куют Чорный Митал.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, jazzer, Вы писали:
J>>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012
J>>Главный рулез в том, что все это будет транслироваться в инете, так что необязательно ехать в Редмонд
G>Евент прошел, записи выложены, где же холивар?
Ладно, начнем.
С++ сделал гигантский скачек в сторону ФП, что в совокупности с наличием в нем метапрограммирования делает Немерле ненужным.
Здравствуйте, mrTwister, Вы писали:
T>Ладно, начнем. T>С++ сделал гигантский скачек в сторону ФП, что в совокупности с наличием в нем метапрограммирования делает Немерле ненужным.
Без GC никакое полноценное ФП не взлетит.
В принципе, если ABI на популярных платформах устаканят, то прикрутить метаинформацию и рядом библиотеку GC будет несложно. Правда жизни в том, что реально GC напрашивается на совсем небольшой %% от всех объектов в программе, бо большинство остальных связываются в статические графы после создания или имеют время жизни, ограниченное некоей областью видимости. Т.е. для объектов-аналогов дотнетного 0-го и 2-го поколения никакой GC не нужен. Но вот отсутствие GC для оставшегося небольшого % сценариев иногда превращается в головную боль.
Фактически разметку для нужд GC можно было бы генерить не для всего подряд, как в дотнете, а только для управляемых ссылок, этого было бы достаточно, чтобы GC мог обходить граф из них. Было бы неплохо, если бы в каком-нить стандарте это приняли. Вот тогда уже можно думать о полноценном ФП.
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, mrTwister, Вы писали:
T>>Ладно, начнем. T>>С++ сделал гигантский скачек в сторону ФП, что в совокупности с наличием в нем метапрограммирования делает Немерле ненужным.
V>Без GC никакое полноценное ФП не взлетит.
GC нужен только слабым и безолаберным программистам.
V>В принципе, если ABI на популярных платформах устаканят, то прикрутить метаинформацию и рядом библиотеку GC будет несложно. Правда жизни в том, что реально GC напрашивается на совсем небольшой %% от всех объектов в программе, бо большинство остальных связываются в статические графы после создания или имеют время жизни, ограниченное некоей областью видимости. Т.е. для объектов-аналогов дотнетного 0-го и 2-го поколения никакой GC не нужен. Но вот отсутствие GC для оставшегося небольшого % сценариев иногда превращается в головную боль.
V>Фактически разметку для нужд GC можно было бы генерить не для всего подряд, как в дотнете, а только для управляемых ссылок, этого было бы достаточно, чтобы GC мог обходить граф из них. Было бы неплохо, если бы в каком-нить стандарте это приняли. Вот тогда уже можно думать о полноценном ФП.
Здравствуйте, mrTwister, Вы писали:
V>>Без GC никакое полноценное ФП не взлетит. T>GC нужен только слабым и безолаберным программистам.
Неуправляемые программисты настолько суровы, что могут разрулить циклические ссылки счетчиком ссылок...
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, vdimas, Вы писали:
V>GC нужен, чтобы делать безопасные замыкания ссылочных типов. Сейчас безопасные замыкания только по значению.
А еще он нужен для lockfree структур данных. И вообще в многопоточном приложении счетчик ссылок штука дорогая.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, mrTwister, Вы писали:
V>>>Без GC никакое полноценное ФП не взлетит. T>>GC нужен только слабым и безолаберным программистам. WH>Неуправляемые программисты настолько суровы, что могут разрулить циклические ссылки счетчиком ссылок...
У malloc\free нет проблем с циклическими ссылками.
Здравствуйте, WolfHound, Вы писали:
V>>>Без GC никакое полноценное ФП не взлетит. T>>GC нужен только слабым и безолаберным программистам. WH>Неуправляемые программисты настолько суровы, что могут разрулить циклические ссылки счетчиком ссылок...
Неуправляемые программисты настолько суровы, что в их коде не-weak циклические ссылки просто не встречаются.
Здравствуйте, TarasKo, Вы писали:
TK>Блиииин Александреску жгет. Когда он рассказывал про vvtt я ржал очень долго. Слайд там шедевральный )))
14й слайд?
Порвал в клочья.
Здравствуйте, WolfHound, Вы писали:
V>>GC нужен, чтобы делать безопасные замыкания ссылочных типов. Сейчас безопасные замыкания только по значению. WH>А еще он нужен для lockfree структур данных. И вообще в многопоточном приложении счетчик ссылок штука дорогая.
Lock-free в нейтиве сегодня ведет себя получше, бо сейчас сплошная intrinsics реализация в сишных компиляторах, даже в gcc. И точно так же на lock-free очередях отправляют объекты умирать в дополнительные потоки, если время вызова деструктора тяжеловесней инструкции cmpxchg и эта разница критична в текущем контексте. Или же не умирать, а в пулы объектов, а факт их умирания зависит от политики и состояния пула... бо как раз вижу, что в наших областях используют пулы объектов даже в реализациях на джаве и дотнете, и это дает ощутимый прирост производительности, хотя казалось бы...
Здравствуйте, mrTwister, Вы писали:
V>>Частично да, частично нет.
T>А чего нет?
Нет агрессивной оптимизации, как случая полностью нейтива. Даже если в программе ни одной managed-ссылки, но она скомпиллирована как дотнетная assembly, то тормознее заметно получается. Ну и, к тому же, в C++/CLI нет таких удобных замыканий как в дотнете, а о них была речь. Как и другого удобного сахара.
Здравствуйте, TarasKo, Вы писали:
TK>Блиииин Александреску жгет. Когда он рассказывал про vvtt я ржал очень долго. Слайд там шедевральный )))
IMHO, нормальный синтаксис для статических ассертов (другой его доклад) поинтереснее и пошире в применении. А вариадические темплейты — это только вокруг tuple-вещей и alg types нужны, т.е. человеческая замена его же собственным ужасным type-lists. Наверно им и педалировалось больше всего.