The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 6.5"
Отправлено Аноним, 07-Сен-23 02:55 
> Никак, раст это гугломайкрософтамазон, избавление от их влияния уже проходили например
> в андройде, ничем хорошим это не закончилось.

Ну насколько я вижу по librust-* в дебиане, прошаренные господа с своим путем на все свой антидот найти в принципе могут, если захотят. Но как вариант - мне может зайти что-то типа zig или hare. Но точно не ады с хаскелями, блин.

> У всего есть слабые стороны.

И вопрос в том насколько оно далеко от моих хотелок, соответственно. И насколько проблемы под интересную мне проблематику фиксятся. А еще мне нравится curly bracket.

> Потому что типов нет. Есть байтики, а ты сам можешь их интерпретировать.

У процов нативно есть юниты N байтов за присест, т.е. u16/u32/u64/... - и при этом еще начинает интересовать видение проца в регистре vs в оперативе. Возникает такая штука как endianess. Это не пустой звук, если я пакет в DMA зарядил. Он то шлет "как в RAM было". А не как в регистрах считалось. А если мы в сериальный интерфейс данные шлем, на самом нижнем уровне кроме этого еще вопрос и какой _бит_ каждого _байта_ первый. Даже байт можно слать по разному. Старшим битом вперед или младшим ;).

А в C "int" трабл в том что мы не знаем сколько там битов. И байтов. Ведет к эпикфейлам в анализе граничных условий. А если кто удумает мандатом стандарта воспользоваться... ну вот на AVR можете заказать 16-битный int. Как вы думаете сколько кода потом работать будет правильно? По стандарту можно же. Де факто половина кода сломается.

> ВВОДНЫМИ. А в пределах одной программы и у сей никаких проблем нет.

Зато как только IO с внешним миром (сеть, файлы, интерфейсы, ...) становится очень уж не очень. Как платформенно нейтрально сериализовать "int"?! Никак?! Т.е. надо отдельно договориться что там столько-то битов? О конкретном формате signed? А в лоб в "int" вообще нини? Теперь вы догадываетесь почему появились (u)intXX_t... ибо "int" системщиков заманало в край на самом базовом уровне: мы даже не знаем хватит ли точности переменной для работы с вот этим полем пакета, например.

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

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

> (а не только x64 и arm как на расте).

Что-то мне подсказывает что gccrs будет уметь почти все что умеет GCC. Минус совсем заброшенные архитектуры конечно. Во всяком случае был тут один кадр пытавшийся под AVR на расте. Ну а вы можете показать как под такого уродца на хаскеле и аде получается. У того гражданина хоть что-то получалось.

> (если уже не случились). Но смузипогромистов не знакомых с ассемблером

А, теперь я понимаю - вы шарахаетесь от асма в хаскел. Без особых промежуточных вариантов. Знакомый антипаттерн. Предпочитаю более сбалансированные варианты.

>> 1.1) Благодать с НОРМАЛЬНЫМИ типами вроде uintXX_t - на макросы и enum
>> не распостраняется! По крайней мере в цивильном и контролируемом виде.
> Не понял.

Что бы вы ни сделали, препроцессор не оперирует НОРМАЛЬНЫМИ, ПРЕДСКАЗУЕМЫМИ типами вроде "uint16_t" при вычислениях! Все числовые константы которые в нем встречаются (да, он умеет в математику и почти-тюринг-полный) работают более-менее эквивалентно "классическим" типам сей. Зафорсить там конкретную битность математики как C99? Щаз! И "enum" определен весьма фривольно, вкатив -Wconversion можно узнать много нового о своем коде. И как он делал не то что вы себе вообразили и не так. Зафорсить enum в конкретный тип? И даже с конкретными диапазонами? Чтобы баги в заполнении многочисленных констант ловить? Ишь размечтались. Существуют весьма неортодоксальные трюки с препроцессором позводяющим все-равно запилить компилтайм-чеки, и САБЖ даже даст мастеркласс как это. Но это через ж... в левый глаз и выглядит довольно мерзко в коде. В С11 еще компилтайм ассерты но препроцессор может и попродвинутее чем это, в большем числе случаев.

> Вот как раз integer promotion достаточно подробно описан в стандарте.

Да. Но он все равно контринтуитивный, дурацкий, и часто делает совсем не то что ожидал кодер.

> Большинство кодеров (подходящее слово) очевидно не читали его и не собирались,

И это было большой ощибкой с их стороны.

> но ВНЕЗАПНО он работает не так как они ОЖИДАЛИ. Ну знаете ли, многое
> работает не так как я ожидаю.

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

>> такой код? Потому что он разваливается от тыкания палочкой.
> Уже обсуждалось. Специфичные условия чтобы развязать руки разработчикам компилятора.

Можно создать море проблем на ровном месте. Это один из способов - и это фигово. Я за то чтобы подкрутить в очередном C2x спеки и - прибить такой булшит на корню. Иначе раст прибьет сишников, вон то никуда не годится.

> В реальной жизни в рамках одной программы проблемы не встречается,

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

> компилятор знает что у него UB и как на него реагировать,

А надо чтобы знал програмер. И имел конкретные ожидания поведения. Одинаковые на разных платформах. Тогда будет меньше глупых багов в математике.

> могут перекладываться по-разному, так это ВНЕЗАПНО всегда будет, хотя бы из-за
> разных архитектур (собственно поэтому и добавили UB).

И с этим явно перестарались. В ущерб всему остальному. А вот это уже фэйл.

> Мне и самому не нравится концепция UB, я считаю ее неудачной (да и авторы тоже).

Ну так либо починить - либо сишников замнет раст. Не вижу тут места для компромиссов, наслаждаться багами изниоткуда до упора мы, таки, не будем. Хоть там как!

> Но сишники уже на нее наступили, а раст...ее повторил!

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

> Уже описывал. Ну используй другой класс,

В сях нет классов, на минуточку.

> который при инициализации будет проверять контрольные
> суммы и поля и выдавать исключения

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

> если байтики не похожи на класс, вот только заплатишь за это производительностью.

В системщине я не ОК с оверхедом в run time. И с исключениями тоже. Вы точно системщик? Кому и зачем нужны тормозящие и непредсказуемо фэйлящие системы?

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

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

> Ну а в рамках одной программы ты внезапно можешь этого не делать.

Вы задолбали одной программой. Даже в пределах 1 ОС программ сейчас сильно более 1 и они даже могут взаимодействовать. Если даже забыть про файлы, сеть, интерфейсы, и все такое. Хотя если про это все забыть то что останется то - особенно в системщине?

> Как и в любом другом языке. И в расте тоже

Моя претензия к сям что они по факту 100% сливают аннотацию без какого либо использования. А нехило бы обязать компилеры детектить левые доступы как минимум при предвычисляемых сценариях. ЧСХ вещи типа LTO optimizer отлично в курсе всех краевых условий. Только наружу знание вывесить не могут. В этом месте внешний интерфейс сей из стандарта клинит state of art компилеров.

> ты можешь использовать типы с bounds checking и подозреваю при грамотно
> написанном коде производительность будет выше чем в расте.

В сях нет типов с встроенным bounds checking, а если его в рантайм делать получится, извините, дотнет какой-то. Хотя для ряда статических сценариев когда и размер массива и индекс известны можно и проверить такие вещи. LTOшный оптимизер так половину кода выкидыает, ДОКАЗАВ что энные ветки кода никак не могут вызываться во всей программе вообще.

> Такие абстрактные вещи сказать про любой проект/ЯП и т.д..

В сях видите ли вообще по сути нет ABI на struct. Нельзя заявить struct в апи и потом получить interop в сколь-нить гарантированном виде. Более того - у gcc для ARM есть минимум 2 варианта ABI как передавать структы. Хотите вызвать функцию "bios" (boot loader, ...) с культурным, структурированным апи из основной фирмвари? Нннну, хотеть не вредно. Как вам требование что бут и фирмвара будут обязаны собираться 1 компилером с 1 набором флагов? Круто и интероперабельно. Давайте, еще раз булшит про "одну программу". Бутлоадеры же не нужны, а код реюз для лохов. Или нет?!

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

Да вот нормальные сишники таки взмахнули факами - и таки struct всякие в апях юзать стали. А чтоб эффективно - как указатель. На вот именно конкретный тип. С typedef даже не так плохо получается. И код не очень мерзкий, и левак ему в отличие от void* уже не впаришь. Вот так у них в коде багов на порядок меньше чем у кодеров с "одной программой" видимо подвешенной в сферическом вакууме а потому не обрабатываюшей внешние данные вообще никак.0

> Вот тут согласен, все популярные компиляторы  это !@#$%^, особенно gcc.

Это связано в основном с дурным определением этого хлама в стандартах. А сами struct плохо определены по выравниванию. Но вот тут есть __attribute__(()) и прочие pragma, а то что не стандартно... ну... если у вас не GCC, и даже не шланг - suxx to be you, just f...g die! Как-то так, да. Потому что packed struck форсанутый на конкретные адреса - позволяет таки по простому поработать с чем-то типа хардварных регистров и их вот блин реально отдельных битов.

> сишном llvm. Ну т.е. да, разобраться что и почему генерит компилятор
> это проблема, а раст ВСЕ ЕЩЕ УСЛОЖНЯЕТ.

Местами - да. Но это не выглядит фатальным. А вот определенные баги сей - особенно int безразмерный, не подлежащий сериализации, реально достали, вот честно.

> Уже писал. Не используй указатели где не нужны. Почему-то unsafe для тебя
> норм, а не использовать указатели по каждому чиху (что тоже своего
> рода unsafe) тебя не устраивает.

У unsafe есть жирный плюс. Это большой красный флаг места где я должен трижды проверить код этого господина что все ЗБС. А у сишника void* с безразмерным нечто - норма жизни, удачи в проверках что они сделали и как это совпало с намерениями вообще.

> не избавишься), например от макросов...еще все ухудшил и создал для макросов
> отдельный язык. Растоманы, вы больные. И лицемерные.

У сей препроцессор тоже видите ли не совпадает по синтаксису с основным яп. И никакого проигрыша нет. Дада, и "uint16_t" препроцессор сей сожрать в принципе не может. Мне больше всего нравится как это в zig сделано. Просто компилтайм вычисления, сразу основным ЯПом. Самое логичное решение, и самое крутое и гибкое.

Как злостному юзеру макро в С мне показалось что хрустиковские макро мощнее сишных. Хоть и инопланетнее в замен.

> В си другой механизм. Мне тоже приятнее отправлять пачку в return, но
> в итоге это вопрос привычки и вкуса.

Это вопрос отсутствия багов и кода который не выглядит как УГ.

> Так ты же можешь выбрать что-то одно и использовать.

В этом месте мы узнаем что one size doesnt fits all. Более того - что такое 1U может быть еще и платформозависимо, бжад. Не, конечно можно везде 1ULL ввернуть. К сожалению это настолко круто промотит все вычисления что резко деоптимизирует код. В самых критичных местах, типа операций с битиками регистров. Самое то - заякорить всю работу с периферией в пару раз. И вот выбирайте дескать между тормозами и прострелом пяток, дорогой сишник. А поприкольнее выбор нельзя ли? Чувствую что можно.

> 0b1111_0000.

Это кстати как раз весьма читабельно. А в именно сях это легально только в C23, кажется, и без разделителя. Хотя конечно все МКщники юзали GCC экстеншн со времен 99 и плевали на формальности. Потому что иные способы выражения констант для регистров железа не очень информативны.

> О, первый нормальный наброс и то случайный. В си и правда есть
> проблемы со строками. Их много. Конечно они не просто так появились

А потому что функции stdlib это окаменелое дерьмо мамонта. Которое давно надо было списать в утиль. Те варианты которые не чекают размер буфера calle'а и выносят все.

> используй умные указатели.

В сях нет никаких умных указателей. Можно конечно скроить себе самому много чего - даже функции для работы с строками. Что половина софта и делает. А дырявый мусор в stdlib зачем?!

> А я видел 2 аварии, переводим всех водителей машин на самокаты?

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

> по unsafe дорогам" !@#$%, кэп, итак все нормальные люди так уже и делают.

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

> Пока ни одну не услышал.

Да вот - память рушат реже, типы целых так то получше. А, еще и многопоточность кой-как все ж сделали.

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

> Уже видно.

Ну дык, если GCC разовьется на эту тему - я подумаю. Кент вон тоже так считает. Я такой далеко не один имхо.

> Если вы пишете софт для АЭС на сях, то у меня плохие
> новости. И на расте у вас будут точно такие же проблемы.

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

> Не подскажешь где ваш софт используется, может я успею переехать?

Хехе фирмвари на сях много где используются. Вы будете пещком теперь ходить? Не, поезда, автомобили и проч - не для вас, там этого добра выше крыши. Вплоть до непосредственного кручения колес, как то управления мотором "от и до".

> Так он не для управляющих систем. Он для "типа управляющих систем".

И теперь мы собираемся избавиться от "типа" повысив гарантии...

> использовать специализированные RTOS. Т.е. RT в линуксе это "мы попробуем подтюнить
> линукс чтобы снизить задержки, но ничего не гарантируем". Где-то применимо, но
> далеко не там где нужны реальные RTOS.

В линух уже довольно много чего вкомитили на тему именно выдачи достаточно жестких гарантий, вида что на интервале X программа будет выполняться не менее Y. Это именно ртосовские гарантии. И там очень много оговорок и специфики. Вплоть до рефактора кода, блин, консолей. Дабы printk оптом таки не смог заякорить реалтаймный софт.

А когда мне жесткое реальное время надо - ну я могу себе фирмварь МК накодить. Там вообще весь камень может быть посвящен задаче и я могу менее чем микросекунду потрогать руками.

> Некоторые компании хотели бы больше контроллировать ядро и раст это очередная попытка,

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

> раст явно не читаемый (си, кстати тоже).

Ну уж не фанатам хаскеля про читаемый код рассуждать.

> Вот только лучше пока не придумали.

А таки для меня раст смотрелся бы апгрейдом по ряду моментов. И даунгрейдом по другим. Но как я вижу в истории с кернелом - они не чужды решению проблем. Выгодное отличие от ISO.

> Поэтому при внедрении раста в линукс переизобретают растоманские примитивы?

У них было более 9000 костылей для именно си, задолго для всяких хрустов. Я оттуда половину идей бессовестно спер в окружения типа фирмварей, там компилтайм проверки и все такое очень кстати. А вы можете исключения кидать. В программах которые работают одним. Лучше это сделать в ECU вашего авто сразу, чтобы оценить как это офигенно в системщине.

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

А таки для меня это выглядит как инкрементальный фикс ряда проблем сей. Не, ваши ады и заскелы сеье оставьте, это не ко мне с их парадигмами и синтаксисом.

> Примерно то же самое было с php, ничем хорошим это не закончилось.

...но ничего лучше phpbb для форумов и mediawiki для вики так никто и не смог.

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

Ну как бы в сях как раз половина проблем системщины из-за таких вещей и лезет. Скостить объем багов в разы - то что доктор прописал.

> Раст это не будущее, не решение проблем си (которые конечно есть, но
> в основном не те которые вы назвали).

КМК про си в свое время тоже вещали что-то такое. А паскалисты это и по сей день втирают. Правда, забыв накодить сравнимое со всеми этими фирмварями, бутлоадерами, ядрами, либами...

> Ваши предшественники это не деды. Это вы. Деды это Столлман, Ритчи, можно
> наверное Линукса туда запихнуть.

А кто сказал что вот у Столлмана такой уж офигенный код? И нет если багу влепил некто возрастом почти с столлмана и еще в C89 - это, очевидно, был не я. Я вообще в принципе менее чем C99 не оперирую. Такая ерунда.

> это ваш современник и вероятно он и дальше пишет код в другой шаражке.

Это реверанс про XFSника чтоли? А то передо мной увольняться некому - я сам себе режиссер.

> А ляпы в конструкциях раста вас не смущает? Или итераторы вместо индексов
> (которые тоже есть в расте) существенно меняют дело?

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

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

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

> человека с узким кругозором (иначе он бы уже знал про питон например),

Я не желаю иметь ничего общего с питоном. И это уж точно не системный ЯП.

> Похвальное качество но раст в этом не помогает.

Это не вам судить. Да и работоспособных рецептов лучше вы не предложили.

> Который не знает что Linux RT это не RTOS

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

> и вероятно не знает альтернатив?

Знает но - крепко не любит иметь с ними дело. Для себя я предпочитаю вообще выпихнуть low level на мк а линух - координатор. При этом можно избавить себя от сомнительной радости иметь дело с недо-ос.

> Который не знает как пишут софт с особыми требованиями к надежности?

И только опеннетовские посетители все в белом и мастеркласс в скромности дадут.

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

Удачи убедить препроцессор рассматривать числа как именно вот те современные типы. Ах, этот крап все равно будет трактовать 1ULL как нечто близкое к (unsigned long long) в результате?

> Который ругает си за проблемы, которых фактически нет у практикующих разработчиков,

Длинный список CVE что-то с вами не согласен.

> но про которые пишут новички столкнувшись с проблемами потому что учились
> по учебникам 1980ых переведенных в РФ в 2000ых?

Я уж точно не учился по этому хламу. А antibug для сей в рф вообще никто не преподаст. Этого знания у россиян вообще мизер. У вас больше апломба, в что-то практическое он не транслируется.

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

"Играл но не угадал ни 1 буквы. Ход переходит к анониму!" :)

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

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

> Их часто ругают, но по факту они не столь влияют на работу. UB ну
> есть такое, есть предпоссылки почему они попыли в стандарт,

Мне похрен на предпосылки если это ведет к такому числу багов, вулнов и т.п. - пора пересмотреть эти предпосылки. И либо радикально починить - либо нехай вон те из rust, hare, zig и т.п. порубятся за звание "более хорошего си" если ISO совсем уж импотенты стали.

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

Я не желаю видеть станларты с кучей UB, implementation defined и прочего крапа. И хочу чтобы long standing issues были решены. ISO это либо обеспечит, либо его сделают obsolete те же хрустики - или "убийцы хруста". Там уже очередь за головами - и таки имея на то веские причины. Все уже поняли что можно сильно лучше чем вон то, сохранив общую идею. Что бы вы там не вещали.

> Встроенные типы си из коробки были рассчитаны на производительность и простоту,

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

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

Да и как по мне настало время либо починить long standing BS который нагибает девов в планетарном масштабе - либо вон те займут нишу.

> кому-то под опеределнную архитектуру, а кому-то под определенные данные. Что должен
> сделать разработчик ЯП?

А ничего - опцией/сторонней либой/etc. В этом смысле то что си не стали чрезмерно отращивать stdlib как раз умный ход.

> В целом согласен. Но на мой взгляд комитет просто видит свою цель
> в строительстве нового языка, а в неполомании текущего.

Тогда их доломают хрустики или убийцы хруста. Сделав "как си только лучше и без топовых грабель оного". Выбор за ними как им там угодно. Я не вижу смысл принимать новый стандарт если он не чинит старые проблемы. Кому это надо и зачем?

> Очевидно что как только комитет начнет ломать ABI (как раст),

Да оно и так сломаное - а какой у struct abi? А, implementation defined, да еще с абы каким выравниванием по дефолту? Ох, круто, это конечно такое ABI...

> (и это не хипстеры-студенты, а целые устоявшиеся отрасли) успели переехать.

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

> и желательно без корпораций которые будут полностью контролировать закулисье ЯП.

Корпоряции мне тоже не нравятся. С другой стороны _полностью_ контролировать что-то они таки облажаются. Ну вон дебиан пакетит либы в своем варианте, gccrs вон той клике не подконтролен, контрол начинает разваливаться, опенсорс так и работает.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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