2 delucidazioni su cosa IO intendo per RAD

La parola RAD è molto inflazionata, pure io ultimamente l’ho usata peggio che fosse un congiuntivo -sbagliato ovviamente-, ma vorrei ricordare cosa significa, e da cosa parte quindi la mia visione personale di come dovrebbe essere un IDE RAD.

Partiamo quindi da Rapid Application Develpment, che è una METODOLOGIA di programmazione, come lo è lo sviluppo prototipale o l’extreme programming: è un modo di sviluppare applicazioni, che deve essere veloce immediato e spesso si incrocia con le altre metodologie (è una cosa comune), che si riassume in poche fasi, tutte molto veloci, che si distingue per la scarsa analisi/progettazione, puntanto tutto sull’implementazione in poco tempo. E’ adatta per piccole applicazioni a scopi limitati, per produrre qualcosa di utilizzabile subito senza troppe pretese, potrebbe essere anche qualcosa che funga da prototipo per un applicativo di più ampio respiro, anzi moltissimi software sono nati proprio in questo modo. C’è da dire che non è il miglior modo di programmare, una scarsa analisi e progettazione implicano possibili buchi se l’applicativo “piscia fuori dal vasino”, ovvero vengono richieste feature per il quale non era inizialmente pensato, e sfortunatamente data la scarsa analisi è anche sfuggito al programmatore (ma potete anche mettere il plurale se volete) di pensare ad eventuali espandibilità verso determinate cose. L’obiettivo è dare qualcosa, in poco tempo con funzionalità limitate, tendenzialmente anche l’usabilità dell’interfaccia dovrebbe essere buona perchè non troppo complessa, ed i tool pensati per crearla sono molto user-friendly. Questo ha contribuito nel modificare l’immagine del RAD, identificandolo con gli strumenti che erano richiesti, in pratica confondendolo con i tool per disegnare le interfacce (che poi sono quelli che hanno dato rinomanza a questo tipo di sviluppo), invece della metodologia stessa.

Spese le due parole per il RAD, ora vorrei spiegare cosa io pretendo da IDE che millantano di aiutare in questo tipo di sviluppo. Personalmente cercavo un tool che mi permettesse in 10/20 minuti disegnare un’interfaccia BASILARE (posto di averci preso la mano), per semplici applicativi (o che fungano da tramite verso altri applicativi comand-line), pertanto qualcosa che non mi facesse perdere tempo in cose inutili, come definire tutte le fottute proprietà grafiche di un oggetto lottando con la mia memoria per non far apparire un cazzo di bottone al centro di una form invece a che in fondo. Ed è proprio in questo che mi sono trovato scandalosamente deluso da tutti i tool che ho trovato per disegnare le interfaccie, soprattuto per le GTK (+/#/2/etc…), e gli IDE che li integravano (che a quanto pare copiavano scandalosamente da Glade, qualcuno lo diceva, qualcuno meno, ma evito nomi per non fare flame, sui 5 provati solo 1 faceva eccezzione, un giorno li elencherò se ne avrò voglia). Tralasciando che non c’è mai un’integrazione completa tra interfaccia e questo può piacere o meno, i tool provati mi hanno immancabilmente costretto a definire a mano le proprietà, in pratica apri il form, gli dici di inserire un oggetto di un certo tipo, ed infine giochi con le proprietà finche non assume forma/posizione/colore voluto, il che è assurdo, perchè è lo stesso sistema di inseirre a mano direttamente nel codice le proprietà a testare ogni volta la form. Anzi una volta skillati si è persino più veloci perchè ormai si hanno progettini sempre aperti per testare queste cose, e template pronti all’uso da modificare (è un sistema che usavo anche in Visual Basic ai tempi, con oggetti un pò particolari che richiedevano più tempo rispetto ad un bottone classico per via che i default settings erano piuttosto scarsi, oppure con form/dialog ricorrenti in tutti i progetti).

Detto questo come avete potuto intuire anche da altri post (se li avete letti) mi sono dato una ripassata ai repository in cerca degli ambienti di sviluppo che mi si adattessero, in partioclare Python/GTK, per poi spaziare nella disperazione qualsiasi nel cercare “qualunque cosa” , e in quel limbo ho infine trovato i primi raggi di luce nelle Qt. Già, da buon gnomaro devo ammettere che le Qt in quanto SVILUPPO sono 1 anno luce avanti. Testare Kdevelop è stato solo il punto di partenza, per arrivare ad una soluzione più mista ma per il quale non mi trovo scomodo (adesso! vedremo in futuro…), anche perchè Kdevelop con tutte le app a corredo è principalemte pensato per KDE/C/C++, poi tutto il resto che si è aggiunto non trovo sia un male, ma certamente non è all’altezza di se stesso. Cmq sappiate che ho un giudizio piuttosto positivo di Kdevelop, in futuro gli riserverò due righe in più. Detto questo, IMHO, se un IDE (pensato per le GUI) non fornisce una tipo di creazione delle form point-and-click, e generazione del codice relativo per integrarlo nei vari linguaggi supportati, non lo considero RAD.

Se lo trovo c’era anche un post di Eugenia da qualche parte, appena lo ribecco lo linko, non riguardava il RAD ma in linea generale la differenza tra lo sviluppo su Gnome e KDE.

Annunci
    • franz47root
    • 27 luglio 2007

    Kdevelop io non son mai riuscito ad usarlo…c’è sempre qualcosa che non va.Forse non mi sono mai messo con il dovuto impegno davanti a Glade. Secondo me un buon rad per linux è gambas che eredita il concetto di programmazione a prova di idiota di visual basic [ non parlo del linguaggio in se ma dell’integrazione form/oggetto con il codice ]. Per quanto ne sappia secondo me nel panorama rad open source manca uno strumento che abbia la semplicità di Gambas/Visual C++/Visual Basic ma la potenza di essere collegato c/c++/python.
    Tradotto…volgio gambas per programmare in c/c++/python!!

  1. Ti dico, io di kdevelop sono più soddisfatto che di gambas o altri, anche se ancora non lo sento cosiì poronto per le applicaizoni di consumo. Glade a mio parere deve migliorare a livello del Qt/KDesigner, io (forse è solo un mio problema cmq) di litigare a manina con i parametri per posizionare gli oggetti non mi ci metto proprio, lo trovo assurdo. Le interfacce non devono far perdere tempo, non per cose easy. Sia Ruby, che Python sono linguaggi molto potenti e al tempo stesso semplici, quando uniti a dei buoni interface designer sarebbero ottimi concorrenti di Visual Studio. Ma a quanto pare non si sente questa esigenza…

    • Christian
    • 15 luglio 2008

    Ciao.
    cercando un po per la rete un rad x gtk e c++ mi sono imbattuto in questa pagina.
    Che dire… che sono in accordo al 100%.

    Alla fine gli unici prodotti validi sono gambas e lazarus (almeno… io conosco questi, ci ho fatto un paio di cosette e mi sono trovato bene)

    Volevo sapere se nel frattempo e’ uscito qualcosa di valido come lo intendi tu.
    Purtroppo ho installato anjuta, glade e altro ma per me che vorrei iniziare col c++ nn e’ poi cosi semplice.
    Se hai dunque scoperto na valida alternativa me lo fai sapere?
    ty 😉
    ciao

  2. No, purtroppo no, ho fatto alcuni passi avanti per il design grafico dei DB (diagrammi ER etc), ma alla fine sono tutte soluzioni che su windows rendono meglio (imho ci vuole wine).
    Molti usano DBDesigner 4, al momento visto che tanto ho in appoggio un PC con windows uso MySQL Workbench, che per linux purtroppo non è disponibile. Ho provato a usare anche OpenOffice Base, ma non funziona tanto bene se gli chiedi di apppoggiarti a MySQL.

    Sul RAD applicativo purtroppo mi sono fermato, io sono molto per l’accopiata Python/Gtk, però non ho trovato nulla fino ad adesso veramente soddisfacente, e sono quindi ancora fermo.

    • Christian
    • 18 luglio 2008

    Io per degli applicativi piccoli mi sono spostato dal basic di openoffice a gambas perche’ era troppo lento a mio avviso.
    Lento, macchinoso… e poi mi sembrava un po tutto “fragile” e pronto ad esplodere…

    Ho reinstallato anjuta e sembra avere glade mezzo integrato ora…
    purtroppo io non so nulla o quasi di c++ inoltre mancano gli esempi e quindi sono piu che in alto mare in centro all’oceano.
    La storia dei segnali poi… Bo… eppure non mi pare difficile concettualizzare un rad come *tutti*… si e’ il caso di dirlo credo…

  3. Ciao al riguardo vorrei segnalare l’ottimo RAD Lazarus che da poco gode anche di una community tutta italiana all’indirizzo http://www.lazaruspascal.it
    Documentazione, esempi e un forum tutto italiano

    Ciao e buona programmazione a tutti

  4. Grazie per la segnalazione, darò uno sguardo 🙂

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: