30/12/2022 - paoloholzl ha scritto:
Se uno ha visto solo dei programmini del cavolo (che con Access pullulano) era un modo per dire con il solo Access ed un DB Server dall'altra parte puoi avere prodotti ben ingenierizzati che fanno quello che al cliente occorre anche con un prodotto datato (purchè ancora supportato).
No, ho visto software in Access che gestivano l'intero workflow di un'azienda logistica di trasporti, quindi capisco bene di quali applicazioni stiamo parlando, e di quante e quali maschere possono esserci e della complessità che può esserci dietro.
Detto questo, sono software che possono essere ben ingegnerizzati solo nella testa di chi li ha creati, perché il linguaggio VBA è limitato: è un software “ben progettato” quello che fa uso di Design Pattern riconoscibili, che rispecchia i principi SOLID, che soddisfa criteri di Clean Code, che si attiene brevemente a tutte quelle norme e prassi ormai consolidate nello sviluppo del software, non da ieri bensì da decenni, anche per lo sviluppo di quel tipo verticalizzato di applicazioni.
In assenza di queste pratiche, quel codice è “ben ingegnerizzato” solo agli occhi di chi lo ha scritto in quanto, essendo l'autore, ha l'impressione che esso sia comprensibile e il più lineare possibile del mondo, quando le caratteristiche di un codice simile sono in realtà ben diverse e aderenti ad altri canoni e standard qualitativi globalmente diffusi, documentati, condivisi e tangibili, totalmente inapplicabili al codice scritto in VBA (o in VB6), che diventano solo e soltanto istruzioni in risposta a eventi, no more no less.
30/12/2022 - paoloholzl ha scritto:
E che non lo uso per giocare, visto che ho aziende che lo usano da decenni su progetti di una certa consistenza senza rallentamenti o instabilità.
Di nuovo, non ci sono rallentamenti o instabilità perché non esiste un percorso evolutivo di quel software: ci si accontenta che sia in Access o altra base dati, si utilizzano ripetutamente le stesse maschere, non si richiede di accedere all'applicativo in altri modi che non sia RDP, non si adottano strumenti che fanno parte di altri sistemi non Microsoft, non nascono in breve negli anni necessità particolari che richiedano di mettere mano a quanto è già stato codificato.
Se il tuo parco clienti è tutto così, da un certo punto di vista ritengo tu sia fortunato, poiché puoi portare a casa il grano senza dover fare sforzi particolari aggiuntivi, e avendo tu detto che qualunque richiesta esuli dalle possibilità di Access verrebbe “cassata”, se non te la chiedono ti va già grassa così e, come dire, invidio la tua fortuna.
Io di clienti di questo tipo io ne ho zero: mi chiedono di non usare RDP ma di accedere via Web, mi chiedono di mettere in mobilità i dati, mi chiedono applicazioni mobile, mi chiedono REST API per poter accedere in sicurezza ai dati senza dover esporre il DB sul Web, mi chiedono servizi in background per produrre reportistica offline e gestire degli alert o l'invio schedulato di e-mail, mi chiedono che il loro software rimanga al passo con i tempi, e come me tutte le software house e gli sviluppatori si trovano grossomodo nella stessa situazione.
30/12/2022 - paoloholzl ha scritto:
Quanto a quello che dici sui form, tutto vero, io li apro in modo parametrico e a seconda del contesto mostro o nascondo gli oggetti.
Perfetto, io non devo basarmi sul contesto, non devo scrivere codice per mostrare/nascondere oggetti, lavoro in un modo che è anni luce distante da quello che VBA mi imporrebbe di fare, che non è prerogativa solo del mio ambiente di sviluppo favorito, ma di qualsiasi ambiente di sviluppo odierno.
E' fondamentalmente il concetto che si sta continuando a ripetere più o meno dall'inizio: se ti piace fare la panna montana a mano, nessuno di noi vuole toglierti il piacere assoluto di farlo, e se i tuoi clienti sono contenti del tuo lavoro, tanto meglio… ma esiste chi ha un ristorante o fa il catering, con più clienti o clienti più esigenti, nel senso che vogliono il lavoro in tempo minore, o lo vogliono più preciso e regolare sulle quantità a parità di richieste, e fortuna vuole che oltre alla frusta manuale esistano anche le planetarie… certo, tu puoi dire di aver comprato una frusta a 200 euro e con quella ci lavori tutti gli anni, ma non puoi nascondere o eludere il fatto che una planetaria, sebbene più costosa, possa risultare più performante, efficiente e accurata nello svolgimento dello stesso lavoro, riuscendo così a soddisfare una più ampia gamma di esigenze (che siano tempistiche, cura, riproducibilità del risultato, quello che vuoi) e di fatto recuperando sia il costo dell'investimento fatto nell'acquisto della planetaria, sia costituendo un guadagno addirittura superiore rispetto a quello ottenibile montando la panna a mano con la frusta. Se vuoi montare la panna a mano e continuare a farlo, nessuno dice che tu non possa riuscirci, né che i tuoi clienti non debbano essere soddisfatti, e nessuno mette in dubbio che tu abbia vent'anni di esperienza alle spalle di panna montata a regola d'arte che ha soddisfatto la tua clientela e continua a farlo, ma nel campo della ristorazione e della pasticceria, chi eccelle e vuole garanzie o si trova a fronteggiare sfide ben più ampie, necessariamente *deve* usare la planetaria, e dei due strumenti senz'altro quest'ultimo è quello “moderno”, non il primo.
Ecco, nella metafora Access è la frusta a mano, tutto il resto è la planetaria.
30/12/2022 - paoloholzl ha scritto:
Per cui la gestione dei form di Delphi (a 32 bit mentre io lavoro a 64), sicuramente più furba e potente di quelli di Access, non mi avrebbe agevolato più di tanto.
Delphi (ad esempio) lavora a 32 bit e a 64 bit, non solo su Windows ma anche su Mac, su Android e su iOS.
Tu dici “non mi avrebbe agevolato più di tanto”, ma è un parere che non posso raccogliere come valido perché, banalmente, tu lo dici ma non puoi saperlo, e lo dici a me che conosco invece entrambi e ho basato proprio su questo aspetto la scelta, quindi lo so e anche benissimo (e mi ritengo fortunato in questo). :)