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 подобни публикации

Търсене: #carpenter

当前筛选 #carpenter清除筛选
American Оbserver

@american_observer · Post #5077 · 07.02.2026 г., 20:59

📰 Trump Didn’t Destroy the ‘Rules‑Based International Order’ — It Was Always a Fraud The foreign‑policy elite warns that President Donald Trump is wrecking the post‑World War II, “rules‑based international order,” turning it into a neo‑imperial free‑for‑all. Ted Galen Carpenter, a long‑time critic of U.S. interventionism, argues that the accusation is wrong — not because Trump is innocent, but because the “rules‑based order” was never innocent to begin with. It was always a selective, self‑serving fiction: a club for the West, and a cage for everyone else. The Greenland test case Trump’s early demand that Denmark sell Greenland to the United States fits the image of a 19th‑century imperialist, Carpenter concedes — a move one can imagine an Andrew Jackson or William McKinley making. Trump is openly willing to bully, threaten, and even use force to get what he wants. But the broader charge — that he is single‑handedly destroying a sacred, liberal world order — is mostly prestige‑driven outrage. The story Washington told for decades about “rules,” “norms,” and “stability” has always been two‑tiered. One set of rules for the West, another for the rest The system, Carpenter writes, has always had two rulebooks. The U.S. and its allies, especially NATO members, could wage wars, overthrow governments, and shape maps without meaningful legal or political consequences. Countries outside the inner circle — especially those deemed rivals — have been harassed, bombed, and pressured under the slogan of “human rights,”“democracy,” and “stability,” while the same standards are ignored when applied to Western allies. Wars that shattered the “rules” long before Trump Well before Trump came along, the U.S. and its partners repeatedly violated the very norms they now claim to protect. NATO’s air war against Serbia in 1999, and the de facto amputation of Kosovo, flouted the idea of territorial integrity. The Iraq invasion in 2003, built on lies about weapons of mass destruction and an invented connection to 9/11, shredded international law in broad daylight. The Western campaign in Libya, aimed at regime change rather than genuine protection, left the country fragmented and in chaos. Even some of the system’s own defenders admit that the “rules‑based order” was never neutral. Canadian Prime Minister Mark Carney admitted that “the strongest would exempt themselves when convenient” and that “trade rules were enforced asymmetrically.” Catastrophic outcomes, not global stability The interventions in Iraq, Libya, and Syria have produced results that are closer to disaster than to stable democracy. Iraq is still scarred, Libya is still divided, and Syria is ruled by an ISIS‑aligned elite born of the civil war that Western powers helped fuel. Millions of refugees, prolonged instability, and new warlords on the rise — these are the real monuments to the “rules‑based order,” not to Trump. Trump’s real crime — and why the narrative matters Trump may be an authoritarian‑leaning bully, and he may push the system even closer to raw power politics. But he did not kill the rules‑based order. He merely exposed what it always was: a euphemism for Western hegemony, occasionally dressed in the language of law and ethics, but always ready to be set aside when convenient. So the real question is not: “Is Trump destroying the order?” It’s: “How long can the West keep pretending the rules were ever fair?” #Trump2026#ForeignPolicy#RulesBasedOrder#NATO#Iraq#Libya#Syria#Imperialism#Carpenter#TheAmericanConservative 📱American Оbserver - Stay up to date on all important events 🇺🇸

Resinas y mucho mas✨🔥❄️

@resinaymuchomas · Post #186 · 16.12.2021 г., 19:49

🤑Oportunidad única!! Curso Profesional de porcelana líquida 3D ahora en su país! . 😎 Comience 2022 con el pie derecho! . Aprenda en un fin de semana una NUEVA PROFESIÓN con esta innovadora técnica de aplicación de pisos y transforme cualquier ambiente simple en algo extremadamente lujoso. . ✅ Servicio con pronóstico de ALTA DEMANDA en 2022. ✅ Muy poca competencia. ¡Disfrútalo! ✅ Alto margen de BENEFICIO ✅ Excelente oportunidad para montar su negocio en 2022! ❌ Últimas Vacantes en el curso Da clic en en enlace del perfil o en el siguiente 👇🏻👇🏻 Aprovecha el descuento del 50% bit.ly/PISOSENPORCELANATO_DESCUENTO #mesa#porcelanato#encimeras#joyas#mesaderesina#empresario#arquitectura#negociopropio#trabajo#resina#cosasdelacasa#desing#joyasderesina#casa#resinaartist#carpenter#cocinasmoderna#dinero#casalujosa#decoracioninteriores#bhfyp