OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 05:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 02 Сентябрь, 2007 15:18 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
В отчетах из Белоруссии (А.Б.Кондратович, П.А.Шакель) есть любопытная фраза о том, что школьники, уже имеющие опыт программирования на старом Паскале, демонстрируют "раздражение" в начале работы в Блэкбоксе. "Раздражение" потом проходит, но полезно понять -- о чем же именно оно говорит?

Можно утверждать, что подобное "раздражение" субъекта говорит о следующем (для краткости речь идет о "старом Паскале", хотя все это применимо и к другим языкам, а также средам, а также и не только к программированию):

1) Субъект связывает свою положительную самооценку с умением программировать, причем:

2) Программирование для него -- это именно программирование на старом Паскале. Т.е. субъект интернализовал правила программирования на старом Паскале, его программистское мышление -- это мышление в правилах старого Паскаля, и его положительная самооценка ("warm feeling inside"--"теплое чувство удовлетворения") проецируется и на все детали привычного инструмента, в том числе второстепенные или даже дефекты.

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Сентябрь, 2007 07:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Фёдор Васильевич, вы как-то рекомендовали книгу по психологии, но только я её название забыл, не подскажете ещё раз?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Сентябрь, 2007 09:17 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Сергей Губанов писал(а):
Фёдор Васильевич, вы как-то рекомендовали книгу по психологии, но только я её название забыл, не подскажете ещё раз?


Вообще-то, я когда-то просто взял и прочел комплект учебников общих вводных курсов психфака МГУ (типа как матан у физматематиков), и потом много всего.

Вероятно, самое сильное впечатление осталось от нобелеата Конрада Лоренца ("Агрессия").

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

Ох, "много буков" у них, психологов... я бы подсократил...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 03 Сентябрь, 2007 12:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Сергей Губанов писал(а):
Фёдор Васильевич, вы как-то рекомендовали книгу по психологии, но только я её название забыл, не подскажете ещё раз?


Вот еще отличная книга с ближней полки:
Э.Аронсон. Общественное животное. Введение в социальную психологию. перевод: 1998.

Эту я немного поздно приобрел -- уже был переевши психологии. Но книга из категории "если выбрать одну".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Сентябрь, 2007 16:50 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Друг прислал:
Цитата:
Однажды ученик спросил:
- Скажите, Учитель, как вы пришли к буддизму?
На что был получен ответ:
- Когда-то я занимался объездкой скакунов и считался одним из лучших в своем ремесле. А в буддизм «пришел», когда меня лягнул осел...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Сентябрь, 2007 18:49 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вспомнилось на ассоциации :-)
Цитата:
Двадцать лет Лу Бань учился убивать страшных драконов. Когда же он овладел этим искусством в совершенстве, то оказалось, что драконов в природе не существует. И тогда Лу Бань начал учить этому искусству других...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 05 Сентябрь, 2007 20:46 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Цитата:
А "раздражение" возникает потому, что при первых попытках работы с новым инструментом, некоторые автоматические навыки (в т.ч. мыслительные) перестают срабатывать, субъект "запинается" и ощущает это как крушение, условно говоря, любимой картинки себя как "крутого программера".

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

Решение тут только одно - осваивать несколько языков программирования из разных семейств (например, Оберон, Си и Бейсик). Язык программирования - это не самоцель, а "всего лишь" надстройка над Ассемблером, резко облегчающая труд.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 05 Сентябрь, 2007 20:56 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
ScrollLock писал(а):
Цитата:
...Язык программирования - это не самоцель, а "всего лишь" надстройка над Ассемблером, резко облегчающая труд.


Нутром чувствую, что язык имеет отношение к картине мира, структурированию мышления и всяким-разным моделям реальности. Разные записи тождества "=" или "==", наверное, не просто символическая запись, а, похоже, отражение разных способов восприятия (а не только выражения) реальности. Филиокве, короче.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 09:53 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Язык, несомненно, есть из числа важнейших инструментов мышления.

Многоязычность остроактуальна, когда языки корявые -- чтобы "отвязать" внутренние представления в голове от случайностей воображения их авторов.

Но все-таки эффективнее с самого начала взять язык, в котором все эти случайности вычищены. Ну и, конечно, потом полезно еще на что-то посмотреть в ИТ-кунсткамере.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 10:33 

Зарегистрирован: Пятница, 29 Июнь, 2007 12:16
Сообщения: 98
Цитата:
Нутром чувствую, что язык имеет отношение к картине мира, структурированию мышления и всяким-разным моделям реальности.

Это нутром почувствовали еще Сепир с Уорфом и еще стадо философов. Раздражение же возникает по двум причинам:
1. Действительно когда всесто знакомых и привычных конструкций впаривается что-то другое, это всегда не очень приятно. Скажем отсутствие слова class меня сперва нервиаровало, а проклятый case sensitive до сих пор достает(правда уже значительно меньше).
2. Простую програму в идеологии Оберона написать сложнее чем на какой-нибудь Се. Когда структура усложняется - там появляются плюшки, но самю простую оказывается сделать дольше.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 10:36 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Иван Кузьмицкий писал(а):
Нутром чувствую, что язык имеет отношение к картине мира, структурированию мышления и всяким-разным моделям реальности. Разные записи тождества "=" или "==", наверное, не просто символическая запись, а, похоже, отражение разных способов восприятия (а не только выражения) реальности. Филиокве, короче.
Что такое филиокве я не знаю, но вот что скажу:

"=" и "==" не имеют смысла сами по себе. Вот возмём такие радикально разные языки, как всем известный Си и чистый ФЯ Хаскелл. Что с того, что эти "=" в них похожи? Ведь за ними стоит совершенно разный смысл: в Си "=" - операция присваивания, в Хаскелле - декларация математического тождества левой и правой части уравнения... А "==" в обоих языках - одинаковая перегруженная операция сравнения на равенство (так как "=" занято), но устройство у них разное...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 11:16 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Цитата:
Многоязычность остроактуальна, когда языки корявые -- чтобы "отвязать" внутренние представления в голове от случайностей воображения их авторов.

Она всё равно актуальна - т.к. на практике никогда не будет монополии одного языка и есть задачи, когда "корявый" Visual Basic намного удобнее простого и элегантного Оберона или компактного и низкоуровневого Си.

Цитата:
Но все-таки эффективнее с самого начала взять язык, в котором все эти случайности вычищены.

Или заменены авторскими ;)? С моей точки зрения использование := и ключевые слова на CAPS LOCK - такая же случайность (причём неочевидная и неэргономичная), как и == и обилие фигурных скобок. Нормальный компилятор Си выдаёт warning на = в if-ах (при культурной работе можно поставить опцию "с warningами не линковать")!

Да и отсутствие отладчика - тоже случайность, вызванная какими-то надуманными и странными идеологическими обоснованиями. Процессоры Intel - одни из лучших в мире и в них предусмотрена аппаратная поддержка отладки с 1985 года (и даже раньше!) , а в таких развитых ОС, как Windows и Linux - API для отладчиков. Сомневаюсь, чтобы их разработчики были глупее разработчиков Oberon и BlackBox.

Цитата:
Ну и, конечно, потом полезно еще на что-то посмотреть в ИТ-кунсткамере.

Увы, практика показывает, что разработчики новых и популярных языков (Java, PHP) берут не паскалеподобный или бейсикоподобный синтаксис, а конструкции языка Си. Практика - критерий истиности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 11:28 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Так-так...

Модераторы уже предчувствуют "точку кипения" в 120-й раз, по тем же вопросам... :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 12:09 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
ScrollLock писал(а):
Сомневаюсь, чтобы их разработчики были глупее разработчиков Oberon и BlackBox.

При чём здесь "глупее" или "не глупее"? Даже самый большой ум можно потратить, работая в неправильном направлении. Например, сделали мало понимающие в софте люди процессор с аппаратной возможностью отладки, а потом других людей начальство заставило эту возможность поддерживать и писать соответствующие API. Очень часто одна ошибка ведёт ко второй и далее к третьей, а тому, кто волею судьбы уже идёт по этой колее, приходится платить по чужим счетам, каким бы умным или глупым он ни был. Всё, что ему остаётся, - это не совершать новых ошибок.
Разработчики Oberon и BlackBox шли своей дорогой, у них не было наследия чужих ошибок. При чём здесь "умнее" или "глупее"?

ScrollLock писал(а):
Практика - критерий истиности.

Так, интересно. Кто нам перечислит остальные возможные критерии истинности?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 13:14 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Geniepro писал(а):
Иван Кузьмицкий писал(а):
Нутром чувствую, что язык имеет отношение к картине мира, структурированию мышления и всяким-разным моделям реальности. Разные записи тождества "=" или "==", наверное, не просто символическая запись, а, похоже, отражение разных способов восприятия (а не только выражения) реальности. Филиокве, короче.
Что такое филиокве я не знаю, но вот что скажу:

"=" и "==" не имеют смысла сами по себе. Вот возмём такие радикально разные языки, как всем известный Си и чистый ФЯ Хаскелл. Что с того, что эти "=" в них похожи? Ведь за ними стоит совершенно разный смысл: в Си "=" - операция присваивания, в Хаскелле - декларация математического тождества левой и правой части уравнения... А "==" в обоих языках - одинаковая перегруженная операция сравнения на равенство (так как "=" занято), но устройство у них разное...


Про "филиокве" - это был намёк на православие и католичество :)
Насчёт "=" - возьмите любого школьника, и попытайтесь ему объяснить, зачем тождество надо записывать символом "==", когда есть символ "=". А, ну да, "=" занят под присваивание. А что такое присваивание, это разве тождество? Нет. Зачем тогда обозначать этот смысл общепринятым, культурным символом тождественности? Обман, проистекающий из якобы эргономичности. Это две разные модели реальности. Опыт на школьнике прекрасно показывает.

Цитата:
Да и отсутствие отладчика - тоже случайность, вызванная какими-то надуманными и странными идеологическими обоснованиями. Процессоры Intel - одни из лучших в мире и в них предусмотрена аппаратная поддержка отладки с 1985 года (и даже раньше!) , а в таких развитых ОС, как Windows и Linux - API для отладчиков. Сомневаюсь, чтобы их разработчики были глупее разработчиков Oberon и BlackBox.


Согласитесь, что приятно писать исходный текст, который после компиляции практически не требует отладки. Фантастика? Отнюдь, реальный опыт.

Цитата:
Модераторы уже предчувствуют "точку кипения" в 120-й раз, по тем же вопросам...


Из свежего. Потратил полдня, выискивая проблему на программе, написанной на Object Pascal (FreePascal). Суть - в родительском классе было объявлено поле (переменная, а не метод. Безо всяких override), которое переобъявлялось в наследнике. Компилятор не то чтобы не ругнулся, даже не предупредил. Говорят, что компилер C# в аналогичной ситуации "грозит пальчиком", но компилирует. BlackBox же даже не откомпилировал. "Множественное объявление" и всё. Жестоко, конечно, но в результате подобного прессования исходник получается "чистым".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 13:36 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Цитата:
Нормальный компилятор Си выдаёт warning на = в if-ах (при культурной работе можно поставить опцию "с warningами не линковать")!
[/Quote]

В теории :-) На практике Вы подключаете несколько чужих библиотек (а если они с шаблонами - то это не хедеры, а полный код) - и вас засыпает сотнями варнингов - не на ваши "ляпы". И Вы либо просто перестанете обращать на них внимание, либо отключите их показ вообще...
Единственной более-менее эффективной защитой от = в некоторых случаях является приучить себя писать сначала выражение, а потом имя переменной: if ( 1 == x )... Тогда при пропуске = будет гарантированная ошибка ("требуется lvalue").


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 15:15 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Цитата:
зачем тождество надо записывать символом "==", когда есть символ "=".

А это не тождество, а операция сравнения, которая возвращает значение. С точки зрения компьютера это такая же бинарная операция, как и сложение! Надо разделять математику и программирование (по крайней мере на начальном этапе обучения). Эта аналогия даже вредна - переменная в машине и переменная в алгебре - разные вещи.

Цитата:
А, ну да, "=" занят под присваивание.

Можно пойти и по пути Бейсика - в if-ах = означает исключительно сравнение, а в других местах - присваивание. Я ещё помню себя в начальной школе и у меня такое положение дел в GW-BASIC трудностей не вызывало.

Цитата:
На практике Вы подключаете несколько чужих библиотек (а если они с шаблонами - то это не хедеры, а полный код) - и вас засыпает сотнями варнингов - не на ваши "ляпы".

В по настоящему хороших библиотеках сравнительно немного варнингов.

Цитата:
Согласитесь, что приятно писать исходный текст, который после компиляции практически не требует отладки. Фантастика? Отнюдь, реальный опыт.

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

Цитата:
Например, сделали мало понимающие в софте люди процессор с аппаратной возможностью отладки, а потом других людей начальство заставило эту возможность поддерживать и писать соответствующие API.

Судя по другим веткам на этом форуме, разделение памяти и четыре уровни привилегий кода они сделали тоже от непонимания :)? Это весьма наивная и академично-теоретизированная точка зрения (если люди полагают, что можно написать хорошую коммерческую ОС без взаимной защиты программ - то они чего-то не понимают). Да и что бы все мы делали без отладки - взлом и модификация чужого программного обеспечения были бы крайне затруднёны. Да и сейчас машинное время значительно дешевле, чем 100 баксов в час и мы можем позволить себе интерактивный отладчик. А как же профилировщики - сейчас во многих случаях дешевле поставить натурный эксперимент, чем заниматься математикой?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 15:28 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Цитата:
Цитата:
На практике Вы подключаете несколько чужих библиотек (а если они с шаблонами - то это не хедеры, а полный код) - и вас засыпает сотнями варнингов - не на ваши "ляпы".

В по настоящему хороших библиотеках сравнительно немного варнингов.

Ну, желаю Вам только хороших библиотек и чтоб во всех проектах всегда хватало времени :-) У меня такой лафы во время работы в С-команде не было...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 15:52 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Цитата:
Я тоже пользуюсь отладчиком сравнительно редко - обычно всё решается отладочной печатью и нормальным разбиением на функции и классы. Но если программа работает как надо с первого раза, то это подозрительно и её надо тщательно тестировать - может оказаться, что она написана принципиально неправильно ;)

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

Цитата:
Судя по другим веткам на этом форуме, разделение памяти и четыре уровни привилегий кода они сделали тоже от непонимания :)? Это весьма наивная и академично-теоретизированная точка зрения (если люди полагают, что можно написать хорошую коммерческую ОС без взаимной защиты программ - то они чего-то не понимают)

Моноязыковую ОС или ориентированную на ограниченное семейство надёжных языков (как Обероновские ОС и мелкософтовское им подражание Singularity), то можно - без всяких "но".
Если речь идёт о коммерческой ОС для массовых задач - и поддержке существующего софта (например, POSIX) - то действительно нельзя. Различные адресные пространства необходимы для организации "песочниц" для "буйного софта"... Плюс они полезны для выделения групп компонентов, которые взаимодействуют напрямую, а между группами - только асинхронными сообщениями...

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

Цитата:
А как же профилировщики - сейчас во многих случаях дешевле поставить натурный эксперимент, чем заниматься математикой?

В Оберонах (и в Блэкбоксе) профилировщик есть. Вещь нужная.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 06 Сентябрь, 2007 16:05 

Зарегистрирован: Понедельник, 19 Март, 2007 09:40
Сообщения: 142
Откуда: USA, Israel, Belarus
ScrollLock писал(а):
Процессоры Intel - одни из лучших в мире...
:lol: :lol: :lol:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 74 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB