TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #sufism

当前筛选 #sufism清除筛选

Rumi died on December 17, 1273. He was a Persian poet and Sufi mystic known for his spiritual poems about love and God. His famous work, the Masnavi, teaches deep lessons about life and faith. Rumi’s poetry helps many people find meaning in everyday life. [Source] If you feel inspired share your or Rumi's poetry. @googlefactss #Rumi#Poet#Sufism#Love#Spirituality#Masnavi📜❤️

Во второй половине XVI века идея «контрмиллениального суверенитета» — светской власти, сакрализованной вне ожидания конца времён — получила развитие в трёх мусульманских империях: Могольской, Османской и Сафавидской. В Индии, при дворе Великого Могола Акбара (1556–1605), эта концепция была обогащена гностическим суфизмом и адаптирована под индуистскую духовность. Напротив, в Узбекской империи, куда контрмилленаризм был занесён иранскими эмигрантами, он уступил место суннитскому мышлению и восстановлению чингизидской легитимности. Османская империя, восприняв суверенитет как форму «божественного халифата», отвергла шиитско-суфийскую философию власти в пользу суннитской теории халифата, подчинив духовную и правовую сферы султану как главе шариатской иерархии. Даже в Иране идея сакрализованной монархии оказалась нестабильной. После утверждения шиизма как государственной религии в XVI веке, Сафавиды установили двойственную политику: они сделали шиитскую иерархию основой религиозной жизни и одновременно сохранили орденский суфизм (в лице кызылбашей) как идеологию армейской элиты. Однако при этом жёстко подавлялись все иные суфийские ордена, за исключением временно терпимого ордена Нематоллахи. После падения Сафавидской державы и начала правления династии Каджаров в конце XVIII века, религиозное лидерство окончательно перешло к независимой шиитской иерархии. Ага Мохаммад Хан Каджар основал новую империю при активной поддержке шиитских улемов. Его преемник, Фатх-Али Шах, официально признал правовую зависимость от моджтахедов, что означало снижение монаршего статуса — шах оставался светским главой, но религиозная власть теперь принадлежала духовенству. При этом шиитская иерархия начала кампанию против суфизма. Наиболее жестокие репрессии обрушились на орден Нематоллахи. Его лидер Масум Али Шах, вернувшийся из Индии, стал объектом гонений. В 1790 году толпа, подстрекаемая влиятельным моджтахедом Ака Мохаммадом Бехбехани — прозванным «суфи-кош» (убийца суфиев), — растерзала его ученика Моштака Али Шаха. Сам Масум Али Шах был убит около 1800 года, а оставшиеся суфии были изгнаны, арестованы и преданы суду за ересь. Несмотря на эти гонения, орден Нематоллахи выжил. При шахе Мохаммаде (1834–1848) давление ослабло, и даже суфий получил пост премьер-министра. В конце XIX – начале XX века орден сохранился в двух ветвях: одна — аристократическая, с центром в Тегеране (во главе с Сафи Али Шахом), другая — в сельской Гонабаде (с лидером Нур Али Шахом). Обе линии дожили до эпохи Пехлеви, свидетельствуя о стойкости суфийской традиции в условиях давления шиитской ортодоксии и государственной централизации. — Saïd Amir Arjomand, Kings and Dervishes. Sufi World Renunciation and the Symbolism of Kingship in the Persianate World, University of California Press, 2025. pp. 266-268 #sufism#safavids#qajars#суфизм#сафавиды#сефевиды#каджары