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

PROGRAMMARE GIOCHI CON DELPHI

46 views
Skip to first unread message

Michele Castellucci

unread,
Jun 12, 2000, 3:00:00 AM6/12/00
to
Ciao,
sono un ragazzo di 16 anni ed uso il Delphi da circa un anno.
Adesso vorrei cominciare ad imparare le DirectX per fare dei giochi.
Il mio problema č che non riesco a capire perchč ci sono cosě poche
persone che usano Delphi per farlo. Tutti dicono che solo il C/C++
č adatto ma io non ne sono convinto. Delphi č molto piů semplice del C
ed usa gli stessi headers del C (per le DirectX). Vorrei capire perchč
non si sfrutta questo compilatore per sviluppare giochi professionali.
Rispondetemi presto,

Grazie e ciao !

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci
Beh, probabilmente il C (o il C++) e' piu' veloce del OPascal, anche se
i compilatori Borland (C compreso) non sono mai stati molto famosi per
la velocita' del codice prodotto.

Comunque sostanzialmente hai ragione perche' le prestazioni di un
programma dipendono in gran parte dalla bonta' degli algoritmi che usa e
non dalla linguaggio usato per implementarli.

Il problema e' che molta gente capisce abbastanza poco di informatica ma
comunque non si pone il minimo scrupolo a dire cose che ha sentito dire
oppure che ha letto da qualche parte.

Buon lavoro per il tuo gioco con Delphi (mi auguro che tu stia usando
almeno Delphi 3...)

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci

Nicola Giordani

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to Michele Castellucci

NF

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
No, scusate, ma c'è una cosa che mi manca........
Non ho mai programmato in DELPHI, ma se non erro è un linguaggio
interpretato, giusto?
Se non è così sto per dire un sacco di stronzate e vi prego di non tenerne
conto, ma se invece è così allora c'è una grandissima differenza....

> Comunque sostanzialmente hai ragione perche' le prestazioni di un
> programma dipendono in gran parte dalla bonta' degli algoritmi che usa e
> non dalla linguaggio usato per implementarli.

Questo è vero a parità di eseguibile: i due eseguibili necessitano entrambi
di runtime? Si? Allora l'affermazione è vera...... e comunque sarebbe
discutibile anche così (andrebbe visto come è stato realizzato e compilato
il Runtime dal produttore....)

> Il problema e' che molta gente capisce abbastanza poco di informatica ma
> comunque non si pone il minimo scrupolo a dire cose che ha sentito dire
> oppure che ha letto da qualche parte.

Non offenderti, ti prego, però da quello che dici sembra che sia tu che
capisca poco d'informatica.....

Il C (o ancora meglio il C++) è un linguaggio nativo..... consente cioè di
controllare a livello prettamente Hardware le funzioni della macchina.
Se Delphi, come mi sembra di ricordare, è un linguaggio visual come VB puoi
comunque scrivere ed incorporare funzioni in C o ASM, ma mai, e dico mai,
otterrei una velocità di escuzione pari al C o meglio all'ASM.

Sarebbe come dire che non c'è differenza ad essere in Turchia e parlare con
un turco direttamente in turco, rispetto a parlare con lui tramite un
interprete inglese.......

Considera anche un'altra cosa..... DELPHI, VB e comunque tutte le finestre
che si muovono sul tuo computer (OS compreso....) sono scritti e realizzati
in C++.......

Ciao

Ciddi3d

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
In article <3945f...@news.dada.it>, secu...@hotmail.com says...

> No, scusate, ma c'è una cosa che mi manca........
> Non ho mai programmato in DELPHI, ma se non erro è un linguaggio
> interpretato, giusto?
> Se non è così sto per dire un sacco di stronzate e vi prego di non tenerne
> conto, ma se invece è così allora c'è una grandissima differenza....

No, e' compilato; certo, non e' il miglior compilatore ottimizzante del
mondo, ma non e' assolutamente paragonabile al VB 8-)

--

ciddi3d^Z
www.dronez.com

DelphiGuy

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
On Tue, 13 Jun 2000 08:09:28 +0200, Nicola Giordani
<gior...@cli.di.unipi.it> wrote:

>Beh, probabilmente il C (o il C++) e' piu' veloce del OPascal, anche se
>i compilatori Borland (C compreso) non sono mai stati molto famosi per
>la velocita' del codice prodotto.
>

>Comunque sostanzialmente hai ragione perche' le prestazioni di un
>programma dipendono in gran parte dalla bonta' degli algoritmi che usa e
>non dalla linguaggio usato per implementarli.
>

>Il problema e' che molta gente capisce abbastanza poco di informatica ma
>comunque non si pone il minimo scrupolo a dire cose che ha sentito dire
>oppure che ha letto da qualche parte.
>

>Buon lavoro per il tuo gioco con Delphi (mi auguro che tu stia usando
>almeno Delphi 3...)


Ciao Nicola,
sono sempre io Michele.
Il mio gioco lo sto facendo con Delphi 4 usando le DelphiX. Grazie
ancora per il tuo interessamento alla mia domanda, mi hai incoraggiato
molto :)

Ti ricordo, anzi ricordo a tutti il sito internet del mio team cioè la
BrainSoft

http://www.brainsoft.bbk.org

CIAO

Paolo Marotta

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
On Tue, 13 Jun 2000 11:12:25 +0200, "NF" <secu...@hotmail.com> wrote:

>Non ho mai programmato in DELPHI, ma se non erro è un linguaggio
>interpretato, giusto?

No, e` compilato.

Paolo


--------------------------------------------------
Paolo Marotta
Computer Science, University of Pisa
home: http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

{MSX}

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to
>Non ho mai programmato in DELPHI, ma se non erro è un linguaggio
>interpretato, giusto?

Sbagliato.


>Il C (o ancora meglio il C++) è un linguaggio nativo..... consente cioè di
>controllare a livello prettamente Hardware le funzioni della macchina.
>Se Delphi, come mi sembra di ricordare, è un linguaggio visual come VB puoi
>comunque scrivere ed incorporare funzioni in C o ASM, ma mai, e dico mai,
>otterrei una velocità di escuzione pari al C o meglio all'ASM.

Cosa stai dicendo ? Se scrivo una funzione in C con Delphi mi dice syntax
error, mentre se la scrivo in ASM, è esattamente la stessa identica che se
scritta in qualsiasi altro programma del mondo.

>Considera anche un'altra cosa..... DELPHI, VB e comunque tutte le finestre
>che si muovono sul tuo computer (OS compreso....) sono scritti e realizzati
>in C++.......

Su questo avrie parecchi dubbi, d'altra parte se tu aprissi i file dell eVCL
del Delphi scopriresti che, scavando nelle routine, le basi sono in ASM. cmq
non è bello paragonare Delphi e VB.

{MSX}

unread,
Jun 13, 2000, 3:00:00 AM6/13/00
to

Io programmo in Delphi da molto, visita qui:

http://gpi.infomedia.it/abc/delphi (ehm lo sto sistemando) e
http://go.to/msx.home

non ci sono problemi a usare Delphi per fare giochi, č molto semplice come
dici tu. Cmq alcune implementazioni del C/c++ sono effettivamente piů veloci
del Delphi (il vc++, dove la microsoft gioca in casa :), anche se non tutte.
Giochi in Delphi ne sono stati fatti, almeno uno sono sicuro ma non ricordo
il nome (uno strategico mi pare).

NF

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
> non ci sono problemi a usare Delphi per fare giochi, è molto semplice come
> dici tu. Cmq alcune implementazioni del C/c++ sono effettivamente più

veloci
> del Delphi (il vc++, dove la microsoft gioca in casa :), anche se non
tutte.
> Giochi in Delphi ne sono stati fatti, almeno uno sono sicuro ma non
ricordo
> il nome (uno strategico mi pare).

Appunto...... uno strategico dove non si richiede di muovere oggetti 3D ad
una velocità esorbitante.......
Dovremmo, secondo me, far luce su di un presupposto: quando diciamo
programmare giochi, che intendiamo per "giochi"?

Ovvio che posso realizzare un Parser per un avventura in Delphi (e forse
posso realizzare anche tutta l'avventura.....) ma scrivere, in codice
esclusivamente Delphi, un engine per un gioco total-3D penso sia
improbabile......

Non si spiegherebbe, altrimenti, la possibilità di incorporare routine C e
ASM, se esistessero istruzioni DELPHI che le sostituiscono.....

Ripeto: non ho mai programmato in DELPHI, ma se nelle SH di spicco e non,
utilizziamo C++ e ASM un motivo ci sarà.... o no?

Poi che c'entra? Quindici anni fà programmai un gioco in GWBasic.... e
girava su di un M24...... posso chiamarlo gioco e quindi dire che si può
scrivere giochi in GWBasic?

:-))

Ciao

NF

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
> Cosa stai dicendo ? Se scrivo una funzione in C con Delphi mi dice syntax
> error, mentre se la scrivo in ASM, è esattamente la stessa identica che se
> scritta in qualsiasi altro programma del mondo.

Mi hai frainteso......
E' ovvio che se la scrivi in ASM è identica "che se scritta in qualsiasi
altro programma del mondo" come dici tu: senza entrare nei dettagli, il
reindirizzamento della memoria, o un registro della CPU sono identici per
tutti i calcolatori ( sto parlando di macchine strutturalmente
identiche....), dovresti saperlo......

Ed è ovvio, appunto, che se scrivi in C con DELPHI ti dia il Syntax Error:
il C è, comunque, un linguaggio con la propria sintassi che non è
DELPHI......

Questo dovrebbe confermarti quanto ho detto prima: puoi implementare
(implementare ho detto, non scrivere....) funzioni C in DELPHI (o almeno lo
spero.... non lo conosco, ripeto...) per quelle routine dove si richiede un
diretto "contatto" sull'HW..... proprio per aumentare la velocità di
esecuzione.....

> Su questo avrie parecchi dubbi, d'altra parte se tu aprissi i file dell
eVCL
> del Delphi scopriresti che, scavando nelle routine, le basi sono in ASM.
cmq
> non è bello paragonare Delphi e VB.

Certo..... ASM per le Routine più cazzute e C++ per la struttura..... Hai
mai realizzato uno studio di fattibilità o redatta un'Analisi procedurale?
Se si, saprai da solo, che le procedure in genere non sono mai, dico mai,
realizzate con lo stesso linguaggio......
E' per quello che dico che con DELPHI puoi sicuramente realizzare una
struttura, ma le routine di velocità o di contatto HW saranno C o meglio
ASM........

Ciao

Gio <FrOYd> Caturano

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
In article <39473...@news.dada.it>, secu...@hotmail.com says...

> Questo dovrebbe confermarti quanto ho detto prima: puoi implementare
> (implementare ho detto, non scrivere....) funzioni C in DELPHI (o almeno lo

Non per criticare, solo per evitare confusione.

"implementare" = trasformare un algoritmo in codice; scrivere codice che
svolga il compito di un dato algoritmo.

In Delphi non e' possibile implementare algoritmi usando il C o il C++,
ma e' possibile, come in ogni linguaggio compilato basato su linker,
collegare al proprio programma moduli obj scritti in C o C++. E'
altrettanto possibile utilizzare DLL e server COM scritti in C o C++.

Da Borland C++ Builder, invece, e' possibile compilare codice
ObjectPascal - cosa che non tutti sanno - via command line.

> Certo..... ASM per le Routine più cazzute e C++ per la struttura..... Hai
> mai realizzato uno studio di fattibilità o redatta un'Analisi procedurale?
> Se si, saprai da solo, che le procedure in genere non sono mai, dico mai,
> realizzate con lo stesso linguaggio......

"in genere" e "mai" non vanno molto d'accordo. O e' "in genere" o e'
"mai". In ogni caso esistono moltissimi progetti realizzati interamente
in un linguaggio. In particolare, molti videogiochi sono realizzati
interamente in C o C++, senza alcun uso dell'ASM.


--
C++U

Gio "FrOYd" Caturano / Zetha gameZ
http://www.dronez.com

{MSX}

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
>Mi hai frainteso......
>E' ovvio che se la scrivi in ASM è identica "che se scritta in qualsiasi
>altro programma del mondo" come dici tu: senza entrare nei dettagli, il
>reindirizzamento della memoria, o un registro della CPU sono identici per
>tutti i calcolatori ( sto parlando di macchine strutturalmente
>identiche....), dovresti saperlo......

certo che lo so, te lo ho detto nell'email precedente.

>Ed è ovvio, appunto, che se scrivi in C con DELPHI ti dia il Syntax Error:
>il C è, comunque, un linguaggio con la propria sintassi che non è
>DELPHI......

ah ecco perchè non mi funzionavano ! :o)

>Questo dovrebbe confermarti quanto ho detto prima: puoi implementare
>(implementare ho detto, non scrivere....) funzioni C in DELPHI (o almeno lo

>spero.... non lo conosco, ripeto...) per quelle routine dove si richiede un
>diretto "contatto" sull'HW..... proprio per aumentare la velocità di
>esecuzione.....

Beh ma il diretto contatto lo puoi anche fare con Delphi, sai.. le API le
hai a disposizione anche li, e anche l'ASM, se proprio vuoi strafare.

>Certo..... ASM per le Routine più cazzute e C++ per la struttura..... Hai
>mai realizzato uno studio di fattibilità o redatta un'Analisi procedurale?
>Se si, saprai da solo, che le procedure in genere non sono mai, dico mai,
>realizzate con lo stesso linguaggio......

Intendi dire che sono fatte in più linguaggi e poi linkate ? Beh cosa vuol
dire ? Questo si fa per sfruttare i punti di forza dei vari linguaggi
suppongo e cercare un compromesso tra prestazioni e semplicità di
implementazione. Ma ciò non toglie che puoi fare tutto in c o tutto in
Delphi o tutto in basic. Tu questo lo escludi e non mi sembra affatto vero,
ci sono giochi fatti interamente in c++, applicazioni fatte interamente in
Delphi ecc.

>E' per quello che dico che con DELPHI puoi sicuramente realizzare una
>struttura, ma le routine di velocità o di contatto HW saranno C o meglio
>ASM........

Beh si, ma tutti i linguaggi moderni (c e delphi) permettono l'asm
all'interno del codice, per cui non c'è bisogno di linkare file esterni. Per
me se un prog fatto in un linguaggio X usa un po' di asm all'interno, è
sempre fatto in X, non in X e ASM. Altrimenti anch'io direi che programmo in
Delphi e ASM.

{MSX}

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
>Non si spiegherebbe, altrimenti, la possibilità di incorporare routine C e
>ASM, se esistessero istruzioni DELPHI che le sostituiscono.....

Guarda che in Delphi puoi fare tutto quello che fai in C, al massimo
l'eseguibile risulterà più lento (ma solo del VC++, il C++ builder è
notevolmente più lento di Delphi) e più grande (ma solo se si fa uso delle
VCL). E' la performance che porta gli sviluppatori (di videogiochi) ad usare
il c/c++

>Ripeto: non ho mai programmato in DELPHI, ma se nelle SH di spicco e non,
>utilizziamo C++ e ASM un motivo ci sarà.... o no?

Come detto, la velocità e soprattutto il fatto che C/c++ è ben più vecchio,
noto e sfruttato del Delphi. Se cerchi esempi di codice per la rete su una
qualche procedura, li trovi in C non in altri linguaggi..

>Poi che c'entra? Quindici anni fà programmai un gioco in GWBasic.... e
>girava su di un M24...... posso chiamarlo gioco e quindi dire che si può
>scrivere giochi in GWBasic?

beh in effetti si possono scrivere giochi in GWbasic, solo che saranno di
una lentezza assurda. Io programmavo in QBasic, e un solo flip del double
buffer mi prendeva una decina di secondi.

Ciddi3d

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
In article <8i89t0$k3o$3...@sirmdpsin16.inwind.it>, msx...@hotmail.it
says...

> >Non si spiegherebbe, altrimenti, la possibilità di incorporare routine C e
> >ASM, se esistessero istruzioni DELPHI che le sostituiscono.....
>
> Guarda che in Delphi puoi fare tutto quello che fai in C, al massimo
> l'eseguibile risulterà più lento (ma solo del VC++, il C++ builder è
> notevolmente più lento di Delphi) e più grande (ma solo se si fa uso delle
> VCL). E' la performance che porta gli sviluppatori (di videogiochi) ad usare
> il c/c++

Non dimenticare la portabilita'. Un gioco fatto in delphi puo' funzionare
solo su windows...
I kit di sviluppo delle console non hanno delphi 8-)

--

ciddi3d^Z
www.dronez.com

{MSX}

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
>Non dimenticare la portabilita'. Un gioco fatto in delphi puo' funzionare
>solo su windows...
>I kit di sviluppo delle console non hanno delphi 8-)

Beh si, le console non rientrano. Perň il fatto che sia solo per windows e
non magari per linux, kylix a parte, dipende dal fatto che si usino le VCL e
le API appunto di Windows, per cui vale anche per il C. Ad esempio il
freepascal, tolte appunto VCL e API, č compatibile con ObjectPascal. Per
dire che cosě come il C č compatibile se ci si limita all'ANSI, anche il
pascal č compatibile.

Stefano Lecchi

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
> Beh si, ma tutti i linguaggi moderni (c e delphi) permettono l'asm
> all'interno del codice ...

Nota: il C non è esattamente un buon esempio di linguaggio moderno.
Ne conosci altri (che non derivino direttamente da c e delphi tipo c++ o
pascal) che abbiano tale caratteristica?

A parte questo avrei una curiosità: noto che molti difendono l'uso di Delphi
per la programmazione di VG. A parte i lati negativi (che sono stati più
volte citati: lentezza, nessuna portabilità, difficoltà a trovare esempi,
etc.) immagino che ce ne siano di positivi da mettere sul piatto della
bilancia e che nessuno ha mai citato (a parte un generico "a me piace"). C'è
qualcuno che potrebbe illustrarmeli?

Vorrei far presente che non conosco Delphi.

Saluti

{MSX}

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
>Nota: il C non è esattamente un buon esempio di linguaggio moderno.
>Ne conosci altri (che non derivino direttamente da c e delphi tipo c++ o
>pascal) che abbiano tale caratteristica?

Si non è moderno, ma forse ho sbagliato parola.. intendevo i più avanzati.
Secondo me i più avanzati sono C/c++ e Delphi. Per quanto riguarda gli
altri, io conosco solo il VB, che effettivamente è molto diffuso ma non
certo avanzato, e infatti non mi pare abbia l'asm. A parte questi tre, ci
sono altri linguaggi vecchi o diciamo "settoriali", tipo cobol e fortran
oppure perl (che, correggetemi se sbaglio, ormai si usa solo per le cgi) che
potrebbero anche averlo, ma non ci scommetterei.
Io non ne conosco nessun'altro che abbia l'asm integrato.

>A parte questo avrei una curiosità: noto che molti difendono l'uso di
Delphi
>per la programmazione di VG. A parte i lati negativi (che sono stati più
>volte citati: lentezza, nessuna portabilità, difficoltà a trovare esempi,
>etc.) immagino che ce ne siano di positivi da mettere sul piatto della
>bilancia e che nessuno ha mai citato (a parte un generico "a me piace").
C'è
>qualcuno che potrebbe illustrarmeli?
>Vorrei far presente che non conosco Delphi.


Beh un punto di forza del Delphi sono a mio dire i componenti. I componenti
sono delle particolari classi visuali che si possono installare sulla VCL
(visual component library) di Delphi e che svolgono i compiti più disparati.
Dal momento che possono anche essere creati, diventa semplicissimo
distribuire codice già pronto che implementi una certa cosa. Ad esempio se
tizio scrive un componente che gestisce le OpenGL, io me lo scarico e lo
installo. Una volta installato posso usarlo quando voglio con un
doppioclick. Quindi in definitiva basta trovare un buon componente e si
hanno già risolto metà dei lavori di "bassa manovalanza" (l'interfaccia con
le librerie). Ad esempio c'è DelphiX che è un pacchetto di componenti per
gestire le DirectX fatto benissimo. Con quello qualsiasi bambino può
programmare qualcosa con le DX.
Poi se uno vuole gestire la tastiera si scarica un componente adatto, lo
stesso per la musica, per i suoni, per tutto insomma. Ci sono siti (torry e
dsp) che hanno librerie di migliaia di componenti a disposizione dei
programmatori (non tutti per i VG ovviamente :))
Quindi un definitiva l'altissima riusabilità del codice offerta dalla
tecnica dei componenti è un aspetto positivo.

Poi l'ambiente di sviluppo secondo me è perfetto, col code completition e
tutte quelle finezze, però forse le ha anche il VC, non ho una versione
aggiornata.

Per il resto poi, è questione di gusti e di comodità. Io per esempio mi
trovo meglio col pascal che col C, per semplice leggibilità e abitudine.

Paolo Antonelli

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
On Thu, 15 Jun 2000 10:26:35 +0200, "{MSX}" <msx...@hotmail.it> wrote:

-> avanzati. Secondo me i piů avanzati sono C/c++ e Delphi. Per quanto
-> [...]
->Io non ne conosco nessun'altro che abbia l'asm integrato.

Vorrei farti notare come sia curioso il fatto che definisci avanzati i
linguaggi in base alla caratteristica di avere oppure no l'asm
integrato...Non so esattamente in base a cosa defibnire avanzato o
meno un linguaggio, ma di sicuro questo non e' l'unico criterio.
forse quello a cui pensavi era l'attidune di un linguaggio ad essere
usato per fare VG. Anche java e' avanzato, come pure PHP, ma non hanno
ovviamente l'asm integrato, in quanto sarebbe controproducente.

->Beh un punto di forza del Delphi sono a mio dire i componenti. I
-> componenti sono delle particolari classi visuali che si possono
-> installare sulla VCL (visual component library) di Delphi e che
-> svolgono i compiti piů disparati.
->Dal momento che possono anche essere creati
-> [...]

Anche qui non mi pare di vedere nulla di nuovo....ormai tutti i
linguaggi danno la possibilta' di includere componenti/librerie di
terze parti, come pure di potersele fare in casa.
Forse addirittura pero' in questo caso Delphi e' meglio del C++ in
quanto per quest'ultimo esistono cosi' tante librerie che e'
difficile orientarsi e scegliere quella buona, mentre per delphi
sicuramente ce ne sono molto meno, e l'unica di cui io ho sentito
parlare per le Dx e' la DelphiX, non so se e' perche' e' l'unica di
buon livello, l'unica conosciuta oppure l'unica esistente...

Per aggiungere una nota positiva che invece non hai detto del Delphi
(postmetto che non l'ho mai visto, ma ricordo il pascal e delphi ne e'
un'evoluzione...quindi...non dovrei sbagliare, altrimenti
correggetemi) e' che dovrebbe conservare dal Pascal la pulizia del
codice e la leggibiklita', che a volte con il C++/c puo' venire meno,
soprattutto per quanto riguarda condizioni ed espressioni. In
particolare veder scritto

for i:= 1 to 50 begin
if a[i] <> 0 or b[i] = 0 then c := c - 1;
end;

oppure

for(int i = 0; i < 50; ++i) {
if (a[i] || !b[i]) c--;
{

il primo e' decisamente piu' chiaro...
tuttavia per entrambi i modelli esistono delle motivazioni, oltretutto
giustissime...e non si possono discutere.
L'unica cosa e' scegliere in base ai propri gusti.

Ciao. Arrimailarci. Paolo e/o Tony.

ICQ # : 55518872

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s:+ A--(?) C++ ULB-- L+ M-- !E K? W+++(++) !O !M-- V?=20
PS+ PE++ Y PGP- t+ X++ R TV- B++ D+ G !E h-->* !r !y+>+++++
------END GEEK CODE BLOCK------

"L'ottimista proclama che viviamo nel migliore dei mondi possibili. Il
pessimista teme che sia vero."
by : Murphy's Law Book Two

{MSX}

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
>Vorrei farti notare come sia curioso il fatto che definisci avanzati i
>linguaggi in base alla caratteristica di avere oppure no l'asm
>integrato...

Sbagli ! Non era quello che intendevo. Non sono avanzati perchč hanno l'asm,
bensi hanno l'asm perchč sono avanzati.

>parlare per le Dx e' la DelphiX, non so se e' perche' e' l'unica di
>buon livello, l'unica conosciuta oppure l'unica esistente...

Per quanti riguarda le DelphiX, ti assicuro che sono davvero valide, e non
perchč siano fatte in pascal. Lo sarebbero anche se fossero scritte in C.
Semplicemente sono programmate da Dio.

>correggetemi) e' che dovrebbe conservare dal Pascal la pulizia del
>codice e la leggibiklita', che a volte con il C++/c puo' venire meno,
>soprattutto per quanto riguarda condizioni ed espressioni. In
>particolare veder scritto

>il primo e' decisamente piu' chiaro...

Beh si ma questo č un motivo piů estetico. Sono pienamente d'accordo cmq.


Ciao ! {MSX}


Gio <FrOYd> Caturano

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
In article <3948e95c...@news.iol.it>, anton...@cs.unibo.it
says...

> usato per fare VG. Anche java e' avanzato, come pure PHP, ma non hanno

Java e' avanzato nel senso che e' un avanzo, forse.
La tecnologia dietro Java puo' essere pure rivoluzionaria. L'idea puo'
essere anche ottima, ma il linguaggio in se' per se' scopre l'acqua
calda. Un linguaggio avanzato e' un linguaggio che, nel suo settore
(cioe' quello dei linguaggi), ha portato innovazione.
Il C e' avanzato. Il C++ e' avanzato. Il Pascal era avanzato.
L'ObjectPascal gia' non e' niente di nuovo.

Se poi, invece, parliamo di ambienti di sviluppo, Delphi e' molto
potente, a modo suo, ed e' quindi avanzato, in quel senso. Ma Delphi non
e' un linguaggio, bensi' un ambiente di sviluppo.


> Per aggiungere una nota positiva che invece non hai detto del Delphi
> (postmetto che non l'ho mai visto, ma ricordo il pascal e delphi ne e'
> un'evoluzione...quindi...non dovrei sbagliare, altrimenti

> correggetemi) e' che dovrebbe conservare dal Pascal la pulizia del
> codice e la leggibiklita', che a volte con il C++/c puo' venire meno,
> soprattutto per quanto riguarda condizioni ed espressioni. In
> particolare veder scritto

Il Pascal e' stato pensato per i principianti, il C no, e il C++
nemmeno. Il Pascal poi e' stato rinnegato dal suo autore (N. Wirth), ma
cmq ha avuto un grandissimo successo. Il Delphi non e' un linguaggio ma
un ambiente di sviluppo basato su un linguaggio (ObjectPascal, che e'
una estensione NON STANDARD del Pascal, per renderlo in qualche modo a
oggetti) e su una libreria (VCL, un po' lenta come implementazione, ma
molto ben progettata, nonostante qualche limite tecnico).


> for i:= 1 to 50 begin
> if a[i] <> 0 or b[i] = 0 then c := c - 1;
> end;
>
> oppure
>
> for(int i = 0; i < 50; ++i) {
> if (a[i] || !b[i]) c--;
> {
>

> il primo e' decisamente piu' chiaro...

Il secondo consume meno polpastrelli e tastiera. 8)))

Ovviamente non ho nessuna intenzione di entrare nel discorso "quale
linguaggio e' meglio" - usate quello che vi pare.

Paolo Marotta

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
On Thu, 15 Jun 2000 14:34:17 GMT, anton...@cs.unibo.it (Paolo
Antonelli) wrote:

>Forse addirittura pero' in questo caso Delphi e' meglio del C++ in
>quanto per quest'ultimo esistono cosi' tante librerie che e'
>difficile orientarsi e scegliere quella buona, mentre per delphi
>sicuramente ce ne sono molto meno,

Vero che l'abbondanza rende difficile la scelta, tuttavia e` anche vero
che quando c'e` poca roba rischi di non trovare cio` che cerchi.

>In
>particolare veder scritto


>
>for i:= 1 to 50 begin
> if a[i] <> 0 or b[i] = 0 then c := c - 1;
>end;
>
>oppure
>
>for(int i = 0; i < 50; ++i) {
> if (a[i] || !b[i]) c--;
>{
>
>il primo e' decisamente piu' chiaro...

Concordo quando dici che la prima scrittura e` piu` chiara, ma vorrei
far notare due punti importanti:

a) Dato che chi decide di sviluppare in un certo linguaggio dovrebbe
avere un discreta padronanza di quel linguaggio, non dovrebbe
avere difficolta` a capire quella scrittura.

b) la chiarezza dipende in primo luogo dal programmatore e
dalle scelte stilistiche, nel caso se volevi essere piu` chiaro
potevi scrivere anche

for(int i=0; i<50; ++i) {
if (a[i]<>0 || b[i]==0) --c;
}

Inoltre se non ricordo male lo standard ISO C++ ha introdotto
"and" e "or" come alternativa a && e ||


Anche in pascal e` possibile scrivere codice poco comprensibile,
anche se il linguaggio e` effettivamente un poco piu` vicino
all'uomo di quanto non lo sia il C++ (d'altrone ogni linguaggio
e` concepito per un certo target)

>L'unica cosa e' scegliere in base ai propri gusti.

La scelta va fatta in base al tipo di applicazione da sviluppare.
Solitamente la via migliore e` un mix di due linguaggi, uno
di basso livello per quel 10% di codice in cui si spende
il 90% del tempo. Il secondo linguaggio per tutto il resto.
Ovviamente le proporzioni possono variare, ma allo stato
attuale l'idea e` comunque valida.

Gio <FrOYd> Caturano

unread,
Jun 15, 2000, 3:00:00 AM6/15/00
to
In article <5ldiks03n0k0h68k8...@4ax.com>,
mar...@NOSPAMcli.di.unipi.it says...

> if (a[i]<>0 || b[i]==0) --c;

"<>" non e' C ne' C++, per quanto ne so.
"diverso" si scrive "!=", che secondo me e' molto piu' intelligente, tra
l'altro.
Per quanto riguarda la spaziatura, il suggerimento dello standard
sarebbe:

if (a[i] != 0 || b[i] == 0)
c--;

Cioe' separare tutti gli operatori con spazi da entrambi i lati,
chiudere le parentesi intorno al testo contenuto, evitare lo spazio a
sinistra della parentesi solo quando si tratta di funzioni, tenere una
sola istruzione per linea.

"--c" e' per puristi. 8)

> Inoltre se non ricordo male lo standard ISO C++ ha introdotto
> "and" e "or" come alternativa a && e ||

Puoi anche fare, da secoli

#define and &&
#define or ||

poi fare poi

#define begin {
#define end }

che, come dice Stroustrupp, e' perfettamente inutile

> Anche in pascal e` possibile scrivere codice poco comprensibile,
> anche se il linguaggio e` effettivamente un poco piu` vicino
> all'uomo di quanto non lo sia il C++ (d'altrone ogni linguaggio
> e` concepito per un certo target)

Il C indubbiamente consente piu' divertimento, da questo punto di vista,
non per niente esiste il concorso "Obfuscated C Contest" e non esiste un
corrispondente Pascal. 8)

Ci vediamo fra una decina di giorni, mi vado a fare qualche
accertamento.

Stefano Lecchi

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
> "--c" e' per puristi. 8)

O per quelli che hanno bisogno di un pre-decremento invece che di un
post-decremento...


Ciddi3d

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
In article <8icm1n$59ii$1...@stargate1.inet.it>, stelec#NOSPAM#@libero.it
says...

> > "--c" e' per puristi. 8)
>
> O per quelli che hanno bisogno di un pre-decremento invece che di un
> post-decremento...

Si puo' vivere senza 8-)
Ci sono migliaia di ottimi programmatori c che non hanno mai usato un
predecremento...


--

ciddi3d^Z
www.dronez.com

Stefano Lecchi

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to

Ciddi3d <c...@niente.com> wrote in message
news:MPG.13b40d47f...@192.168.0.1...

Si può vivere anche senza +=, -=, overloading degli operatori, etc. etc.
Io, personalmente preferisco vivere con tutto ciò ;-P

Ciddi3d

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
In article <8icrhj$1etu$1...@stargate1.inet.it>, stelec#NOSPAM#@libero.it
says...

> Si può vivere anche senza +=, -=, overloading degli operatori, etc. etc.
> Io, personalmente preferisco vivere con tutto ciò ;-P

Se permetti, l'utilita' dell'overloading e del += e' indubbia, quella del
predecremento non e' tanto evidente...

--

ciddi3d^Z
www.dronez.com

Stefano Lecchi

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
> Se permetti, l'utilita' dell'overloading e del += e' indubbia, quella del
> predecremento non e' tanto evidente...

...finchè non la usi...

Gastel

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
while (--c) {};

è più comodo di

c--;
while (c--) {};

tanto quanto

c += 1;

è più comodo di

c = c + 1;

Saluti,
Gastel

Ciddi3d <c...@niente.com> wrote in message

news:MPG.13b441c88...@192.168.0.1...


> In article <8icrhj$1etu$1...@stargate1.inet.it>, stelec#NOSPAM#@libero.it
> says...
>
> > Si può vivere anche senza +=, -=, overloading degli operatori, etc. etc.
> > Io, personalmente preferisco vivere con tutto ciò ;-P
>

> Se permetti, l'utilita' dell'overloading e del += e' indubbia, quella del
> predecremento non e' tanto evidente...
>

> --
>
> ciddi3d^Z
> www.dronez.com

Ciddi3d

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
In article <8id9n7$dsh$1...@fe2.cs.interbusiness.it>, no...@none.none says...

> while (--c) {};

si', infatti, il mio codice e' pieno di
while(--c) {};

ma dai...

--

ciddi3d^Z
www.dronez.com

Paolo Marotta

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
On Fri, 16 Jun 2000 09:47:45 +0200, "Stefano Lecchi"
<stelec#NOSPAM#@libero.it> wrote:

>> "--c" e' per puristi. 8)
>
>O per quelli che hanno bisogno di un pre-decremento invece che di un
>post-decremento...

C'e` un motivo preciso per preferire "--c" a "c--"...
Nel caso di tipi primitivi la seconda scrittura genera un temporaneo
che qualsiasi compilatore semi-decente puo` eliminare (se non serve),
con i tipi definiti dall'utente la cosa e` molto piu` difficile.
Quindi se l'una o l'altra sono indifferenti (nel contesto), la prima e`
comunque preferibile.

Paolo Marotta

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
On Thu, 15 Jun 2000 23:50:52 +0200, Gio <FrOYd> Caturano
<fr...@c64.NOTTHIS.org> wrote:


>"<>" non e' C ne' C++, per quanto ne so.
>"diverso" si scrive "!=", che secondo me e' molto piu' intelligente, tra
>l'altro.

Sorry, hai ragione... Piccola controindicazione all'uso
di 2-3 linguaggi contemporaneamente...

>Per quanto riguarda la spaziatura, il suggerimento dello standard
>sarebbe:

Come dicevo molto dipende dalle regole stilistiche utilizzate...
In effetti la spaziatura sugli operatori e` una cosa su cui rifletto da
tempo, poiche` vorrei trovare un approccio valido.
Nel caso, scrivendo

a[i]!=0 || b[i]==0

pongo l'accento sulla diversa priorita` degli operatori, sottolineando
che operator!= e operato== hanno priorita` piu` alta rispetto a
operator||

> tenere una
>sola istruzione per linea.

Anche su questo si puo` discutere...
Nel caso, l'istruzione composta e` nel complesso semplice, e` dato che
il C++ e` un linguaggio in cui le righe vanno via come il pane, scrivere
tutto su una riga non comporta una perdita di leggibilita`.
Se il ramo then (o else) fosse stato composto da piu` istruzioni
il discorso sarebbe stato radicalmente diverso.

>Ci vediamo fra una decina di giorni, mi vado a fare qualche
>accertamento.

Buon lavoro,

Gastel

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
1) a = b + (++c);

2) if (++a > b) {};

3) iLoopNum = 2;
do { WhatYouWant();
} while (--iLoopNum);

4) for (iIndex = 0;iIndex < z;)
{
if (aiTemp[iIndex] > a)
aiTemp[++iIndex] += b;
else
aiTemp[iIndex++] += c;
}

Quelli sopra sono altri esempi. Penso che non ne servano altri per capire
che il predecremento/preincremento può essere usato in svariati modi,
conformemente all'apertura mentale del programmatore.

Gastel

Ciddi3d <c...@niente.com> wrote in message

news:MPG.13b44c12e...@192.168.0.1...

Ciddi3d

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
In article <8iddo0$gsp$1...@fe1.cs.interbusiness.it>, no...@none.none says...

> 1) a = b + (++c);

e perche' non il piu' leggibile:

c++;
a = b + c;

finche' l'esempio e' fatto da a+b non e' che sia molto interessante...
8-)


> 2) if (++a > b) {};

come sopra.


> 3) iLoopNum = 2;
> do { WhatYouWant();
> } while (--iLoopNum);

perche' non:

iLoopNum=1;
do
WhatYouWant();
while (iLoopNum--);



> 4) for (iIndex = 0;iIndex < z;)
> {
> if (aiTemp[iIndex] > a)
> aiTemp[++iIndex] += b;
> else
> aiTemp[iIndex++] += c;
> }

Perche', cosi' non ti piace?

iIndex=0;
while(iIndex < z)
{
if(aiTemp[iIndex] > a)
aiTemp[iIndex+1]+=b;
else
aiTemp[iIndex]+=c;

iIndex++;
}

> Quelli sopra sono altri esempi. Penso che non ne servano altri per capire
> che il predecremento/preincremento può essere usato in svariati modi,
> conformemente all'apertura mentale del programmatore.

Onestamente, non credo che l'apertura mentale di un programmatore si veda
dai preincrementi (per fortuna).


--

ciddi3d^Z
www.dronez.com

DelphiGuy

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
On Fri, 16 Jun 2000 16:10:32 +0200, Paolo Marotta
<mar...@NOSPAMcli.di.unipi.it> wrote:

Messaggio per tutti:

MI SA CHE STIAMO ANDANDO UN PO' FUORI TEMA !
eheheh
avete visto qual era la domanda iniziale ?

Paolo Marotta

unread,
Jun 16, 2000, 3:00:00 AM6/16/00
to
On Fri, 16 Jun 2000 14:53:47 +0200, c...@niente.com (Ciddi3d) wrote:

>Se permetti, l'utilita' dell'overloading e del += e' indubbia, quella del
>predecremento non e' tanto evidente...

In tal caso ti invito a leggere il mio precedente post su questo thread.

Paolo Ulivi

unread,
Jun 17, 2000, 3:00:00 AM6/17/00
to
Nell' ultimo episodio (Fri, 16 Jun 2000 16:10:32 +0200, Paolo Marotta),
<mar...@NOSPAMcli.di.unipi.it> ha detto:

>>Per quanto riguarda la spaziatura, il suggerimento dello standard
>>sarebbe:
>
>Come dicevo molto dipende dalle regole stilistiche utilizzate...
>In effetti la spaziatura sugli operatori e` una cosa su cui rifletto da
>tempo, poiche` vorrei trovare un approccio valido.

Scusa se mi intrometto per segnalarti un ottimo testo che (anni fa...)
mi ha quasi salvato la vita:

C Style: Standards and Guidelines
Defining Programming Standards for Professional C Programmers
David Straker
Prentice Hall, 1992
ISBN 0-13-116898-3

Solo 230 pagine che vale la pena di leggere, ma sicuramente lo conosci
gia'.

