109: (Default)
109 ([personal profile] 109) wrote2008-05-27 12:13 am

[programming], [ужас-ужас]

http://stepanovpapers.com/notes.pdf

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

[identity profile] ban-dana.livejournal.com 2008-05-27 07:31 am (UTC)(link)
Дотнетовцам - понятно, джавистам тоже. А почему никому, собственно?

[identity profile] 109.livejournal.com 2008-05-27 06:19 pm (UTC)(link)
фигню пишет потому что :)

[identity profile] ban-dana.livejournal.com 2008-05-28 07:56 am (UTC)(link)
Ни разу не фигню. Ну то есть не без перегибов, конечно, но в основном правильно. Хотя, лучше, конечно, SICP (http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530) читать, но он длинный и вообще на Scheme, а от этого у среднестатистического дотнетовца/джависта может лопнуть моск.

[identity profile] tnt23.livejournal.com 2008-05-27 08:41 am (UTC)(link)
Формат .PDF делает эту задачу особенно легкой.

[identity profile] 109.livejournal.com 2008-05-27 07:43 pm (UTC)(link)
не, ну в принципе, наверное, есть, конвертеры pdf -> docx в природе :Р

[identity profile] faceted-jacinth.livejournal.com 2008-05-27 09:09 am (UTC)(link)
Начал читать, нет, это совсем не ужас-ужас.
Чувак очень правильный и пытается использовать плюсы строго в сишной семантике. Очень мило!

[identity profile] 109.livejournal.com 2008-05-27 06:22 pm (UTC)(link)
чувак сугубо правильный, и за продвижение генериков ему земной поклон. но именно поэтому так мучительно больно читать фигню, которую он пишет. и потом, эти постоянные whinings about standards committee and compilers... write your own compiler, man!

[identity profile] faceted-jacinth.livejournal.com 2008-05-27 06:32 pm (UTC)(link)
Ну не знаю, я уже процентов 20% прочитал между делом -- очень правильные он вещи пишет в основном. То есть скажем прогон насчёт неиспользования плюса для конкатенации строк (потому что она некоммутативна) действительно кажется странным, но только поначалу, пока не вспоминаешь, что есть языки, тысячи их, в которых строки конкатенируются точкой, и ничего, никто не умер. К остальному вообще никаких претензий, если б его тогда действительно послушали, плюсы получились бы намного менее отвратительными.

А предлагать одному, немолодому уже человеку написать свой компилятор плюсов -- жестоко! =)

[identity profile] 109.livejournal.com 2008-05-27 06:48 pm (UTC)(link)
ну мне ещё это мучительно читать, поскольку все эти разборки между T, T& и T*, копи-констракторы, operator= и проч., всё это настолько непросто, что вон даже в комитете по стандартам согласья нет - а с другой стороны, нахрен не нужно. всё это уже ancient lore, примерно как построить избу без единого гвоздя.

[identity profile] faceted-jacinth.livejournal.com 2008-05-27 07:11 pm (UTC)(link)
А низкоуровневый код на чём писать?

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

[identity profile] 109.livejournal.com 2008-05-27 07:42 pm (UTC)(link)
ну я согласен, что есть некая микроскопическая "низкоуровневая" ниша. я только настаиваю, что размер этой ниши очень мал, ибо .net micro memory footprint is about 300 KB, а сколько размер кэша у современного процессора? а сколько стоит мегабайт памяти, пять центов? а сколько десктопных проектов до сих пор на плюсах пишется? если бы они (плюсплюсники) ушли туда в свою нишу и там бы обсуждали свои копи констракторы или особенности инструкции JMP, у меня бы претензий не было.

[identity profile] faceted-jacinth.livejournal.com 2008-05-27 07:44 pm (UTC)(link)
Ты забыл про игры, особенно для приставок. Там констрейнты по-прежнему жесточайшие, а рынок-то очень немаленький.

[identity profile] 109.livejournal.com 2008-05-27 08:09 pm (UTC)(link)
да, это загадка. почему нет дотнета для иксбокса? моя версия - потому что плюсплюсники туда мигрировали и активно саботируют. ты думаешь - performance reasons? Рихтер вот говорит, что jit optimization ручками трудно побить.

[identity profile] faceted-jacinth.livejournal.com 2008-05-27 08:21 pm (UTC)(link)
Во-первых, есть, XNA. Но пишут его мудаки.

Во-вторых, я читаю того же Плахова и [livejournal.com profile] kunaifusu, у них там действительно другой мир. Фиксед-сайз буфера и кастомные аллокаторы из них всегда будут быстрее любого GC, как его не оптимизируй.

[identity profile] 109.livejournal.com 2008-05-27 10:07 pm (UTC)(link)
аллокация в сишарпе - это FreeMemPtr += ReqMemSize, куда уж быстрее. хотя я, конечно, понимаю, что ты имел в виду total gc footprint :)

[identity profile] 109.livejournal.com 2008-05-27 10:11 pm (UTC)(link)
а, ну и вот же - managed DX.

[identity profile] ignik.livejournal.com 2008-05-28 09:57 pm (UTC)(link)
Уныло. Но основательно. Жанр мемуаров выдержан ;-)

[identity profile] 109.livejournal.com 2008-05-28 10:21 pm (UTC)(link)
ага. "standards committee, in its infinite wisdom..."