The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Ричарда Столлман опубликовал книгу по языку Си и расширениям GNU, opennews (ok), 07-Сен-22, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


4. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  –22 +/
Сообщение от Аноним (4), 07-Сен-22, 10:18 
Я вот лично не понимаю, какой толк сегодня писать на Си. Когда то Си был компромиссом между ЯВУ и асмом. Когда пишешь на асме код конечно получается более компактным, но при этом надо делать много лишней работы. Например думать о распределении регистров. А тут вроде как и на ЯВУ пишешь и код компактный и быстрый получается. Но о быстроте в наше время говорить уже нет смысла, т.к. любой компилятор умеет оптимизировать гораздо лучше, чем человек. Остается только компактность. Насколько я понимаю, в Си нет райнтайма как такового, из за чего код до сих пор может влазить в килобайты/мегабайты памяти. Но это же очень узкий круг девайсов. Это только для прошивок каких-то и микроконтроллеров.
Ответить | Правка | Наверх | Cообщить модератору

8. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +10 +/
Сообщение от Аноним (8), 07-Сен-22, 10:20 
>Например думать

конечно надо язык где думать вообще не надо.

Ответить | Правка | Наверх | Cообщить модератору

11. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (4), 07-Сен-22, 10:27 
Я писал на ассемблере очень много. Это сейчас в 64х битных процах дофига регистров. А раньше их было только 7. И естественно, что регистры - это самая быстрая память в компе. Так что желательно хранить как можно больше информации именно в них. Но постоянно думать о том, что же оставить в регистрах, а что выкинуть в память - это тот еще геммор. И в какой-то момент я просто осознал, что думаю об этой проблеме больше, чем собственно об алгоритме работы моей программы. Это неправильно.
Ответить | Правка | Наверх | Cообщить модератору

15. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (15), 07-Сен-22, 10:33 
То ещё CISC был и оптимизации кода были очевидны, поскольку была очевидна работа простых процессоров. Под современные суперскалярные процы, RISC-процессоры, и уж тем более всякие VLIW кодить на асме в принципе невозможно.
Ответить | Правка | Наверх | Cообщить модератору

129. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +3 +/
Сообщение от Аноним (129), 07-Сен-22, 13:24 
Под логичный и симметричный RISC типа ARM програмить так то сильно приятнее чем под облепленого легаси урода с переусложненным набором команд типа x86 какого. При том вот именно x86-32 еще и по регистровому файлу и режимам адресации урод полный, в 64 битах немного попустило, но на нормальный проц оно похоже достаточно условно.
Ответить | Правка | Наверх | Cообщить модератору

130. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от Аноним (130), 07-Сен-22, 13:25 
На асме ключевые узкие по перфомансу места вручную кодить вполне себе можно, полностью конечно никто всю программу писать не будет.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

225. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (225), 07-Сен-22, 20:33 
> Под современные суперскалярные процы

Суперскаляры можно и не уполминать уже.

Современные суперскаляры вырождаются в буквальном смысле этого слова в RISC. Там RISC-ядра с эмуляцией инструкций для обратной совместимости.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

301. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (301), 08-Сен-22, 20:10 
Но uCode ROM и "декомпрессия" сложных опкодов в подпрограммы блоков выполнения остались...
Ответить | Правка | Наверх | Cообщить модератору

41. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Анонус (?), 07-Сен-22, 10:59 
>конечно надо язык где думать вообще не надо

Это не так смешно, как тебе хотелось бы. Компьютеры для того и существуют, чтобы облегчать мышление.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

59. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от Cradle (?), 07-Сен-22, 11:30 
Не совсем. Потому что, велосипеды существуют чтобы помочь проехать дальше, но не обязательно легче.
Ответить | Правка | Наверх | Cообщить модератору

158. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (158), 07-Сен-22, 14:41 
> Не совсем. Потому что, велосипеды существуют чтобы помочь проехать дальше, но не
> обязательно легче.

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

Ответить | Правка | Наверх | Cообщить модератору

71. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +7 +/
Сообщение от Diozan (ok), 07-Сен-22, 11:44 
Облегчить можно душу. Самому облегчиться. А мышление рационализировать. Рутину свалить компьютерам, а самому заняться более высокими категориями...
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

122. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  –1 +/
Сообщение от InuYasha (??), 07-Сен-22, 13:11 
Как бы я ни был олдсуклен и уверен что каждый ув себя программист должен знать как его код работает, но, всё же, отношу дрочево с регистрами именно к рутине. Причём, длительной и трудоёмкой.
Ответить | Правка | Наверх | Cообщить модератору

101. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +3 +/
Сообщение от Аноним (101), 07-Сен-22, 12:38 
> чтобы облегчать мышление

Великолепная фраза. Вы сделали мой день.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

131. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (129), 07-Сен-22, 13:26 
Зато честно сказал чем кормят вас многие кодеры с аргументом "зато накодил это ... за час".
Ответить | Правка | Наверх | Cообщить модератору

108. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от bOOster (ok), 07-Сен-22, 12:46 
Однако, у компьютера появился "разум"???

Облегчать РЕШЕНИЕ, а не мышление.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

109. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Michael Shigorinemail (ok), 07-Сен-22, 12:46 
Даже IBM додумались до "машина должна работать, а человек -- думать".

А мышление "облегчают" скорее комиксы и прочая подобная примитивизация, лишающая человека собственно поводов задуматься, как мне сдаётся.  И то именно что в кавычках, Diozan в #71 хорошо сказал.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

438. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (438), 04-Ноя-22, 04:29 
> "машина должна работать, а человек -- думать".

Человек должен думать, безусловно, но он не должен думать за машину. Задача человека - эффективно переписать бизнес-задачу (извините уж за тавтологию) на языке программирования. А я напомню, что платят программистам именно за решение бизнес-задач, а не за абстрактный байтодроч. Объяснять "переложи вот этот байтик туда и не забудь вытереть ж^Hпамять - это как раскладывать джуну (я не уверен, эвфемизм я употребил или нет) по полочкам все малейшие действия. Никто не берёт на работу вечных джунов, но почему-то многие всю жизнь пишут на языках, которые ведут себя именно так.


> А мышление "облегчают" скорее комиксы и прочая подобная примитивизация, лишающая человека собственно поводов задуматься, как мне сдаётся.

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

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

Ответить | Правка | Наверх | Cообщить модератору

272. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Первая буква (?), 08-Сен-22, 09:13 
Как раз и нет. Их задача - выполнять огромное количество однотипных операций в минимальную единицу времени. А все ваши пресловутые ИИ, нейросети и т.д. - это как раз таки и перебор базы готовых решений (очень грубо). Компьютер убирает рутину, но думать легче от этого не становится.
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

152. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Анан00230 (?), 07-Сен-22, 14:02 
Выдирать фразы из контекста и громко в лоб отвечать на соломенное чучело... Фу так делать
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

13. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +6 +/
Сообщение от Аноним (15), 07-Сен-22, 10:30 
Реальность такова, что прогресс электроники заканчивается, а сложность вычислений растёт. Поэтому всю работу по оптимизации в очередной раз скинут на программиста, которому снова придётся выучить низкоуровневые языки и фреймворки. Посмотрите на OpenGL -> Vulkan, типичный пример как за счёт многократного увеличения сложности API удалось увеличить производительность на несколько десятков процентов.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

85. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +2 +/
Сообщение от User (??), 07-Сен-22, 12:18 
Беда в том, что на объёмах, превышающих hello, world! Компилятор оптимизирует лучше человека.
Ответить | Правка | Наверх | Cообщить модератору

200. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (200), 07-Сен-22, 18:15 
А кто его этому научил?
Ответить | Правка | Наверх | Cообщить модератору

89. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  –1 +/
Сообщение от Аноним (82), 07-Сен-22, 12:23 
Ничего страшного, после элетроники придёт оптика.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

302. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (-), 08-Сен-22, 20:18 
> Ничего страшного, после элетроники придёт оптика.

Этой сказке лет наверное 30, если не 50. И хотя в ней есть определенный пойнт, в электронных системах многие вещи делаются сильно проще, оптика "напрямую" дико неэффективна, а не напрямую оверхед от конверсии одного в другое убивает весь смысл возни наповал. В результате пока оптика живет только в скоростных коммуникациях, и даже там имеет свой ацкий минус в виде диких неудобств при работе с оптоволокном по сравнению с медными проводами.

К тому же с частью проблем "электрических" интерфейсов научились бороться. А, надо перезаряжать емкости? Окей, но современные интерфейсы не пытаются перезаряжать весь кабель, они его на манер больше напоминающим волновод используют. А то что это не в световом диапазоне - делает все сильно удобнее. Поэтому какой-нибудь USB4 делает цать гигабитов и по меди, заодно, кстати, его научили и наконец интерконекту систем напрямую. Так что пока соплежуи из IEEE будут думать как гигабитный эзернет дешево заапгрейдить "для всех" а не только ДЦ, usb4 сделает их obsolete.

Ответить | Правка | Наверх | Cообщить модератору

28. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (28), 07-Сен-22, 10:47 
Когда-то Си был единственным компромиссом асму. На всём другом Юникс плохо получалось написать.  
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

84. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  –2 +/
Сообщение от Аноним (82), 07-Сен-22, 12:17 
>Остается только компактность.

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

>Насколько я понимаю, в Си нет райнтайма как такового

А crt.o тогда что такое?

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

151. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (-), 07-Сен-22, 14:00 
> А crt.o тогда что такое?

Startup какой-нить. Он так-то опция, начиная с C99 режим freestanding регламентирован, и в нем может быть вообще совсем нихрена. Есть только один мелкий нюанс: у си есть все же некие ожидания от окружения. И вообще совсем без стартапа - окей, а эти ожидания как заимплементятся? В некоторых случаях можно выпендриться и сделать это прямо на си, однако этот кусок кода будет работать с нестандартными допущениями насчет среды выполнения, и это катит не на любом проце.

Ответить | Правка | Наверх | Cообщить модератору

205. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от аНОНИМ (?), 07-Сен-22, 18:37 
На stm32 стартап прекрасно пишется на самом си, на нём же пишется и например таблица векторов прерываний (помогает ещё и линкер тут со своими weak символами, естественно). Правда, интринсики из CMSIS нужны, ну так они везде нужны, и внутри себя они по сути - инлайновый асмовый код (точнее пара-тройка команд). Весь проект может не содержать ни строчки руками написанного асма.
Ответить | Правка | Наверх | Cообщить модератору

277. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (277), 08-Сен-22, 10:19 
> На stm32 стартап прекрасно пишется на самом си, на нём же пишется
> и например таблица векторов прерываний (помогает ещё и линкер тут со
> своими weak символами, естественно).

Да, в cortex M ядро проца дружественно к таким начинаниям. И, кстати, я тоже все это умею :P.

> Правда, интринсики из CMSIS нужны, ну так они везде нужны,

Можно и без всего этого при должном желании, я проверял. И даже совсем без асма и интринсиков можно по минимуму, но mmaped регистрами IRQ все же разрешать-запрещать канительно, CPSID I (aka __disable_irq()) 1 команда, сильно эффективнее.

> и внутри себя они по сути - инлайновый асмовый код (точнее пара-тройка команд).

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

> Весь проект может не содержать ни строчки руками написанного асма.

Да, и это прикольная фича Cortex M. Правда я так и не понял почему некоторые регистры через память не адресабельны, только спецкомандами, коли уж задались вон той целью. А так да, удобно когда хэндлеры с тем же ABI что и просто функции.

Ответить | Правка | Наверх | Cообщить модератору

87. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от User (??), 07-Сен-22, 12:23 
Грехи отцов падут на детей. Поддержка legacy с нами ещё долго останется
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

90. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-22, 12:24 
>Например думать

плохой тренд задаете, "программист не должен думать", дожили.

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

150. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от Анан00230 (?), 07-Сен-22, 14:00 
Проблема не в том должен программист думать или не должен. Проблема в том что программист продолжает думать над задачами, которые уже по факту имеют хорошее типовое решение, ничем не отличающееся по качеству от того, над которым он усердно думает.
Это еще более-менее может быть понятно в образовательных целях, но когда это происходит на постоянной основе в production коде, вот тогда и появляется ощущение что вся индустрия it мягко говоря растрачивает интеллектуальные  ресурсы попусту
Ответить | Правка | Наверх | Cообщить модератору

228. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +1 +/
Сообщение от Sw00p aka Jerom (?), 07-Сен-22, 21:00 
>типовое решение, ничем не отличающееся по качеству от того, над которым он усердно думает.

долго надо было думать, чтобы написать left-pad? вот и типовое решение которое акнулось

Ответить | Правка | Наверх | Cообщить модератору

116. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  –1 +/
Сообщение от Ivan_83 (ok), 07-Сен-22, 12:52 
Только вместо яву можно подставить что угодно, в мою молодость там было паскаль, потом делфи и вижал бейсик.
Всё сдохло, С остался.

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

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

140. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от InuYasha (??), 07-Сен-22, 13:41 
Четверть?? Что-то мало :)
Ответить | Правка | Наверх | Cообщить модератору

265. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Ivan_83 (ok), 08-Сен-22, 07:56 
Там шрифтов штук 50, и ещё всякие разные пакеты, питона штук 30 и хз чего ещё и на какой экзотике.
Ответить | Правка | Наверх | Cообщить модератору

203. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от аНОНИМ (?), 07-Сен-22, 18:34 
Далеко не любой (точнее никакой не) компилятор умеет оптимизировать лучше человека. Пишем ну например реализацию какого-нить sha1 или sha256 на си на интринсиках из SHA-NI, и получается у нас медленнее чем ручно-асмовый код в openssl. Ручными (!) унроллами циклов и перестановками операций можно чуть поднять быстродействие, но всё равно будет медленнее openssl. Из той же оперы и какой-нить ffmpeg, где практически все иннерлупы жатия видео -- на асме.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

278. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (277), 08-Сен-22, 10:23 
Как бы это сказать? Какой-нибудь LTO иногда глобальным анализом может такое навернуть, что человек бы вообще не додумался бы. Возьмет и аннулирует 80% функции доказав что эта часть никогда не вызывается при использовании как тут. Да еще смержит с 2 похожими наполовину. Вручную так делать мало кто захочет - "хакерский" мегаоптимизнутый код читать будет невозможно. Но в кодогенераторе при оптимизации все это не проблемы человека уже.

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

Ответить | Правка | Наверх | Cообщить модератору

286. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от n00by (ok), 08-Сен-22, 11:36 
sha1 оптимизируется вот так:

         t < 20 ?  (c ^ d) & b ^ d      // b & c | ~b & d
       : t < 40 ?  b ^ c ^ d
       : t < 60 ?  (c | d) & b | c & d  // b & c | b & d | c & d
       :/* < 80 */ b ^ c ^ d;

но почему-то не везде.

Ответить | Правка | К родителю #203 | Наверх | Cообщить модератору

303. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (-), 08-Сен-22, 20:21 
А эта конструкция точно имеет постоянное время выполнения, не зависящая от входных данных?

Если нет - оно будет дико течь тайминги, давая зеленый свет тайминг атакам всех мастей и направлений. Учитывая что SHA1 и так то на ладан дышит (коллизию на заказ подогнать стоит примерно ~$30k) - это такое знание древних которое уже не очень актуально стало. Ладно бы еще SHA256 оптимизили..

Ответить | Правка | Наверх | Cообщить модератору

331. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от n00by (ok), 09-Сен-22, 09:47 
Эта конструкция при прочих равных исполняется быстрее эталонной из FIPS, поскольку уменьшено количество операций. Писалась она во времена, когда sha1 ещё считался приемлемым и повсюду работали варианты из комментария.
Ответить | Правка | Наверх | Cообщить модератору

358. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Аноним (-), 10-Сен-22, 12:36 
> Эта конструкция при прочих равных исполняется быстрее эталонной из FIPS, поскольку уменьшено
> количество операций. Писалась она во времена, когда sha1 ещё считался приемлемым
> и повсюду работали варианты из комментария.

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

Ответить | Правка | Наверх | Cообщить модератору

368. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от n00by (ok), 10-Сен-22, 13:37 
Если кто забыл начало ветки - так она началась с «зачем нужен Си, когда компиляторы умнее людей», а подветка - с оптимизаций sha1 путём раскрутки циклов и ещё какой-то механической по сути работы. А там выше я написал то, что каждый из экспертов по оптимизации мог бы прочесть например у Генри С.Уоррена. Может ли компилятор произвести такое преобразование? Вот что имеет смысл по теме. Насколько понимаю, sha1 не считается стойким криптопреобразованием более десяти лет, так что и говорить об алгоритме в этом контексте не приходится.
Ответить | Правка | Наверх | Cообщить модератору

258. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от Тот_Самый_Анонимус (?), 08-Сен-22, 04:31 
>Я вот лично не понимаю

Цитаты великих.

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

326. "Ричарда Столлман опубликовал книгу по языку Си и расширениям..."  +/
Сообщение от myhand (ok), 09-Сен-22, 05:58 
> Например думать

Ну, тут уже оттоптались.

> о быстроте в наше время говорить уже нет смысла

Рука тянется к наградному парабеллуму...

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру