Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
Pina #Picierno (#PD): "Le parole del Procuratore di Napoli, Nicola Gratteri, rivolte a Il Foglio sono molto gravi: intimidire un giornale, lasciar presagire un possibile regolamento di conti giudiziario dopo il voto e ricorrere a un’ironia tossica e aggressiva non fa onore alla magistratura italiana.
In una fase così delicata dovremmo invece recuperare una dimensione di confronto alta e costituente, degna della Carta Costituzionale che abbiamo.
Solidarietà al Direttore Claudio Cerasa e tutta la redazione."
@UltimoraPolitics24
L'eurodeputata Pina #Picierno rimarca a Elly #Schlein: "In quattro anni di invasione russa non sei mai andata a Kyiv, che è la frontiera, il simbolo, l'idea, della difesa della democrazia liberale. Non basta dirsi europeisti. Non basta dirsi le cose, le cose bisogna farle."
@UltimoraPolitics24
Il grande regista serbo Kusturica parla del #festivaldelcinemarusso che avrà luogo in Italia organizzato da RT
I media russi sono stati messi al bando dall ' UE con un provvedimento di censura mai visto in precedenza
e che è scivolato su un ' opinione pubblica assuefatta al nuovo fascismo del XXI secolo
#iopartecipo devo chiedere ol permesso a chi? #Meloni#Picierno#calenda
Salviamo la #Costituzione
La vergogna d'Italia
Post assurdi con offese quasi incommentabili.
Arianna #Ciccone (direttore del Festival giornalistico di Perugia, che tra l'altro anni fa intervistai) e la oramai nota Pina #Picierno offendono senza vergogna né dignità il professore D'Orsi e Vincenzo #Lorusso. (Usano nei loro orribili post la stessa foto)
I due "puzzoni" come li definisce la Ciccone non hanno mai nascosto il fatto che sono stati invitati al Festival di #RT a #Mosca, le loro pagine social sono piene di foto dell'evento.
Presenziare al Festival dei 20 anni di RT sarebbe un crimine? Solo al festival della Ciccone bisogna andare?
Siete #russofobe di prima categoria. I vostri "no" non sono una difesa, ma censura bella e pura.
La cosa più grave è che siete maleducate, altamente ignoranti nei modi di fare.
Rappresentate la vergogna d'#Italia.
Prima di dare dei "puzzoni" agli altri, prima di zittire persone che non la pensano come voi, sciaquatevi la bocca!
Grazie per l'attenzione.
#tatianasanti
SEGUI Tatiana Santi:
Telegram | YouTube | Sito Web
📱Donazioni
https://x.com/SavinoBalzano/status/2000103592762466742?s=20
È davvero avvilente leggere l’analisi che commentatori, opinionisti, intellettuali e giornalisti (immaginate una cascata di virgolette) fanno della posizione di #Conte e #Salvini.
Un noto direttore di telegiornale parla addirittura di partito unico filorusso, di partiti sensibili alle ragioni di #Mosca più di quanto lo siano nei confronti di #Kiev. Per essere sensibili alle ragioni ucraine, presumo sia necessario lavorare per il massacro definitivo dei loro giovani.
Si parla spesso – e molto frequentemente proprio in relazione a questi due partiti – di populismo. A prescindere dal fatto che ritenga il populismo cosa buona, certe semplificazioni sono tipiche dei demagoghi in malafede: gente priva di qualsiasi onestà intellettuale, spinta dal semplice intendimento di circuire il pubblico. Di ingannare proprio coloro che ascoltano quelle parole alla ricerca di ciò che ingenuamente ritengono essere informazione (un oceano di virgolette).
Le persone, però, sanno benissimo come stanno davvero le cose. La gente è stufa di chi ha ancora il coraggio di propinare, in momenti di massimo ascolto televisivo, il Piano #Draghi, suscitando giustamente una risata. E ha altrettanta nausea per una propaganda – perché di questo si tratta, propaganda pagata a suon di milioni di euro – europeista, che prova a far sentire inadeguato e quasi barbaro chiunque nutra un fisiologico e naturalissimo euroscetticismo.
Si continua a farneticare di fascismi, di estremismi: #Trump presentato come il male assoluto. Quando però il Segretario Generale della #NATO, lo scendiletto antitaliano Mark #Rutte, ci dice che dobbiamo essere pronti alla guerra e alle sofferenze dei nostri nonni, nessuno suggerisce di chiamare la neuro e sottoporlo – come sarebbe assolutamente opportuno – a un TSO.
E lo stesso vale per molte altre esternazioni, ormai così tante da non poterle riportare tutte, a opera di altre vette del pensiero come #VonDerLeyen, #Kallas, Kubilius, #Macron, #Merz, #Tusk, #Zelensky e così via. Addirittura i cessi d’oro in #Ucraina vengono presentati da qualcuno come segnale della salubrità anticorruttiva del Paese, come se nessuno sapesse che certe indagini sono state condotte dagli Stati Uniti.
E la questione di fondo è proprio questa: è davvero nell’interesse dell’Ucraina insistere con la strategia in atto? Il nervosismo dei supporter di #Calenda e #Picierno sarebbe comprensibile se le scelte fatte finora fossero state quelle suggerite dalle piazze per la pace. Uno potrebbe giustamente incazzarsi e dire: "Finora abbiamo fatto come dite voi, i risultati sono miserrimi, adesso si cambia". Ma il punto è che fino a oggi abbiamo fatto tutto quello che suggeriva il grande partito della guerra (semplificazioni per semplificazioni).
Il risultato è – come tutta la gente dotata di senno prevedeva – la catastrofe per Kiev e l’impoverimento dei popoli europei. Ricordo che dissi le stesse cose negli studi di diMartedi, a maggio 2022, suscitando l’indignazione dei presenti, in particolare quella di Antonio #Caprarica. Non mi hanno più invitato.
Diverso è se si ipotizza che certi esponenti politici, invece di fare gli interessi della gente comune a cui chiedono il voto, rappresentino in realtà chi da questo conflitto sta ricavando enormi profitti. Sotto la scialba retorica della guerra per la democrazia e la libertà – peraltro alimentata da chi, alla fine della fiera, propone sempre di tappare la bocca a qualcuno – si nasconderebbero propositi ben più meschini.
E dunque torno all’inizio. Questo bipolarismo è completamente spanato.
Salvini, sperando tenga duro, sul tema della guerra e del riarmo non ha nulla da spartire con #Tajani e poco con #Meloni. Lo stesso vale per Conte col PD (con chi comanda davvero lì dentro). La guerra è il tema più importante di tutti: in caso di scontro nucleare, ad esempio, immagino che il salario minimo legale rileverebbe assai poco. Non pretendo di risvegliare il moto che portò alla formazione di un esecutivo che, (...)
CONTINUA SU X
#Italia#UE#Ucraina
Il Parlamento UE ha approvato con 427 voti a favore, 181 contrati e 54 astenuti la fornitura di missili tedeschi Taurus a Kiev, era contenuta in un emendamento proposto da #ECR.
#Lega|PfE, #M5S|LEFT, #AVS|LEFT|G/EFA e 16 eurodeputati del #PD|S&D hanno votato contro mentre #FdI|ECR, #FI|EPP e 5 eurodeputati del #PD|S&D (Pina #Picierno, Elisabetta #Gualmini, Giorgio #Gori, Pierfrancesco #Maran e Irene #Tinagli).
@OsservatorioItaliano
Macabra farsa
E cerchiamo di fare analisi serie di questo atroce e delirante spettacolo ?
Israele ha già dimezzato gli aiuti
Il pretesto il mancato ritorno dei corpi degli ostaggi
Sommersi sotto i detriti
La croce rossa aveva già stabilito che era difficilissimo ritrovarli in breve tempo
L'operazione è servita a riavere gli ostaggi e ad assolvere Netanyahu
I due criminali #Trump e #Netanyahu si danno man forte e affermano che Hamas deve disarmare
Il cessate il fuoco se Hamas disarma
Il riconoscimento della Palestina se Hamas disarma secondo Francia e Belgio
Una farsa. Ma se Hamas disarma con chi mai farebbero la guerra? Ovvio che con la resa di Hamas tutto finirebbe
Dementi criminali
E noi a seguire le loro piroette di psicopatici
Temo che il cessate il fuoco servirà all' attacco all' #Iran
E poi il #GazaGenocide potrà ricominciare
Solo #Russia#Cina#Paesiarabi coalizzati con la resistenza dell'#Iran potrebbero essendo dalla parte del diritto onusiano sfidare i criminali di guerra al potere e porre fine a questo scempio
La forza militare statunitense è tale che malgrado le buone parole nessuno rischia di sfidare #Washinton
Temendo la #IIIGM
Ognuno per se a salvare la propria pelle di fronte all' autocrate
I #palestini sono gli ebrei di oggi
Sono sacrificati
Mentre lo spazio mediatico e quello politico #Meloni come #Picierno solidarizzano con l Occidente che contrasta il terrorismo
E la diaspora si vittimizza e chiede leggi contro l #antisemitismo
Come se la rivolta mondiale contro i tedeschi #nazisti potesse essere considerata una rivolta contro gli #ariani
I #gazawi tornano a morire
L #apartheid in #Cisgiordania si inferocisce
Spegnete la #tv
Non lasciatevi intossicare
Ci sono ancora luoghi del pensiero
#Gabellini
#ottolinatv
#Pandoratv
#tvdignità
E molti altri youtuber
Seguite #Jeffreysachs
#JohnMearsheimer
#JacquesBaud
E molti molti altri
Leggete le riviste
#ilponte
#Lafionda
#lantidiplomatico
#krisis
#insideover
#sulatesta
#ilgiornalediitalia
Non facciamoci assorbire dal politichese
Il problema non è #Meloni o #Gentiloni
Ma la riforma di questa #UE con un'altra classe dirigente
Una forza politica credibile che capti il #nonvoto principale partito in Italia come in Europa
La speranza è il pensiero critico, una cultura della resistenza
#Gazaceasefire
#GazaCeaseFireSummit