среда, июня 03, 2009

Карта языка C++ (The C++ Lands)

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
Карта быстро расползается по Интернету. Нас уже обоср раскритиковали на reddit и обсудили на boingboing.
Поскольку карта пользуется невероятной популярностью, мы с Джимом серьезно думаем над тем, чтобы сделать вторую версию. Больше, лучше, красивее. Поэтому пишите в комментарии свои замечания, не стесняйтесь.



Язык 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.
And we are seriously thinking about making a new version of it. Bigger and better. Feel free to post your criticism in comments if you have any. The publish button is the orange one.


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 комментариев:

  1. А где же шаблоны?
    они же - самая чаща самого тёмного леса :)

    ОтветитьУдалить
  2. очаровательно!
    столько приятных мелочей

    ОтветитьУдалить
  3. Анонимный3/6/09 21:48

    Супер! Сегодня же распечатаю 8)

    ОтветитьУдалить
  4. Анонимный3/6/09 22:01

    Прекрасно! Утащил к себе, коллегам покажу.

    Спасибо!

    ОтветитьУдалить
  5. Анонимный3/6/09 22:03

    А diamond mine --- это что?)

    ОтветитьУдалить
  6. А помните к Хоббиту всегда рисовали карту на обложке? Эту карту можно поместить на обложку Страуструпа)

    ОтветитьУдалить
  7. К этой карте ещё бы и легенду (картографическую) - цены б ей не было...

    ОтветитьУдалить
  8. Анонимный3/6/09 22:36

    Блестяще!
    Но, действительно, не хватает шаблонов, new и должен быть полуостров qt.

    PS чёта этот openid не работает ничерта

    ОтветитьУдалить
  9. 2Yorik.sar:

    А где же шаблоны?

    Замок Александреску стоит непосредственно на них!

    2davaeron

    OMG, а где new?

    Да там много чего не хватает на самом деле...

    2Анонимный:

    Супер! Сегодня же распечатаю 8)

    Надо будет завтра картинку побольше размером выложить. Джим говорит, что это печатать нужно на А3, а я сейчас смотрю, некоторые вещи плохо читаются в таком разрешении...

    2Анонимный

    А diamond mine --- это что?)

    Diamond problem

    2Farafonoff:

    А помните к Хоббиту всегда рисовали карту на обложке? Эту карту можно поместить на обложку Страуструпа)

    Точно! Или лучше на обложку стандарта :-)

    2Анонимный:

    Блестяще!
    Но, действительно, не хватает шаблонов, new и должен быть полуостров qt.


    На самом деле можно выложить исходники в векторе. И там можно будет пририсовать вообще что угодно. Если кому интересно - говорите, Джим вроде не был против.

    PS чёта этот openid не работает ничерта

    Действительно не работает...

    ОтветитьУдалить
  10. > ...а я сейчас смотрю, некоторые вещи плохо читаются в таком разрешении...


    Ален, посмотри, там где-то, что-то ты не так закачала. Исходник я тебе отдал в разрешении 2702px×1886px, а у тебя оно легло в разрешении 1600px×1117px, т.е. - существенно меньше.



    Насчет замечаний. Я нибельмеса не понимал, что рисую, но если по поступающим замечаниям чего-то надо дорисовать - не проблема. Только конкретно пальцем покажите :-)

    ОтветитьУдалить
  11. Да, да - выкладывайте в большем разрешении. Повешу на стену обязательно.

    ОтветитьУдалить
  12. Ну, во-первых, шаблоны были несправедливо забыты.

    Во-вторых, опять таки совершенно нечестно упоминать о C++/Tk и MFC и забывать о Qt и GTK+ :)

    ОтветитьУдалить
  13. Каким боком GTK+ относится к C++? Он написан на сях и выглядит как питон.

    ОтветитьУдалить
  14. Анонимный4/6/09 00:13

    Не то чтобы неточность, но MFC занесло слишком близко к virtual... Может быть кораблекрушение.

    Лабиринт шаблонов, наверное, действительно имеет смысл приписать к замку Александреску.

    new - бог с ним: пустыня памяти есть, классы есть.

    А вообще, не надо ничего перерисовывать. Очень здорово.

    ОтветитьУдалить
  15. Анонимный4/6/09 01:45

    Как здорово, мне нравится :)

    ОтветитьУдалить
  16. Карта и правда маленькая, но выписана с душой. По-моему, к ней надо писать такой стандарт,чтобы начинался со слов "В лесу была нора, и в ней жил-был Cи++". Причём стандарт займёт 4 тома, а потом ещё и будут выпускать приквелы.
    Ну из библиотек GTK+, Qt и wxWidgets недостаёт...а MFC уже кучу лет как не поддерживается, ещё можно упомянуть OpenGL
    Можно добавить IDE'шки, хотя их уйма.
    Точно стоит упомянуть про любимые компиляторы gcc и MSVC++. Библиотеки есть,а родных программок - нету! Непорядок. Кстати, gcc ближе к стандарту.
    Ещё забыли замок #define и болото Индийского Кода.
    Можно упомянуть Тропу Конструкторов и Ловушку Деструкторов...ещё уйму вещей, ведь на карте ещё куча свободного места и нет стран-городов.
    Джиму просто огромное спасибо и вечная слава за такую колоссальную работу.

    ОтветитьУдалить
  17. Анонимный4/6/09 03:19

    В ELS не хватает Qt как минимум :)

    ОтветитьУдалить
  18. Кое-где очень мелко, не разобрать.

    ОтветитьУдалить
  19. Есть еще движок на OpenGL и название у него - как раз подходящее - OGRE.

    ОтветитьУдалить
  20. Классная карта! Обязательно распечатаю и повешу на стену на работе.

    (OGRE - рендерер, в т.ч. и под d3d)

    ОтветитьУдалить
  21. Я бы в "external libraries seas" разместил бы фрагменты нескольких application islands. Одним из которых обязательно нужно было бы сделать KDE. Еще можно было бы таким островом сделать MS Products (все таки в Windows, Office и VS полно C++ного кода). А еще остров Game Engines Home. И маленький полузатопленный остров BeOS ;)

    Еще чисто визуальное замечание: легенда с ангелочеками и копирайтами в ПНУ слишком большая и сильно отвлекает внимание. Сделать бы ее раза в два поменьше...

    ОтветитьУдалить
  22. Зашибительно просто! Супер!!! Особенно порадовали болота исключений и terra incognita :)
    Но Qt обязательно надо добавить. и еще я не нашел на карте Мейерса, Саттера и других ребят.. у них всяко должна быть своя таверна

    ОтветитьУдалить
  23. Впечетляет! Мне нравится :)

    ОтветитьУдалить
  24. Анонимный4/6/09 10:12

    Много диезов # в пустыне это намек на что-то???

    ОтветитьУдалить
  25. Зачетно! Bugs live here and there and everywhere ;))

    ОтветитьУдалить
  26. >Много диезов # в пустыне это намек на что-то???
    >
    #include Fort :)

    ОтветитьУдалить
  27. в библиотеки Boost добавить!:)

    ОтветитьУдалить
  28. Супер, спасибо! ;-) Только я не нашел Комитета по стандартизации - ИМХО, без него никак. Ну, и чисто эмоционально, лично для меня болота - это memory management, а exception'ы - даже и не знаю... какой-то провал? трещина? что-то заколдованное? Зона (как у Стругацких)?

    ОтветитьУдалить
  29. Это шедевр!!!
    Спасибо за карту!
    Я дома повешу над компом)
    То, что чего-то не хватает - спишем на альфа-версию карты.
    Надеюсь, в релизе будет полная карта для путешествий в мир Страуструпа ))
    А насчет Qt и Boost - я против, это не язык. Хотя их можно сделать островами, но тогда еще надо добавить и POSIX-библиотеки (я за pthreads) :)

    ОтветитьУдалить
  30. А можно версию на русском? Повешу в колледже, пусть детишки смотрят :)

    ОтветитьУдалить
  31. А как же Herb Sutter? Сфинксом у пирамид, например :)

    ОтветитьУдалить
  32. Анонимный4/6/09 13:58

    Аааа!! Супеер! Делитесь травой! :)

    ОтветитьУдалить
  33. Анонимный4/6/09 15:14

    ACC - нафиг. а вот границу между с и плюсами я бы по четче обозначил... а также показал сходство массивов и указателей. а также различие ссылок и указателей. + шаблоны. и лямбду. А в целом зачетно.

    ОтветитьУдалить
  34. Суууупеееер!!!!!
    Дайте, пожалуйста, в нормальном разрешении. Распечатал на лазерном принтере - всё расплывается.

    ОтветитьУдалить
  35. Анонимный4/6/09 17:13

    Any chance for a higher resolution version? Can't read the small text.

    ОтветитьУдалить
  36. Any chance for a higher resolution version? Can't read the small text.

    Yes, sure. As soon as I find Jim. :-)

    ОтветитьУдалить
  37. Анонимный4/6/09 17:55

    ИМХО malloc / free / realloc- это не про С++.

    ОтветитьУдалить
  38. Может выложите PostScript для страждущих? или в чем там оригинальный вектор?

    ОтветитьУдалить
  39. Анонимный5/6/09 06:37

    Чего-то с точки зрения кого-то всегда будет не хватать. Так что это не главное...

    Главное - потрясающая задумка и отличное исполнение! Алёна, Джим, огромное спасибо!!! Посмотрев на эту карту, я в очередной раз понял, что просто люблю C++, не смотря на все его болота, лабиринты и пустыни :)
    А дизайн а-ля "Властелин колец" напоминает о второй любимой вещи :)

    Ещё раз огромное спасибо!

    ОтветитьУдалить
  40. а ещё не хватает этого, вот этого и ещё вот этого и этого не хватает!

    ОтветитьУдалить
  41. Чего по-настоящему не хватает, это классической надписи по краям старинных карт: "Здесь живут драконы".

    Драконы выбираются по вкусу; лично я предположил бы, что они живут в области Koenig lookup.

    ОтветитьУдалить
  42. Анонимный5/6/09 11:56

    Очепятка: memory management

    ОтветитьУдалить
  43. Анонимный5/6/09 14:40

    Карта выглядит как татуированная задница. Зачем же так, язык ведь хороший на самом деле :)

    ОтветитьУдалить
  44. очень хотелось бы готовый принт купить..)

    ОтветитьУдалить
  45. Анонимный5/6/09 17:28

    Черный реинтерпрет_каст - это просто супер:)

    ОтветитьУдалить
  46. Анонимный5/6/09 18:04

    Распечатал. Повесил. Посмотрел издалека... В общем, про татуированную задницу точно подмечено. Надо бы эти замятия из середины убрать и будет норм.

    ОтветитьУдалить
  47. That map is fantastic! I wish I could read the blog post. Is that Russian?

    ОтветитьУдалить
  48. >Много диезов # в пустыне это намек на что-то???
    >
    #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.

    ОтветитьУдалить
  49. Шрифт сильно огорчает, особенно буква Q.

    ОтветитьУдалить
  50. И еще вопрос - 72 dpi это достаточно для печати? С таким разрешением карта должа занимать А0 страницу, не будет ли заметна "пикселизация"? А то А0 в цвете недешево печатать, не хотелось бы проводить "эксперименты" :) .

    ОтветитьУдалить
  51. Анонимный5/6/09 23:53

    Что-то маловато полей и лугов :-) Поля данных я бы добавил...

    А еще - под горой Heap с двумя вершинами new и delete добавил бы темные подземелья, в которых живут malloc и free :-)

    ОтветитьУдалить
  52. Анонимный6/6/09 13:40

    Супер! Просто великолепно! Молодцы!

    Раз уж пошла речь о второй версии, попробую подкинуть пару идей, в чем-то повторюсь с ранее высказанными идеями:

    1. new и delete
    2. А почему из коллекций обидели std::set? все кроме этой упомянули.
    3. Нужно добавить землю макросов, как что-то очень-очень страшное :)
    4. Herb Sutter - важная личность
    5. stl это коллекции, алгоритмы и потоки. Так что надо бы добавить алгоритмы на карту.
    6. Можно добавить поле стандартных заголовков
    7. На счет этого не уверен, но может быть как-нибудь показать популярные компиляторы?
    8. Можно показать граничные территории, вроде С99.
    9. В Include fort'е мне кажется хорошо бы смотрелся include guard.

    Надеюсь мои идеи окажутся полезными.

    ОтветитьУдалить
  53. Интересно, для кого в замке Александреску виселица?

    ОтветитьУдалить
  54. 2Sniff:

    Интересно, для кого в замке Александреску виселица?

    Для всех :-)

    ОтветитьУдалить
  55. Крепость Microsoft Visual Studio и вольный город gcc.

    ОтветитьУдалить
  56. 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

    ОтветитьУдалить
  57. Анонимный9/6/09 09:56

    Если уж пошла задумка об отсровах "Microsoft", то предложилбы DirectX выполнить в виде флота кораблей (самый большой Direct3D) сражающимся с OpenGl, OpenAl...

    ОтветитьУдалить
  58. Можно ещё сделать параллельные речки OpenMP, Intel TBB, Windows Threads, POSIX Threads, MPI. :)

    ОтветитьУдалить
  59. Как называются горы за Include Fort, те, которые отделяют землю от прибрежных диезов?

    ОтветитьУдалить
  60. 2Nikolay Kurtov:

    Как называются горы за Include Fort, те, которые отделяют землю от прибрежных диезов?

    А никак :-)

    ОтветитьУдалить
  61. Такое большое природное образование и без названия, непорядок :-)
    Есть у кого-нибудь предложения, как назвать? Что же это за безымянный хребет, отделяющий собственно язык от всего внешнего?

    ОтветитьУдалить
  62. Анонимный11/6/09 18:39

    2Nikolay Kurtov:: ну сказано же, что нету имени! значит unnamed namespace... :)

    ОтветитьУдалить
  63. Анонимный11/6/09 23:50

    Алёна, вы человек работающий в отрасли геймдева и возможно знаете сколько могут получать разработчики таких хитов, как Crysis, Quake 4 и т.п. Так же меньше относительно других программистов, как и в России?

    ОтветитьУдалить
  64. Анонимный12/6/09 15:31

    Аленка, а какие копирайты на распространение карты - я могу ее печатать и раздавать/продавать всем жаждущим на рынке Петровка, например (естесно, с сохранением авторских линков на ней)?

    Андрей

    ОтветитьУдалить
  65. 2Анонимный:

    Алёна, вы человек работающий в отрасли геймдева и возможно знаете сколько могут получать разработчики таких хитов, как Crysis, Quake 4 и т.п. Так же меньше относительно других программистов, как и в России?

    Не знаю, честно.
    Вообще начиная с определенного уровня квалификации условия работы специалиста обсуждаются индивидуально. И тут возможны всякие варианты, и денег сильно больше и вообще всё, что угодно, в зависимости от того, что человеку нужно. Но это не только для геймдева верно.

    ОтветитьУдалить
  66. 2Андрей

    Аленка, а какие копирайты на распространение карты - я могу ее печатать и раздавать/продавать всем жаждущим на рынке Петровка, например (естесно, с сохранением авторских линков на ней)?

    Некоторые картинки рисовал не Джим, а когда-то давно нашел на каких-то бесплатных ресурсах. Так что мы тут даже авторство определить затрудняемся. То есть, формально, мы не являемся обладателями копирайтов на отдельные фрагменты карты и наше разрешение ее продавать (а мы, собственно, не против) ничего не значит.

    ОтветитьУдалить
  67. Отличная карта! У меня, впрочем, есть несколько предложений:

    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, разве нет?

    ОтветитьУдалить
  68. 2Voidy:

    3. The C++ Lands, their amazing creatures and weird beasts, разве нет?

    Я долго рыла Интернет, прежде чем написать эту фразу. Вроде у нас всё верно грамматически. Нейтивы не жаловались, по крайней мере.

    И, кстати, всем спасибо за предложения и замечания, я их фиксирую...

    ОтветитьУдалить
  69. Когда C++ сдохет (а это произойдет уже очень скоро), можно будет отметить на карте место, в котором закопан труп страуса, а карту поместить в музей математических ужасов или лучше выкинуть.

    ОтветитьУдалить
  70. Юрий Крицкий21/6/09 14:46

    Voidy:
    The C++ Lands, their amazing creatures and weird beasts, разве нет?


    Алёна пишет:
    Я долго рыла Интернет, прежде чем написать эту фразу. Вроде у нас всё верно грамматически. Нейтивы не жаловались, по крайней мере.


    Может, Voidy всё же прав? Долго не "рыл", но вот пример:

    Socotra: A Natural History of the Islands and Their People

    ОтветитьУдалить
  71. Voidy таки не совсем прав. Слово lands можно употреблять и в качестве неисчисляемого существительного, а значит its на карте к месту. Алена молодец!

    ОтветитьУдалить
  72. Юрий Крицкий22/6/09 20:13

    Именно во множественном числе - как неисчисляемое? А где можно увидеть подобное употребление?

    ОтветитьУдалить
  73. Анонимный26/6/09 20:46

    Просто изумительно!!!

    ОтветитьУдалить
  74. Здравствуйте Алена!
    Карта изумительная! Остроумно и со вкусом!
    Может быть стоит так же указать на карте некоторые из шаблонов проектирования? Скажем характерные исключительно для С++.
    Для нового стандарта думаю нужно будет разработать целый 3D глобус! Как Вам такая идея? ))))))
    А если серьезно, по вашей карте можно проводить первоночальные собеседования при приеме на работу! Пожалуй я так и поступлю! )))

    ОтветитьУдалить
  75. Анонимный9/7/09 13:43

    Привет! Карта просто загляденье! Правда остается ощущение безжизнености. Может быть наделить её существами? Например в лабиринте шаблонов живет добры волшебник SFINAE. Где-то могла бы обитать хранительница знаний ODR. Маленькие но полезные существа RVO и EBO. RAII могло бы жить на болотах исключений. Вообщем вдохнуть в карту побольше жизни :)

    ОтветитьУдалить
  76. Анонимный12/8/09 17:15

    Офигительно. Но не нашёл ссылки, где можно заказать принт. Формата А1. Ну или хотя бы А2. Упущение!

    ОтветитьУдалить
  77. Анонимный12/8/09 19:38

    А где же великое и ужасное неопределенное поведение (aka undefined behavior)?

    ОтветитьУдалить
  78. Анонимный4/9/09 05:51

    хернёй страдаете, господа "картографы"...

    ОтветитьУдалить
  79. раз уж пошла такая пьянка, то нарисуйте мне такую по Си!

    ОтветитьУдалить
  80. Привет!
    В моём подъезде в лифте разместили рекламу магазина "Клинок" (ТЦ "Европа", г.Нефтеюганск). На рекламном листке изящные клинки разных причудливых форм на фоне карты. Посмотрел бы и забыл, если бы глаз зацепился за знакомые до боли слова: Multiple inheritance, STL, BOOST... Сразу вспомнил вашу карту. Так и есть, рекламщики нашли красивую картинку в Интернете и применили в своих целях. Позавчера зашёл в магазин. Эта карта у них на всю стену растянута! =)
    Жаль, что не так много людей в нашем городке могут понять, что скрывается за красивой декорацией.

    ОтветитьУдалить
  81. 2Вячеслав:

    Потрясающая история :-). Спасибо, порадовали.

    Если не очень лень, сфоткайте, пожалуйста. Повешу у себя в блоге. Отличный пример продвижения С++ в массы :-).

    ОтветитьУдалить
  82. К сожалению карта в размере 3298×2288 скачивается не полностью, а постоянно застревает на размере 8,2 Мб (9034086 Байт, если быть точным). Можно ли как то поправить эту досадную багу? Хочется скачать в нормальном разрешении :) С уважением, Mingun.

    ОтветитьУдалить
  83. Mingun

    Можно ли как то поправить эту досадную багу? Хочется скачать в нормальном разрешении :) С уважением, Mingun.

    Проверила - все ок скачалось. Если у вас так и не получилось - напишите мне мылом или в комментарии, я выложу еще куда-нибудь.

    ОтветитьУдалить
  84. Алена

    Проверила - все ок скачалось.

    Эх, если б у меня было бы так же. Не качает, паразит :( Останавливается на все тех же 8822 Кбайт. Качал как через Opera 10.63, так и через Download Master, так и просто открывал картинку в браузере и пытался сохранить - результат один и тот же. Если вам не трудно, не могли бы вы еще куда-нибудь залить и указать размер картинки. С уважением, Mingun.

    ОтветитьУдалить
  85. Mingun

    Эх, если б у меня было бы так же. Не качает, паразит :(

    Проблемы не только у вас, как оказалось :-(

    Выложила сюда:
    http://narod.ru/disk/26379278000/cpplands1.png.html

    Размер 14.07 Мб

    Расскажите тогда, нормально ли все скачалось...

    ОтветитьУдалить
  86. Алена

    Отлично, все великолепно скачалось. Спасибо! С уважением, Mingun.

    PS Пошел изучать...

    ОтветитьУдалить
  87. theambient
    а где же С++0x ??

    Под С++0x там целая пирамида :-)

    ОтветитьУдалить
  88. Анонимный13/6/11 16:17

    Того нет, этого нет - какая разница. Был бы бубен, а он есть.

    ОтветитьУдалить
  89. опечатка: Its known to be incomplet and incorrekt -> incompletE and incorreCt

    ОтветитьУдалить
  90. vahotm

    опечатка: Its known to be incomplet and incorrekt -> incompletE and incorreCt

    Так и было задумано :-)

    ОтветитьУдалить
  91. Напомнило старую-добрую игру Arcanum.... Эхххх хорошая все-таки игрушка была, вот только движок у нее тормозной.

    А по поводу "обоср", так это ж нормально, для того чтобы критиковать много ума не надо. Только я думал что такое никогда не встречу на англоязычных форумах.

    ОтветитьУдалить
  92. Анонимный27/7/12 14:11

    Шикарно! Бубен в левом нижнем углу как бы ненавязчиво, но очень в тему)

    ОтветитьУдалить