![]() |
|
![]() ![]() ![]() |
|
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Кто чего хорошего может об этом перспективном языке сказать?
|
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Очередная попытка "облагородить" C++. Cборщик мусора, модули, отказ от препроцессора, множественного наследования...
Вряд ли он перспективный. Из "облагороженных" потомков С++ Вам должны быть прекрасно известны два языка, за которыми стоят крупные корпорации и не менее крупные сообщества разработчиков. В D особой нужды никто не испытывает. P.S. А пишут то о нём конечно красиво! ![]()
-------------------- |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: нет Всего: 315 |
kemiisto, ты знаешь, что эсперанто не допускает дублирования букв?
|
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
kemiisto, имеются в виду Java и C#? Если так, то у них тоже можно найти ряд недостатков, из-за которых D выглядит лучше.
|
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
2 bars80080
Если Вы про мой ник, смотрел в словаре. 2 $tatic Угадал! ![]()
"Огласите весь список!" ![]() -------------------- |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Применительно к разработке 3D-игр (мне это ближе):
В общем D призван заменить C++ в области высокопроизводительных и низкоуровневых приложений, а Java и .NET служат для других задач и в своих нишах C++ неплохо заменяют. |
|||
|
||||
kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Не думаю. Тогда б не было XNA Framework и XNA Game Studio.
В .NET есть! Игры тоже существуют только под Windows. За редким исключением.
Опять же, существование XNA говорит о том, что проигрыш в производительности не так велик. ... При этом D никогда уже не сможет занять ни первую, ни вторую нишу. Это ж ясно как день. С++ и Java/C# там крепко сели. imho -------------------- |
||||||
|
|||||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: нет Всего: 154 |
в D очень развитые возможности для метапрограммирования, спасибо Александресску
![]() но вообще я больше всего рассчитываю на новый стандарт С++ ![]() |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Да, я тоже на него рассчитываю. Может, наконец то, сложность языка С++ станеть столь огромной, что разработчики посмотрят в сторону языков с более продуманным дизайном. С++ — слишком большой и сложный язык. Я не знаю ни одного человека, который возьмётся утверждать, что он знает его полностью. А можно ли в такой ситуации доверять языку? Lazin, по Вашему опыту, сколько в среднем требуется лет, чтобы изучить С++? -------------------- |
|||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: нет Всего: 154 |
как будто я его до конца знаю...
![]() вот недавно, например, узнал, что если написать 2 строковых константы подряд они объединяются в одну
напечатает
прикольно ![]() |
||||
|
|||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Lazin, а смысл такой языковой "фичи"? Ну, да ладно, впрочем. Бог с ним с С++. Вернемся к нашим...
![]() $tatic, у Вас, судя по всему, есть опыт программирования на D. Ну и как Вы сами оцените язык ы целом? Это сообщение отредактировал(а) kemiisto - 1.8.2008, 21:49 -------------------- |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: нет Всего: 154 |
смысл в макросах:
удобно очень ![]() хотя вернемся к D... кто нибудь умеет на нем программировать? |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
kemiisto, к сожалению опыта пока нет - нет возможности DMD последней версии скачать :( А хотелось бы на нём 3D-движок затеять.
|
|||
|
||||
volte |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
А по рейтингу TIOBE Programming Community Index, этот язык довольно стабильно движется вверх.
Это сообщение отредактировал(а) volte - 2.8.2008, 21:10 |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
volte, во первых этот рейтинг... Ну, вообщем, он ни о чём ровным счётом не свидетельствует.
Да и к тому же: клац!
Вот так то. -------------------- |
|||
|
||||
volte |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
я сомневаюсь, что только продвижение языка D, является активным, а остальные языки ни каких шагов не проявляют. И другие с грешками. что насчёт рейтинга, то во многих статьях идёт ссылка именно к TIOBE, а это наверное не пустозвон, а проверенно и их рейтингом следует принимать во внимание если не как факт, то как один из самых уважаемых мнений. |
|||
|
||||
kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Возможно. Я таких не видел, а если б увидел, что по этому рейтингу в статье судят о популярности ЯП, сразу б читать перестал.
Нет, нет! Как раз таки надо принимать этот рейтинг как факт, т.е. количество запросов "x programming" по различным x. Но не более того. Любые попутки какой-либо иной интерпретации как минимум спорны. Это сообщение отредактировал(а) kemiisto - 3.8.2008, 20:44 -------------------- |
||||
|
|||||
volte |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
из источников был www.linuxcenter.ru, www.opennet.ru, www.rsdn.ru (это лишь те которые я часто использую) и другие...
интерпретировать результаты TIOBE... зачем? они сами признаются, что меряют информационный шум, а не востребованность. тем более как говорится, плохие измерения лучше отсутствия таковых. не нужно забывать, что самих владельцев TIOBE интересует не значения конкретных месячных показателей, а тенденции за длительный период, в которых всплески накрутки рейтинга фанатами какого-либо языка нивелируются длительностью измерений. Так что, как "шумомер" с большой долей погрешности TIOBE вполне адекватен, особенно если не выискивать в нем того, что туда не закладывали сами его создатели. Добавлено через 6 минут и 55 секунд А сам язык выглядит вполне съедобно ![]() ![]() |
||||
|
|||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
![]() Ох, знаете, очень, ну очень, спорный тезис. Спорный не только в рамках информатики. Имея некоторое отношение к научному сообществу (к химическому правда), уверяю Вас: то, что Вы написали - предмет постоянных споров. Есть некий метод, не дающий 100%-х результатов, но использовать альтернативные методы не представляется возможным по причине их отсутствия или высокой (не обязательно дененжной, а вычислительной, например) стоимости. Стоит ли пользовать такой метод? Нужны ли данные, достоверность которых неочевидна? Тут не всё так однозначно. Признаться, я ещё и сам для себя до конца не решил, чью сторону занять. А за эту информацию будьте любезны кругленькую сумму! Нехорошо. Капиталисты, блин... ![]() P.S. Прошу прощенья за ![]() Добавлено через 5 минут и 58 секунд Пожалуйста! Очень интересный сайт! Это сообщение отредактировал(а) kemiisto - 3.8.2008, 22:37 -------------------- |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
kemiisto, только лучше имхо брать компилятор DMD.
|
|||
|
||||
volte |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 30.6.2008 Репутация: нет Всего: нет |
Судя по тестам, D вполне подойдёт для постепенного вытеснения С++ в новых проектах
![]() |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Мультилайн-запись строк в первую очередь:
Предполагается, что aaa и bbb очень длинны. |
|||
|
||||
source777 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
По правде говоря, Garbage Collector вызывается либо когда заканчивается ОЗУ, либо когда завершается программа, либо вручную, так что ничего он не замедляет кроме завершения работы приложения разве что... Все критичные к освобождению ресурсов места по прежнему управляются вручную при помощь Dispose да using.
Про остальные пункты уже сказали... На мой взгляд единственным "недостатком" осталось, то что в C# шаблоны - динамические, а в D - статические. Но тут уж вопрос спорный, что лучше? Говорится: Уж лучше голодай, чем что попало есть, и лучше будь один, чем вместе с кем попало. (с) Омар Хайям Во много раз лучше отсутсвие всяких рейтингов, чем присутсвие такого бреда как Tiobe... Это сообщение отредактировал(а) source777 - 4.8.2008, 14:53 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||
|
|||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
||||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Тут скорее надо упор делать на скорость работы с вещественными типами, это гораздо более узкое место, чем доступ к памяти. P.S. Кстати хочется отметить, что D - весьма хорошая замена С++ для тех кто ещё до сих пор пользуется этим самым С++. Ну а для тех, кто уже перешёл на .NET | Java, он никаких существенных преимуществ не даёт. + ему не хватает крупной компании в роли двигателя, если у Java есть Sun, у C# - MS & Novell, то у D только Digital Mars, этого маловато чтобы раскрутиться для полноценной конкуренции. Это сообщение отредактировал(а) source777 - 4.8.2008, 20:59 -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Ну, во-первых, приходится сортировать и обсчитывать объекты огромных современных игровых уровней. При сортировке оптимизация крайне желательна, т.к. это сильно влияет на фпс. Во-вторых, существует потребность быстро загружать данные с диска в память видеокарты (есть даже пейпер Fast Texture Transfers), а это проще всего сделать, если маппить подготовленный на видеокарте буфер и напрямую читать в него файл с диска (OpenGL), либо маппить файл в память с помощью команд ОС. Если принять во внимание технологию мегатекстур, то там крайне важно быстро считывать данные из файла мегатекстуры, т.к. её невозможно загрузить целиком. Быстрый расчёт вещественных чисел, разумеется, тоже важен, в D также есть для этого все средства, включая встроенный x86-ассемблер. Вот как альтернатива C++ язык D очень хорош, по крайней мере у него я вижу только два недостатка - мало литературы и куча плюсовых проектов. |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
Откуда такие сведения? По моим наблюдениям (профайлинг в NetBeans Profiler) Garbage Collector в циклическом приложении периодически включается и подбирает созданные в цикле объекты. Это хорошо видно по пилообразному графику потребления памяти. GC активируется примерно каждые 5 секунд. |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Согласно Рихтеру:
Т.е. в случае твоего приложения, это вариант, когда приложение беспрерывно создаёт новые объекты... Если бы ты вынес процедуру создания объектов из цикла, то сборшик мусора не проявил бы активности... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
source777, это понятно, но меня интересуют именно игры, а там, естественно, всё зациклено... Но интересно тогда, чем процесс сборки мусора в JRE отличается от такового в CLR.
|
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Добавлено через 42 секунды P.S. Про JRE не знаю, жди джавистов... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
source777, понятно, что большинство "тяжелых" объектов не меняется, но циклически могут создаваться мелкие рабочие объекты... Также следует помнить о динамических подгрузках уровня.
|
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: нет Всего: 32 |
Зайдите на сайт www.visual3d.net, посмотрите демки, ознакомьтесь с возможностями... -------------------- I don't need a reason being who I am... |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
$tatic, ты пытаешься найти проблемы там где их нет, и делаешь вид что нашёл не утруждая себя ознакомлением с мат.частью, это бессмыслено и при таком подходе тебе никакой ЯП не поможет, ибо "серебряной пули" нет. Тем более что в твоём вопросе уже разобрались профессионалы 3D-программирования, у них получилось, насколько я помню, что Managed DirectX + C# на 20-30% медленнее, чем DirectX + C++.
C XNA насколько я понял дела обстоят ещё лучше, поэтому на твоём месте надо разобраться сначала в вопросе, а потом уж проводить сравнения. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: нет Всего: 22 |
source777, ну значит скорость работы D+DX примерно на 10% выше, чем C#+XNA
|
|||
|
||||
UnrealMan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: нет Всего: 32 |
Он уже несколько лет всего лишь "перспективный язык", этим всё сказано ![]() Добавлено через 6 минут и 42 секунды Кстати, что касается быстродействия, то вы не забывайте, что в C++09 будет поддержка семантики перемещения (пока что отсутствие таковой в C++ - это, IHMO, единственный серьёзный минус, негативно сказывающийся на производительности). |
|||
|
||||
maggot |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 15.1.2007 Репутация: нет Всего: нет |
Так рассуждают люди, которые не смогли осилить С++. На самом деле, с новым стандартом туда добавят многое, чего не хватало в текущем. И дизайн там вполне продуманный за исключением, конечно, макросов и некоторых других анахронизмов. Время изучения языка С++ зависит от начальной подготовки обучаемого и от его способностей. Есть такие, которые даже Си выучить не могут. Я считаю, за год можно не напрягаясь выучить. Это если не пытаться поставить рекорд, но и просто не отвергать С++ как язык программирования. Если интересно узнать своё знание С++, можно пройти тест на Brainbench. Вообще они стоят денег, тк сайт буржуйский. Но вот, там есть бесплатный тест http://www.brainbench.com/xml/bb/common/te...xml?testId=2752 PS А вообще будущее за функциональными ЯП. ![]() |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 1 Всего: 160 |
Так рассуждают люди, которых бог/судьба/... миловал(а), и их путь в мире программирования проходит в стороне от шумной магистрали C/C++/Java. Люди эти ни сколько об этом не жалеют, а даже, напротив, ... Ладно, оставим эту избитую тему... Одно другому не мешает? Видимо при принятии предыдущего стандарта дизайн продумать не удалось, коль скоро "добавят многое, чего не хватало"? Почему же, Вы надеетесь, что в этот раз, всё будет продумано? За чем, простите? ![]()
Ба! Как же раньше удавалось писать программы без этой штуки?! Это хоть что за зверь такой? Это сообщение отредактировал(а) kemiisto - 17.9.2008, 01:15 -------------------- |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Только вот придется библиотеки ВСЕ переписывать. Перепишешь мне на D все используемые мной библиотеки для C++? ) Начни, пожалуйста, с Qt. И документацию тоже) |
|||
|
||||
Suliman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 24.7.2011 Репутация: нет Всего: нет |
Кстати открылся официальный русский сайт языка программирования D http://dlang.ru/
|
|||
|
||||
ТарасАтавин |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Хоть бы что нибудь одно что ли выбрали: или низкоруовневость, или c, а то получается:
- Это кто к нам пришёл? - Я мистер Рочестер гвардеец кардинала. Добавлено @ 13:48
Добавлено @ 13:53
Добавлено через 9 минут и 4 секунды Не только, а даже. И появились за долго до идеи написать виндоус. Добавлено через 11 минут и 9 секунд Не знаю ни одного языка проще. Это сообщение отредактировал(а) ТарасАтавин - 30.11.2013, 13:53 -------------------- Не так всё плохо, как оно есть на самом деле. |
||||
|
|||||
drug007 |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 3.11.2011 Репутация: нет Всего: 1 |
Понекромансю
![]()
Это уже далеко не тот язык, что был несколько лет назад. Язык динамично развивается, при этом очень стараются не ломать уже существующий код.
D очень хорошо сочетает императивщину и функциональщину. По мне так в нем проще и быстрее прочувствовать прелесть функциональщины оставаясь в привычном С++ подобном мире. Плюсам тут D, кстати, не догнать по определению, ибо иммутабельность если еще можно как-то к плюсам прикрутить, то транзитивность const и immutable уже не прикрутишь не сломав код.
D практически в совершенстве владеет линковкой с сишными библиотеками, биндингов не нужно. Поддержка плюсов ограничена, но присутствует. Вот недавно добавили поддержку неймспейсов и будут прикручивать поддержку шаблонов. Так что биндинги будут все проще и проще. По шаблонам плюсы просто "ниочем" в сравнении с D. Я, собственно, плюсовые шаблоны стал понимать после дишных. ![]() Qt с их мок-компилятором и всей своей жирностью как бе намекает, что в дизайне языка (я про плюсы) изначально много пробелов. И биндинги к куте непростая вещь в связи с этим. GTK в этом плане рулит. А документацию можно родную использовать.
А зачем деструкторы, если используется ГЦ, в котором время сборки мусора не детерминировано? Там финализаторы вроде как есть. Плюсы сложны как раз в своей непродуманности. Они как ящик с инструментом на все случаи жизни. Причем порой инструменты дублируют друг друга частично, иногда конфликтуют и их куча. Отсюда сложность языка, которой можно было бы избежать. |
||||||||
|
|||||||||
![]() ![]() ![]() |
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |