Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

FP/Lazarus VS Delphi

37 views
Skip to first unread message

Il Razziatore

unread,
Mar 16, 2007, 7:54:57 PM3/16/07
to
Ciao a tutti,
non voglio creare nessun flame e nessuna guerra... ma ho notato un fatto
strano... quando compilo un programma normalissimo { una form vuota :| }
in lazarus ci mette diverso tempo, cosa che in Delphi non succedeva {
era quasi imediato }... e ogni volta che lancio il programma { F9 } me
lo ricompila metendoci eternità anche se non ci sono stati modifiche...
è normale? :|

Altra cosa l'eseguibile risultate è mastodontico { una 15ina di MB mi
pare } contro il + "snello" 1MB di delphi { forse qualcosa di + non
ricordo } anche questo è normale? Ho cercato { come in delphi } la
possibilità di usare delle DLL per alleggerire l'exe mettendoci dentro
solo il CORE dell'app ma non ho trovato niente { delphi permette di
usare le VCL tramite DLL inserendo nel EXE solo le chiamante alle
funzioni contenute nelle DLL alleggerendo così applicativo risultante. }

Io non ho mai usato FP/Lazarus perché mi sono sempre trovato bene con
BP/Dephi... ma sul nuovo pc invece di installare BP ho installato il FP
per provarlo { la IDE è molto migliorato... mi ricordo che prima andava
a scatti :| }... sono stato favorevolmente colpito dal FP... ma oggi
Lazarus non mi ha convito molto... "temo" che se non mi sapiate aiutare
in questo ritornerò alla vecchia accoppiata BP/Delphi

--
Il Razziatore,
The Only Good Windows is an uninstalled Windows
-----------------------------------------------
MSN : IlRazz...@netscape.net
ICQ : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://mpp.iwebland.com

stefano lorenzi

unread,
Mar 17, 2007, 4:02:08 PM3/17/07
to
Ciao, io per lavoro uso Delphi, ma in lazarus ho sviluppato un gestionale
per mia moglie, sotto linux, secondo me è difficile confrontare i 2
prodotto, certamente Delphi è più valido, ma ha anche un costo che lazarus
non ha.... inoltre con delphi sei legato a windows, mentre non hai questo
vincolo con lazarus, e credimi non è una cosa da poco....
Per quanto riguarda l'eseguibile dalle dimensioni enormi, è dovuto al
fatto che lazarus porta con se alcuni opzioni per il debug (ma non sono
molto informato sull'argomento), puoi però usare un comando strip (dai una
occhiata qui
http://wiki.lazarus.freepascal.org/Lazarus_Faq#Why_are_the_generated_binaries_so_big.3F)


In ogni caso, io con lazarus mi trovo benissimo, quando ricompilo il
gestionale fatto, è vero che è più lento di delphi, ma si tratta di 10/15
secondi.... e sono circa 2000 righe di codice....

Fammi sapere

Stefano Lorenzi

--- posted by geoForum on http://www.delphiedintorni.it

Enrico 'Henryx' Bianchi

unread,
Mar 17, 2007, 3:25:50 PM3/17/07
to
in 17/3/2007 00:54 Il Razziatore wrote:

> l'eseguibile risultate è mastodontico { una 15ina di MB mi
> pare } contro il + "snello" 1MB di delphi { forse qualcosa di + non
> ricordo } anche questo è normale?

Direi di si. Se non ricordo male, l'eseguibile risultante contiene del
codice di debug e delle librerie (su quest'ultime non sono tanto
sicuro). Sul sito di Lazarus ci dovrebbe essere una procedura per
snellire l'eseguibile. Per il primo problema, prova a vedere le
impostazioni e gli switch passati al FreePascal

Enrico
P.S. personalmente, ritengo piu` valido l'utilizzo di FreePascal
asociato alla programmazione delle GTK2 + Glade, ma sono gusti

Il Razziatore

unread,
Mar 17, 2007, 5:56:08 PM3/17/07
to
stefano lorenzi ha scritto:

Ho seguito i tuoi consigli e devo dire che si risolve molto :-) solo che
ho alcune domande... invece di usare strip... non c'è un opzione del
IDE? Voglio dire ho visto {mi pare -Xs } che c'è a linea di comando ma
nel IDE per proprio non metterceli questi simboli?

Analoga questione per la ricompilazione ogni volta... delphi ricompila
solo quelle parti che hanno bisogno di essere ricompilate... mentre
Lazarus da quello che vedo ricompila sempre tutto { quando programmo con
FPC non mi pare { e la cosa mi sconcerna un po'... }

Microges

unread,
Mar 19, 2007, 6:30:54 AM3/19/07
to
Il Razziatore ha scritto:

> Ciao a tutti,
> non voglio creare nessun flame e nessuna guerra... ma ho notato un fatto
> strano... quando compilo un programma normalissimo { una form vuota :| }
> in lazarus ci mette diverso tempo, cosa che in Delphi non succedeva {
> era quasi imediato }... e ogni volta che lancio il programma { F9 } me
> lo ricompila metendoci eternità anche se non ci sono stati modifiche...
> è normale? :|

Il fatto del tempo che impiega è derivato da un compilatore e linker
esterno (FPC) che non è ottimizzato per una specifica piattaforma ma per
varie (Windows, Linux, Mac, etc...). Avere un compilatore+linker
ottimizzato per una piattaforma ridurrebbe il tempo di un buon 50% e, se
fosse anche integrato, come è in Delphi, di un altro 10-15%. Comunque
non credo che si raggiungerebbe la velocità di compilazione del Delphi
che (parere personale) reputo il più veloce compilatore in assoluto.
Per quanto riguarda la ricompilazione in fase di run basta disattivare
la voce "Esegui sempre il build" in opzioni progetto -> Varie.

> Altra cosa l'eseguibile risultate è mastodontico { una 15ina di MB mi
> pare } contro il + "snello" 1MB di delphi { forse qualcosa di + non
> ricordo } anche questo è normale? Ho cercato { come in delphi } la
> possibilità di usare delle DLL per alleggerire l'exe mettendoci dentro
> solo il CORE dell'app ma non ho trovato niente { delphi permette di
> usare le VCL tramite DLL inserendo nel EXE solo le chiamante alle
> funzioni contenute nelle DLL alleggerendo così applicativo risultante. }

Il discorso è simile. Il codice vero e proprio viene ottimizzato ma
vengono inserite una marea di opzioni di debug e parti di codice
(librerie) non utilizzate dal programma vero e proprio (questo lo fa il
linker che come ho detto prima non è Lazarus ma FPC). Ovviamente tutto
questo non pregiudica la velocità di esecuzione che reputo più che
soddisfacente ma solamente la dimensione dell'eseguibile finale che, se
usato su un computer non da problemi, ma può essere scomodo se usato su
palmari o per programmi che si devono usare su floppy o chiavette USB.
Usare UPX (compattatore di eseguibili gratuito) è un'ottima soluzione e
permette di compattare il programma anche di un buon 90%. Detto tra noi
mi piacerebbe che gli sviluppatori di Lazarus implementassero tale
utility all'interno dell'IDE.

> Io non ho mai usato FP/Lazarus perché mi sono sempre trovato bene con
> BP/Dephi... ma sul nuovo pc invece di installare BP ho installato il FP
> per provarlo { la IDE è molto migliorato... mi ricordo che prima andava
> a scatti :| }... sono stato favorevolmente colpito dal FP... ma oggi
> Lazarus non mi ha convito molto... "temo" che se non mi sapiate aiutare
> in questo ritornerò alla vecchia accoppiata BP/Delphi

Conosco molto bene il Pascal ed il suo successore Delphi (ci lavoro da
1988 circa). Reputo il Delphi uno dei migliori IDE presenti sul pianeta
sia in termini di prestazione che di facilità d'uso. L'unica pecca che
ho sempre contestato a Borland è stata quella di creare applicativi mono
piattaforma (se si esclude Kylix che comunque è fuori produzione).
Lazarus lo considero il miglior pacchetto per utenti delphiani che
vogliano migrare in una qualsiasi piattaforma e, quando posso, do una
mano al gruppo di lavoro di Lazarus stesso.
Secondo me se si riesce ad arrivare alla versione 1 (al momento siamo
alla 0.9.21 beta) arriveremo a come era il delphi alla versione 3 anche
se sarà portabile su qualsiasi piattaforma (e questo è un grande punto
di forza). Conta anche che la Borland ha un esperienza ventennale sul
Pascal/Delphi e conta un bel numero di sviluppatori a tempo pieno nonchè
un bel Buget. Lazarus conta una trentina di sviluppatori non a tempo
pieno e non retribuiti (lo fano solo per piacere) quindi basta fare due
conti per capire la difficoltà di queste persone.

Nota personale: lavoro in Delphi da sempre, amo il Pascal come
linguaggio e credo che continuerò ad utilizzarlo. Il problema è che la
Borland è troppo legata alla Microsoft e quest'ultima stà cominciando a
fare casini con i nuovi ambienti operativi (vedi Vista). Un
programmatore può passare al nuovo sistema (upgrade hardware, upgrade
software - quindi mooolti soldi) e continuare a sviluppare con un
ambiente che conosce, puo' cambiare ambiente di sviluppo (C++, VBasic,
etc..) e, comunque eseguire continui upgrade hardware o software o, in
ultimo, può passare ad un ambiente gratuito che gli permette di
sviluppare su più piattaforme (Java, Lazarus, etc...) non effettuando
alcun upgrade del sistema. Parliamoci chiaro... al cliente si da un
programma che funziona e basta - che gli frega con cosa è stato sviluppato?

stefano lorenzi

unread,
Mar 20, 2007, 6:37:15 AM3/20/07
to
Quoto Microges, tranne al fatto che lazarus assomiglia a delphi 3, credo
sia più vicino alla versione 5...

1) La versione 3 di delphi non riconosce gli overload, mentre lazarus si.
2) l'editor di D3 non riconosce:

-rotellina del mouse
-tasto Dx del mouse su una variabile "Find Diclaration"
-quando crei un protipo di funzione non hai la combinazione dei tasti
control-shift-C
combinazione dei tasti control-j per avere i costrutti


E siccome ultimamente sono tornato a Delphi 3 (per scelta del cliente),
mi trovo ad usare l'ide di lazarus per creare i file .pas, per poi
ricompilare sotto D3 :(

Microges

unread,
Mar 20, 2007, 6:17:47 AM3/20/07
to
Giusto hai ragione. Ma io intendevo come stabilità del sistema.
Comunque una comparazione 1:1 non si può fare in quanto Lazarus sembra
un clone di Delphi ma in realtà è un ambiente a se stante

stefano lorenzi

unread,
Mar 20, 2007, 8:14:15 AM3/20/07
to
>Giusto hai ragione. Ma io intendevo come stabilità del sistema.
>Comunque una comparazione 1:1 non si può fare in quanto Lazarus sembra
>un clone di Delphi ma in realtà è un ambiente a se stante
>

Si, chiaro che una comparazione 1:1 non si può fare, era solo per
evidenziare alcune differenze e per dire che cmq a mio avviso lazarus è
maturo (almeno per software gestionali e come IDE) .

Curiosità, che bisogna fare per collaborare con il gruppo di Lazarus?
Che impegno richiede?

Microges

unread,
Mar 20, 2007, 7:48:36 AM3/20/07
to
> Curiosità, che bisogna fare per collaborare con il gruppo di Lazarus?
> Che impegno richiede?

Basta andare sul sito (www.lazarus.freepascal.org), iscriversi (e magari
anche alla mailing list) e basta.
Da questo momento puoi mettere le mani su Lazarus in todo (per prelevare
i sorgenti c'e' la pagina apposita, idem per accedere al repository).
Ogni modifica che farai potrà essere resa pubblica o tramite mailing
list oppure tramite il registro degli errori a cui si accede dal sito
www.freepascal.org (ovviamente si possono anche trovare soluzione per
gli errori elencati nello stesso).
Comunque quello che si cerca sono programmatori, grafici, traduttori,
writers per manuali ed help, beta tester per l'ambiente o per i
plug-in/componenti, traduttori di componenti da Delphi a Lazarus e
comunque tutto quello che ti viene in mente. Non è richiesta nessuna
partecipazione assidua - si fa solo per divertimento o per solidarietà
con il progetto -

Ciao,
David

MBulu

unread,
Mar 20, 2007, 9:53:57 AM3/20/07
to
Il 17 Mar 2007, 22:56, Il Razziatore <ilrazz...@gmail.com> ha scritto:
> Ho seguito i tuoi consigli e devo dire che si risolve molto :-) solo che
> ho alcune domande... invece di usare strip... non c'è un opzione del
> IDE? Voglio dire ho visto {mi pare -Xs } che c'è a linea di comando ma
> nel IDE per proprio non metterceli questi simboli?

- Vai su: Progetto ===> Opzioni compilatore
- Seleziona la scheda Linking
- Seleziona "Esegue strip sugli eseguibili"

Se vuoi la massima compressione, dal prompt, lancia questi 2 comandi in serie:
strip --strip-all <NomeEseguibile>
upx <NomeEseguibile>

(Devi avere nella path la dir dove sono i 2 eseguibili Strip.exe e Upx.exe)

> Analoga questione per la ricompilazione ogni volta... delphi ricompila
> solo quelle parti che hanno bisogno di essere ricompilate... mentre
> Lazarus da quello che vedo ricompila sempre tutto { quando programmo con
> FPC non mi pare { e la cosa mi sconcerna un po'... }

- Vai su: Progetto ===> Opzioni progetto
- Seleziona la scheda varie
- Deseleziona "Esegui sempre il build"

Ciao, Mario

MBulu

unread,
Mar 20, 2007, 10:02:52 AM3/20/07
to
stefano lorenzi <a...@a.tin> ha scritto:

> Curiosità, che bisogna fare per collaborare con il gruppo di Lazarus?
> Che impegno richiede?

Dipende dalle tue capacità/conoscenze, io per esempio ho contribuito traducendo
alcune voci (menù. ecc) in italiano. Ogni volta che trovo un errore mando una
segnalazione (www.freepascal.org/mantis/view_all_bug_page.php).
Purtroppo le mie capacità sono limitate, però fin dove arrivo, cerco di dare una
mano anch'io !!!

0 new messages