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

Резултати

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

Търсене: #mandeladay

当前筛选 #mandeladay清除筛选

🎙 Address by Ambassador of Russia to South Africa Roman Ambarov on the occasion of Mandela Day (July 18,2025) 💬 Dear friends, On July 18, we celebrate #MandelaDay – a holiday officially declared by the United Nations to honor the legacy of the South African statesman and one of the most outstanding champions of human rights, Nelson Mandela. The name Mandela is, without exaggeration, familiar to every person living in the former Soviet republics. For two decades, the slogan “Freedom for Mandela!” echoed through the media and peaceful demonstrations, while our country remained the only major power that consistently refused to engage with the criminal racist regime. 👉 The Soviet Union not only provided substantial financial support to the South African liberation movement but also assisted in training military personnel. Nelson Mandela praised #RussiaSouthAfrica ties in the times of the struggle against apartheid: "In a difficult time, Russia became a second home for many of us. Hundreds of young South Africans received an education here — an opportunity denied to them in their own country. Many of our cadres received military training that turned them into skilled fighters for freedom and justice. <...> For the help in liberating the entire South African nation from an inhumane system, we say from the bottom of our hearts: 'Spasibo bolshoe!'" [Thank you very much in Russian]. The friendship forged in those challenging times for South Africans continues to live on between our nations today — thanks in no small part to Nelson Mandela himself. At the heart of Mandela Day, as established by the UN, lies a principle of action, not words – people are encouraged to perform acts of charity and help those in need. The Russian Embassy in South Africa fully embraces this spirit: as part of this commemorative occasion, Russian diplomats will provide assistance and support to three South African children social facilities. 🤝 I extend my warmest congratulations to all our South African friends on this special day and wish you well-being, prosperity, and strength in pursuing your ideals. #MandelaDay2025

🎙 Comment by Russian Ambassador to South Africa Roman Ambarov to TASS (August 5, 2025) ❓Question: What charitable initiatives is the Russian Embassy in South Africa involved in? 💬Roman Ambarov: Russia has always been and remains a reliable friend of the Republic of South Africa—not only in the fields of political, economic, cultural, and educational cooperation, but also in providing humanitarian aid. In its work, the Russian Embassy in South Africa follows a principle supported by the President of the Russian Federation, Vladimir Putin: “African solutions to African problems.” We regularly take part in charitable initiatives organized by South Africa’s Department of International Relations and Cooperation during #MandelaDay and #MandelaMonth. In July of this year, together with other foreign diplomatic missions, we supported a primary school in Gauteng Province that is in dire need of funding by donating chalkboards and food for the students. I would like to emphasize that our charitable work is not limited to one-time actions. It is a year-round, systematic effort carried out by our Embassy staff. Two South African children’s institutions are under the care of the Russian diplomatic mission — the Bophelong Children’s Home in Mamelodi and the New Jerusalem Children’s Home in Midrand. Our diplomats regularly visit the children, show genuine interest in their lives and challenges, and offer help whenever possible. Our aim is not only to provide necessities but also to bring joy and positive emotions. It has already become a tradition to invite children from these institutions to screenings of Russian films, organized by the Embassy in one of Pretoria’s theaters. Last year, together with the parish of the Russian Orthodox Church in Johannesburg, we hosted a screening of the popular animated film Masha and the Bear for the children of New Jerusalem. The joy and excitement on the children’s faces as they clapped and sang along with Masha was the greatest reward for us. These events are usually accompanied by friendly tea parties with Russian pastries, as well as educational presentations about Russia, our culture, traditions, and holidays. As Nelson Mandela once said, “There can be no greater gift than giving one’s time and energy to help others without expecting anything in return.” We fully share this philosophy and try to embody it in our work. #RussiaHelps

🕊 The Philosophy of Ubuntu Ubuntu is a core concept in the cultures of southern Africa, including South Africa🇿🇦 Rooted in the Bantu languages, it is often translated as: “I am because we are.” Ubuntu is about humanity, compassion, mutual support, and the ability to forgive🤝 👐Nelson Mandela believed that everyone has the power to change the world — starting with respect for others: 💬 “Ubuntu does not mean that people should not enrich themselves. The question is: are you going to do so in order to enable the community around you to be able to improve?” — Nelson Mandela 🌍 On Mandela Day 🗓 July 18, supporters of the Ubuntu philosophy around the world dedicate 67 minutes to acts of kindness, honoring 67 years of Nelson Mandela’s service to society ❤️ #Ubuntu#NelsonMandela#SouthAfrica#Philosophy#Humanity#MandelaDay

🕊Nelson Mandela International Day, or Mandela Day, is celebrated every year on July 18, the birthday of South Africa’s legendary freedom fighter and first Black president. 🇿🇦 🗓 The United Nations officially declared the day in 2009, with the first Mandela Day held on July 18, 2010. #MandelaDay#NelsonMandela#SouthAfrica#UN#HumanRights#Ubuntu#Freedom#Justice#Inspiration#MandelaLegacy