Newsgroup: it.comp.lang.c++
Titolo: Meglio C++ o Delphi?

Considerando che conosco il Turbo Pascal 7.0 al 10-15% e volendo passare a
un linguaggio visuale quale mi consigliate tra Borland C++ builder 3 e
delphi?
Qual'é piů potente?
Grazie
Luigi
--
Posted from [195.223.215.35]
via Mailgate.ORG Server - 
http://www.mailgate.org

 Qual'é piů potente?
C++ e` il linguaggio "piu` potente" (in alcuni sensi del termine)
fra tutti quelli ampiamente diffusi.
E` anche, abbondantemente, il piu` difficile, complesso, sottile,
e prono ad errori e malintesi.
Se vuoi scrivere sistemi operativi (o loro porzioni, come i device
drivers), o progetti veramente grandi (oltre il milione di righe
di codice, grosso modo), o programmi che sfruttino il 100.0%
(NON "solo" il 99.97%...) delle prestazioni della macchina -- non
esistono vere alternative al C++ (se non linguaggi parzialmente
sperimentali o poco diffusi, come OCAML).
Per la _stragrande_ maggioranza dei programmatori, la nuda
potenza del C++ non verra` mai usata appieno, [a] perche` non
ce n'e` davvero bisogno nella stragrande maggioranza dei
compiti di programmazione, [b] perche` la perfetta e totale
comprensione di questo difficilissimo linguaggio in tutte le sue
complicate sfumature non viene quasi mai raggiunta appieno.
Di *gran lunga* la cosa piu` probabile, quindi, e` che tu ti
troverai meglio con Delphi.
Alex

Qual'é piů potente?
Tra C++ Builder e Delphi non saprei dirtelo.
Le loro versioni sono disallineate, nel senso che Delphi ha sempre
qualcosa in piu', perche' esce sul mercato sempre prima ma entrambi
hanno un framework di base che e' identico e sviluppato in Delphi.
Non so quanto tu conosca il C++, ma date le tue conoscenze di TP 7.0
ti conviene sicuramente passare a Delphi.

Qual'é più potente?
I due compilatori in questione fanno uso della stessa libreria: la
VCL, e sono entrambi abbastanza potenti. Il C++ ovviamente é più
potente del Pascal ma é anche quello più difficile da imparare. Dal
canto suo conoscere bene il Delphi ti potrebbe servire proprio per
imparare successivamente il C++, vista la somiglianza fra i due
linguaggi. Personalmente ti sconsiglio di comprare il Visual Basic,
soprattutto se il tuo scopo é quello di realizzare applicazioni con
molte righe di codice o con calcoli particolarmente complessi e
lunghi.
Il Ghenio
-----
Jesse: Preparatevi a passare dei guai.
James: Dei guai molto grossi!!!
(Team Rocket)
-----

linguaggi. Personalmente ti sconsiglio di comprare il Visual Basic,
concordo !!!

Mi sembra che i punti di vista sono molti differenti, meglio così se no
chissa dova si va a finire. Tu sai il  Pascal ed é già molto bene. Io ti
consiglio d'imparare il C++ (Builder). Il C++ é chiaramente più difficile
che il Pascal e il Basic ma offre una più grande gamma di possibilità
rispetto agli altri linguaggi. In più trovi più informazioni e source code
in C che in altri linguaggi. Ti consiglio di perdere un pò più di tempo ad
imparare il C ma col vantaggio di sapere,poi, di aver imparato un buon
linguaggio alla punta e soprattutto molto robusto. In quanto di differenta
tra Delphi e Builder C++ non ce ne sono proprio tranne il linguaggio di
programmazione.
Fai la buona decisione.
Bye Bye
Matteo Ferrini

linguaggio alla punta e soprattutto molto robusto. 
Secondo me non e' una buona idea.
Imparare prima il C del C++ e' inutile, si perderebbe troppo tempo a
combattere con argomenti che in C++ sono stati ampiamente sorpassati e
migliorati (vedi la gestione delle stringhe tramite puntatori che e'
una delle maggiori cause di problemi per i newbie).
Il vero problema e' trovare qualcuno/qualcosa che insegni il C++
prescindendo dalle conoscenze di C, ma secondo me esercitandosi col
C++ si riesce a superare il problema.

 Scusami Ippoparero,
quando dicevo d'imparare il C, consideravo ciò come C++. Volevo solamente
dire d'imparare il C++ piuttosto che il Pascal o il Delphi.
Buon week-end
Matteo Ferrini

programmazione.
[snip]
Con C++Builder hai a disposizione un supporto per COM (e COM+)
maggiore. Inoltre C++Builder (oltre ad essere C++) ti permette
di trafficare (e mescolare) codice per 4 framework (VCL, MFC,
OWL e STL) mentre Delphi ha solo VCL. I due prodotti 
non sono uguali sotto molti punti di vista: C++Builder compila
le unità Pascal. Delphi non compila i moduli .cpp. Sono molte
altre le differenze (comprendendo ache quelle dell'IDE) che non 
ho troppa voglia di elencare. Nel caso si voglia approfondire,
vedere i numerosi thread sull'argomento sui gruppi "ufficiali"
di Borland (
forums.borland.com
).
È vero che Delphi esce prima, ma a parità di versione
le VCL di C++Builder hanno sempre qualche cosa in più
e, in generale, hanno meno buchi. Gli unici due vantaggi che
si hanno ad usare Delphi sono: a) Ci sono molti più componenti
per Delphi che per C++Builder in giro. b) Il pascal si compila
più velocemente. Per quanto riguarda i componenti aggiuntivi
direi che non è poi cruciale il fatto che Delphi ne abbia di più
in senso assoluto: quelli veramente utilizzabili professionalmente
parlando sono gli stessi sia per Delphi che per BCB. Mi spiego
meglio: io evito di montare nei miei applicativi il componente
X scritto dall'hobbista Y del paese Z perché non ho garanzie
su porting e manutenzione. Monto invece roba di aziende
come Turbopower perché so che avrò i medesimi componenti
(oltretutto sempre disponibili in sorgente) sia in Delphi che in BCB;
inoltre il supporto è grandioso, ci sono i file di help e ci sono
i manuali. Discorso a parte per librerie non commerciali tipo WinShoes
dove il suppoto volontario/facoltativo è buono quanto la qualità
del codice, il quale viene scritto da un team di numerosi e bravissimi
sviluppatori.
Per quanto mi riguarda mi sento di consigliare il C++.
Ciao!

sviluppatori.
Esatto, un piccolo difetto e' che spesso gli esempi dell'help sono
errati.

Alex
Pur condividendo in linea di massima quanto dici (non è una novità;-), ritengo
ci possa essere un'ulteriore considerazione a margine. E' sicuramente vero che
il C++, nel suo insieme, è *davvero molto complesso*.Tuttavia tale complessità
deriva dalla vocazione multiparadigma, dalla backward compatibility con il C, da
altri aspetti filosofico-esistenziali ... Tutti questi aspetti difficilmente
convergeranno in una sola volta nell'ambito di un progetto. E' altrettanto vero
quindi, almeno dalla mia prospettiva, che non tutto il C++ è rilevante allo
stesso modo. Io lo trovo un ottimo linguaggio per esprimere concetti
object-oriented e un uso accorto eviterà di naufragare in mezzo a mille dettagli
e problemi. Se valesse la pena usarlo solo nel 0.03% delle situazioni, sarebbe
un moribondo.
Non è mia intenzione iniziare un'inutile guerra sui linguaggi. Ritengo solo che,
nonostante l'innegabile complessità, si possa vivere col C++ un discreto
rapporto. Basta essere un po' più responsabili in termini di design e di codice
che si progetta. Siamo sicuri che sia davvero un male? ;-)
(ovviamente c'è un pochina di provocazione nell'affermazione di cui sopra, ma
non è gratuita. Fa solo parte della cultura di chi, come me, crede che non
sempre la via più veloce o leggera sia la più sicura.)
Ciao
AB
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrea Baruzzo
Via Circonvallazione, 26
Muzzana del Turgnano (UD) - Italy
e-mail: 
andrea....@ud.nettuno.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 sempre la via più veloce o leggera sia la più sicura.)
Quindi, quando da Udine devi venire a Bologna, tu passi per Torino
tanto per "obbligarti ad essere piu` responsabile" ed evitare la
via piu` veloce e leggera...?
Alex

 sperimentali o poco diffusi, come OCAML).
                               ^^^^^^^^^^
Puoi spiegarmi meglio questa affermazione?
So di certo che OCAML e' un discendente diretto di SML, e questultimo
e' un linguaggio funzionale per niente orientato all'efficienza.
Tanto per citarne qualche caratteristica, ha un GC built-in (come
tutti i linguaggi funzionali), non distingue tra allocamento sullo
stack e allocamento sullo heap, viene scoraggiata l'assegnazione
(quindi alla fine i programmi passano molto tempo a copiare oggetti
immutabili), manca il concetto di cast, etc. etc.
Come mai paragoni (OCA|S)ML a C++?
Just curious... Ciao,
-- 
Diego    | Per le repliche elimina dal mio indirizzo le 
Dainese  | `x' e inverti le due parole intorno alla `@'

 via piu` veloce e leggera...?
Se l'aereo fa scalo a Torino e l'unica alternativa e' il carretto col
mulo, si, certamente.
Ciao,
Nicola

via piu` veloce e leggera...?
Gestire la complessità laddove serve è una pratica ragionevole; fare le cose
facili
in modo difficile è solamente stupido. Mi sembrava talmente ovvio che non
capisco il motivo del tuo paragone.


mulo, si, certamente.
:-)
Ironia della sorte, abito a Muzzana del Turgnano, paese che nei dintorni veniva
chiamato, non so fino a che punto con un pizzico di campanilismo, "il pais dai
mus", che tradotto dal friulano significa "il paese dei muli"...
Come dire: paragone più azzeccato...
Non me ne vogliano i miei compaesani.
AB


 capisco il motivo del tuo paragone.
Rispondevo all'osservazione di qualcuno che, se gli viene proposta
una "via piu` veloce e leggera" per svolgere un qualsiasi dato
compito, *per questo solo fatto* (che E` piu` veloce e leggera),
cosi` asserisce, la sospetta (e, di conseguenza, immagino preferita`
dunque vie piu` lente e pesanti).
La complessita` del C++ senza dubbio "serve" *per gli scopi
progettuali del linguaggio stesso* -- ma diventa un "fare le
cose facili in modo difficile", e quindi, tu dici, stupido, per la
grande maggioranza dei compiti di programmazione del giorno
d'oggi, che NON richiedono interazioni strette con l'hardware,
super-ottimizzazioni, eccetera.
La stragrande maggioranza di quello che ancora oggi si fa in
C++ sarebbe piu` produttivo farlo in altri linguaggi meno
ricchi e potenti (Eiffel, Java, Delphi, OCAML, vedete voi, o anche
Python, Smalltalk, Scheme, persino Visual Basic); e la grande
maggioranza delle persone che vogliono imparare il C++, se
non e` a puri scopi di arricchimento culturale (o perche` la
sua conoscenza e` richiesta da un certo datore di lavoro),
sarebbe piu` furba a dedicarsi a uno o piu` di questi altri
linguaggi, piu` semplici e di consequenza piu` produttivi.
Alex

dunque vie piu` lente e pesanti).
O mi sono perso qualcosa, o quel qualcuno sono io e, in tal caso,
il mio pensiero non riflette quanto dici sopra. Con
"non sempre la via più veloce o leggera sia la più sicura"
mi riferivo ad altri problemi, rispetto a quelli che citi.
Ad esempio:
- il ritenere che un approccio RAD allo sviluppo sia la panacea di tutti i mali;
- il ritenere che, solo per il semplice fatto di aver a disposizione n
componenti che soddisfano le esigenze di un progetto, questo garantisca la sua
riuscita, senza per questo preoccuparsi di un'architettura che possa mettere il
tutto insieme;
- più altre considerazioni sul riuso (ovviamente non solo quello del codice);
- l'assunzione più o meno implicita che, se ci sono problemi è innanzitutto
colpa del linguaggio (o del sistema operativo o del compilatore o di chi
preferisci), indipendentemente dal proprio stile di programmazione - inciso: non
dirmi che non ti è mai capitato di discutere con qualcuno che sosteneva appunto
questo...
- il ritenere che la testabilità si esaurisca col semplice atto del riuso o,
nella migliore delle ipotesi, con uno unit test;
e così via..
E' questo tipo di "strade veloci e leggere" che ritengo non essere sempre le
più sicure; non volevo certo dire che, nel caso dovessi ordinare 10000 numeri,
userei insertion sort perché tanto ha complessita computazionale O(n^2)
esattamente
come Quick-Sort nel caso pessimo.
Ciao
AB



il resto e' lana caprina.
Il mio parere e' che forse i programmatori dovrebbero avere un approccio
meno orientato alla produzione immediata, come te la fanno credere i
produttori di ambienti IDE pieni di Wizard che si inventano tutto loro e tu
non devi scrivere niente, solo ricordardi di checkare un box nella 4
maschera della opzione seleziona (sono riferimenti inventati ma e' cosi'),
forse sarebbe meglio pensare a come scrivere il codice in modo da avere una
buona portabilita', una buona lettura, e performance decenti. Non credo che
questo sia la luna ma forse un po' di buon senso.
Saluti.
Zec.

questo sia la luna ma forse un po' di buon senso.
Pensiero che condivido pienamente.
Ciao
AB
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~


 questo sia la luna ma forse un po' di buon senso.
Sarebbe meglio anzitutto *progettare* piu` accuratamente le cose,
prima che pensare a *scrivere* il codice.  Ma questa, come le tue
osservazioni teste` citate, e` quella che gli Americani chiamano
"motherhood and apple pie", cioe` un qualcosa di _banale_ perche`
nessuno potrebbe esprimere dissenso.
Dato per scontato che un buon progetto e` comunque fondamentale,
ecc ecc, perche` mai (se non esistono vincoli speciali, ad esempio relativi
alla portabilita`, ecc) devi pensare che sia piu` realizzabile con C++ che
non col (per esempio, visto che quello e` nel Subject) Delphi?  Gli
"ambienti IDE pieni di Wizard" possono essere identici nei due casi
(visto che questo gruppo inneggia continui peana a C++ Builder:-),
il linguaggio C++ e` sicuramente piu` ricco e potente *ma anche piu`
complesso e difficile da gestire* (su questo, nelle parti del tuo post
che ho snippato, ti dici ripetutamente d'accordo), *PERCHE'*, dunque,
non usare il piu` semplice/rigido/facile Delphi al suo posto...?
Alex

(inevitabilmente) ci si sbatte su la faccia.
Esattamente come ho fatto io ;-) ed ora so abbastanza da permettermi
di gestire progetti forse non troppo complicati, ma anche carini (il
più ambizioso: un gioco con DirectDraw).
Ciao a tutti.
DGP85

 delphi?
Qual'é più potente?
Beh!! Dire qual è il linguaggio più potente e migliore e un po' difficile.
Mi spiegherò meglio, i professori di info. che mi ritrovo dicono "non c'è
ninte di meglio del Pascal, con la conoscenza del Pascal imparate in 2 ore
tutti gli altri linguaggi, il Pascal è il più difficile ma lo si utilizza
per fare tutti i sistemi operativi".
Incontro un appassionato del Java " questo linguaggio è quello in cui si
hanno le maggiori prestazioni in fatto di tempo e di portabilità, eliminerà
tutti gli altri linguaggi".
Incontro l'appassionato del Visual Basic "Cosa c'è meglio del VB" (tutto)  e
avanti così.
Quindi se un linguaggio piace al programmatore quello è quasi sicuramente il
migliore di tutti.
Ps: consiglierei C++, ma da come viene considerato recentemente scegli
Delphi
Ciao


Delphi e' piu' facile, e gira quasi (secondo me) alla stessa velocita'.
C++ (conosco solo il MS Vc++ ) e' piu' difficile, ma tieni presente che  al
contrario di delphi, esiste un compilatore C++ per qualsiasi computer (il
delphi non e' proprio uguale al pascal, e comunque il pascal stesso sta
scomparendo!).
Il C++ si adatta molto meglio per la realizzazione di grandi progetti
(milioni di righe di codice), e si integra alla perfezione con windows (MFC
di Vc++).
Ovviamente il Delphi e' meglio del Vbasic, un po' piu' difficile e rigido,
ma molto molto piu' potente!
Non credo possa pero' essere paragonato al C++.
In termini di rapporto difficolta' prestazioni, forse il risultato migliore
lo ha il Delphi!
Dipende a cosa punti, al massimo  o ti accontenti di un pochino di meno, ma
ad un prezzo molto inferiore?
Scegli tu!
Alex(tommy)
spac...@tin.it
Francesco FASSI ha scritto nel messaggio ...


Delphi
Per iniziare Delphi va benissimo, e secondo me é un ottimo linguaggio.
Purtroppo la sua diffusione al di fuori degli ambienti scolastici é
ancora oggi molto scarsa.
-------             --------
J  I  G  G  L  Y  P  U  F  F .
-------             --------