Autore Topic: Discussione sulla buona programmazione di interfacce grafiche  (Letto 3765 volte)

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: Interfaccia prossima versione Meganalotto
« Risposta #15 il: 31 Marzo 2011, 18:47:35 »
Il punto è proprio questo:
tutte le parti di un programma (e certamente non ultimo il codice che è il cuore di tutto) non dovrebbe essere scritto alla "meno peggio" intento poi lo guardo solo io.
C'è un utente che lo valuta sempre: l'interprete (non il traduttore ma il core di Gambas ;))
In questo senso credo che sia importante cercare di non andare a muzzo...
...ma provare a pensare, anche per quei discorsi di ottimizzazione che nel C sono il pane.
(Approposito penso che un docente in qualche fase del processo di insegnamento possa approfittare delle risorse dei computer moderni...
...ma è scandaloso il fatto che venga invece considerata la norma e non si chieda agli studenti di rapportarsi con le tecniche più comuni per un linguaggio come il C)

Ecco perchè, nel momento in cui ho visto questa discussione e quella sui database, mi sono infervorato sul discorso della progettazione:
penso che un programma, anche dilettantiscico e fatto per diletto, debba chiedere al programmatore un lavoro che lo appaghi e chi scrive dovrebbe terminare l'opera consapevole di essere migliorato in qualche passo della programmazione.
Questo è diletto... non fermarsi a ciò che già so fare, ma progettare e realizzare qualcosa che mi regali un di più!!!!
Forse sono un po' utopico, ma se penso che io 6 mesi fa non avevo mai sentito parlare di Gambas e ora lo mastico tutti i giorni, mi convinco sempre di più che c'è, al di la' dell'angolo, qualcosa che mi sta attendendo ed è un po' più bello di dove sono ora.
(che pensiero profondo... sembro Ceskho a mezzogiorno!!!) :D :D :D :D
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Interfaccia prossima versione Meganalotto
« Risposta #16 il: 01 Aprile 2011, 00:35:10 »
Partire da un codice che "funziona" è il primo passo verso un programma. Certo, una volta ottenuto l'effetto, andrebbe rivisto anche un po' il codice e farlo diventare un codice che "funziona bene". E' questo passaggio che spesso evitiamo di fare, però non dipende dall'essere italiani o meno. Esistono gare in tutto il mondo e per tutti i linguaggi in cui vince chi scrive il codice più ottimizzato. Certo, potremmo discutere ore sul significato di questo termine:
- ottimizzato per la dimensione?
- ottimizzato per la velocità?
- ottimizzato per l'uso massimo delle funzioni native del linguaggio?
Però l'importante è ottimizzarlo, evitando gli sprechi.

Da qualche mese, come saprete, "spippolo" con l'Arduino. E dopo i primi LED, sono arrivato a programmare i chip stand-alone. La scorsa settimana mi sono arrivati 2 Atmega Attiny85 in formato DIP8 (8 piedini e basta!) con _ben_ 8 kB di memoria! Immaginatevi come devo ottimizzare il codice per farci stare dentro qualcosa di concreto!
Addirittura sono arrivato a scoprire che usare un ciclo do..while rispetto al comando delay per far passare un certo numero di millisecondi mi permette di risparmiare 10/20 byte!! Ci pensate voi? 10/20 byte!
E poi guardo i computer di oggi sul catalogo Mediaworld e vedo che hanno 2/4 GB di RAM interna! 4 GB di RAM???
Ma allora chi usava i VIC-20 con 3,5 KB di RAM come faceva???  Era un mago???  :coder:

E' ormai un discorso trito e ritrito: nessuno ottimizza più il codice, a cominciare dai GROSSI sviluppatori software. Domani esce un supermega gioco 3D per PC e ti dicono che serve l'ultima superscheda grafica da 500 € altrimenti il gioco va a scatti/lo usi a 800x600, le texture fanno pena. E' indietro il mio computer oppure è chi ha scritto il software che se n'è sbattuto di ottimizzarlo per l'hardware in circolazione? Invece di scrivere codice migliore mi fanno comprare un nuovo processore altrimenti quello che ho non ce la fa a fare tutti i calcoli.
Da questo punti di vista le console sono migliori, tipo i computer anni '80: l'hardware è quello e quello resta per diversi anni, per cui gli sviluppatori si devono "impegnare" a scrivere giochi sempre migliori usando sempre lo stesso hardware.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Interfaccia prossima versione Meganalotto
« Risposta #17 il: 01 Aprile 2011, 11:50:17 »
@leo

completamente d'accordo, caro Leo

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: Interfaccia prossima versione Meganalotto
« Risposta #18 il: 01 Aprile 2011, 14:27:39 »
L'analisi fatta da Leo è sacrosanta... ma la cosa peggiore è che la cultura informatica (anche quella professionale) oggi non ti spinge a "ottimizzare" un software (anzi, le logiche commerciali descritte da Leo fanno in modo che l'utente finale sia spinto sempre verso hardware più nuovo e costoso).
Forse il meglio deriva ancora da chi programma per diletto che non si accontenta di uno strumento superficiale e non vuole neppure spendere soldi in hardware particolare (poi il discorso diventa ancora più interessante se introduciamo il discorso di sistemi operativi come Linux e di software libero).
Credo che in questo senso sia opportuno fare veramente "quattro chiacchiere" al fine di sviluppare, almeno tra noi, una cultura che preveda l'attenzione a tutte le fasi di produzione del software... non per fare prodotti professionali, ma per creare una filosofia corretta (anche in linea con l'idea dell'open-source).
 :hatecomputer: :hatecomputer: :hatecomputer:
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Interfaccia prossima versione Meganalotto
« Risposta #19 il: 02 Aprile 2011, 23:45:26 »
L'idea dell'ottimizzazione dovrebbe andare a braccetto con quella dell'evitar sprechi inutili.
Per "spreco" io intendo una qualsiasi azione che mi porta ad usare una risorsa più di quanto effettivamente necessaria.
Una "risorsa" può essere la memoria destinata al programma e la potenza di calcolo della CPU... e qui torniamo all'ottimizzazione del codice.

Se ottimizzo il codice, posso permettermi di usare un sistema con meno memoria di un altro e con una CPU più lenta, tanto le risorse che consuma il mio software possono benissimo essere fornite da una macchina più obsoleta e/o meno performante di un'altra. Se a questo aggiungo l'uso di un SO più snello, se rinuncio a fronzoli estetici che poco servono all'utilizzo quotidiano di un computer (quanti di voi hanno gli effetti di Compiz impostati alla "massima potenza"?  :P ), se entro nell'ottica delle idee che una CPU 4core affiancata da 4 GB di RAM non servono a niente nel 90% dei casi (a meno che non si usi tutti i giorni AutoCAD oppure Sauerbrauten  :coder:, ma nel 90% dei casi uso quotidianamente un browser, un foglio di scrittura, l'IDE di Gambas, e Evolution o Thunderbird per leggere la posta....), ecco che posso pensare all'acquisto di un computer più economico che mi permette comunque di essere produttivo. Ci sono "maniaci" che nel 2000 continuano ad usare gli Apple II! Non dico "fregnacce", come direbbero i nostri buoni Andy e md****, ma cose reali.

Anche il SO può darmi una mano in ciò, permettendomi di utilizzare al meglio una macchina più datata. Recentemente ho messo Lubuntu sul mio vecchio desktop, un computer che ormai ha una decina d'anni: Athlon XP 2600+, 1 GB di RAM DDR-400... Eppure con quel sistema, si avvia in meno di 40 secondi, login grafico compreso! E Chrome lo apre in 1 secondo netto. Questo per dire che le dimensioni non sono tutto  ;D
Visita il mio sito personale: http://www.leonardomiliani.com

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #20 il: 04 Aprile 2011, 10:50:40 »
Ma guarda che roba, se lamentano sempre...

Non erano tanto belli quei miglioni di NOP nel codice? Decoravano tanto, e pesavano di più (pagavano un tanto al chilo...)

 :rotfl: :rotfl: :rotfl:

Ho l'impressione che se andiamo a smembrare un qualsiasi programma, l'80% non serve, il 10% sono pezze per aggiustare cose di cui ormai si è perso il controllo, l'ultimo 10% è scritto così male che si è perso il controllo di quello che fà...
Comunque questo fà anche parte del gioco, ma è scusato se si tratta di applicazioni scritte senza fini di lucro e a tempo perso, non è giustificato quando qualcuno paga. Solo che nel primo caso, la voglia di migliorare cerca di ottimizzare, nella seconda si cuciono pezze...


Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #21 il: 04 Aprile 2011, 22:36:19 »
0000 LDA #FF
0002 ADC #10
0004 BCS #0000 //loop
0006 RTS


(se non ricordo male....)
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #22 il: 05 Aprile 2011, 00:54:40 »
0000 LDA #FF
0002 ADC #10
0004 BCS #0000 //loop
0006 RTS


(se non ricordo male....)

Vabbè....se dobbiamo fare la gara a chi programma più indietro nel tempo però mi ritiro... :rotfl:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #23 il: 05 Aprile 2011, 11:23:10 »
Pensa, c'era  un mio amico, un ptero, che programmava con la zanna destra...  :rotfl:

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #24 il: 05 Aprile 2011, 12:42:47 »
A proposito di come cambiano le interfacce grafiche di grandi software, volevo postarvi questo link che rimanda ad uno slideshow di come è stata modificata l'interfaccia di Firefox (mica caccole!!!) nel corso degli anni....

http://stephenhorlander.com/pages/firefox-4-ui-evolution-slideshow/slideshow.html#1

basta usare le frecce su e giù per cambiare le immagini.....

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #25 il: 05 Aprile 2011, 14:58:11 »
A proposito di come cambiano le interfacce grafiche di grandi software, volevo postarvi questo link che rimanda ad uno slideshow di come è stata modificata l'interfaccia di Firefox (mica caccole!!!) nel corso degli anni....

http://stephenhorlander.com/pages/firefox-4-ui-evolution-slideshow/slideshow.html#1

basta usare le frecce su e giù per cambiare le immagini.....

io uso la 4.0 inglese, ma se ci pensate, un webbrowser fatto con gambas, senza tante inutili cazzate....non penso sia meno veloce

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #26 il: 05 Aprile 2011, 16:08:03 »
A proposito di come cambiano le interfacce grafiche di grandi software, volevo postarvi questo link che rimanda ad uno slideshow di come è stata modificata l'interfaccia di Firefox (mica caccole!!!) nel corso degli anni....

http://stephenhorlander.com/pages/firefox-4-ui-evolution-slideshow/slideshow.html#1

basta usare le frecce su e giù per cambiare le immagini.....

io uso la 4.0 inglese, ma se ci pensate, un webbrowser fatto con gambas, senza tante inutili cazzate....non penso sia meno veloce

Lo strumento che gambas propone per il rendering delle pagine web è veramente ma veramente basilare...troppo inutile per il web moderno....è comodo solo per visualizzare semplice pagine web ma per la navigazione moderna non è minimamente pensabile a mio parere....

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #27 il: 05 Aprile 2011, 18:51:15 »
Non so cosa te intendi x web moderno ma a me basta e avanza...

Offline Taurus dei miracoli

  • Maestro Gambero
  • ****
  • Post: 334
  • In omnia pericula tasta testicula
    • Mostra profilo
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #28 il: 05 Aprile 2011, 19:52:45 »
Effettivamente i fronzoli delle moderne pagine web con plug-in di tutti i tipi riducono di molto le possibilità di un browser self-made con Gambas.
Sono poi d'accordo con Andy che per il grosso basta ed avanza un browser semplice...
...ma, chi come lui opera con le banche per motivi professionali, si rende conto subito che la maggior parte di conti gestiti on-line hanno bisogno di strumenti un po' più evoluti.

Certo sarebbe bello generare un browser semplice, essenziale e... creato dalla comunità che possa interagire con la maggior parte di pagine presenti sul web.

 :hatecomputer:
"penso spesso ad acquiloni,
a grandi imprese,
ad una thailandese...
...ma l'impresa eccezionale,
dammi retta,
è essere normale"
(L. Dalla)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Discussione sulla buona programmazione di interfacce grafiche
« Risposta #29 il: 06 Aprile 2011, 00:11:22 »
Non so cosa te intendi x web moderno ma a me basta e avanza...

Flash, html5, css3, visualizzazioni di immagini

Il componente webbrowser non è neanche lontanamente immaginabile come una base per browser veri....anche una cosa semplice come visualizzare un'immagine è difficilissima da implementare se non ricorrendo ad altri componenti diversi...inoltre webbrowser è valido solo per il contesto QT e quindi poco integrato in GNOMe...però l'idea potrebbe essere una cosa valida per attuare una collaborazione di più persone del forum sullo stesso progetto....si potrebbe creare un repo condiviso su github o siti simili e lavorare tutti allo stesso progetto...qui però siamo OT quindi sarebbe bene, nel caso, aprire una discussione in "progetti in cerca di aiuto".....