Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
Фото дня, или Ещё несколько слов о Мадриде
В понедельник в центре испанской столицы, на площади Каллао, прошла акция протеста, организованная медсёстрами и физиотерапевтами, которые пришли в порванных и обожжённых формах и с плакатами, на которых было написано: «Выгоревшие», «Не хватает медсестёр», «Без достаточных подкреплений, без возможности совмещать работу и личную жизнь», «Мы требуем увеличения штата и плана по балансированию работы и семьи с соответствующим бюджетом», «Мадрид не заботится о своих медсёстрах», «Когда не хватает медсестёр, пациент ждёт» и «Твоя бабушка заслуживает заботы, а не спешки».
Профсоюз требует немедленного изменения политики в Servicio Madrileño de Salud, утверждая, что система находится на грани коллапса. Медики жалуются на хронический дефицит кадров и чрезмерные нагрузки.
☝️По данным профессионального профсоюза медсестёр и физиотерапевтов Испании, в первой половине 2025 года Мадрид покинули 650 медсестёр, уехавших в другие регионы или страны, где условия лучше.
@amigokonon#Madrid
В 2027 году власти автономного сообщества Мадрид снова снизят региональную часть налога на доходы (IRPF) на 0,5 процентного пункта, что должно привести к минимальной ставке 8% и максимальной 20%, с ожидаемой общей экономией для жителей около 500 млн евро и охватом примерно 2,9 млн налогоплательщиков, преимущественно с доходами ниже 35 000 евро брутто в год, передаёт El Mundo.
Эта мера вписывается в налоговый курс Исабель Диас Аюсо (Isabel Díaz Ayuso), для которой снижение налогов является одним из ключевых инструментов экономической политики: с 2019 года в регионе было проведено уже 37 решений по уменьшению налогового бремени.
❗️Власти подчёркивают, что при таком режиме налогообложения средний житель Мадрида платит примерно на 635 евро налогов в год меньше, чем налогоплательщик в Каталонии, и на 555 евро меньше, чем в Кастилии-Ла Манче.
▫️Левая оппозиция критикует новый шаг, утверждая, что такая политика базируется на ресурсах, поступающих из государственного бюджета, и может привести к урезанию расходов на социальную сферу — от домов престарелых и центров для пожилых до детских садов и амбулаторий; звучат также обвинения, что снижение IRPF прежде всего выгодно более обеспеченным и используется как элемент «предвыборной кампании».
☝️Однако сторонники действующей политики Мадрида отвечают статистикой по доходам бюджета и напоминают, что предыдущие снижения региональных ставок IRPF не уменьшали, а увеличивали налоговые поступления за счёт роста инвестиций, экономической активности и потребления. В частности, в 2007 году снижение ставок на 1 пункт по всем четырём ступеням шкалы принесло на 358 млн евро больше, чем годом ранее; в 2014 году уменьшение на 1,6 пункта дало дополнительно 126 млн евро; в 2015 году введение нового нижнего диапазона со сниженной ставкой обеспечило рост сборов на 573 млн евро; в 2018 году снижение минимальной предельной ставки на 0,5 пункта привело почти к 1 млрд евро (946 млн) дополнительной выручки; а в 2022 году сокращение региональных ставок IRPF на 0,5 пункта по каждой ступени, по данным регионального правительства, повысило сборы ещё на 897 млн евро.
▫️В окружении Аюсо подчёркивают, что сочетание сдержанного роста государственных расходов, последовательного снижения налогов и дерегуляции превратило Comunidad de Madrid в главный экономический центр Испании, оттеснив Каталонию, занимавшую эту позицию до 2017 года.
На фото: президент автономного сообщества Мадрид Исабель Диас Айюсо. @amigokonon#Madrid
In una nota, l'Arcidiocesi di #Madrid smentisce le voci, sempre più insistenti, di un Viaggio Apostolico di Papa #LeoneXIV nella Capitale spagnola in estate: "L' Arcidiocesi di Madrid desidera esprimere il suo comune entusiasmo e la sua speranza riguardo alla possibile visita di Sua Santità Papa Leone XIV. Tuttavia, alla luce delle informazioni circolate negli ultimi giorni in vari ambienti, l'Arcidiocesi ritiene necessario chiarire che tali informazioni sono inesatte".
"La diffusione di dati non confermati è sbagliata e ostacola, oltre che interferire, il lavoro serio e discreto necessario per pianificare un'eventuale visita del Santo Padre e il necessario dialogo. Attualmente, queste informazioni stanno creando confusione, poiché il processo è ancora nelle sue fasi iniziali. Un gruppo di lavoro si riunirà nei prossimi giorni per iniziare a elaborare proposte a livello diocesano", precisa l'Arcidiocesi.
"Spetta inoltre alla Santa Sede delineare, a tempo debito, le possibili date e gli eventi che, se del caso, potrebbero essere modificati a seconda delle opportune esigenze che verranno considerate. Da parte dell'Arcidiocesi, il lavoro si concentra sull'ordinata organizzazione delle proprie proposte e di quelle che potranno emergere dal dialogo con le diverse realtà locali, affinché, successivamente, la Santa Sede, la Conferenza episcopale e le diocesi interessate possano valutare, adattare e precisare gli aspetti necessari", si legge ancora nella nota.
"L'Arcidiocesi di Madrid sottolinea l'importanza di non introdurre questioni estranee al processo organizzativo che potrebbero interferire con il corretto svolgimento e l'eventuale realizzazione della visita del Santo Padre", concludono dalla Capitale sp
🌷 Un concejal del PSOE lanza un vaso de cristal con café a la cara del portavoz de Vox en Aranjuez al grito de "fascista"#Madrid#PSOE
◾ El portavoz de Vox y concejal de Desarrollo Tecnológico e Informática, Transporte, Movilidad del Gobierno de Aranjuez (Madrid), David Esteban Fernández Domínguez, ha denunciado ante la Policía Nacional al concejal socialista José María Cermeño por "lanzarle al rostro un recipiente con café" durante una comisión.
◾ Tras estos hechos, Cermeño entregará su acta de edil este martes tras reconocer "su comportamiento inadecuado". El episodio tuvo lugar el pasado febrero mientras se debatía una propuesta.
◾ Según la denuncia, el socialista habría llamado "gilipollas" y "fascista" al edil de Vox, a lo que él respondió llamándole "vago". Tras ello el concejal del PSOE habría lanzado su café.
https://www.lasexta.com/noticias/nacional/concejal-psoe-lanza-vaso-cristal-cafe-cara-portavoz-vox-aranjuez-grito-fascista_2026030969af0707d489bf782e144f70.html
🇪🇸t.me/info288_nacional
🇷🇺 La meilleure joueuse de tennis russe Mirra Andreïeva s’est qualifiée pour le quatrième tour du tournoi de tennis de Madrid en battant la Hongroise Dalma Galfi (6-3, 6-2).
#tennis#madrid
ℹ️Une foule de migrants a tenté de prendre d'assaut l'ambassade de #Gambie à #Madrid pour éviter de faire la queue afin d'obtenir la citoyenneté.
Cet afflux de migrants a suivi l'adoption d'une loi de régularisation qui permet à des centaines de milliers d'étrangers d'obtenir ce statut, selon le journal The Sun. Les conditions requises incluent une résidence dans le pays pendant plus de cinq mois et un casier judiciaire vierge.
RT en français • Osez questionner !
ℹ️Une foule de migrants a tenté de prendre d'assaut l'ambassade de #Gambie à #Madrid pour éviter de faire la queue afin d'obtenir la citoyenneté.
Cet afflux de migrants a suivi l'adoption d'une loi de régularisation qui permet à des centaines de milliers d'étrangers d'obtenir ce statut, selon le journal The Sun. Les conditions requises incluent une résidence dans le pays pendant plus de cinq mois et un casier judiciaire vierge.
RT en français • Osez questionner !
💥Ofertas para París💥
🔘1: 🛫 Barcelona - 🛬 París (Francia) por 27€: del 14 al 21 de julio (PVP medio: 79.64 €)
🔘2: 🛫 Madrid - 🛬 París (Francia) por 28€: del 31 de julio al 10 de agosto (PVP medio: 77.64 €)
Vuelos con salida desde #Barcelona y #Madrid
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Ciudad de México💥
🔘1: 🛫 Barcelona - 🛬 Ciudad de México (México) por 298€: del 08 al 21 de abril (PVP medio: 861.02 €)
🔘2: 🛫 Madrid - 🛬 Ciudad de México (México) por 296€: del 26 de abril al 07 de mayo (PVP medio: 729.24 €)
Vuelos con salida desde #Barcelona y #Madrid
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Nueva York en noviembre💥
✈️Desde Madrid 294€: 12 al 19 nov
✈️Desde Barcelona 346€: 7 al 13 nov
Vuelos con salida desde #Madrid y #Barcelona
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Lisboa en noviembre💥
✈️Desde Madrid 31€: 9 al 15 nov
✈️Desde Barcelona 55€: 6 al 10 nov
Vuelos con salida desde #Madrid y #Barcelona
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Bali para verdaderos viajeros💥
✈️Desde Barcelona 398€: 24 al 6 noviembre
✈️Desde Madrid 399€: 24 al 6 noviembre
🏨🌴Alojamiento en Bali🌴🏨
Vuelos con salida desde #Barcelona y #Madrid
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