LINUX.ORG.RU

В стандарт C предложено внести лямбды и defer из golang

 , ,


5

6

Привет, ЛОР!

Я тут тебе немного покушать принёс. Как ты, наверное знаешь, не за горами выход нового стандарта языка C – C23. Среди прочих вкусностей, таких как лямбды в стиле C++, в этот стандарт предложено добавить механизм defer, аналогичный существующему в языке Go.

Ссылка на предложение: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2895.htm

В случае, если этот стандарт будет принят, будет возможно написание вот такого кода:

p = malloc(N);
defer { free(p); }

Где аргументом оператора defer является анонимная функция. Так же возможны более сложные варианты использования:

enum { initial = 16, };
double buffer[initial] = { 0 };
...
size_t elements = 0;
double* q = buffer;
defer [orig = q, &q]{ if (orig != q) { free(q); }};
...
// increase elements somehow
...
// adjust the buffer
if (elements > initial) {
    double* pp = (q == buffer) ? malloc(sizeof(double[elements])) : realloc(q, sizeof(double[elements]));
    if (!pp) return EXIT_FAILURE;
    q = pp;
}
...

Учитывая всё это, скоро в C больше не будет нужно использовать goto вообще нигде, даже для очистки ресурсов при ошибке. Так заживём, ЛОР!

Ответ на: комментарий от hateyoufeel

Вот видишь, ты даже не в курсе игроков на рынке софта для расчёта красок. Нет, израильтян там вообще нет. Там сейчас есть только американцы, индусы (у них, правда, софт не позволяет свои базы красителей создавать, можно только их индусские готовые использовать), китайцы и я. Так что Моссаду это вряд-ли неинтересно. Скорее это ЦРУ или китайская разведка будет.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

игроков на рынке софта для расчёта красок

игроков

Ой всё. Я больше не могу. Китайская разведка следит за @Stanson, чтобы украсть его секрет по расчёту красок. А ЦРУ похищает его и насильно прививает от коронавируса.

Господи, какой ад? На что я свою жизнь трачу? Пойду баб трахать лучше. Тред можно закрывать.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

На самом деле, как бы ни было смешно, шансы ненулевые. Внезапно, военную форму стараются красить так, чтобы в ИК диапазоне тепловизоров она как можно меньше отличалась от окружения. И спектр окружения в ИК для разных регионов и времени года, внезапно разный. И вот сейчас очень модная тема - считать рецептуры красок для спецткани не только в видимом, но и ИК диапазоне. Разумеется, ни американцы, ни китайцы с индусами не продают софт в котором можно поменять диапазон расчёта с видимого на более широкий. А в моём софте можно. :) Так что смех-смехом, а у спецслужб теоретически может возникнуть непосредственный интерес. И вероятность этого несколько больше вероятности напороться на тот баг, вокруг которого ты тут уже третьи сутки вприсядку дрочишь. Как ты полагаешь, что меня заботит больше? :)

Видишь, узость твоего мышления не позволяет тебе видеть картину целиком и представлять все возможные варианты, поэтому даже твои потуги выдумать какую-то нереальную ситуацию, чтобы попытаться высмеять «некошерного сишника», приводят к твоему обсёру.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от thesis

гигабайты в сутки на одного юзера. и да, меня не беспокоят ютубы и порнхабы. меня беспокоит только мой сервер.

в том-то и дело, что это не «служебные данные». это корявая реализация. и когда я пишу вопрос разработчикам, а почему их сервер запрашивает профиль юзера несколько миллионов раз подряд (это не шутка, я логи им приложила), они даже не понимают, в чём проблема. и там такого говна полно. проблема не в протоколе, а именно в говнокоде.

Iron_Bug ★★★★★
()
Ответ на: комментарий от fsb4000

у тебя в голове какие-то тараканы, которые к «сишникам» не относятся. вероятно, ты подсознательно пытаешься свои проблемы неосилятора переложить на окружающих. но это не так.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

меня не волнуют баги в конкретном софте. ты катил бочку на Си.

что касается ФС, то при отваливании ФС зависнет подавляющее большинство программ. вообще, «ФС» - понятие очень растяжимое. это может быть вовсе не локальная система и прочее, и прочее. и тут вопрос лишь в том, что система тебе вернёт (или не вернёт) при ошибке. может и не вернуть управление, и будешь висеть, пока не прибьют процесс. для систем с повышенной надёжностью делают рейды, кластеры и иже с ними. но серебряной пули от багов харда не существует.

Iron_Bug ★★★★★
()
Ответ на: комментарий от thesis

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от thesis

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Нет, я ж говорю - «безопасность» всплыла в момент активации нынешней повесточки - «ради мнимой безопасности можно делать всё что угодно с человеками».

Сами санки вот так видели жабу:

https://web.archive.org/web/19980214234449/http://java.sun.com/nav/whatis/index.html

So what exactly is Java?

It is commonly thought of as a way to make Web pages sexy – incorporating stock tickers, sound or video into Web pages. It has evolved into much more. It is becoming known as a computing platform – the base upon which software developers can build applications. Developers can build a variety of applications using Java – traditional spreadsheets and word processors in addition to mission critical applications used by the biggest companies: accounting, asset management, databases, human resources and sales.

Java applications, or applets, are different from ordinary applications in that they reside on the network in centralized servers. The network delivers the applet to your system when you request them. For example, let’s say that you want to check your personal financial portfolio. You’d dial in to your financial institution and use your Web browser to log into the bank’s system. The portfolio data will be shipped to you along with the applet needed to view it. Let’s assume that you’re considering moving your money from one account to another. No need to perform a series of cut-and-paste exercises. The system will also send you an applet that will allow you to change the rate of interest and length of investment to perform a series of «what-if» scenarios.

From the corporations’ point-of-view, Java will simplify the creation and deployment of applications thus saving money. Applications created in Java can be deployed without modification to any computing platform, thus saving the costs associated with developing software for multiple platforms. And because the applications are stored on centralized servers, there is no longer a need to have people insert disks or ship CD’s to update software.

Про «безопасность» - вообще ни слова.

Stanson ★★★★★
()

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

unC0Rr ★★★★★
()
Ответ на: комментарий от Stanson

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

в браузере жаба появилась намного позже. да и была она там недолго.

Iron_Bug ★★★★★
()
Ответ на: комментарий от unC0Rr

вы все тут почему-то свои проблемы с неумением работать с системой сваливаете на сишников, которых вы, скорее всего, даже никогда и не видели. я не знаю, может, это по Фрейду: обидки на собственное неосиляторство проецировать на тех, кто может писать на Си без каких-либо проблем. зависть переходит в показную ненависть.

но без Си ничего не работает. и от этого вы только ещё больше беситесь.

Iron_Bug ★★★★★
()
Ответ на: комментарий от unC0Rr

Ещё один аутичный прикрыватель собственной жопы. Из вас вообще кто-нибудь может мыслить хоть немного шире, чем написано в ваших методичках? Проверять результат чисто ради проверки результата? Вы вообще в курсе, что цель проверки результата - это совершение каких-то разумных действий, а вовсе не «возвращение ошибки» чтобы скинуть реальную проблему на других обезьянок.

Так какие разумные действия в контексте принципа работы обсуждаемой софтины надо совершить, если файл открылся на чтение, но прочитать его не вышло? Вы в приницпе не способны ответить на этот вопрос, что-ли? У вас «моя хата с краю, это не моё дело, пусть другие думают что делать дальше, я ошибку вернул, у меня тут теперь код безопасный, а если это по каким-то причинам приведёт к гораздо более серьёзной жопе, мне совершенно насрать»?

Stanson ★★★★★
()
Ответ на: комментарий от Iron_Bug

В начале 90-х оно называлось Oak и Гослинг думал что это язык для кофеварок. Первую версию жабы выпустили на рынок только в 1996 году, приведённая ссылка от 1998 года. Ни про какую безопасность там ничего нет.

А то, что ты описываешь началось только после 911, когда официально стартовало всё это запланированное безумие с «безопасностью» всего и вся.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

собственно, в банковском секторе до сих пор эти мейнфреймы и жаба кругом.

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

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

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

Не знаешь, чего делать, если ошибка, так и не делай ничего.

Так я и не делаю. :) А тут от этого бомбит у неосиляторов.

Только мимо буфера не ходи, это ж прописная истина.

Если возникла такая ситуация (диск отвалился), то и буфер в частности, и работа всей этой фитюльки вообще - это самое последнее что будет меня заботить.

Твои жалкие попытки выставить других дураками смешны.

Так вы сами себя аутичными дураками выставляете, я тут совершенно не при чём.

Stanson ★★★★★
()
Ответ на: комментарий от Iron_Bug

нет, гораздо раньше. 9.11 - это вообще уже очень поздно было. а безопасность изначально пропихивалась для банков и иже с ними.

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

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

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

мне наплевать на жабу, у меня её нет и вообще фиолетово. это просто к тому, что никакое огораживание не устраняет возможности ошибок и уязвимостей. и все эти лицемерные заявления про «безопасные» ЯП - не более чем случаи так называемого вранья и манипулирования. ну и любая подобная деятельность по огораживанию стоит колоссальных ресурсов: тормоза и пожирание памяти есть обратная сторона тщетных попыток автоматического управления ресурсами. так что жаба - лишь пример того, что возносилось, как нечто, что не может вылезти за пределы песочницы, но в итоге оказалось, что это не так. песочницы не существуют в вакууме, в итоге, внизу они всё равно дёргают либо какие-то утилиты, либо сишные библиотеки. это просто прокладки, которые жрут лишние ресурсы. а «безопасности» там ничуть не прибавляется.

Iron_Bug ★★★★★
()
Ответ на: комментарий от unC0Rr

Два крутых сишника не сговариваясь считают нормальным не проверять результат read() и как результат обращаться куда попало в памяти.

Самое страшное лично для меня тут в том, что Stanson в своем окружении может считаться авторитетом и, возможно, имеет возможность навязывать свое мнение подчиненным. Если среди подчиненных окажется молодежь, которая только входит в профессию, то своим «весом» и «аргументацией» этот самый Stanson свернет им мозги набок. И не факт, что потом эти мозги можно будет выправить.

eao197 ★★★★★
()
Ответ на: комментарий от Stanson

Проверять результат чисто ради проверки результата?

Чтобы делать то, что положено только в случае успешного результата и не делать в случае неудачи. Ваш К.О.

Если вам нужно, чтобы ваша программа упала если read завершился неудачно, то сделайте проверку после read и вызовите abort. Пропишите желаемое вами поведение в коде явным образом.

Прописные же истины.

eao197 ★★★★★
()

Я так понимаю, ТС нужен язычек, в котором даже самая угребищная реализация алгоритма работала зашибись после компиляции

Psilocybe ★★★★
()
Ответ на: комментарий от Iron_Bug

а безопасность изначально пропихивалась для банков и иже с ними

Вы тут оба врете как очевидцы.

Когда в 1995-ом Sun стала пиарить Java, основная ниша у Java была в виде апплетов для Web-страниц. Т.е. явно продавалось, что Java-код будет загружаться на компы юзверей и там этот Java-код будет исполняться.

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

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

Уже после того, как Java 1.0 официально выпустили в свет, начался пиар Java как языка и для других ниш. Тогда заговорили о различных JavaOS, о написании офисных пакетов на Java и т.д. Начались эксперименты, наиболее удачным из которых оказался использование Java на server-side в Web-разработке. В результате чего уже Java и проникла в банки и иже с ними.

Причем чуть ли не главной причиной проникновения Java в банки была не столько безопасность, сколько то, что для прикладной разработки Java в банках подходила гораздо больше, чем C++ (особенно тогдашний C++). Ибо толпа криворуких кодеров за обозримое время могла на Java написать хоть что-то работающее, а вот на C++ – нет. Ну а в довесок к этому бонусом шла и безопасность.

Уровень развития Интернета в 1990-х в странах СНГ к популяризации Java в мире вообще никак не относится.

eao197 ★★★★★
()
Ответ на: комментарий от Mischutka

Пусть и теоретически, Ada может заменить C?

Всё что угодно может заменить что угодно.

С точки зрения бекенда компилятора все языки одинаковые.

Сишный рантайм тоже может быть написан на любом языке, а не только на С.

fsb4000 ★★★★★
()

В так называемом «комитете» сидят вредители, которые делают из языка какаху. Столяров был прав.

Reset ★★★★★
()
Ответ на: комментарий от eao197

Причем чуть ли не главной причиной проникновения Java в банки была не столько безопасность, сколько то, что для прикладной разработки Java в банках подходила гораздо больше, чем C++ (особенно тогдашний C++)

Спасибо, капитан. Именно это в цитате выше и написано по-нерусски. И про апплеты тоже. Правда с апплетами что-то пошло не так.

bread
()
Ответ на: комментарий от bread

Именно это в цитате выше и написано по-нерусски.

Мой комментарий относился не к цитате из 1998-го года, а к:

  • реплике Stanson-а о том, что про безопасность там не слова;
  • словам Iron_Bug о том, что безопасность Java продавали банкам и иже с ними.

Мне, как очевидцу этих событий, помнится именно то, что про безопасность Java заговорили еще в 1995-ом именно с точки зрения безопасности исполнения загруженного хз откуда кода на машине обычного юзверя.

ЗЫ. Да, и я тоже могу врать как очевидец.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Пропишите желаемое вами поведение в коде явным образом.

Так мне тут мне гении безопасного программирования уже х.з. сколько времени не могут рассказать, какое же именно поведение программы в целом при отвале диска будет желаемым. :)

Stanson ★★★★★
()
Ответ на: комментарий от eao197

Да, именно так.

Только «свернуть мозги набок» - это с вашей безумной аутичной точки зрения. Для меня это «заставить использовать мозг».

Ваша абстрактная теоретическая «безопасность» вовсе не является самой высшей ценностью, ради которой можно бездумно рушить поведение программы в целом.

За последнеие 20 лет прекрасно видно к какому звездецу приводит такой подход в совершенно различных областях человеческой жизни. И если мне удастстя заставить какого-нибудь студента использовать мозг, то может быть у человечества ещё будет шанс.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Вам все правильно говорят.

Это ведь вы должны понимать как вам быть, если у вас чтение завершилось неудачно. Не можете восстановиться после такой ошибки? Позовите abort. Можете восстановиться – обработайте ошибку.

Но не полагайтесь на UB.

Упорство, с которым вы отвергаете настолько очевидные вещи, мягко говоря, удивляет.

eao197 ★★★★★
()
Ответ на: комментарий от Stanson

Да, именно так.

Что «именно так»? То, что вы засираете мозги находящейся в вашем подчинении молодежи?

Только «свернуть мозги набок» - это с вашей безумной аутичной точки зрения. Для меня это «заставить использовать мозг».

Простите, это мозг вам вселяет уверенность в том, что read после успешного open не может завершиться ошибкой? Или в то, что UB в коде обязательно будет прерывать работу вашей программой.

Поясните, плиз, где здесь искать следы «использования мозга». А то пока не видно.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Вам все правильно говорят.

