Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
❗️Il sottosegretario alla cultura Vittorio #Sgarbi è stato condannato alla pena pecuniaria di 2.000 euro per diffamazione ai danni di Virginia #Raggi. Il giudice monocratico di Roma ha disposto anche una provvisionale di 20mila euro in favore dell'ex sindaca di Roma
@UltimoraPolitics
https://x.com/SavinoBalzano/status/1986356173591773612?t=9mKQhyQM9sEH82K7RZxm3w&s=19
CROLLA UNA STRUTTURA CHE AVEVA 1200 ANNI A #ROMA: QUANDO CHIEDIAMO LE DIMISSIONI A #GUALTIERI?
Devo confessarvi che questa ossessiva insistenza sulle dichiarazioni della #Zakharova comincia a puzzarmi. Sì, per carità, sono state infelici perché pronunciate mentre un operaio era sotto le macerie. Ma insomma, in quanto a uscite infelici, la nostra classe politica non è che abbia molto da insegnare. Sergio Mattarella ha paragonato i russi al Terzo Reich: non saprei cosa sia peggio.
Eppure alcuni telegiornali, il TG Draghi in prima fila, non riescono più a trovare aggettivi da riservare alle parole della portavoce del ministro degli esteri russo: immonde, barbare, invereconde, e chi più ne ha più ne metta. E la miseria! Quando il coro è così univoco e assordante, c’è da interrogarsi a fondo.
Uscita infelice, vero (a mio avviso, più per il tempismo che per il merito), però noi siamo quelli che davano della “culona inchiavabile” alla cancelliera tedesca. Non pubblicamente, noterà qualcuno, va bene, ma l’uscita fu oltremodo “colorita”.
E allora perché si insiste tanto? Domandatevi — col massimo dell’onestà intellettuale che riuscite a portare — che cosa sarebbe accaduto se al Campidoglio ci fosse stata Virginia Raggi. Secondo voi, che cosa sarebbe successo? Guardate i giornali di qualche anno fa: alla #Raggi veniva addossata qualsiasi responsabilità, anche la più assurda, e le notizie di Roma erano sempre in prima pagina, ogni sera, anche sul TG Draghi. A Virginia si riservava sempre l’apertura e gli attacchi erano ferocissimi, notoriamente anche volgari.
È curioso che crolli la Torre dei Conti, un edificio che stava lì, dritto dritto, da 1200 anni, e nessuno abbia nulla da dire a chi ha commissionato i lavori di “restauro”. Quasi sette milioni di euro del #PNRR (a debito) per demolire un edificio storico nel cuore di Roma. Vi sembra accettabile? La vicenda peraltro appare controversa: chi abitava attorno all’edificio era preoccupato da tempo.
Dico, ma ve lo ricordate cosa accadde nel 2010 col crollo della Palestra dei Gladiatori a Pompei? Al governo c’era #Berlusconi e alla Cultura Sandro Bondi, quello delle poesie a Silvio, alla mamma, alla moglie e così via (certe gesta riecheggiano per l’eternità). Accadde un putiferio senza precedenti — giustamente, direi — eppure in quella circostanza le responsabilità, pur essendoci, apparvero indirette. A leggere la cronaca del tempo, emerge che piovve molto, che i materiali usati per i restauri del dopoguerra erano forse inadeguati, ad esempio. Eppure, com’è giusto che sia, l’esecutivo venne crocifisso.
Oggi si risparmia il Governo, ma soprattutto Roberto Gualtieri, che avrebbe la responsabilità politica di quanto accaduto.
Quel crollo è politicamente assai rilevante perché fa cadere una maschera d’ipocrisia davvero insopportabile: oltre a mostrare il miserrimo livello della nostra classe politica — che non merita nemmeno l’eredità della storia, del nostro passato, che si ribella a noi venendo giù — punta il dito anche su qualcun altro. Sì, perché a morire è stato un operaio, rumeno, di 66 anni.
Ogni giorno, stando alle stime ufficiali (e molti morti non vengono nemmeno registrati), tre persone escono di casa per non tornarvi: muoiono sul lavoro. Nel 2024 abbiamo avuto quasi seicentomila infortuni sul lavoro: molti ti distruggono la vita, ti lasciano invalido per sempre (e non si contano quelli domestici, solo perché dedicarsi alla casa non è “formalmente lavoro”). Poi ci sono le malattie professionali: tantissime. Si consideri, ad esempio, che alcuni stimano circa diecimila casi di tumore professionale ogni singolo anno. Molti di essi sono mortali. E non ci sono solo i tumori, purtroppo.
E dunque, per esempio, in merito alla morte di Octay #Stroici, operaio rumeno di 66 anni: che hanno da dire coloro i quali dovrebbero tutelare il mondo del lavoro, dei precari, dei più fragili? Che dice il sindacato?
https://x.com/SavinoBalzano/status/1986356173591773612?t=9mKQhyQM9sEH82K7RZxm3w&s=19
CROLLA UNA STRUTTURA CHE AVEVA 1200 ANNI A #ROMA: QUANDO CHIEDIAMO LE DIMISSIONI A #GUALTIERI?
Devo confessarvi che questa ossessiva insistenza sulle dichiarazioni della #Zakharova comincia a puzzarmi. Sì, per carità, sono state infelici perché pronunciate mentre un operaio era sotto le macerie. Ma insomma, in quanto a uscite infelici, la nostra classe politica non è che abbia molto da insegnare. Sergio Mattarella ha paragonato i russi al Terzo Reich: non saprei cosa sia peggio.
Eppure alcuni telegiornali, il TG Draghi in prima fila, non riescono più a trovare aggettivi da riservare alle parole della portavoce del ministro degli esteri russo: immonde, barbare, invereconde, e chi più ne ha più ne metta. E la miseria! Quando il coro è così univoco e assordante, c’è da interrogarsi a fondo.
Uscita infelice, vero (a mio avviso, più per il tempismo che per il merito), però noi siamo quelli che davano della “culona inchiavabile” alla cancelliera tedesca. Non pubblicamente, noterà qualcuno, va bene, ma l’uscita fu oltremodo “colorita”.
E allora perché si insiste tanto? Domandatevi — col massimo dell’onestà intellettuale che riuscite a portare — che cosa sarebbe accaduto se al Campidoglio ci fosse stata Virginia Raggi. Secondo voi, che cosa sarebbe successo? Guardate i giornali di qualche anno fa: alla #Raggi veniva addossata qualsiasi responsabilità, anche la più assurda, e le notizie di Roma erano sempre in prima pagina, ogni sera, anche sul TG Draghi. A Virginia si riservava sempre l’apertura e gli attacchi erano ferocissimi, notoriamente anche volgari.
È curioso che crolli la Torre dei Conti, un edificio che stava lì, dritto dritto, da 1200 anni, e nessuno abbia nulla da dire a chi ha commissionato i lavori di “restauro”. Quasi sette milioni di euro del #PNRR (a debito) per demolire un edificio storico nel cuore di Roma. Vi sembra accettabile? La vicenda peraltro appare controversa: chi abitava attorno all’edificio era preoccupato da tempo.
Dico, ma ve lo ricordate cosa accadde nel 2010 col crollo della Palestra dei Gladiatori a Pompei? Al governo c’era #Berlusconi e alla Cultura Sandro Bondi, quello delle poesie a Silvio, alla mamma, alla moglie e così via (certe gesta riecheggiano per l’eternità). Accadde un putiferio senza precedenti — giustamente, direi — eppure in quella circostanza le responsabilità, pur essendoci, apparvero indirette. A leggere la cronaca del tempo, emerge che piovve molto, che i materiali usati per i restauri del dopoguerra erano forse inadeguati, ad esempio. Eppure, com’è giusto che sia, l’esecutivo venne crocifisso.
Oggi si risparmia il Governo, ma soprattutto Roberto Gualtieri, che avrebbe la responsabilità politica di quanto accaduto.
Quel crollo è politicamente assai rilevante perché fa cadere una maschera d’ipocrisia davvero insopportabile: oltre a mostrare il miserrimo livello della nostra classe politica — che non merita nemmeno l’eredità della storia, del nostro passato, che si ribella a noi venendo giù — punta il dito anche su qualcun altro. Sì, perché a morire è stato un operaio, rumeno, di 66 anni.
Ogni giorno, stando alle stime ufficiali (e molti morti non vengono nemmeno registrati), tre persone escono di casa per non tornarvi: muoiono sul lavoro. Nel 2024 abbiamo avuto quasi seicentomila infortuni sul lavoro: molti ti distruggono la vita, ti lasciano invalido per sempre (e non si contano quelli domestici, solo perché dedicarsi alla casa non è “formalmente lavoro”). Poi ci sono le malattie professionali: tantissime. Si consideri, ad esempio, che alcuni stimano circa diecimila casi di tumore professionale ogni singolo anno. Molti di essi sono mortali. E non ci sono solo i tumori, purtroppo.
E dunque, per esempio, in merito alla morte di Octay #Stroici, operaio rumeno di 66 anni: che hanno da dire coloro i quali dovrebbero tutelare il mondo del lavoro, dei precari, dei più fragili? Che dice il sindacato?