Ma che bella deriva che ha preso questa conversazione! :-D On Thu, 29 Apr 2021 08:48:32 +0200 Andrea Trentini wrote:
sviluppatori affetti da hybris fanno da soli
Ciao, mi chiamo Giacomo e qualche volta scrivo software da solo. So che forse posso smettere, ma poi con che faccia guarderò le mie figlie sapendo di non aver neppure provato a evitargli tutto questo? In questi giorni sto prendendo parte ad una lunga discussione sull'uso di ReactJS in ambito finanziario. Io sono contrario (framework instabile, ecosistema pressappochista e mal documentato etc.. etc...) ma a causa di incauti investimenti pregressi in altri settori probabilmente dovremo adottarlo. Il che, di per sé, sarebbe un problema relativo: il team con cui lavoro ha skill così elevati da poter adattare qualsiasi tecnologia alle esigenze dei nostri clienti (grandi gruppi bancari), ma... MA anche se React è un non-framework basato (pressappoco) sul Functional Reactive Programming e che si _presenta_ come estremamente un-opinionated, ci viene detto che il nostro modo di usarlo sarebbe "antitetico alle best practice". Potrei parlare ORE dell'inadeguatezza di queste best practice per codebase di decine di milioni di righe di codice che andranno manutenute per decenni (letteralmente) presso clienti con esigenze di sicurezza e regole di deploy estremamente complesse e che richiederanno innumerevoli evoluzioni. MA mi viene detto che queste best practice vengono adottate con successo da Facebook QUINDI devono andare bene anche per noi. Applicandole alla lettera, ci sono state proposte funzioni da 800 righe di codice (non scherzo!) che mescolano problematiche totalmente ortogonali perché tanto il separation of concern è roba da boomer. Fidati Andrea: talvolta non è hybris riscriversi le cose da soli. E' spirito di sopravvivenza. Perché tanto poi, i problemi in produzione toccherà risolverli a noi. On Thu, 29 Apr 2021 10:22:41 +0200 Giovanni Biscuolo wrote:
--8<---------------cut here---------------start------------->8---
You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.)
--8<---------------cut here---------------end--------------->8--- [...] Io SO che NESSUNO sulla faccia della terra, nemmeno il più geniale dei programmatori, è in grado di scriversi (e correggersi) da solo il software che usa
Per citare Stefano Quintarelli: "lo pensi o lo sai?" :-D E' vero: siamo circondati da una enorme quantità di pessimo software. Indipendentemente dalla licenza con cui è distribuito. ;-) Se un software non può essere completamente letto, studiato e compreso in meno di un mese da un singolo essere umano, è "broken beyond repair". Ma questa drammatica situazione non è una condizione necessaria, non è una caratteristica naturale, inevitabile del software. E' solo un problema immanente che fatichiamo ad accettare come tale ed affrontare seriamente. La soluzione è complessa e sfaccettata, passa dall'educazione informatica e dalla riscrittura "from scratch" di tutto lo stack applicativo, a partire dai compilatori (e dai linguaggi), dal sistema operativo e forse anche (come ami sottolineare tu Giovanni) dal microcode e dall'architettura delle CPU. E tutto da buttare. Tutto, purtroppo: https://lkml.org/lkml/2021/4/27/855
mi sa che ci conviene collaborare.
Decisamente! :-D Con tutto il lavoro da fare che c'è, prima partiamo e meglio è! Non dobbiamo scoraggiarci: questo software è stato scritto accumulando una enorme quantità di complessità non necessaria, accidentale o voluta. Può (e deve) essere _semplicemente_ riscritto. Non per hybris, ma per spirito di sopravvivenza. Per lasciare ai nostri figli un mondo cibernetico più vivibile. Giacomo