>> tenere una sola istruzione per linea.
>
>Anche su questo si puo` discutere...
>Nel caso, l'istruzione composta e` nel complesso semplice, e` dato che
>il C++ e` un linguaggio in cui le righe vanno via come il pane, scrivere
>tutto su una riga non comporta una perdita di leggibilita`.

Scrivere una istruzione per linea non viene fatto per la leggibilita'
ma per il debugging. Poi, quando non e' possibile non e' possibile.

Ciao

>>Ci vediamo fra una decina di giorni, mi vado a fare qualche
>>accertamento.
>
>Buon lavoro,
>Paolo

Auguri da parte mia, Gio.

--
Manca la firma, lavori in corso.

Paolo Ulivi

unread,
Jun 17, 2000, 3:00:00 AM6/17/00
to
Nell' ultimo episodio (Thu, 15 Jun 2000 19:12:22 +0200, Gio), <FrOYd> ha detto:

>In article <3948e95c...@news.iol.it>, anton...@cs.unibo.it
>says...
>
>> usato per fare VG. Anche java e' avanzato, come pure PHP, ma non hanno
>
>Java e' avanzato nel senso che e' un avanzo, forse.
>La tecnologia dietro Java puo' essere pure rivoluzionaria. L'idea puo'
>essere anche ottima, ma il linguaggio in se' per se' scopre l'acqua
>calda.

Stesso discorso per il PHP (che mi pare che a Java stia facendo le
scarpe): tecnologia avanzata ma il linguaggio in se' non ha niente
di particolare. Java in particolare, per quel poco che lo conosco,
e' C++ con particolare attenzione verso la sicurezza (meno features)
e *molto* piu' pasticciato del C++.

>Il Pascal e' stato pensato per i principianti, il C no, e il C++
>nemmeno. Il Pascal poi e' stato rinnegato dal suo autore (N. Wirth), ma
>cmq ha avuto un grandissimo successo.

Questo mi interessa, e' la seconda volta che lo scrivi e mi hai
incuriosito: ti ricordi mica qualche puntatore a questa informazione ???

>--
>C++U
>
> Gio "FrOYd" Caturano / Zetha gameZ
> http://www.dronez.com

Ciao, Paolo

--
La mia firma e' andata in ferie, scusate(la)

anto

unread,
Jun 17, 2000, 3:00:00 AM6/17/00
to
On ven, 16 giu 2000, Gastel wrote:
>1) a = b + (++c);
>
>2) if (++a > b) {};

>
>3) iLoopNum = 2;
> do { WhatYouWant();
> } while (--iLoopNum);
>
>4) for (iIndex = 0;iIndex < z;)
> {
> if (aiTemp[iIndex] > a)
> aiTemp[++iIndex] += b;
> else
> aiTemp[iIndex++] += c;
> }
>
Non è che sia una critica, ma non credo che tutto questo c'entri molto con il
Delphi (guardate un po il titolo del post :-)
Ciao Anto


Paolo Marotta

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
On Sat, 17 Jun 2000 21:17:47 +0200, ik5...@ik5lgs.ampr.org (Paolo Ulivi)
wrote:

>Scusa se mi intrometto per segnalarti un ottimo testo che (anni fa...)
>mi ha quasi salvato la vita:
>
> C Style: Standards and Guidelines
> Defining Programming Standards for Professional C Programmers

Non lo conoscevo, grazie... fino a che punto e` valido anche per
il C++?

Un altro testo molto valido, e per giunta in italiano, e` l'ottimo
"C++ manuale di stile"
di C. Pescio
edizioni infomedia

Stefano Lecchi

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
> Stesso discorso per il PHP (che mi pare che a Java stia facendo le
> scarpe): tecnologia avanzata ma il linguaggio in se' non ha niente
> di particolare. Java in particolare, per quel poco che lo conosco,
> e' C++ con particolare attenzione verso la sicurezza (meno features)
> e *molto* piu' pasticciato del C++.

Una curiosità: l'hai imparato o lo dici tanto per dire? La filosofia che sta
dietro a Java è completamente diversa da quella del C++. Il fatto che la
maggioranza della sintassi sia praticamente uguale spesso confonde chi lo
impara superficialmente.
Sul fatto che sia pasticciato poi ... mi sembra, anzi, che parecchie
librerie Java (vedi Swing) siano un vero e proprio capolavoro di design.
Concordo sul fatto che esistano alcune pecche qui e là ma da qui a dire che
è pasticciato ne corre...
Infine, cosa intendi con "meno features"? Forse alla mancanza di puntatori?
Non è una feature in meno: è un approccio molto più pulito alla gestione
della memoria. E questo vale anche per la mancanza dell'ereditarietà
multipla, etc. Sono scelte fatte in fase di progettazione del linguaggio che
hanno delle OTTIME ragioni di essere.

Saluti...

Paolo Ulivi

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
Nell' ultimo episodio (Mon, 19 Jun 2000 08:27:07 +0200, Paolo Marotta),
<mar...@NOSPAMcli.di.unipi.it> ha detto:

>On Sat, 17 Jun 2000 21:17:47 +0200, ik5...@ik5lgs.ampr.org (Paolo Ulivi)


>wrote:
>
>>Scusa se mi intrometto per segnalarti un ottimo testo che (anni fa...)
>>mi ha quasi salvato la vita:
>>
>> C Style: Standards and Guidelines
>> Defining Programming Standards for Professional C Programmers
>
>Non lo conoscevo, grazie... fino a che punto e` valido anche per
>il C++?

Fino al punto in cui il C++ inizia ad essere un superset del C e va
per la sua strada :-)

>Un altro testo molto valido, e per giunta in italiano, e` l'ottimo
>"C++ manuale di stile"
>di C. Pescio
>edizioni infomedia

Mio dio, io quasi l' italiano non me lo ricordavo piu'... Era ora!

Ciao, Paolo

Paolo Ulivi

unread,
Jun 19, 2000, 3:00:00 AM6/19/00
to
Nell' ultimo episodio (Mon, 19 Jun 2000 13:21:16 +0200, Stefano Lecchi),
<stelec#NOSPAM#@libero.it> ha detto:

>> Stesso discorso per il PHP (che mi pare che a Java stia facendo le
>> scarpe): tecnologia avanzata ma il linguaggio in se' non ha niente
>> di particolare. Java in particolare, per quel poco che lo conosco,
>> e' C++ con particolare attenzione verso la sicurezza (meno features)
>> e *molto* piu' pasticciato del C++.
>
>Una curiosità: l'hai imparato o lo dici tanto per dire? La filosofia che sta
>dietro a Java è completamente diversa da quella del C++. Il fatto che la
>maggioranza della sintassi sia praticamente uguale spesso confonde chi lo
>impara superficialmente.

Ne l' uno ne l' altro. Non si parlava di filosofia, comunque, ma del
linguaggio. Le sue basi poggiano sul C++, che ha le sue radici nel C,
che ha sempre avuto qualche problemino (tipo alcuni operatori con la
precedenza sbagliata) che ancora oggi, dopo tutti questi anni, ogni tanto
si fa' sentire. Nessuno dei tre e' perfetto, ma a me il C ed il C++
piacciono molto anche grazie al modo in cui sono nati e alla partecipazione
internazionale al loro sviluppo (nonche' ai frutti che ha dato, naturalmente).
Questo perche' alla AT&T c' era della gente illuminata... Io saro' miope ma
alla Sun vedo solo dei furbastri. Questo e' forse il motivo per cui ti
capitera' altre volte di trovare qualcuno a cui Java e' antipatico: per il
business che c'e' dietro... Nulla di personale, sono solo affari.

>Sul fatto che sia pasticciato poi ... mi sembra, anzi, che parecchie
>librerie Java (vedi Swing) siano un vero e proprio capolavoro di design.
>Concordo sul fatto che esistano alcune pecche qui e là ma da qui a dire che
>è pasticciato ne corre...

Per quel che riguarda le fantastiche Swing, sono daccordo ...solo avrei
voluto che si chiamassero MFC e fossero distribuite assieme alla prima
versione del VC++, come avrebbe dovuto essere visto che le conoscenze
c' erano gia'. Invece me le sono dovute scrivere da me...

>Infine, cosa intendi con "meno features"? Forse alla mancanza di puntatori?
>Non è una feature in meno: è un approccio molto più pulito alla gestione
>della memoria. E questo vale anche per la mancanza dell'ereditarietà
>multipla, etc. Sono scelte fatte in fase di progettazione del linguaggio che
>hanno delle OTTIME ragioni di essere.

Si, la *sicurezza* della programmazione Web, servlet e applet. Dici esattamente
quello che ho detto io. Con la differenza, forse, che io ***non mi fido lo
stesso*** e a ragione: per quel che riguarda la sicurezza delle comunicazioni
su Internet dire che siamo alla preistoria e' poco, e per quel che riguarda
Java e le sue promesse io personalmente non monterei sul mio gateway una
servlet nemmeno se venisse l' aids degli hackers e se ne portasse via qualche
milione... Ma qui ognuno si regola come crede, la mia rete e' mia e me
la gestisco da me :-)

Comunque questo thread e' diventato decisamente OT, invito chi volesse
continuare la discussione a scrivermi al mio indirizzo e-mail
<pul...@versilia.net> .

Ciao, Paolo

IGI

unread,
Jun 20, 2000, 3:00:00 AM6/20/00
to

Paolo Antonelli <anton...@cs.unibo.it> wrote in message
3948e95c...@news.iol.it...

> On Thu, 15 Jun 2000 10:26:35 +0200, "{MSX}" <msx...@hotmail.it> wrote:
>
> In
> particolare veder scritto
>
> for i:= 1 to 50 begin
> if a[i] <> 0 or b[i] = 0 then c := c - 1;
> end;
>
> oppure
>
> for(int i = 0; i < 50; ++i) {
> if (a[i] || !b[i]) c--;
> {
>
> il primo e' decisamente piu' chiaro...

Non diciamo c*****e, i loop "for x TO y ... END", nonché gli if...THEN
mettono la nausea, puzzano troppo di Basic.


Paolo Antonelli

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to
On Tue, 20 Jun 2000 22:04:01 +0200, "IGI" <shor...@tiscalinet.it>
wrote:

->Non diciamo c*****e, i loop "for x TO y ... END", nonché gli
if...THEN
->mettono la nausea, puzzano troppo di Basic.
->
Ue' ragazzo.....te non dire Stron***e...la tua affermazione non sta in
piedi neanche mettendogli delle fondamenta di cemento armato!!!
cosa vuol dire "puzza di VB"???
Non e' mica la sinstassi del for e dell'if che fanno un linguaggio!!!
tant'e' che preso il parser del C++ puoi fare in modo che ti riconosca
il for, l'if e diverse altre cose con la sinstassi di sopra ed avere
gli stessi risultati dell'originale.
Quello che caratterizza un linguaggio e' ben altro:
1: chiamate di funzioni/procedure (semplifico un po' raggruppando,
tanto non e' che cambi tantissimo la filosofia....); vedi ad esempio
Pascal e C sono completamente diversi, il pascal permette la
definizione annidata delle funzioni, il C no.
il pascal ha un numero di parametri fisso, il C no (grazie all'ordine
di passaggio dei parametri nello stack)
2: supporto OO; e spesso per fare realizzare quello che ormai e' un
must per i linguaggi si definiscono estensioni piu' o meno bizzarre
degli originali (e qui vorrei segnalare che anche il C++ non e'
originale, in quanto hanno preso a modello Smalltalk, anche se parlo
per sentito dire, dato che quest'ultimo non l'ho mai visto)
3: scopo per cui e' progettato.
In java che senso aveva mettere l'asm? ed in SQL?
[ ahahah, pensa che figata :
select cadavere.mortomese, asm {
mov eax, 180
mov ecx, 655
rep stosd
}
from cadavere; :)))))))))

p.s.: esempio realmente preso a prestito dal progetto di Basi di Dati
del mio gruppo, tranne per l'aggiuntina di ASM (De+++Profundis) :), se
qualcuno desidera informazioni chieda pure a anto...@cs.uibo.it
oppure cau...@cs.unibo.it oppure ors...@cs.unibo.it
]
4: semantica ?1? l'ho appena studiata a informatica teorica ma non
hoancora trovato legame stretti conla vita corrente, se qlcuno ne sa
di piu' sarei ben felice di apprendere....tnx
5.6.7 altro che non mi venga in mente appena sveglio? Marotta, nulla
da aggiungere, tu che ne sai a pacchi?

cmq ormai siamo decisamente OT, se volete continuare o ci spostiamo da
altre parti (mail, ML, ritrovo fisico, torneo di boxe ;) o gliela si
da su...
Ciao. Arrimailarci. Paolo e/o Tony.

ICQ # : 55518872

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s:+ A--(?) C++ ULB-- L+ M-- !E K? W+++(++) !O !M-- V?=20
PS+ PE++ Y PGP- t+ X++ R TV- B++ D+ G !E h-->* !r !y+>+++++
------END GEEK CODE BLOCK------

"L'ottimista proclama che viviamo nel migliore dei mondi possibili. Il
pessimista teme che sia vero."
by : Murphy's Law Book Two

IGI

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to

Paolo Antonelli <anton...@cs.unibo.it> wrote in message
3950a111...@news.iol.it...

> On Tue, 20 Jun 2000 22:04:01 +0200, "IGI" <shor...@tiscalinet.it>
> wrote:
>
> ->Non diciamo c*****e, i loop "for x TO y ... END", nonché gli
> if...THEN
> ->mettono la nausea, puzzano troppo di Basic.
> ->
> Ue' ragazzo.....te non dire Stron***e...la tua affermazione non sta in
> piedi neanche mettendogli delle fondamenta di cemento armato!!!
> cosa vuol dire "puzza di VB"???

Ehm, veramente il mio messaggio non voleva stabilire innovative relazioni
concettuali tra Basic e Pascal. Dato che l'amico prima aveva sparato
qualcosa tipo: "a me piace di più scrivere così piuttosto che cosà la stessa
identica cosa, indi il Pascal è meglio del C", ho pensato di rispondere
ironicamente (per quello c'erano gli asterischi a "cazzate") associando la
presunta migliore estetica del Pascal a quella del linguaggio più fetido del
mondo.

> "L'ottimista proclama che viviamo nel migliore dei mondi possibili. Il
> pessimista teme che sia vero."
> by : Murphy's Law Book Two

Simpatica citazione, se penso che per il primo ottimista ho dovuto farmi un
mazzo così quest'anno a scuola...

IGI

unread,
Jun 21, 2000, 3:00:00 AM6/21/00
to

IGI <shor...@tiscalinet.it> wrote in message
8irbl4$94e$1...@pegasus.tiscalinet.it...

>
> Paolo Antonelli <anton...@cs.unibo.it> wrote in message
> 3950a111...@news.iol.it...
> > On Tue, 20 Jun 2000 22:04:01 +0200, "IGI" <shor...@tiscalinet.it>
> > wrote:
> >
> > ->Non diciamo c*****e, i loop "for x TO y ... END", nonché gli
> > if...THEN
> > ->mettono la nausea, puzzano troppo di Basic.
> > ->
> > Ue' ragazzo.....te non dire Stron***e...la tua affermazione non sta in
> > piedi neanche mettendogli delle fondamenta di cemento armato!!!
> > cosa vuol dire "puzza di VB"???
>
> Ehm, veramente il mio messaggio non voleva stabilire innovative relazioni
> concettuali tra Basic e Pascal. Dato che l'amico prima aveva sparato

Ops mi autorispondo per autocorreggeremi: "l'amico prima" era lo stesso tipo
che mi ha detto di non dire Stron***e. Non me ne ero accorto, beh il succo
della risposta non cambia.


Paolo Marotta

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
Non volevo commentare l'affermazione per diverse ragioni...
In primo luogo il paradigma imperativo (quello con l'assegnamento,
if, for... per intenderci) non e` l'unico.

In alcuni paradigmi (quello logico ad esempio), l'if non esiste... o
meglio e` implicito nel linguaggio.

Faccio un esempio tratto dalla mia tesi, si tratta di 2 regole tratte da
un sistema esperto (indovinate su cosa :)


(defrule CompletaLaPrimaFaseDiVirata
(declare (salience 2000))
(IstanteCorrente ?t)
(InPrimaFaseDiVirata ?a ?t0&:(= ?t0 (- ?t 1)))
(test (not (ProraAlVento ?a ?t)))
(test (not (eq (CalcolaMura ?a ?t) (CalcolaMura ?a ?t0))))
(Barca ?NomeA ?a)
=>
(assert (CompletaLaPrimaFaseDiVirata ?a ?t))
)

(defrule InSecondaFaseDiVirata
(declare (salience 2000))
(CompletaLaPrimaFaseDiVirata ?a ?t)
(test (OltreLaBolinaStretta ?a ?t))
(Barca ?NomeA ?a)
=>
(assert (InSecondaFaseDiVirata ?a ?t))
)

Si tratta di un paio di regole di un sistema esperto....
vedetele come implicazioni logiche.

Ciascuna regola dice "se si verifica un fatto, allora fai una certa
azione". L'if come visto in C/C++, pascal non esiste, pero` c'e`...
...implicito nelle regole.

Ancora... tra le 2 regole c'e` una specie di if nel senso che se si
esegue la prima non si esegue la seconda (e viceversa)
non vengono mai eseguite tutte e due nello stesso ciclo di analisi...
piu` o meno equivalente a dire in C++

if (cond) Regola1;
else Regola2;


In secondo luogo l'affermazione in oggetto nascondeva della
"ingenuita`"...


> (semplifico un po'

un po' troppo!!!! ;)

>4: semantica ?1? l'ho appena studiata a informatica teorica ma non
>hoancora trovato legame stretti conla vita corrente

La semantica (cioe` il significato) e` quella roba che non si mangia, ma
ti permette di dire che il tuo programma fa esattamente cio` che deve
fare.


Ciao,

Paolo Antonelli

unread,
Jun 22, 2000, 3:00:00 AM6/22/00
to
On Thu, 22 Jun 2000 10:32:23 +0200, Paolo Marotta
<mar...@NOSPAMcli.di.unipi.it> wrote:

->
->> (semplifico un po'
->
->un po' troppo!!!! ;)
->

Uh!?!? Perche'? Volevo solo raggruppare l'idea di funzione e procedura
(come sono considerate in pascal, a cui mi stavo riferendo) che alla
fin fine non e' che mi pare siano fondamentalmente diverse.

->
->>4: semantica ?1? l'ho appena studiata a informatica teorica ma non
->>ho ancora trovato legame stretti conla vita corrente
->
->La semantica (cioe` il significato) e` quella roba che non si
mangia, ma
->ti permette di dire che il tuo programma fa esattamente cio` che
deve
->fare.
->

Grazie, questo l'avevo gia' capito con tutto il tempo che ce l'hanno
ripetuto, ma non riesco a portarlo sul campo, alla pratica.
Mi spiego meglio, abbiamo fatto la semantica denotazionale (per
l'operazionale non c'era tempo (vabbe, magari con due tipi diversi
potevo capirla meglio, a prop. hai qualche link utile?). ebbene,
tantissime storie per definire le definizione delle variabili, i
comandi semplici, le espressioni, la definizione e chiamata delle
proceduire ed il passaggio di parametri, funzioni ricorsive....ma alla
fin fine che me ne faccio? a che mi serve?
Hai presente la semantica del while? Che noi sappiamo cosi' :
S[while b do s] = FIX F
dove F(b) = cond(...)

Che me ne frega di sapere che la semantica del while e' definita come
il punto fisso di una sboccosissima funzione?
Aaaaahhhh, e' vero, a dimostrare che il mio programma e'
corretto....ma come?
E, ora che ci penso.....se faccio un programma di 200 righe (cioe' una
cavolata) devo passare sei mesi a scrivere la dimostrazione che
funziona semanticamente?
E per il kernel di Linux o Winxx?? AAAAAAAAAHHHHHHH
Per la serie fatemi fuori subito, prima che muoio di morte innaturale
o mi prendono le convulsioni.. :)))

Ciao.

P.S.: Se questo discorso interessa anche ad altri oltre a me e Marotta
si faccia sentire, altrimenti se dovessimo continuare molto (
sinceramente spero di no, non per antipatia per Marotta, ma per la
materia :D ) ci si puo' anche spostare in mail.

Ciao. Arrimailarci. Paolo e/o Tony.

ICQ # : 55518872

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d- s:+ A--(?) C++ ULB-- L+ M-- !E K? W+++(++) !O !M-- V?=20
PS+ PE++ Y PGP- t+ X++ R TV- B++ D+ G !E h-->* !r !y+>+++++
------END GEEK CODE BLOCK------

"L'ottimista proclama che viviamo nel migliore dei mondi possibili. Il

Paolo Marotta

unread,
Jun 23, 2000, 3:00:00 AM6/23/00
to
On Thu, 22 Jun 2000 13:23:48 GMT, anton...@cs.unibo.it (Paolo
Antonelli) wrote:


>Uh!?!? Perche'?

Non ci sono solo linguaggi procedurali (es. prolog)
Anche se i linguaggi piu` diffusi seguono questo schema.

>Mi spiego meglio, abbiamo fatto la semantica denotazionale (per
>l'operazionale non c'era tempo (vabbe, magari con due tipi diversi
>potevo capirla meglio, a prop. hai qualche link utile?). ebbene,

no, spiacente...

>tantissime storie per definire le definizione delle variabili, i
>comandi semplici, le espressioni, la definizione e chiamata delle
>proceduire ed il passaggio di parametri, funzioni ricorsive....ma alla
>fin fine che me ne faccio? a che mi serve?

Ti serve inannzi tutto a capire formalmente quello che fai,
ti servira` sicuramente se ti dedicherai alla realizzazione di
interpreti e/o compilatori.
Teoricamente serve in un mucchi di altri casi, nella pratica quotidiana,
il tuo capo difficilmente ti chiedera` di dimostrargli formalmente
che il tuo programma funziona.

Il punto importante e` che queste cose ti mostrano che gli strumenti
che usi hanno dei fondamenti matematici ben precisi, che non si
inventano all'improvviso la mattina.

>E, ora che ci penso.....se faccio un programma di 200 righe (cioe' una
>cavolata) devo passare sei mesi a scrivere la dimostrazione che
>funziona semanticamente?

ci sono programmi che lo fanno automaticamente (entro certi limiti),
pero` tu devi sapere come funzionano altrimenti non saresti in grado
di fornire tutte le informazioni necessarie.

Gio <FrOYd> Caturano

unread,
Jun 26, 2000, 3:00:00 AM6/26/00
to
In article <8icm1n$59ii$1...@stargate1.inet.it>, stelec#NOSPAM#@libero.it
says...

> > "--c" e' per puristi. 8)

> O per quelli che hanno bisogno di un pre-decremento invece che di un
> post-decremento...

Non pensavo di creare tanto casino.
Era riferito alla linea:

--c;

L'effetto e' esattamente identico a:

c--;

tuttavia Bjarne Stroustrupp dice che i puristi del C++ preferiscono,
quando si sta su linea singola, scrivere --c invece di c-- per motivi
che, fondamentalmente, sono di struttura di certi compilatori e
formalismi obsoleti.

Mi pare assolutamente stupido pensare che si possano "scambiare" --c e
c-- in un contesto di utilizzo effettivo.

Sul fatto, poi, che si possa vivere senza "predecremento" non ci sono
dubbi, cosi' come si puo' vivere senza "postdecremento" e senza "+=".

Paolo Marotta

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
On Mon, 26 Jun 2000 17:35:16 +0200, Gio <FrOYd> Caturano
<fr...@c64.NOTTHIS.org> wrote:


>Non pensavo di creare tanto casino.
>Era riferito alla linea:
>
>--c;
>
>L'effetto e' esattamente identico a:
>
>c--;

Per nulla... l'operatore prefisso prima opera
sull'oggetto e poi ne restituisce il valore,
quello postfisso fa esattamente l'opposto, prima restituisce
il valore e poi opera sull'oggetto.

In particolare la forma postfissa genera un temporaneo
che non sempre il compilatore riesce ad eliminare
(quando non serve)... tipicamente per i tipi built-in
riesce ad eliminarlo, per i tipi definiti dall'utente invece no perche`
non puo` verificare eventuali effetti collaterali.

>Mi pare assolutamente stupido pensare che si possano "scambiare" --c e
>c-- in un contesto di utilizzo effettivo.

dipende da come sono utilizzati. Se l'espressione non fa parte di una
piu` complessa, da un punto di vista funzionale spesso l'uso dell'una o
dell'altra forma e` indifferente. Da un punto di vista operazionale no!

>Sul fatto, poi, che si possa vivere senza "predecremento" non ci sono
>dubbi, cosi' come si puo' vivere senza "postdecremento" e senza "+=".

si tratta senza dubbio di scorciatoie (molto comode) per il
programmatore, tuttavia un compilatore minimamente intelligente
potrebbe fare molto piu` facilmente qualche ottimizzazione.

L'importante come sempre e non abusarne!

Gio <FrOYd> Caturano

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
In article <p25flscspimgfme4v...@4ax.com>,
mar...@NOSPAMcli.di.unipi.it says...

> >Non pensavo di creare tanto casino.
> >Era riferito alla linea:

> >--c;

> >L'effetto e' esattamente identico a:

> >c--;

> Per nulla... l'operatore prefisso prima opera
> sull'oggetto e poi ne restituisce il valore,
> quello postfisso fa esattamente l'opposto, prima restituisce
> il valore e poi opera sull'oggetto.

Ti dispiacerebbe leggere i messaggi prima di rispondere?
Ho scritto "LA LINEA" e c'e' un ";" alla fine.

L'effetto e' esattamente identico, in questo caso, come per altro
dichiarato da Bjarne Stroustrupp, creatore del C++ e autore
dell'affermazione che ho citato (--c e' per i puristi).
Tra l'altro, proprio in riferimento ESPLICITO a questa convinzione il
linguaggio si chiama C++ e non ++C.


> In particolare la forma postfissa genera un temporaneo
> che non sempre il compilatore riesce ad eliminare
> (quando non serve)... tipicamente per i tipi built-in
> riesce ad eliminarlo, per i tipi definiti dall'utente invece no perche`
> non puo` verificare eventuali effetti collaterali.

Infatti era riferito al caso specifico, come emergeva, DEL TUTTO
CHIARAMENTE dal testo del mio messaggio, che ovviamente hai letto
distrattamente. Io stavo commentando un sorgente, non enunciando
affermazioni generali.


> >Mi pare assolutamente stupido pensare che si possano "scambiare" --c e
> >c-- in un contesto di utilizzo effettivo.

> dipende da come sono utilizzati. Se l'espressione non fa parte di una
> piu` complessa, da un punto di vista funzionale spesso l'uso dell'una o
> dell'altra forma e` indifferente. Da un punto di vista operazionale no!

Anche qui travisi completamente il senso di quello che ho scritto.
Ho scritto, te lo ripeto:

"Mi pare assolutamente stupido pensare che si possano "scambiare" --c e
c-- in un contesto di utilizzo effettivo"

MI PARE STUPIDO PENSARE DI SCAMBIARLI IN UN CONTESTO EFFETTIVO

parafrasando, se ci sono effetti importanti (contesto effettivo), e'
stupido scambiarli, non significa niente, proprio perche' sono diversi.
Quindi stai sfondando una porta aperta, scrivendo un messaggio inutile.


> >Sul fatto, poi, che si possa vivere senza "predecremento" non ci sono
> >dubbi, cosi' come si puo' vivere senza "postdecremento" e senza "+=".
>
> si tratta senza dubbio di scorciatoie (molto comode) per il
> programmatore, tuttavia un compilatore minimamente intelligente
> potrebbe fare molto piu` facilmente qualche ottimizzazione.

Anche qui, non ho detto il contrario, e il tuo messaggio e' superfluo.
Vogliamo, per cortesia, cercare di essere costruttivi invece di cercare
di contraddire sempre per il gusto di farlo?

> L'importante come sempre e non abusarne!

Nessuno e' mai morto per avere usato troppi "++".

Paolo Marotta

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
On Tue, 27 Jun 2000 09:55:13 +0200, Gio <FrOYd> Caturano
<fr...@c64.NOTTHIS.org> wrote:

>Ti dispiacerebbe leggere i messaggi prima di rispondere?

E` quello che faccio, anche se ammetto che c'e` stata una
mia parziale distrazione, che comunque nulla toglie a cio` che ho
scritto.

>Ho scritto "LA LINEA" e c'e' un ";" alla fine.
>
>L'effetto e' esattamente identico,

E invece non e` identico... se tu avessi letto
il mio messaggio avresti notato le seguenti parole:

"da un punto di vista funzionale spesso l'uso dell'una o
dell'altra forma e` indifferente. Da un punto di vista operazionale no!"

Stroustrup si riferisce al punto di vista *funzionale* e non sottolinea
quello *operazionale*, esattamente il tuo stesso involontario errore.
Ho semplicemente cercato di mettere in evidenza questo aspetto
spesso ignorato.

> in questo caso, come per altro
>dichiarato da Bjarne Stroustrupp, creatore del C++ e autore
>dell'affermazione che ho citato (--c e' per i puristi).

In quel momento Stroustrup non ha considerato la cosa dal punto
di vista delle operazioni svolte dalla macchina (ricordo che in
informatica si usa distinguere tra semantica operazionale e
semantica denotazionale).

>Tra l'altro, proprio in riferimento ESPLICITO a questa convinzione il
>linguaggio si chiama C++ e non ++C.


Il nome C++ e` venuto fuori quando ancora non si distingueva
tra forma prefissa e forma postfissa; nelle prime versioni del
linguaggio i due operatori erano in realta` uno solo!

>Infatti era riferito al caso specifico, come emergeva, DEL TUTTO
>CHIARAMENTE dal testo del mio messaggio, che ovviamente hai letto
>distrattamente. Io stavo commentando un sorgente, non enunciando
>affermazioni generali.

In effetti questa e` stata una mia distrazione, ma d'altronde avevo
esplicitamente detto che da un punto di vista funzionale (e solo
funzionale) avevi ragione

>> dipende da come sono utilizzati. Se l'espressione non fa parte di una
>> piu` complessa, da un punto di vista funzionale spesso l'uso dell'una o
>> dell'altra forma e` indifferente. Da un punto di vista operazionale no!
>
>Anche qui travisi completamente il senso di quello che ho scritto.

A me pare che sia tu che ora travisi le mie parole, se rileggi ti ho
dato completamente ragione, aggiungendo pero` la distinzione tra
funzionale (in senso matematico) e operazionale (cio` da punto di vista
delle operazioni della macchina a meno di ottimizzazioni).

>Quindi stai sfondando una porta aperta, scrivendo un messaggio inutile.

Scusami, ma direi che la porta aperta l'abbia sfondata tu...

>Anche qui, non ho detto il contrario, e il tuo messaggio e' superfluo.
>Vogliamo, per cortesia, cercare di essere costruttivi invece di cercare
>di contraddire sempre per il gusto di farlo?

Cerchiamo di darci una calmata... io non sono uno a cui piace
contraddire nessuno per la voglia di fare. Se rispondo ad un messaggio
e` chiaramente perche` a mio avviso ci sono inesattezze oppure qualcosa
non mi e` chiaro. D'altronde mi pare che il mio messaggio, riprendendo
il tuo, apporti un significativo contributo se non altro per la
distinzione tra operazionale e denotazionale che tu hai scavalcato a
pie` pari e che potrebbe fuorviare non poca gente (e ti assicuro che di
queste cose ne ho viste tante nella mia limitata esperienza).

Come vedi i miei sforzi sono protesi ad essere costruttivi, sebbene
come tutte le persone sono soggetto a sbagliare.

>Nessuno e' mai morto per avere usato troppi "++".

(a++ * *--b + d) * --e* *c++;

e come minimo molti provetti programmatori C++
andrebbero a rivedersi la precedenza tra gli operatori!
Questo era il senso della mia affermazione!

Gio <FrOYd> Caturano

unread,
Jun 27, 2000, 3:00:00 AM6/27/00
to
In article <8avglsg59jmotc7bv...@4ax.com>,
mar...@NOSPAMcli.di.unipi.it says...

> Stroustrup si riferisce al punto di vista *funzionale* e non sottolinea
> quello *operazionale*, esattamente il tuo stesso involontario errore.
> Ho semplicemente cercato di mettere in evidenza questo aspetto
> spesso ignorato.

Non e' mio interesse avviare polemiche improduttive, rileggiti il mio
messaggio e non troverai mai scritta la parola "funzionale", ma
semplicemente "effettivo", sul garzanti online trovi il significato di
"effettivo" a cui facevo riferimento: "reale", "vero", "concreto". Non
mi riferivo a significati settoriali o specifici, ne' tantomeno ai side-
effect, altrimenti l'avrei scritto.

Come ho gia' scritto (odio ripetermi), mi riferivo *solo ed unicamente*
al sorgente in questione.


> In quel momento Stroustrup non ha considerato la cosa dal punto
> di vista delle operazioni svolte dalla macchina (ricordo che in
> informatica si usa distinguere tra semantica operazionale e
> semantica denotazionale).

Stroustrupp, piu' che altro, ha considerato che il lettore desse per
scontato l'ovvio, come fa in molti altri punti di vari libri.


> >Tra l'altro, proprio in riferimento ESPLICITO a questa convinzione il
> >linguaggio si chiama C++ e non ++C.

> Il nome C++ e` venuto fuori quando ancora non si distingueva
> tra forma prefissa e forma postfissa; nelle prime versioni del
> linguaggio i due operatori erano in realta` uno solo!

Allora si tratta di una balla che Stroupie dice alle conferenze,
speriamo che il resto sia valido, visto che e' cosi' distratto!
O forse lo fa apposta: anch'io ogni volta che mi chiedono da dove e'
nata l'idea di DroneZ invento una balla diversa (cfr: GPI, TGM, HWZone,
ecc.)... 8)

Mi sorprende parecchio, comunque, quello che mi scrivi, perche' gia' in
ANSI-C c'era questa differenza e, nei Draft dell'AT&T che ho visto io,
le due forme sono state sempre distinte. Ma forse sono troppo giovane e
non ho visto i draft precedenti, o forse sono troppo vecchio e non
ricordo bene oppure ho le traveggole. Posso continuare a vivere con
questo dubbio: non salvatemi. 8)


> In effetti questa e` stata una mia distrazione, ma d'altronde avevo
> esplicitamente detto che da un punto di vista funzionale (e solo
> funzionale) avevi ragione

Se ho ragione o torto non mi interessa affatto, anzi, diamo pure per
scontato che abbia torto, ma su cosa? dov'e' la contraddizione?. Il
problema e' che non era proprio da avviare la discussione, ed e' inutile
inviare in questo newsgroup messaggi pedanti.
E' chiaro che quando scrivo in comp.lang.c++ sto piu' attento alla
forma, ma - per la miseria - avevo fatto solo una battuta citando un
grande (distratto?) e sperando di vedere riconosciuta la citazione.

Dopo, nel risponderti, ho ribadito che (nel caso specifico) l'effetto
(codice) era esattamente lo stesso, il che e' assolutamente vero per
tutti i compilatori decenti esistenti. Cioe', in quel caso, il codice
assembly generato e' proprio lo stesso, nella pratica realta',
effettivamente, tranne stranezze e pezzi d'antiquariato che, in questo
newsgroup, non ci interessano, come non ci interessa stabilire se
qualche compilatore sbiellato interpreta male *p++ = x;.


Concludendo dicendo che, se proprio necessario, bastava rispondere
scrivendo:

"Non dimentichiamo che l'effetto e' lo stesso solo in determinati casi:
se facesse parte di una espressione, sarebbe stato ovviamente diverso,
come potete verificare su qualsiasi manuale, in C++, inoltre, il
significato potrebbe essere diverso anche semplicemente se si trattasse
di un tipo strutturato o di una classe per cui e' stato definito
l'operatore ++".

Mi rendo perfettamente conto delle differenze concettuali tra le due
scritture, ma qui non e' la prima volta che si scrive che Bjarne e'
distratto in seguito a puntualizzazioni sui miei messaggi e,
sinceramente, mi pare del tutto fuori luogo (non sbagliato, "fuori
luogo"), visto che ci sono newsgroup appositi per parlarne.

Spero che il thread sia chiuso.

Paolo Marotta

unread,
Jun 28, 2000, 3:00:00 AM6/28/00
to
On Tue, 27 Jun 2000 19:56:32 +0200, Gio <FrOYd> Caturano
<fr...@c64.NOTTHIS.org> wrote:

>Non e' mio interesse avviare polemiche improduttive, rileggiti il mio
>messaggio e non troverai mai scritta la parola "funzionale", ma
>semplicemente "effettivo", sul garzanti online trovi il significato di
>"effettivo" a cui facevo riferimento: "reale", "vero", "concreto".

Anche la visione operazionale e` concreta...

Comunque come dicevo, riconosco di aver un po' frainteso
le tue affermazioni, ma da qui alle tue affermazioni di "volere
a tutti i costi contraddire" e di "futilita` del post" ne corre.

>Come ho gia' scritto (odio ripetermi), mi riferivo *solo ed unicamente*
>al sorgente in questione.

Mi pare che questo sia stato chiarito...

>Allora si tratta di una balla che Stroupie dice alle conferenze,
>speriamo che il resto sia valido, visto che e' cosi' distratto!

Ci mancasse che Stroustrup raccontasse apposta balle
sul C++... vabbe` che ogni padre e` orgoglioso della sua
creatura, per...

Ad ogni modo ho controllato se ricordavo male e ti confermo
la cosa:

Da "The Design and Evolution of C++" di B. Stroustrup
pag. 245

"However, Release 1.0 did not provide a mechanism for
distinguishing prefix from postfix application..."

Questo a proposito dell'overloading degli operatori, se
la distinzione ci fosse per i tipi primitivi non lo ricordo,
ma ne dubito visto che ad un esame veloce non ho trovato menzione della
cosa.

Mi risulta invece che la storia sul ++C e C++ sia nata in ambiente C
per prendere in giro il linguaggio di Stroustrup, ma questa e` una voce
che mi e` giunta e di cui non posso confermarne la veridicita`.

>Mi sorprende parecchio, comunque, quello che mi scrivi, perche' gia' in
>ANSI-C

Che c'entra il C? Non so quasi niente di C, ma mi pare che non possieda
gli operatori in questione.

>Se ho ragione o torto non mi interessa affatto, anzi, diamo pure per
>scontato che abbia torto, ma su cosa? dov'e' la contraddizione?.

Mai parlato di contraddizione... come ho detto ho parzialmente frainteso
il senso del tuo post, ma le mie precisazioni comunque rimangono...
anche se questo non e` il NG del C++.

>E' chiaro che quando scrivo in comp.lang.c++ sto piu' attento alla
>forma, ma - per la miseria - avevo fatto solo una battuta citando un
>grande (distratto?) e sperando di vedere riconosciuta la citazione.

Una replica ad un tuo post (nel caso la mia risposta) non e` un attacco
alla tua persona... Se ho una precisazione da fare non posso mica farla
senza riprendere il punto in cui mi inserisco!

>Concludendo dicendo che, se proprio necessario, bastava rispondere
>scrivendo:
>
>"Non dimentichiamo che l'effetto e' lo stesso solo in determinati casi:

Non e` colpa mia se l'ascii non e` in grado di esprimere i toni...
pero` tu l'hai presa troppo sul personale.

>ma qui non e' la prima volta che si scrive che Bjarne e'
>distratto in seguito a puntualizzazioni sui miei messaggi e,
>sinceramente, mi pare del tutto fuori luogo (non sbagliato, "fuori
>luogo"), visto che ci sono newsgroup appositi per parlarne.

Ok, pero` chi legge e non sa dell'errore resta con una falsa idea in
testa. Se dico una eresia su DirectX su un NG che non e` specifico
per l'argomento mi aspetto comunque un post che mi illumini,
magari con l'invito a proseguire su un NG piu` specifico.

>Spero che il thread sia chiuso.

chiuso.
Eventualmente il mio e-mail e` disponibile.

Gio <FrOYd> Caturano

unread,
Jun 28, 2000, 3:00:00 AM6/28/00
to
In article <vsshlsk2297najabt...@4ax.com>,
mar...@NOSPAMcli.di.unipi.it says...

Hai scritto:

> Una replica ad un tuo post (nel caso la mia risposta) non e` un attacco
> alla tua persona... Se ho una precisazione da fare non posso mica farla
> senza riprendere il punto in cui mi inserisco!

Evidentemente continuo a non spiegarmi.
Ne possiamo discutere anche per secoli, e puo' essere anche opportuno,
purche' lo facciamo in un newsgroup sul C++. Se vuoi ci spostiamo, ma
non vedo perche', visto che siamo perfettamente d'accordo. Potremmo, per
esempio, discutere sulla tua (per me) scioccante affermazione "che
c'entra il C", visto che *il* *sorgente* *di* *cui* *si* *parlava* *era*
*in* *C* *e* *non* *in* *C++*.

La mia critica, cmq, era _sul_ _luogo_. BASTA!

0 new messages