Комментарии 124
Цель — сколлаборироваться, опробовать инструмент на «игрушечном проекте».
Можно так сформулировать: «написать такую конституцию такой страны в которой бы хотелось жить и работать.»
Можно хоть конституцию Меганезии написать.
Цель — сколлаборироваться, опробовать инструмент на «игрушечном проекте».
Но для для этого «опробовать», нужно буквально «опробовать» — пожить по этим правилам. Реализовать такое… Сложно. Этот же Хабр для такого не подходит. Ладно, что правила переписать не дадут, но и сама платформа не подходит. Вот старые интернет-форумы подошли бы лучше
Можно так сформулировать: «написать такую конституцию такой страны в которой бы хотелось жить и работать.»
Тут «написать такую конституцию» можно смело менять на «вообразить такую страну». Это уже не конституция, это манифест. Что, правда, не обязательно, так как перед основным текстом конституции стоит преамбула. Если уж начинать, то начинать надо с неё — We the People
en.wikipedia.org/wiki/We_the_People_(disambiguation)
Мы, народ Соединенных Штатов, издаем и утверждаем эту конституцию для Соединенных Штатов Америки с целью образовать более совершенный союз, установить правосудие, обеспечить внутреннее спокойствие и общую безопасность, способствовать общему благосостоянию и обеспечить благо свободы для нас самих и для нашего потомства.
Все просто и понятно, в логичной последовательности. Остальной текст не отклоняется от этой декларации. И ведь получилось, до какого-то момента все было так, как тогда пожелали. Это сейчас мы наблюдаем, как там разматывают все взад, причем буквально в обратном порядке…
Это я к тому, что предложение к местному сообществу тоже надо было оформить в таком духе. «Я, MagisterLudi, предлагаю айтишникам хабра объединиться, ради...» и далее четко изложить свою цель. Вот то «жить и работать», разложенную хотя на первом приближении на составные части. Чтобы было над чем подискутировать. Может ваше понимание слов «жить» и «работать» большинству не понравится
Конституция не определяет устройство чего либо, она описывает это и является условным договором между людьми, что бы не переопределять это описание каждый раз, не передоговариваться отдельным людям — вот, у нас конституция.
написать такую конституцию такой страны в которой бы хотелось жить и работатьКому жить и кому работать? Все от людей и их потребностей идет. Можно написать конституцию для ITшников, но с ней могут не согласиться шахтеры. Но ITшники не могут жить в государстве только ITшников. Надо договариваться. И тут все заверте…
Можно, когда есть Меганезия и понятно на чем она стоит, какие цели у людей Меганезии, ценности, желания, мечты и тп.
Вот как раз в отношении Хартии Меганезии (Розовской):
— насколько я помню книги — ее вовсе не всенародным голосованием писали, ее писал (по официальной версии) один человек, которого потом еще и не нашли.
— там была революция (в смысле это когда местное правительство взрывают заложенными бомбами а не митинги ведут даже)
— часть тех кто помогал революции — достаточно быстро потом ликвидировали за несогласие с Хартией.
— с самого начала Меганезия влетела в международную изоляцию в том числе и из-за Хартии. (сказано что мы всех граждан защищают — значит защищаем всеми нужными средствами, вплоть до ядерного и термоядерного оружия. И вообщем то окружающие верили что ЭТИ — смогут. Реально по другим странам именно как оружие — не применяли правда. Ответка прилетит? А зато в Меганезии в школе изучают почему они — способны выиграть ядерную войну(и есть некоторые основания так считать). Но вот диверсионные операции — вполне использовали).
— даже когда отношения наладились то если Хартия противоречит каким то конвенциями — ну тем хуже для конвенций. Будут проблемы с другими странами? См предыдущий пункт.
Проиндексированные конституции разных стран — это здорово. Но это совсем не помогает начать какую-либо работу. Для начала необходим структурный разбор существующего текста. Какая терминология там используется? Какое назначение у каждой главы, какие отношения она регулирует? Я не юрист, а просто it-шник и вижу здесь минимум месяц только подготовительной работы для каждого участника. Иначе утонем в отсебятине.
В (идеальном) ИТ подход к недовольным такой: «не нравится — напиши своё».
Каждый своё, или все вместе что-то одно новое? По общему посылу статьи и по цитате в начале увидел призыв ко второму варианту.
Я вот сейчас рискую сказать глупость, но идея интересная. А ещё более глупое интересное, что с айтишным подходом можно написать юнит-тесты для конституции и для законов вообще. Если в достаточной мере их формализовать, можно в виде тестов оформить тезисы, которые должны будут выполняться, и при нарушениях которых можно быстро понять, что с законами что-то не так.
На правах рандомного примера. Тезис (== статья конституции): "Каждое убийство должно быть наказано". Если какая-либо комбинация законов позволяет этот тезис нарушить, значит конституция не работает.
Б-же, а представляете, что может стать доступным? Удобная навигация по законам, статический анализ, подсветка в VS Code, автодополнение, простите, я замечтался.
Я аж зачитался…
Каждое убийство должно быть наказано
- Военные действия?
- Смертная казнь?
- Самооборона?
- Неосторожность?
- Самое интересное. Аборт?
Точно так же к убийству не относится аборт по текущему законодательству.
А то — юнит-тесты, сферическая конституция в вакууме… Человеческая деятельность не алгоритмизируется, её может судить только другой человек.
Что такое неосторожность — может и будет судить только человек. Точно так же границу между абортом и инфантицидом может провести только человек.
А ещё есть заказные, по неосторожности, доведение до самоубийства и проч
"Каждое убийство должно быть наказано"
Я могу с ходу нагенерить столько "краевых случаев" для этого "тезиса", что за всю жизнь тестами не покроешь.
Для начала дайте определение терминам "убийство" и "наказано", а то даже не понятно, что тестировать то собираемся.
можно написать юнит-тесты для конституции и для законов вообще
Ну да, великие умы айти не могут сделать ни одного куска безбагного софта, в котором через неделю дырок не найдётся. Хотя у любой системы входные данные и условия в принципе ограничены, в отличие от.
Сделайте хотя бы принтер который работает без бубна всегда и у всех, а нет, не выходит
Но для начала — придется термины определить.
А то вот Айзек Азимов вспоминается, а конкретно Три Закона и Солярия. Солярии ну очень хотелось позитронных роботов — пилотов боевых кораблей но Первый Закон Робототехники слишком глубоко в архитектуру роботов был вшит. Проблему решили очень просто — изменили определение «человек» на более правильное.
Конституция — это закон. Утверждения в нем должны быть четкими и понятными, которые можно выполнить или нарушить.
Пример 1: Одно и то же лицо не может занимать должность Президента Российской Федерации более двух сроков подряд.
Пример 2: Российская Федерация, объединенная тысячелетней историей, сохраняя память предков, передавших нам идеалы и веру в Бога, а также преемственность в развитии Российского государства,…
Каждое утверждение должно сопровождаться обоснованием, когда и зачем было это написано, какие доводы за и какие против. И как этот пункт работает на самом деле.
Минимализм. Конституция — основной закон. Его можно сравнить с глобальными переменными в языке программирования. Если что-то можно записать в обычный закон, так и надо поступить. Чем меньше Конституция, тем лучше.
Конституция — это бумага. Чтобы она действовала, необходимо, чтобы кто-то ее «двигал».
Разные люди — разные мнения.
Цели и средства достижения целей. «Вор должен сидеть в тюрьме» — ага, привыкать к безделью, впитывать тюремную романтику и после получить печать бывшего зека, что отрывает от нормальной жизни и приводит обратно в тюрьму.
Государство и народ. Донести народу, что он может делать. Сам народ до этого может и не додуматься, ведь он занят обычными делами.
Пример 2.1. Российская Федерация объединена историей, которая продолжается более тысячи лет.
Пример 2.2. Российская Федерация сохраняет память, полученную от предков, в том числе идеалы, полученные от предков.
Пример 2.3. Российская Федерация сохраняет веру в Бога, полученную от предков.
Пример 2.4. Российская Федерация сохраняет преемственность в развитии себя, Российского государства.
Вот теперь эти пункты легко выполнить или нарушить!
Утверждения в нем должны быть четкими и понятными:Но не обязательно правдивыми :) *
*все персонажи и события вымышлены, а совпадения с реальной жизнью случайны
На территории РФ за тысячу с лишним лет было много вер в разных богов. Вы какую конкретно имеете в виду?
Кстати, история Киевской Руси в историю РФ входит?
2.2 о каких идеалах идет речь?
2.3 от каких предков? какого бога|богов?
А если за поколения все намешалось на столько, что придется уверовать в огромный пантеон богов? А если не хочется верить?
Так что не так уж и легко выпонить…
Вопросы риторические.
Пример 2.2. Российская Федерация сохраняет память, полученную от предков, в том числе все идеалы, полученные от предков.
Пример 2.3. Российская Федерация сохраняет веру в Бога, полученную от всех предков.
Из 2.3 видно, что если не хочется верить, тогда надо просто сохранять веру.
«Утверждения в нем должны быть четкими и понятными, которые можно выполнить или нарушить».
для начала нужно получить элементы, которые захотят эту конституцию выполнять. где их взятьв этой стране? тут были любые законы и всегда всё упиралось в огромное количество идиотов и воров
Мы может и умеем сообща над кодом работать, но юридический документ это совсем не код, увы.
Не очень понятно к какому действию побуждает статья...
Но последнее время тоже задумываюсь над общими моментами в работе программистов и законотворцев. И тут и там идет управление сущностями, в одном случае даными и их иерархиями в IT-системах, в другом — людьми и их иерархиями в реальной жизни. В одном случае программист придумывает правила, чем универсальнее тем лучше, и по ним данные создаются, перемещаются, обновляются. В другом случае законотворцы тоже придумываются правила, по которым между людьми и прочими юрлицами создаются, перемещаются и обновляются некие атрибуты, как виртуальные (права, обязанности, гражданство, претензии и пр.), так и материальные (дом, гараж, пенсия и т.п.).
Проблема в том, что у законотворцев нет своего языка программирования, и они вынуждены всю бизнес-логику описывать на обычном человечьем, что приводит к тому что их код невозможно читать если ты не юрист.
Поэтому думаю назрела необходимость создать ЯП ориентированный на описание законодательства. Тексты законов можно было бы тогда продублировать на этом языке, и тогда количество ориентирующихся в законах граждан выросло бы во много раз, так многие проходили в школе информатику.
Пример текста закона
ФЕДЕРАЛЬНЫЙ ЗАКОН О ГРАЖДАНСТВЕ РОССИЙСКОЙ ФЕДЕРАЦИИ
Статья 6. Двойное гражданство
Часть 4.
Абзац 2.
Законный представитель гражданина Российской Федерации, указанный в абзаце первом настоящей части или в части 2 статьи 6 Федерального закона «О внесении изменений в статьи 6 и 30 Федерального закона „О гражданстве Российской Федерации“ и отдельные законодательные акты Российской Федерации», в связи с нахождением за пределами Российской Федерации не подавший уведомление, указанное в абзаце первом настоящей части, в сроки, установленные соответственно абзацем первым настоящей части и частью 2 статьи 6 Федерального закона «О внесении изменений в статьи 6 и 30 Федерального закона „О гражданстве Российской Федерации“ и отдельные законодательные акты Российской Федерации», обязан подать такое уведомление не позднее тридцати дней со дня въезда в Российскую Федерацию.
и эквивалентного кода
функция Обязанность повлечьОбязанность(Человек человек, Человек законныйПредставитель) {
if(человек.имеетАтрибут(ГРАЖДАНСТВО, СТРАНА.РФ)
&& человек.количество(ГРАЖДАНСТВО) > 1
&& ( человек.возраст() < 18 || !человек.дееспособный() )
&& человек.датаВъезда() <> null
) {
if(законныйПредставитель <> null) {
return new Обязанность(
обязанКто: законныйПредставитель,
обязанЧто: уведомитьОДвойномГражданстве(...),
обязанКогда: человек.датаВъезда()+30,
);
}
else
return new Обязанность(
обязанКто: СТРАНА.РФ.Полиция.findInstance(человек.адрес),
обязанЧто: обработатьОтсутствиеЗаконногоПредставителя(...),
обязанКогда: сегодня(),
);
}
}
Вариант в коде короче и лучше, так как легче прописать последовательность действий в случае нештатных ситуаций.
Опаснсть возникновения лапши в таком коде конечно тоже существует, но хуже чем что есть сейчас в текстах законов вряд ли будет.
Ну и бонусом, если будет доступен код законов в компьютерном виде, то можно было бы и автоматизировать их исполнение.
Из
х*2 + 10х = 39
следует
х*2 + 10х — 39 = 0
далее следует
х*2 — 3х + 13х — 39 = 0
далее следует
х(х — 3) + 13(х — 3) = 0
далее следует
(х — 3)(х + 13) = 0
далее следует
х = 3; x = — 13
P.S.
То что на ангийском прочесть не смог — поэтому привёл решение уравнения :)))
В любом случае, идея отличная. А edge-кейсы могут быть решены реальными людьми(судьями, юристами)
Чем не пролог? https://habr.com/ru/post/509146/#comment_21799840
С операторами — перебор. Не поймут.
Более менее достаточно просто не пытаться "гладко" писать, а начать использовать прямо в русском тексте скобки со многими уровнями вложенности.
Попытался добавить формализма в текст конституции. Получил примерно такое:
:= при чтении заменяется на "это есть"
& при чтении заменяется на "и"
| при чтении заменяется на "или"
------- Статья 1 ---------
1. Россия := (демократическое & федеративное & правовое) государство;
Форма правления России := Республиканская;
2. Российская Федерация := Россия;
------- Статья 2 ---------
Высшая ценность := человек & его права & его свободы;
Обязанность государства := (признание & соблюдение & защита) высшей ценности;
------- Статья 3 ---------
1. Народ := многонациональный народ России;
Народ := носитель суверенитета & единственный источник власти;
2. Способ осуществления власти := непосредственно народом | через органы гос. власти и органы местного самоуправления;
3. Непосредственно народом := через референдум | через свободные выборы;
4. Захват власти := то, что преследуется по федеральному закону; // по какому именно?
------- Статья 4 ---------
1. Распространение суверенитета := вся территория России;
2. Высший закон := конституция & федеральные законы; // одинаковый приоритет?
3. Обязанность государства := обеспечить (целостность & неприкосновенность) территории России;
------- Статья 5 ---------
1. Равноправные субъекты := республики & края & области & города фед. подчинения & автономные области & автономные округа;
Россия := равноправные субъекты;
...
Вроде гораздо лучше, чем оригинальный текст, но ещё не язык программирования.
Такое уже было в математике.
Простите, что влезаю, но мне кажется это не совсем верный подход — переписывать уже существующий текст с использованием операторов. Формализм, безусловно, нужен, и он здесь сразу дает нам подсказку, чего не хватает.
В пункте 1 статьи 1 вы пишете Россия := (демократическое & федеративное & правовое) государство;
. Для меня, как для не юриста, это утверждение значит очень мало — что такое "демократическое", "федеративное", "правовое" и "госдуарство"? Не определив эти понятия заранее, смысл конструкции теряется.
Статья 2 — отличный пример того, насколько это все "декларация о намерениях". Высшая ценность := человек & его права & его свободы;
. Мало того что это почти как анекдот про "высшая ценность — права и свободы человека, и все мы знаем имя этого человека" (все совпадения с реальными людьми — случайны, а ситуации — вымышлены), так еще и следующее утверждение снова не дает никакой информации: Обязанность государства := (признание & соблюдение & защита) высшей ценности;
. Что такое признание? Как соблюдать? Что, от кого и главное как защищать?
Отдельно мне не нравится использование "человека". Хочется сказать, что это нарушение SOLID, или чего-то такого — мы используем конкретную рализацию вместо, условно, интерфейса IConstitutionSubject
. Я легко допускаю, что в будущем, кроме таких же людей, равными с нами правами могут обладать хоть пришельцы, хоть представители других видов с нашей планеты (a-la Планета Обезьян), хоть искусственный интеллект. Чтобы включить их в конституцию, придется все переписывать, потому что сейчас она содержит hard-coded значение ("человек") вместо должной абстракции.
Статья 5. "И" в русском языке не всегда эквивалентно логическому И, поэтому может быть какой-то
TerritorialUnit :=
| Republic
| Krai
| Oblast
| FederalCity
| AutonomousOblast
| AutonomousOkryg
Country := oneOrMore TerritorialUnit
А так да, имея язык разметки юридических документов вместо обычных терминов и громоздких оборотов, любые нормативные документы превращаются из нечитаемой (для простых смертных) писанины в удобную, верифицируемую, индексируемую форму. Статический анализ позволит обнаружить нестыковки, разночтения и противоречия до релиза. Но это все мечты.
А так да, имея язык разметки юридических документов вместо обычных терминов и громоздких оборотов, любые нормативные документы превращаются из нечитаемой (для простых смертных) писанины
… в бесконечный источник Undefined Behavior && нечитаемую (для простых смертных) писанину
Только в первом случае "не простые смертные" — это юристы, а во втором — програмисты.
Undefined Behavior вещь довольно специфическая, и не все комбинации языков/компиляторов выдают возможность "вступить" в UB. Для предотвращения этого и нужен статический анализ и (на мой субъективный взгляд) строгая система типов.
При этом, при наличии всех определений и корректно описанного документа можно легко генерировать читаемый текст любого уровня — как упорото-юрдический, так и лайт-версию, которую делают, например, для лицензий (вида это можно делать — а это нельзя).
Разница лишь в том что сейчас источник требует NLP для разборки и понимания, а в будущем источник будет представлять набор непротиворечащих понятий, их свойств и отношений, который можно будет за конечное время проверить на отсутствие этих ваших UB, а так же использовать для проверки сторонних утверждения на соответствие документу, не полагаясь на чьи-то там интерпретации, прецеденты, "нет причин не доверять" и прочие прекрасные артефакты современной системы.
Собственно юридический для того и был придуман, чтобы минимизировать разночтения. Но не помогло.
Что за примером далеко ходить. Вот ваш пример:
Country := oneOrMore TerritorialUnit
Страна := "Еврейская Автономная Область" + "Лисабон"
Страна := "Воронежская область"
Понятно, что это с потолка взятое, но в реальной жизни такое количество взаимодействий, исключений, разных толкований, что покрыть это формальным языком кмк не особо получится
Собственно юридический для того и был придуман, чтобы минимизировать разночтения. Но не помогло.
Это потому что оно хоть и юридический, но пытается делать вид, что должен быть понятен всем, т.к. "русский".
Понятно, что это с потолка взятое, но в реальной жизни такое количество взаимодействий, исключений, разных толкований, что покрыть это формальным языком кмк не особо получится
Это же хорошо? Если что-то совсем не получается к убедительному формальному виду привести — то, может, этого и не должно быть в законе? Потому что обязательно напутают и истолкуют не так, как имелось в виду.
За последние 25 лет во фразе "Мальчик в клубе склеил модель" изменилось значение всех четырех слов.
И такое ловится unit-тестами. Можно добавить условие, что TerritorialUnit
не должен принадлежат другой коллекции Country
. Или, если такое ограничение не устраивает, можно прописать процедуру "возвращения" территориальных юнитов из чужих коллекций в "родную", с последующим "воссоединением" (все совпадения случайны).
UD можно отловить все. Ну не так же много будет кода.
Ваши уточнения вполне полезны:
(по статье 1) Для меня все эти слова про "демократическое", "федеративное", "правовое" и "государство" — это тоже неопределённые понятия. Но ровно до той поры, пока не найдётся признанный правовой документ, где даются определения. Такого документа не может не быть, поскольку существующая конституция эти понятия тоже использует. Подозреваю, что про права и свободы написано в Конвенции по правам человека.
(по статье 2) Так написано в конституции её авторами. Сам бы хотел спросить у них, что они имели ввиду. Если эти строки совсем бесполезны и не имеют практического правоприменения, то я бы их вообще выкинул из текста.
(по человеку) Легко расширить, добавив понятие "гражданин":
Гражданин := человек | марсианин | говорящий кот | ... ;
Высшая ценность := гражданин & его права & его свободы;
(по &) ваша запись почти эквивалентна моей, за исключением oneOrMore. В оригинале имелось ввиду, что страна состоит из "все вместе в совокупности".
Дальше краткий исторический экскурс и бац — список ресурсов.
Воззвание где? Где ставить подпись, за что топите? Нет, я за, просто поясните, будьте добры.
Премного благодарен.
Основная ссылка на документацию проекта ведёт на 404
Our kernel is Ulex v1.1. Read more about it here: Ulex v1.1 Documentation
https://drive.google.com/drive/folders/1u1eDjtj8y3FiTDz7tvAaatFfW49ioSlF?usp=sharing
Мне кажется, что ответ понятен — нет, не могут. Для иллюстрации можно посмотреть на флеймы вокруг CoC и разных переименований, вроде master в git.
Но вообще, идея интересная. И, что характерно, ее можно практически применить. Например, создать какой-нибудь сложный open governance проект. Придумать, как собирать "налоги", эти налоги направлять на оплату площадок и юристов. Взамен налогов обеспечить этот самый governance — поддержку софта согласно пожеланиям пользователей. Была пара идей, было бы интересно попробовать реализовать (наверное, в юрисдикции США). Если найду, у кого можно проконсультироваться по этому поводу, обязательно попробую несколько своих идей на эту тему...
Особенно с тем, что прежде чем «хакать», надо досконально узнать систему. Мой пост — это косвенный призыв начать разбираться в том, как устроен мир, а критерий того, что ты разобрался, как устроен мир — то, что ты можешь написать конституцию. (Или игру «Цивилизация» хотя бы).
Слышал такое, что критерий того, что ты выучил иностранный язык — это то, что ты можешь написать на нем стихотворение.
Моя позиция ко всем политически-ангажированным активистам такая: назови топ-10 книжек по политологии/политике, которые ты прочитал за предыдущий год. А себя я тоже считаю дилетантом в «политике», хоть и отучился на спецкурсе ВШЭ по политконсалтингу. За книги спасибо!
ПС
Но идея своего формализованного «языка программирования» (вместо естественного) для законов/политики по моему очень дерзкая и перспективная.
Являются ли программисты теми, кто пишет сценарий будущего или просто теми, кто пишет патчи за деньги?
И являются, как субъекты действительного прогресса производительных сил, и не являются, как очень часто плывущие по волнам невежества рабочие, не осознающие своих классовых интересов, а чаще даже своей политпозиции.
Но совсем уж наивно думать, что можно написать свою конституцию, и её продуманный и изысканный текст заставит кого бы то ни было такой памфлет исполнять)
То есть предлагается понадеяться на хорошего мужика?
Сколько по результату голосования процентов населения всё ещё надеятся на текущего хорошего мужика?
Идеальный исполнитель — это тот, которого нет, но функция выполняется (ТРИЗ).
В таком случае, раз для вас эта тема неудобна (но удобно использовать её как повод для статьи), вы занимаетесь введением в заблуждение.
Нельзя быть немножко беременной — нет исполнителей (а это предлагаете игнорировать) — нет объекта исполнения (конституции).
И если в своём посыле вы искренны, последуйте совету smedentsev выше.
- Ждём изобретения и ввода полноценного ничем не ограниченного (никаких трёх законов робототехники) ИИ и нарекаем его Сesare.
- Принимаем Конституцию IT-иков из одной фразы: "Признаём абсолютную монархию с ИИ в роли Императора".
Ave Сesare !
Дать инструкции как правильно вести? Ну тут — вспоминается Иван Тропов «Опаленная колыбель» (ИИ честно старалался выполнить инструкции, про «как можно меньше человеческих страданий», только вот ему почему то мешали).
Зачем автору вот эти все пляски с бубнами? Можно услышать цель? Что ожидается на выходе данного публичного процесса?
Отвечу за автора — на выходе он ожидает нечто прекрасное. Оно, разумеется, сложится само, при помощи коллективного разума, через умные головы неких ИТишников, ну и всё в таком духе. Свою задачу автор видит в слове «запустить», мол вот закину идейку, а она как взлетит, как взлетит!
Но автор, вас ждёт разочарование.
Во первых, вы не первый, кто хочет что-то изменить. Просто обратите внимание на результаты миллионов предшественников. Ну и сделайте уже какой-то вывод.
Во вторых, ни данная аудитория, ни подавляющее количество других аудиторий, не способны на серьёзные действия. Всё приличное в мире достигается при помощи кнута. Не обязательно в буквальном смысле, но некоторая жёсткость всегда неизбежна. Запуск же волшебных пузырей в сторону желающих одних лишь удовольствий издаст лишь множественные лопающиеся звуки.
Ну и в третьих, автор, вы всё же делаете полезное дело. Но делаете его неумело, а это значит — неэффективно. Неэффективно же означает всё то, о чём я написал выше. Поэтому пункт три звучит так — вы должны стать эффективным. И для этого сначала вы должны учиться. Потом тренироваться (то есть получать опыт использования полученных знаний). И только потом у вас будет что-то получаться. Но вам хочется «по быстрому». Это понятное желание, но повторюсь — результатом будет неэффективное сотрясание воздуха.
Это было введение.
Теперь по делу. Автор, начните с простого — перечислите свои желания. Чего вам не хватает? Зачем вы стучитесь к людям? Чем они должны вам помочь?
Ответ должен быть честным. Если начнёте врать и сочинять красивые сказки — станете очередным жириком или даже чем-то худшим.
После получения хотя бы обтекаемой формулировки ваших проблем (а именно проблемы являются тем кнутом в вашем случае, который заставляет вас писать здесь подобные статьи), можно будет пытаться формулировать способы их устранения. Пока же можно ожидать всего на свете — от запойной депрессии склонного к выпивке человека и до самого искреннего желания предотвратить «слезу ребёнка» (в широком смысле). Если же мы чуть сузим ожидаемый диапазон, то это будет первый шаг на пути к конструктиву.
ЗЫ. По конституции.
Конституция США есть банальный компромисс крупных представителей правящей там знати на момент составления данного документа. Авторы не занимались глубокими исследованиями, но по простому, как их учили в известных английских школах (в том числе на «уроках жизни» в виде насилия старших учеников над младшими), банально закрепили границы своего собственного влияния. Упрощённо, но довольно близко к истине, этими границами являлись границы штатов. Внутри штатов знать могла делать всё, что ей захочется, но вне штата знать признавала верховенство совещательного органа из таких же властителей других штатов. Вот и вся демократия. Или другими словами — это была демократия для знати, когда они вынужденно договаривались друг с другом ради решения своих личных вопросов, но всё же решили ввести процесс нахождения компромисса в некие упрощающие дело рамки — по образу и подобию страны происхождения (Англии). В Англии этот образ задавал так называемый «парламент», который по сути был именно сборищем знатных особ, более или менее организованно перетирающих друг с другом о своих проблемах и хотелках. И разумеется, в Англии это всё существовало не из-за каких-то там отвлечённых благих пожеланий (типа блага народа и прочей хрени), а исключительно из-за реальной полезности такого коллективного процесса для целей нахождения компромисса между представителями знати.
И вот когда кто-то предлагает сочинить очередное поделие на тему «как лордам стать королями», при этом ни чуть не сомневаясь в том, что он делает доброе дело, мне всегда хочется попросить такого человека снова начать посещать детский сад. Ну да это уже личное, не обращайте внимание, я на самом деле просто эмоционально воспринимаю человеческое желание делать глупости.
Этот пост как экспресс-зарисовка, на будущее.
+ Зондирование аудитории (очень продуктивное, кстати, идея ЯП для законов — это огогонь!)
Время от того, как пришла идея, до публикации — 2 часа.
Ведь любой язык программирования, даже самый низкоуровневый, является примером усложнения (в смысле повышения разнообразия) способов взаимодействия с предметом его описания, то есть ограниченным набором инструкций взаимодействия с процессором компьютера.
Попытка же сделать язык программирования для написания законов изначально будет работать с упрощенной моделью действительности, что в лучшем случае выродится либо в чисто академический интерес, на котором будут писаться научные труды, либо в прикладной инструмент, лишь создающий видимость решения проблем, а потому в реальности лишь умножающий их число.
Движение запускают имея серьёзную основу. Два часа от идеи = нет никакой основы. Поэтому зондирование показывает, что народ просто треплется на заданную тему, совершенно не понимая сути этой темы. Скорее всего в обсуждении участвуют весьма молодые и неопытные сторонники всяческих вконтактов и телеграмов. Они даже в профессиональной области очень слабы, а тут им предлагается незнакомая для них тема.
Идея про ЯП для законов, это не огонь, а скорее ужас, хотя от огня тоже бывают ужасные последствия. ЯП представляет из себя формальное описание, но любой формализм на порядки проще реальности. Поэтому он не подходит для сложных ситуаций. Соответственно, юные дарования, так радостно выше обсуждающие ЯП для законов, просто не понимают сути того, чем они занимаются на работе.
В общем для получения реальной пользы нужна основа. Её нужно создавать, в неё вкладываться, а потом ещё и поддерживать. Это вам не пару часов поковырять гугл в поисках ссылок на конституции. И по другому не получится — только вкладывая много усилий. И не в одиночку, разумеется. Так что я бы вам рекомендовал найти единомышленников, ну и быть готовым трудиться. Хотя последнее мало кому хочется делать, да.
Согласно критике идеологии, следует поискать за убеждениями об основном законе, о том кто его будет исполнять, искать политические убеждения автора. Выразил ли автор свою политическую позицию, отражающую его взгляд на институт собственности, права или власти? Нет! Более того, автор отсылает из топика, минусует.
Красивое яблоко внутри гнилое
Нельзя говорить о государстве, его содержании, избегая субстанциональность — не конституция делает государство, а общественное движение, проявляющиеся в различных сферах. Соответственно автору-хайпожору всё равно даже на свой замысел. Данная статья — быстро слепленный пост на жгучую тему выборов.
При этом необходимо учитывать, что реальный код вполне себе можно писать и без всякого рода абстракций. Более того, на начальном этапе любого нового дела лучше всего избегать конструирования абстракций, а просто сразу морально настроится на периодический рефакторинг кода (внесение изменений и дополнений в действующие законы и подзаконные акты). И лишь когда код стабилизируется, а также появится потребность в масштабировании этого кода (распространение действия законов на новые сферы жизни или категории граждан), то можно подумать и над вынесением определения некоторых функций и структур данных на новый уровень абстракции (создание/изменение конституции или иного рамочного закона, содержащего в тексте ссылки на иные законы и подзаконные акты).
А что касается реальной жизни, то как бы хорошо не были бы прописаны интерфейсы и абстрактные классы (конституция), все могут испортить криворукие программисты и тупые пользователи, которым что есть эти классы и интерфейсы, что нет их, для них все едино.
Отсюда следует банальный вывод. Потребность в новой/уточненной конституции, как и возможность ее написания, имеется только у людей, которые занимаются конструированием общественного устройства. Для всех остальных устройство конституции и технология ее создания и модификации понятны в той же мере, как понятна бухгалтеру Марьиванне принципы наследования абстрактных классов на языке программирования высокого уровня. Поэтому предлагаю не отбирать чужой хлеб у законодателей, а поработать над темами, близкими народу, например, над этическим кодексом программиста, в котором продекларировать, что есть хорошо, а что есть плохо в сфере информационных технологий.
А что касается выполнения законов, то да, их нужно выполнять. Как это странно не прозвучит для некоторых, качество законов в нашей стране одно из самых лучших в мире. И жить по закону в нашей стране очень комфортно. Вот только, чтобы этими законами эффективно пользоваться, нужно их для начала просто прочитать, а затем еще и понять. И опять же, только поняв недостатки закона, можно браться за вынесение из этой огромной массы законов дополнительных абстракций на уровень конституции.
Форум Свободной России пишет проект конституции
https://aillarionov.livejournal.com/1192376.html#t109047992
Альтернативная конституция