Ci sono anche le versioni "Turbo" gratuite su
www.turboexplorer.com
Qualsiasi libro, anche se un po' datato, puᅵ andare bene per apprendere
le nozioni fondamentali del linguaggio, della RTL e della VCL.
Poi, nello specifico, le informazioni sull'IDE o la documentazione sui
componenti e sugli strumenti disponibili potrebbe non essere aggiornata
se si utilizza una versione recente, ma ᅵ un problema relativo.
Ciao,
Marco.
--
MARCO BREVEGLIERI
(http://www.marco.breveglieri.name)
Ale.
Penso che su Torrent e altri circuiti di file sharing si trovino senza
problemi. Io ne ho una copia, anche perchᅵ l'ho sempre spedita via posta
a chi me la richiedeva.
Il vero ostacolo ᅵ quello dell'attivazione: se non sono piᅵ disponibili,
forse anche questo passo ᅵ stato inibito, impedendo anche di utilizzare
il prodotto in seguito ad una nuova installazione (ipotizzo).
Grazie comunque per le utili informazioni!
Non visitato il sito TurboExplorer da un pochino...
Allora e' il momento buono di passare a lazarus. :)
I suoi benefici principali sono :
1)E' gratuito e puoi produrre tutto il software che vuoi senza pagare
royalties a nessuno
2) E' cross platform e compila *nativamente* per le principali
piattaforme conosciute ed i processori piu' diffusi
2)E' open source e ha una community molto forte a suo sostegno
3)Il linguaggio e' l'object pascal, il compilatore si chiama
freepascal, l'IDE si chiama per l'appunto lazarus. Molto simile a
delphi.
4)Pur tuttavia restando l'inglese la lingua madre, esiste un ng in
lingua italiana che si chiama it-alt.comp.lang.lazarus dove potrai
chiedere quello che vuoi e lo metto in crosspost nonchᅵ in followup.
Eccoti una serie di link dove ottenere maggiori info:
http://lazarusroad.blogspot.com/
http://lazarus-dev.blogspot.com/
http://www.search.lazarusforum.de/
http://wiki.lazarus.freepascal.org/New_IDE_features_since
http://wiki.lazarus.freepascal.org/Executing_External_Programs#Introduction
http://www.linux.org/apps/reviews/lazarus.html
http://wiki.lazarus.freepascal.org/Size_Matters
http://wiki.lazarus.freepascal.org/Programming_Using_Objects
http://lazarus-ccr.sourceforge.net/
http://wiki.lazarus.freepascal.org/Developing_with_Graphics#Other_graphics_articles
http://wiki.lazarus.freepascal.org/git_mirrors
http://wiki.freepascal.org/Adding_Kylix_Help
http://www.lulu.com/browse/book_view.php?fCID=2690963
Ciao
FW su it-alt.comp.lang.lazarus
--
Morde
Quelle spiegazioni si trovano nei manuali che ti vengono dati con la
confezione di delphi , io me li ricordo benissimo. Uno ᅵ il linguaggio
di riferimento, l'altro la guida allo sviluppo.
Mastering delphi 7 spiega le novitᅵ introdotte con la versioni,le
tecnologie, come utilizzarle,ecc.. ma non ti insegna a programmare in
delphi, non e' pensato per quello scopo: se hai bisogno di capire i
fondamenti del linguaggio quel testo non fa al caso tuo.
Ciao
--
Morde
Se vuoi qualcosa che parte da zero cerca essential pascal sempre di cant�
http://www.marcocantu.it/epascal/
Saluti
Andrea
Infatti l'ho capito sfogliando il libro.
Per fortuna ho una copia di Delphi 3.0 sempre della apogeo che per� ha tutta
una prima parte in
cui spiega (anche se non sempre bene e correttamente) i rudimenti del
linguaggio.
> Mastering delphi 7 spiega le novit� introdotte con la versioni,le
> tecnologie, come utilizzarle,ecc.. ma non ti insegna a programmare in
> delphi, non e' pensato per quello scopo: se hai bisogno di capire i
> fondamenti del linguaggio quel testo non fa al caso tuo.
> Ciao
>
E ci sar� un testo abbastanza buono che insegna invece a programmare in
delphi?
Grazie
Parlando sempre a scopi didattici in italiano c'era un libro a quanto
ricordo che mi sembrava si chiamasee "laboratorio di delphi" di
Dessena.
In inglese c'ᅵ sicuramente di piᅵ, vedi:
http://alturl.com/d9zm
Anhce essential pascal puo' essere un buon testo per iniziare.
Per il resto, un litro di olio di gomito, collirio a volontᅵ e
damigiane di caffᅵ chiudono il cerchio per i requisiti minimi del
"delphi programming apprentice". ah, non lo detto ma e' scontato:
scordati l'altro sesso intanto che impari ;-)
ciao
--
Morde
In genere, i libri di Marco Cantᅵ non sono (dichiaratamente) indirizzati
a chi inizia con il linguaggio, ma piᅵ che altro volti ad approfondirlo
per chi ha giᅵ mosso i primi passi con i fondamenti.
insomma...
A.
come per quasi tutti i lunguaggi in uso attualmente, la 1a cosa è
impare le basi di OOP.
OOP sta per Object Oriented Programming.
Il lavoro di progettazione e sviluppo software non è, come sembrano
credere in troppi un lavoro artigianale ne un qualcosa di strettamente
legato al linguaggio.
Avendo le basi di OOP, impari come si programma.
I concetti di classe, interfaccia, ereditarieta' etc *prescidono* dal
linguaggio.
Poi, ogni linguaggio/framework/sistema operativo puo comportare delle
differenze sul piano implementativo e architetturale.
Il grosso errore di molti manuali delphi (ma non solo) è che prima di
insegnano a lavorare "male"...
Poi, quando orami la frittata è fatta, ti buttano in mezzo la OOP.
I testi java sono organizzati meglio...Si inizia con OOP e poi ti
spiega le altre cose.
Si fa fatica a trovare un testo che parli di java che NON contenga
almeno 2 o 3 capitoli sulle nozioni di base di OOP.
A.
> Grazie
> In inglese c'� sicuramente di pi�, vedi:
> http://alturl.com/d9zm
>
Il mio inglese � scolastico e se dovessi capire delle spiegazioni di cose
completamente nuove in quella
lingua,al momento, farei il triplo della fatica....
> Anhce essential pascal puo' essere un buon testo per iniziare.
>
E' in inglese forse?
> Per il resto, un litro di olio di gomito, collirio a volont� e damigiane
> di caff� chiudono il cerchio per i requisiti minimi del "delphi
> programming apprentice". ah, non lo detto ma e' scontato: scordati l'altro
> sesso intanto che impari ;-)
>
Va be',almeno il sabato o la domenica.... ;-)
> ciao
>
Ciao
>come per quasi tutti i lunguaggi in uso attualmente, la 1a cosa �
>impare le basi di OOP.
>OOP sta per Object Oriented Programming.
>Il lavoro di progettazione e sviluppo software non �, come sembrano
>credere in troppi un lavoro artigianale ne un qualcosa di strettamente
>legato al linguaggio.
>Avendo le basi di OOP, impari come si programma.
>I concetti di classe, interfaccia, ereditarieta' etc *prescidono* dal
>linguaggio.
Lo chiedo da completo profano giusto per capire.
Ma non sarebbe meglio imparare prima i comandi e la sintassi delphi per poi
passare gradualmente alle
basi OOP ed allo sviluppo del software?
Da quanto ho capito con gli ultimi IDE di Delphi � possibile lavorare
pressoch� con copia/incolla per creare
grafica ecc., ma poi quando si guarda il sorgente bisogna pur capire cosa
sta succedendo?No?
Grazie
Quella è la via sbagliata.
Tanto x usare una metafora, non serve a niente imparare le differenze
tra i pennelli senza aver acquisito le basi sul come si dipinge... Se
parti da delphi, imparerai MALE, e poi ti tocchera' disimparare e
reimparare,
salvo trovare un testo i cui primi 8 capitoli siano dedicati alla OOP,
come i gia citati testi dedicati a Java.
Uso delphi dal 1997 e ho visto ben pochi esempi di uso CORRETTO di
delphi.
Per uso corretto intendo uso del paradigma OOP e non di quello
strutturato.
Il risultato consiste in gigabytes di codice impossibile da
comprendere, modificare, correggere....
> Da quanto ho capito con gli ultimi IDE di Delphi è possibile lavorare
> pressoché con copia/incolla per creare
> grafica ecc.,
non ho capito cosa vuoi dire.
Ma una cosa è certa: se ti aspetti ti ottenere risultati senza studio,
impegno e lavoro, scordatelo.
Oggi si tende a presentare come "facile, veloce e poco impegnativa"
qualsiasi tipo di attivita, software compreso.
Meglio dirlo subito: è una STRONZATA.
A meno che tu non sia Alan Turing reincarnato, per ottenere dei
risultati devi lavorare sodo.
Se poi non sai chi era Alan Turing:
http://it.wikipedia.org/wiki/Alan_Turing
> ma poi quando si guarda il sorgente bisogna pur capire cosa
> sta succedendo?No?
E' qui la questione...
Con le sole eccezioni di linguaggi a livello "non alto" come c, c++ e
assembly, leggere e capire un sorgente java, vb delphi o c# non è un
grosso problema, visto che i concetti di base, se usati, sono gli
stessi.
Tutti hanno classi (oop) che ereditano da altre classi (OOP),
implementano interfacce (OOP), espongono property e metodi (OOP) e
permettono di ridefinire il comportamento di metodi ereditati (OOP).
Vi sono ovviamente delle differenze sul COME un linguaggio ti permette
di fare delle cose, quello si...
Ci sono cose che in alcuni linguaggi sono permesse e in altri no....
Ad esempio, delphi ti permette di avere i costruttori virtuali, c#
no...
Delphi ha i set, mentre c# non li ha...
Ma mica ci si ferma su sciocchezze del genere....
A.
> Per uso corretto intendo uso del paradigma OOP e non di quello
> strutturato.
Albᅵ su questa tua affermazione ci sarebbe da disquisire un
pochettino..
Qual'ᅵ l'uso piᅵ corretto di delphi? O meglio, mi chiedo: se devo
consegnare un programmino per la gestione di un magazzino, lo realizzo
sfruttando il RAD, quindi tutto event driven e componenti DB aware. Non
scrivo classi nᅵ famiglie di oggetti. Una cosa RAD per l'appunto.
Devo concludere che non ho utilizzato correttamente delphi solo perchᅵ
non sono ricorso ad un paradigma OOP?
Questo solo per aprire un discorso su quale sia vermente l'uso
corretto: secondo me l'uso corretto e' quello che ti serve per
risolvere il problema specifico.
E' ovvio che se incominci a costruire un framework (e tu sai cosa
intendo) il RAD non ti serve a niente, gli eventi men che meno. Quindi,
senza l'OOP dove si andrebbe per questi utilizzi?
Delphi deve la sua reputazione al RAD che borland ci ha costruito
sopra, non all'eccellente object pascal e all'ancora piu' eccellente
free pascal compiler.
Tu cosa ne pensi ?
Ciao!
--
Morde
per prima cosa, devi stabilire se stai realizzando un PROGETTO o un
PRODOTTO.
Se stai realizzando un prodotto, usare un approccio non OOP, imho, è
PURA FOLLIA.
Se stai realizzando un progetto, in teoria potresti non usare la OOP.
Ma qua poi, si deve introdurre e definire un concetto: quello di
"applicazione semplice".
Io ho lavorato nell'ufficio it di uno stabilimento per circa 2 anni e
ho dovuto sviluppare alcuni progetti "legacy" ad uso totalmente
interno.
Spesso sono poi arrivato in corso d'opera a stravolgere quasi in toto
alcuni punti fermi stabiliti in fase di analisi.
Quindi, dopo aver sudato sangue, sono ormai convinto che:
1) la applicazione "semplice" non esiste
2) spesso gli utenti scoprono modi di usare una app che vanno molto
oltre la fantasia di chi le ha scritte..
Da qui scaturiscono ovvie e perfettamente lecite richieste di altre
cose. E qui, se la changes management è complessa, sono "uccelli per i
diabetici" (cazzi amari)
3) una app che "serve solo una volta..non vale la pena perdere troppo
tempo..." è qualcosa di veramente eccezionale se non unico, perche'
qualche tempo dopo arriva qualcuno e ti fa "..senti..quel programmino
xx che faceva quella cosa...che abbiamo usato x mesi (o addirittura
anni!) fa....lo si puo modificare per fare anche questo e
quest'altro??"
Ergo, io non ragiono sul caso di "una tantum", fermo restando ovvie
eccezioni dettate dal buon senso..
Ma a parte tutto cio, mi chiedo:
se ho una metodologia grosso modo standard, che mi permette di
riutilizzare cio che ho gia, che mi permette di una changes management
comoda, che mi permette di standardizzare quello che faccio, insomma,
se ho degli strumenti che mi permettono di ottenere il risultato che
mi serve riducendo tempi, costi e sopratutto sforzi, perchè dovrei
ogni volta reinventare la ruota?
Da qui il concetto di "framework".
Tutti questi concetti...framework, standard, riutilizzo,
ripetibilita', rientrano in un contesto di evoluzione dello sviluppo
da attivita' artigianale ad attivita' industriale.
A.
Scusami, ma non ho capito se hai eluso la domanda oppure la risposta ᅵ
proprio questa, in tal caso non l'ho capita. :-)
La mia domanda era: una programmazione senza l'utilizzo di classi,
ereditarietᅵ polimorfismo ecc.. ma solo con l'utilizzo del RAD (secondo
te) ᅵ da considerarsi NON corretta?
Ciao
--
Morde
Non sono completamente d'accordo: se vuoi mettere le mani sul
giocattolo senza che nessuno te l'abbia prima descritto come funziona..
fallo. Fallo e giocaci, goditelo, incomincia a studiartelo, cercati le
risposte alle domande che ti fa nascere in te.
Poi, solo dopo che l'hai avuto, l'hai apprezzato, l'hai utilizzato
el'hai goduto.. e incominci allora a chiederti: come posso migliorare
la scrittura del codice? quando incominci a capire che per fare un
programmino coi soli eventi della GUI ci metti 10 minuti, ma poi devi
modificarlo 30 volte in anno perchᅵ lo stai estendendo, e ci metti una
vita letterlamente... allora sentirai il bisogno di imparare la
programmazione OOP.
Non ti sembra? ;-)
:D
--
Morde
ihmo, solo in casi particolari, ad esempio in *progetti* dove hai la
certezza che non vi saranno evoluzioni di nessun tipo.
Sappiamo tutti fin troppo bene, credo, cosa vuol dire fare debug su
una app dove hai 1000 tquery e su ognuna sono usati tutti gli eventi
piu' qualcuno in piu'....
A.
quindi se devo dare un consiglio a qualcuno STUDIATE ;)
>
> quindi se devo dare un consiglio a qualcuno STUDIATE ;)
Sicuramente d'accordo ;) Indeed.
Ciao
--
Morde
Imho avete ragione entrambi. Ha ragione Alberto quando sostiene che il
paradigma OOP ᅵ fondamentale ed hai ragione anche te, Morde, quando dici
che ᅵ importante iniziare a capire l'ambiente, divertirsi un pᅵ, capire
i limiti del RAD per poi andare avanti. In entrambi i casi, occorre una
fase di studio piuttosto pesante, anche se quella OOP lo ᅵ decisamente
di piᅵ rispetto a quello del RAD che ti puᅵ aiutare a gestire meglio il
tuo codice ed evitare gli spaghetti events ;). Cionondimeno, se l'OP non
conosce proprio la sintassi base dell'Object Pascal, imho sarebbe
importante iniziare almeno da quello per poi passare alla OOP una volta
appresa la programmazione strutturata. D'altro canto, se devo codificare
una classe lo faccio in Object Pascal e devo conoscere il compilatore
con cui scrivo il codice, quindi concetto di unit e le sue sezioni ecc..
A questo punto, ci si potrebbe chiedere il motivo per cui acquistare una
versione free di Delphi con molte limitazioni, commerciali ecc.. quando
si puᅵ fruire liberamente del compilatore FPC e della sua IDE testuale,
che ricorda molto il vecchio turbo pascal (per imparare entrambi, ovvero
Object Pascal e paradigma OOP ᅵ eccellente !) ed eventualmente usare la
sua IDE piᅵ potente, ovvero Lazarus, oggi paragonabile all'amato Delphi
7 per le sue caratteristiche di IDE e la buona compatibilitᅵ con la VCL
attraverso la sua LCL (Lazarus Component Library) ... e tutto ciᅵ, udite
udite, cross-platform (circa 10 piattaforme e vari sistemi operativi) e
completamente opensource !! Senza trascurare il supporto offerto dalle
mailing list di FPC e Lazarus, a dir poco straordinario e senza
confronto con qualsiasi software house che produce tool di sviluppo
(proprio nessuna :) ).
Antonio