Technology Experience

Contenuti gestiti da Igor Damiani
posts - 949, comments - 2741, trackbacks - 15120

My Links

News

  • Questo blog si propone di raccogliere riflessioni, teoriche e pratiche, su tutto quello che riguarda il world-computing che mi sta attorno: programmazione in .NET, software attuale e futuro, notizie provenienti dal web, tecnologia in generale, open-source.

    L'idea è quella di lasciare una sorta di patrimonio personale, una raccolta di idee che un giorno potrebbe farmi sorridere, al pensiero di dov'ero e cosa stavo facendo.

    10/05/2005,
    Milano

Archives

Post Categories

Generale

Non bado alle prestazioni, se non quando necessario...

Lo ammetto: sono uno che non bada troppo alle prestazioni, inteso come velocità di esecuzione di un software. Preferisco prediligere altre caratteristiche interne del mio codice, prima fra tutte la leggibilità. Nell'azienda in cui lavoro siamo davvero in tanti, e capita spesso che quello che oggi sto facendo io, domani finirà sotto le mani di qualcun'altro. E naturalmente, può capitare anche il viceversa. Ritengo che il linguaggio SQL sia uno dei linguaggi moderni meno leggibili, ed è quindi importante che le stored-procedure, per esempio, vengano scritte senza particolari ghirigori o tecnicismi che poi solo alcuni sono in grado di capire e di gestire. Anche perchè se no capita che poi arrivi il pinco-pallino di turno (che potrei anche essere io) che si ritrova a dover correggere o modificare una determinata procedura e accadono nell'ordine i seguenti fatti:

  1. pinco-pallino apre il codice della stored-procedure e se la guarda un po'
  2. interviene l'ultima persona che ci ha messo mano e la spiega a grandi linee a pinco-pallino infarcendo il discorso con intercalari del tipo...questo pezzo l'ho aggiunto io per evitare che...io non ho fatto questo, c'era già...e così via
  3. pinco-pallino riscrive il pezzo di codice come vuole lui, magari peggio, magari meglio

Queste logiche sono molto più intuibili e praticabili, secondo me, con C# o altri linguaggi ad alto livello, perchè basta dare nomi di variabili non casuali, dare un nome sensato alle funzioni per ottenere una leggibilità degna di questo nome. Poi, per carità, posso capire che ci siano scenari dove la velocità di esecuzione delle stored-procedure può essere determinante, e allora qui se ne può discutere. Spesso i nostri sistemi devono per forza girare in una finestra temporale ben determinata (per esempio, dalle 2 del mattino fino alle 5), per fare in modo che alle 8, con l'arrivo dei primi impiegati dei nostri clienti, i database contengano già i numeri giusti al posto giusto. Se lo scenario è questo, ripeto, se ne può discutere, però troppe volte sento dire che sono state ottimizzate query/viste/sp solo per il gusto di farlo (passare da 1 minuto a 20 secondi non cambia nulla), quando magari non era necessario, o sarebbe stato possibile solo farlo successivamente.

Tutto questo discorso si applica al tipo di lavoro che faccio io adesso, che è quello descritto nel paragrafo precedente. Quando sviluppo applicazioni per smart-client sono il primo invece che cerca di rendere accettabile la velocità di un prodotto (rispondere agli input, notificare all'utente cosa sta succedendo, interfaccia sempre reattiva), perchè questi può anche essere la fine del mondo, se però per calcolare due numeri ci mette una vita nessuno lo utilizzerà mai. :-(

Print | posted on martedì 6 marzo 2007 14:39 | Filed Under [ Tecnologia ]

Feedback

Gravatar

# re: Non bado alle prestazioni, se non quando necessario...

>> Ritengo che il linguaggio SQL sia uno dei linguaggi moderni meno leggibili

È un sacco di tempo che non vedi php allora...

Per il resto concordo pienamente, inoltre aggiungo che un'altra cosa da fare a discapito della velocità può essere cercare di ottenere un interfaccia software migliore o cercare di fare scrivere meno codice possibile a coloro che interagiscono con il nostro pezzo di software. E con la crescita delle capacità hardware queste scelta ha una condivisione sempre più ampia.

06/03/2007 16:38 | Tricheco
Gravatar

# Re: Non bado alle prestazioni, se non quando necessario...

ciao tricheco!
occhio che non parlo di SQL che deve essere consumato da app web o windows, ma di istruzioni SQL (UPDATE o INSERT INTO) da un centinaio di righe con 6-7 tabelle in join fra loro. E poi l'SQL è standardizzato, non cambia poi molto da un dialetto all'altro...
06/03/2007 17:02 | Igor Damiani
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET