Updated 18.03.2012: Эта карта безнадежно устарела. Есть новая карта С++11!
This post is outdated. Here is the new map: The C++11 Lands
English translation is below.
Updated 07.06.2009
Карта быстро расползается по Интернету. Нас уже
Язык C++, как известно, сложный и запутанный. Его сложно представить себе целиком и когда только начинаешь с ним работать в голове образуется неприятная каша. Очень не хватало общей схемы, которую я и попыталась изобразить. У меня получилась какая-то фигня и я позвала на помощь друга. И теперь, слава Джиму, у нас есть простая и наглядная карта языка C++. ;-)
Текущий вариант. Добавлены шаблоны и Qt. В разрешении 1600x1110. И, по многочисленным просьбам тех, кто собирался карту печатать - в охренительном разрешении (3298×2288).
Updated 05.06.2009
Поправили опечатку. managment->management.
Старый вариант никуда не делся, вот он.
Старая версия в большем разрешении: 2702x1886
English translation
Updated 07.06.2009
The map is very popular all over the Internet. It's discussed on reddit and boingboing.
C++ language is quite complicated. It looks like a total mess when you start studying it. That's why I tried to draw a scheme of it. My drawing was real crap and I asked a friend to help me. And now, thanks to Jim, we have a nice and simple C++ language map.
The current version. With templates and Qt. 1600x1110. And for printing 3298×2288.
The previous one. With a typo.
Old version in higher resolution: 2702x1886
96 коммент.:
А где же шаблоны?
они же - самая чаща самого тёмного леса :)
OMG, а где new?
очаровательно!
столько приятных мелочей
Супер! Сегодня же распечатаю 8)
Прекрасно! Утащил к себе, коллегам покажу.
Спасибо!
А diamond mine --- это что?)
А помните к Хоббиту всегда рисовали карту на обложке? Эту карту можно поместить на обложку Страуструпа)
К этой карте ещё бы и легенду (картографическую) - цены б ей не было...
Блестяще!
Но, действительно, не хватает шаблонов, new и должен быть полуостров qt.
PS чёта этот openid не работает ничерта
2Yorik.sar:
А где же шаблоны?
Замок Александреску стоит непосредственно на них!
2davaeron
OMG, а где new?
Да там много чего не хватает на самом деле...
2Анонимный:
Супер! Сегодня же распечатаю 8)
Надо будет завтра картинку побольше размером выложить. Джим говорит, что это печатать нужно на А3, а я сейчас смотрю, некоторые вещи плохо читаются в таком разрешении...
2Анонимный
А diamond mine --- это что?)
Diamond problem
2Farafonoff:
А помните к Хоббиту всегда рисовали карту на обложке? Эту карту можно поместить на обложку Страуструпа)
Точно! Или лучше на обложку стандарта :-)
2Анонимный:
Блестяще!
Но, действительно, не хватает шаблонов, new и должен быть полуостров qt.
На самом деле можно выложить исходники в векторе. И там можно будет пририсовать вообще что угодно. Если кому интересно - говорите, Джим вроде не был против.
PS чёта этот openid не работает ничерта
Действительно не работает...
> ...а я сейчас смотрю, некоторые вещи плохо читаются в таком разрешении...
Ален, посмотри, там где-то, что-то ты не так закачала. Исходник я тебе отдал в разрешении 2702px×1886px, а у тебя оно легло в разрешении 1600px×1117px, т.е. - существенно меньше.
Насчет замечаний. Я нибельмеса не понимал, что рисую, но если по поступающим замечаниям чего-то надо дорисовать - не проблема. Только конкретно пальцем покажите :-)
Да, да - выкладывайте в большем разрешении. Повешу на стену обязательно.
Ну, во-первых, шаблоны были несправедливо забыты.
Во-вторых, опять таки совершенно нечестно упоминать о C++/Tk и MFC и забывать о Qt и GTK+ :)
Каким боком GTK+ относится к C++? Он написан на сях и выглядит как питон.
Не то чтобы неточность, но MFC занесло слишком близко к virtual... Может быть кораблекрушение.
Лабиринт шаблонов, наверное, действительно имеет смысл приписать к замку Александреску.
new - бог с ним: пустыня памяти есть, классы есть.
А вообще, не надо ничего перерисовывать. Очень здорово.
Как здорово, мне нравится :)
Карта и правда маленькая, но выписана с душой. По-моему, к ней надо писать такой стандарт,чтобы начинался со слов "В лесу была нора, и в ней жил-был Cи++". Причём стандарт займёт 4 тома, а потом ещё и будут выпускать приквелы.
Ну из библиотек GTK+, Qt и wxWidgets недостаёт...а MFC уже кучу лет как не поддерживается, ещё можно упомянуть OpenGL
Можно добавить IDE'шки, хотя их уйма.
Точно стоит упомянуть про любимые компиляторы gcc и MSVC++. Библиотеки есть,а родных программок - нету! Непорядок. Кстати, gcc ближе к стандарту.
Ещё забыли замок #define и болото Индийского Кода.
Можно упомянуть Тропу Конструкторов и Ловушку Деструкторов...ещё уйму вещей, ведь на карте ещё куча свободного места и нет стран-городов.
Джиму просто огромное спасибо и вечная слава за такую колоссальную работу.
В ELS не хватает Qt как минимум :)
Кое-где очень мелко, не разобрать.
Есть еще движок на OpenGL и название у него - как раз подходящее - OGRE.
Классная карта! Обязательно распечатаю и повешу на стену на работе.
(OGRE - рендерер, в т.ч. и под d3d)
Я бы в "external libraries seas" разместил бы фрагменты нескольких application islands. Одним из которых обязательно нужно было бы сделать KDE. Еще можно было бы таким островом сделать MS Products (все таки в Windows, Office и VS полно C++ного кода). А еще остров Game Engines Home. И маленький полузатопленный остров BeOS ;)
Еще чисто визуальное замечание: легенда с ангелочеками и копирайтами в ПНУ слишком большая и сильно отвлекает внимание. Сделать бы ее раза в два поменьше...
Зашибительно просто! Супер!!! Особенно порадовали болота исключений и terra incognita :)
Но Qt обязательно надо добавить. и еще я не нашел на карте Мейерса, Саттера и других ребят.. у них всяко должна быть своя таверна
Впечетляет! Мне нравится :)
Много диезов # в пустыне это намек на что-то???
Зачетно! Bugs live here and there and everywhere ;))
>Много диезов # в пустыне это намек на что-то???
>
#include Fort :)
в библиотеки Boost добавить!:)
Супер, спасибо! ;-) Только я не нашел Комитета по стандартизации - ИМХО, без него никак. Ну, и чисто эмоционально, лично для меня болота - это memory management, а exception'ы - даже и не знаю... какой-то провал? трещина? что-то заколдованное? Зона (как у Стругацких)?
Это шедевр!!!
Спасибо за карту!
Я дома повешу над компом)
То, что чего-то не хватает - спишем на альфа-версию карты.
Надеюсь, в релизе будет полная карта для путешествий в мир Страуструпа ))
А насчет Qt и Boost - я против, это не язык. Хотя их можно сделать островами, но тогда еще надо добавить и POSIX-библиотеки (я за pthreads) :)
А можно версию на русском? Повешу в колледже, пусть детишки смотрят :)
А как же Herb Sutter? Сфинксом у пирамид, например :)
Аааа!! Супеер! Делитесь травой! :)
ACC - нафиг. а вот границу между с и плюсами я бы по четче обозначил... а также показал сходство массивов и указателей. а также различие ссылок и указателей. + шаблоны. и лямбду. А в целом зачетно.
Суууупеееер!!!!!
Дайте, пожалуйста, в нормальном разрешении. Распечатал на лазерном принтере - всё расплывается.
Any chance for a higher resolution version? Can't read the small text.
Any chance for a higher resolution version? Can't read the small text.
Yes, sure. As soon as I find Jim. :-)
ИМХО malloc / free / realloc- это не про С++.
Может выложите PostScript для страждущих? или в чем там оригинальный вектор?
Чего-то с точки зрения кого-то всегда будет не хватать. Так что это не главное...
Главное - потрясающая задумка и отличное исполнение! Алёна, Джим, огромное спасибо!!! Посмотрев на эту карту, я в очередной раз понял, что просто люблю C++, не смотря на все его болота, лабиринты и пустыни :)
А дизайн а-ля "Властелин колец" напоминает о второй любимой вещи :)
Ещё раз огромное спасибо!
а ещё не хватает этого, вот этого и ещё вот этого и этого не хватает!
Чего по-настоящему не хватает, это классической надписи по краям старинных карт: "Здесь живут драконы".
Драконы выбираются по вкусу; лично я предположил бы, что они живут в области Koenig lookup.
Очепятка: memory management
Карта выглядит как татуированная задница. Зачем же так, язык ведь хороший на самом деле :)
очень хотелось бы готовый принт купить..)
Черный реинтерпрет_каст - это просто супер:)
Распечатал. Повесил. Посмотрел издалека... В общем, про татуированную задницу точно подмечено. Надо бы эти замятия из середины убрать и будет норм.
That map is fantastic! I wish I could read the blog post. Is that Russian?
>Много диезов # в пустыне это намек на что-то???
>
#include Fort :)
Там же можно поселить дикие неприрученные директивы препроцессора. :-)
2Ashot:
А можно версию на русском? Повешу в колледже, пусть детишки смотрят :)
Я пыталась сделать карту на русском изначально. Полная фигня получается. Потому что ключевые слова все на английском.
2Farafonoff:
Может выложите PostScript для страждущих? или в чем там оригинальный вектор?
Посоветовались с Джимом, пока решили не выкладывать, сорри.
Главное - потрясающая задумка и отличное исполнение! Алёна, Джим, огромное спасибо!!!
пожалуйста, мы старались :-)
2newmen:
а ещё не хватает этого, вот этого и ещё вот этого и этого не хватает!
Так и есть, ага :-)
2axc:
Очепятка: memory management
Fixed
2Анонимный:
Карта выглядит как татуированная задница. Зачем же так, язык ведь хороший на самом деле :)
Смотрела с разных сторон - нифига, ни разу не похоже! :-)
2nuxdie:
очень хотелось бы готовый принт купить..)
Да полно конторок всяких, которые печатают такие вещи. Хоть на A1, хоть на футболку, хоть на кружку.
2Tony:
That map is fantastic!
Thanks!
I wish I could read the blog post. Is that Russian?
Yes, it's Russian. I'll translate it soon, may be today. Because I see a LOT of attempts to translate this page with Google Translate.
Шрифт сильно огорчает, особенно буква Q.
И еще вопрос - 72 dpi это достаточно для печати? С таким разрешением карта должа занимать А0 страницу, не будет ли заметна "пикселизация"? А то А0 в цвете недешево печатать, не хотелось бы проводить "эксперименты" :) .
Что-то маловато полей и лугов :-) Поля данных я бы добавил...
А еще - под горой Heap с двумя вершинами new и delete добавил бы темные подземелья, в которых живут malloc и free :-)
Супер! Просто великолепно! Молодцы!
Раз уж пошла речь о второй версии, попробую подкинуть пару идей, в чем-то повторюсь с ранее высказанными идеями:
1. new и delete
2. А почему из коллекций обидели std::set? все кроме этой упомянули.
3. Нужно добавить землю макросов, как что-то очень-очень страшное :)
4. Herb Sutter - важная личность
5. stl это коллекции, алгоритмы и потоки. Так что надо бы добавить алгоритмы на карту.
6. Можно добавить поле стандартных заголовков
7. На счет этого не уверен, но может быть как-нибудь показать популярные компиляторы?
8. Можно показать граничные территории, вроде С99.
9. В Include fort'е мне кажется хорошо бы смотрелся include guard.
Надеюсь мои идеи окажутся полезными.
Интересно, для кого в замке Александреску виселица?
2Sniff:
Интересно, для кого в замке Александреску виселица?
Для всех :-)
Крепость Microsoft Visual Studio и вольный город gcc.
Using OptiPNG (optipng -o5)
the size of the png images was
reduced like:
1600x1100.png
3.570.068 -> 3.290.901 bytes
3298x2288.png
14.757.487 -> 11.299.133 bytes
OptiPNG: http://optipng.sourceforge.net/
Cheers
Если уж пошла задумка об отсровах "Microsoft", то предложилбы DirectX выполнить в виде флота кораблей (самый большой Direct3D) сражающимся с OpenGl, OpenAl...
Можно ещё сделать параллельные речки OpenMP, Intel TBB, Windows Threads, POSIX Threads, MPI. :)
Как называются горы за Include Fort, те, которые отделяют землю от прибрежных диезов?
2Nikolay Kurtov:
Как называются горы за Include Fort, те, которые отделяют землю от прибрежных диезов?
А никак :-)
Такое большое природное образование и без названия, непорядок :-)
Есть у кого-нибудь предложения, как назвать? Что же это за безымянный хребет, отделяющий собственно язык от всего внешнего?
2Nikolay Kurtov:: ну сказано же, что нету имени! значит unnamed namespace... :)
Алёна, вы человек работающий в отрасли геймдева и возможно знаете сколько могут получать разработчики таких хитов, как Crysis, Quake 4 и т.п. Так же меньше относительно других программистов, как и в России?
Аленка, а какие копирайты на распространение карты - я могу ее печатать и раздавать/продавать всем жаждущим на рынке Петровка, например (естесно, с сохранением авторских линков на ней)?
Андрей
2Анонимный:
Алёна, вы человек работающий в отрасли геймдева и возможно знаете сколько могут получать разработчики таких хитов, как Crysis, Quake 4 и т.п. Так же меньше относительно других программистов, как и в России?
Не знаю, честно.
Вообще начиная с определенного уровня квалификации условия работы специалиста обсуждаются индивидуально. И тут возможны всякие варианты, и денег сильно больше и вообще всё, что угодно, в зависимости от того, что человеку нужно. Но это не только для геймдева верно.
2Андрей
Аленка, а какие копирайты на распространение карты - я могу ее печатать и раздавать/продавать всем жаждущим на рынке Петровка, например (естесно, с сохранением авторских линков на ней)?
Некоторые картинки рисовал не Джим, а когда-то давно нашел на каких-то бесплатных ресурсах. Так что мы тут даже авторство определить затрудняемся. То есть, формально, мы не являемся обладателями копирайтов на отдельные фрагменты карты и наше разрешение ее продавать (а мы, собственно, не против) ничего не значит.
Отличная карта! У меня, впрочем, есть несколько предложений:
1. Было бы здорово, если бы istream впадал в озеро, а не в море, а iostream вообще бы имел две дельты ;-)
2. Надо бы как-то отразить тот факт, что C++ есть надмножество C. Кх-м. The dark and damp C caverns. You are likely to be eaten by a grue. Может быть так?
3. The C++ Lands, their amazing creatures and weird beasts, разве нет?
2Voidy:
3. The C++ Lands, their amazing creatures and weird beasts, разве нет?
Я долго рыла Интернет, прежде чем написать эту фразу. Вроде у нас всё верно грамматически. Нейтивы не жаловались, по крайней мере.
И, кстати, всем спасибо за предложения и замечания, я их фиксирую...
Когда C++ сдохет (а это произойдет уже очень скоро), можно будет отметить на карте место, в котором закопан труп страуса, а карту поместить в музей математических ужасов или лучше выкинуть.
Voidy:
The C++ Lands, their amazing creatures and weird beasts, разве нет?
Алёна пишет:
Я долго рыла Интернет, прежде чем написать эту фразу. Вроде у нас всё верно грамматически. Нейтивы не жаловались, по крайней мере.
Может, Voidy всё же прав? Долго не "рыл", но вот пример:
Socotra: A Natural History of the Islands and Their People
Voidy таки не совсем прав. Слово lands можно употреблять и в качестве неисчисляемого существительного, а значит its на карте к месту. Алена молодец!
Именно во множественном числе - как неисчисляемое? А где можно увидеть подобное употребление?
Просто изумительно!!!
Здравствуйте Алена!
Карта изумительная! Остроумно и со вкусом!
Может быть стоит так же указать на карте некоторые из шаблонов проектирования? Скажем характерные исключительно для С++.
Для нового стандарта думаю нужно будет разработать целый 3D глобус! Как Вам такая идея? ))))))
А если серьезно, по вашей карте можно проводить первоночальные собеседования при приеме на работу! Пожалуй я так и поступлю! )))
Привет! Карта просто загляденье! Правда остается ощущение безжизнености. Может быть наделить её существами? Например в лабиринте шаблонов живет добры волшебник SFINAE. Где-то могла бы обитать хранительница знаний ODR. Маленькие но полезные существа RVO и EBO. RAII могло бы жить на болотах исключений. Вообщем вдохнуть в карту побольше жизни :)
Повесил карту на картовом хостинге:
http://terapixel.ru/users/vova/albums/25-test/photos/165-
Офигительно. Но не нашёл ссылки, где можно заказать принт. Формата А1. Ну или хотя бы А2. Упущение!
А где же великое и ужасное неопределенное поведение (aka undefined behavior)?
хернёй страдаете, господа "картографы"...
раз уж пошла такая пьянка, то нарисуйте мне такую по Си!
Привет!
В моём подъезде в лифте разместили рекламу магазина "Клинок" (ТЦ "Европа", г.Нефтеюганск). На рекламном листке изящные клинки разных причудливых форм на фоне карты. Посмотрел бы и забыл, если бы глаз зацепился за знакомые до боли слова: Multiple inheritance, STL, BOOST... Сразу вспомнил вашу карту. Так и есть, рекламщики нашли красивую картинку в Интернете и применили в своих целях. Позавчера зашёл в магазин. Эта карта у них на всю стену растянута! =)
Жаль, что не так много людей в нашем городке могут понять, что скрывается за красивой декорацией.
2Вячеслав:
Потрясающая история :-). Спасибо, порадовали.
Если не очень лень, сфоткайте, пожалуйста. Повешу у себя в блоге. Отличный пример продвижения С++ в массы :-).
Nothing in is there? ?
К сожалению карта в размере 3298×2288 скачивается не полностью, а постоянно застревает на размере 8,2 Мб (9034086 Байт, если быть точным). Можно ли как то поправить эту досадную багу? Хочется скачать в нормальном разрешении :) С уважением, Mingun.
Mingun
Можно ли как то поправить эту досадную багу? Хочется скачать в нормальном разрешении :) С уважением, Mingun.
Проверила - все ок скачалось. Если у вас так и не получилось - напишите мне мылом или в комментарии, я выложу еще куда-нибудь.
Алена
Проверила - все ок скачалось.
Эх, если б у меня было бы так же. Не качает, паразит :( Останавливается на все тех же 8822 Кбайт. Качал как через Opera 10.63, так и через Download Master, так и просто открывал картинку в браузере и пытался сохранить - результат один и тот же. Если вам не трудно, не могли бы вы еще куда-нибудь залить и указать размер картинки. С уважением, Mingun.
Mingun
Эх, если б у меня было бы так же. Не качает, паразит :(
Проблемы не только у вас, как оказалось :-(
Выложила сюда:
http://narod.ru/disk/26379278000/cpplands1.png.html
Размер 14.07 Мб
Расскажите тогда, нормально ли все скачалось...
Алена
Отлично, все великолепно скачалось. Спасибо! С уважением, Mingun.
PS Пошел изучать...
а где же С++0x ??
theambient
а где же С++0x ??
Под С++0x там целая пирамида :-)
Того нет, этого нет - какая разница. Был бы бубен, а он есть.
опечатка: Its known to be incomplet and incorrekt -> incompletE and incorreCt
vahotm
опечатка: Its known to be incomplet and incorrekt -> incompletE and incorreCt
Так и было задумано :-)
Напомнило старую-добрую игру Arcanum.... Эхххх хорошая все-таки игрушка была, вот только движок у нее тормозной.
А по поводу "обоср", так это ж нормально, для того чтобы критиковать много ума не надо. Только я думал что такое никогда не встречу на англоязычных форумах.
Шикарно! Бубен в левом нижнем углу как бы ненавязчиво, но очень в тему)
Отправить комментарий