| |||
![]()
|
![]() ![]() |
![]()
мой теоретический недоминимум Несколько лет назад в ЖЖ появился замечательный список теоретического минимума программиста. Список небезынтересный, но какой-то очень навороченный по объему знаний в каждом разделе. Посмотрим, например, что, согласно ему, полагается знать о С++, который я знаю не так чтоб средне: стандарт - открывал неоднократно за последние 14 лет. Но не так чтоб эксперт. Comeau - что это? 1TBS - что это? Страустрап - общались ))) D&E - читал Джосаттис - кажется, не попадался вообще. это плохо? Вандервуд - кажется, это про быстрые вычисления, но практически не помню и скорее всего не знаю. Надо б пересмотреть. (упс, перепутал Вандервуда с Todd Veldhuizen) Дьюхэрст - кто это? Мейерс - хороший писатель для начинающих. Ну и вообще светлая голова. Саттер - а как же RAII - было copy-on-swap - не знаю такого термина правило трех - не знаю такого термина exception-safety - куда ж без него Александреску - читал Абрахамс-Гуртовой - очень не сильно вник, увы мне. Но представление имею... Впрочем, не уверен. type erasure - что это? CRTP - что это? NVI - что это? SFINAE - знаю, ура! хотя, сходу на бумаге могу воспроизвести с ошибками Koenig lookup - ну да. Ежегодно перечитываю ))) Duff's device - что??? Boost - поверхностно ознакомился, немного использовал Сик-Ламсдейн/Карлссон - што это? TR1 - проглядывал, но уже всё забыл TR on C++ performance - проглядывал, но уже всё забыл. Нет, вру, не проглядывал дальше обложки и первых страниц. Пролистывал - так вернее. ABI - что это? тест Степанова - что это? forwarding problem - сталкивался. но ни разу не читал, пока об этом не заговорили в связи с C++11 SPECS - что это? C++0x - ознакомился. Т.е. практически на троечку. Теперь, я прошу прощения, но если я изучу детально этого самого Гуртового, выхода из этого практически будет ноль. Гуртовой - это, конечно, экстрим, но, скажем, forwarding problem - это такая вещь из серии "меньше знаешь - крепче спишь". Т.е. если вы собрались писать крутую темплейтную библиотеку, вам это всё может пригодиться, в противном случае, тысяча раз увы, всё это так и останется мёртвым грузом. Как было для меня мёртвым грузом в течении десятка лет знание partial template specialization, которые, увы, сначала не были доступны на том компиляторе, которым я пользовался, а потом уже просто было не до них. ИМХО, этот список интересен для академической среды, там где люди могут увлеченно копать фичи языка вглубь, а не практически что-то реализовывать. Т.е. безусловно, для практики нужны хорошие знания и теория, в том числе и знание эзотерических деталей пригодится, но как-то тут всё черезчур смещено в сторону эзотерики, ИМХО. Это не минимум, это скорее уж максимум. В конце концов, круче boost и Гуртового я уж и не знаю что можно предложить в этой области для изучения. Разве что FC++. |
||||||||||||||
![]() |
![]() |