Да неужели. Ну давай посмотрим, что тут любители «безопасных» язычков и аутичные поклонники «правильного» программирования несколько дней подряд предлагают:

  • Открываем файл
  • Пытаемся читать, но не получается
  • А-А-А ОШИБКА БЕЗОПАСНОСТЬ!!!!11111 Срочно делаем return.

Ничего вообще совсем не настораживает? Их тупость и туннельное зрение прямо перед глазами на протяжении нескольких дней, и ни у кого из апологетов «безопасности» вообще ничего не зашевелилось в межушном ганглии. Роботы. Безмозглые роботы, действующие по всунутому чужими дядями в их голову алгоритму.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 4)
Ответ на: комментарий от eao197

Простите, это мозг вам вселяет уверенность в том, что read после успешного open не может завершиться ошибкой? Или в то, что UB в коде обязательно будет прерывать работу вашей программой.

Мда. Похоже человечеству кирдык.

Stanson ★★★★★
()
Ответ на: комментарий от Mischutka

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Reset

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

на самом деле, даже насчёт одной библиотеки я сомневаюсь. я помню, что где-то с год назад выпилила ада-компилятор из gcc и, по-моему, ничего не поломалось. у меня там только С и С++ и всё собирается им. может, какие-то неизменяемые годами библиотеки на ада и есть, но это надо специально искать. так, навскидку, я даже назвать ничего не смогу.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Stanson

Открываем файл Пытаемся читать, но не получается А-А-А ОШИБКА БЕЗОПАСНОСТЬ!!!!11111 Срочно делаем return.

Я вижу другое. Вам говорят:

  • Открываем файл
  • Пытаемся читать, но не получается
  • Вместо return или abort Stanson производит UB.

Т.е. Stanson, как типичный упоротый C-ник, производит говно, но убежден, что говно производят кто угодно, но не сишники.

И да, вы тут распинаетесь про какую-то картину в целом, которую никто не понимает. Это вот здесь вы эту самую картину целиком расписали:

В стандарт C предложено внести лямбды и defer из golang (комментарий)

?

eao197 ★★★★★
()
Ответ на: комментарий от Stanson

Мда. Похоже человечеству кирдык.

Если бы человечество состояло только из вас, ваша категоричность была бы оправдана. Но, к счастью, это не так.

Так где следы использования мозга искать? Покажите, плз.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Я ж говорю - беспробудная тупость робота заточенного на выполнение задачи из одного шага.

Открытый файловый дескриптор, например, кто закрывать будет?

Это просто эпичнейше же. :) И отлично демонстрирует непробиваемую тупость любителей «безопасных» язычков, которые на пустом месте умудряются ради «безопасности» мгновенно наплодить тонны говна.

У кого-то есть ещё вопросы, почему весь софт написанный на «безопасных» язычках - убогое, жирное тормозное говно, которое занимается чем угодно, кроме решения реальных пользовательских задач, и почему за десятилетия эти любители «безопасных» язычков так и не родили ничего стоящего?

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Хватит общих слов, красноречивый вы наш.

Есть конкретный вопрос:

=====

И да, вы тут распинаетесь про какую-то картину в целом, которую никто не понимает. Это вот здесь вы эту самую картину целиком расписали:

В стандарт C предложено внести лямбды и defer из golang (комментарий)

?

=====

Ответьте на него однозначно, можалуйста.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Вы даже вопрос правильно задать неспособны. :)

Я описал лишь одно из многих последствий, которые вы напрочь отказываетесь рассматривать.

Ни открытый дескриптор, ни судьба странного файла, ни причины его появления, ни последствия вашего бездумного аутичного решения сделать «безопасно» здесь и сейчас вас вообще никак не волнуют. :)

Поэтому вы за десятилетия существования ваших язычков для идиотов ничего стоящего так и не родили. Вы просто на это не способны. Из-за того самого «засирания мозгов», в котором вы почему-то обвиняете меня.

Цирк с клоунами. Клоуны в цирке. Как ни крути - получается смешно.

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.