Newsgroup: it.comp.os.dibattiti
Titolo: ADA

>non delphi)
Giusto una piccola nota: ADA a me risulta essere Object Oriented,
almeno nelle sue versioni più recenti.
saluti
Raffaele

>> non delphi)
Scusa non ho capito, Pascal è OO e Delphi (che è derivato da Pascal) non 
lo è???
Ma siamo sicuri???

 almeno nelle sue versioni più recenti.
c'è un annex se ricordo bene

 wrote:

http://en.wikibooks.org/wiki/Ada_Programming
Lo standard più recente pare essere ADA2005.
Quel che pensavo io, è che viste le somiglianze con PL/SQL (sono
parenti stretti) tanto valeva dare un'occhiata ad ADA ed impararlo
almeno un pò.
Così poi posso programmare l'ICBM che sto assemblando in cantina
XD !!!
Raffaele

 XD !!!
Ma proprio sei allergico ai passatempi pacifici? :-)
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 XD !!!
Occhio a non fare un nuovo Ariane 5 :-P

 Occhio a non fare un nuovo Ariane 5 :-P
Beh, il loro ragionamento pare fosse "se funzionava con la macchina X,
così ad occhio dovrebbe funzionare anche con la macchina Y che è
simile".
La mia filosofia di vita invece è: "se funzionava con la macchina X,
non è detto che funzioni su tutte le macchine uguali ad X, figuriamoci
su una simile".
Saluti!
Raffaele

 lo è???
Leggere l'italiano non è così difficile. O forse il tuo è un problema di
logica?
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 almeno nelle sue versioni più recenti.
Lo è. Non mi pare abbia la parola chiave class, ma a parte questo lo è.
Purtroppo è perfino più ingessato di Java.


 Ma proprio sei allergico ai passatempi pacifici? :-)
Un silo missilistico in cantina ci sta bene.
Una torre per il controllo del traffico aereo un pò meno! XD
YAICCA : Yet Another ICBM Cruise Control Application
Suona persino bene! haha!
Raffaele

 perchè di come è stato fatto.
sai anche da dove viene fuori il nome? :-)

 lo è???
Infatti manca un "non" nella frase: "Pascal non è OO (intendo il pascal...
non delphi)"
-- 
This is my useless sign.

 sai anche da dove viene fuori il nome? :-)
Dovrebbe essere il nome di una donna dai facili costumi della nobilta`
inglese che si eccitava quando gli sussurravano una formula matematica
gh!
Enrico

 sai anche da dove viene fuori il nome? :-)
Ada Lovelace, madre di tutte le programmatrici! :D
Ma poi c'è tutta la parte riguardo le richieste del dipartimento di
difesa USA, della gara per la realizzazione di un linguaggio che
rispondesse alle specifiche, etc etc.
Ora vado, ho qualche problema con la procedura di guida terminale dei
miei MIRV! hahahaha!
Raffaele


urca, sui facili costumi non lo so, so che la contessa ada era comunque
interessata all'allora ancora acerba informatica (vedi macchina di
Babbage) ed è stata la prima programmatrice della storia.
PS: sulla facilità di costumi... Sicuro di non confondere Ada Lovelace
con Linda Lovelace? ;-P

 Purtroppo è perfino più ingessato di Java.
Beh, ha un suo come, ed un suo perchè, per esserlo.
Comunque, un esempio di quanto è "ingessato":
PROCEDURE Hello IS
   TYPE Integer_1 IS RANGE 1 .. 10;
   TYPE Integer_2 IS RANGE 1 .. 10;
   A : Integer_1 := 8;
   B : Integer_2 := A;
BEGIN
   NULL;
END Hello;
hello.adb:5:21: expected type "Integer_2" defined at line 3
hello.adb:5:21: found type "Integer_1" defined at line 2
Sebbene Integer_1 ed Integer_2 siano uguali come valori, sono
considerati tipi diversi.
Altro esempio:
PROCEDURE Hello IS
   TYPE Integer_1 IS RANGE 1 .. 10;
   TYPE Integer_2 IS RANGE 1 .. 10;
   A : Integer_1 := 11;
BEGIN
   NULL;
END Hello;
hello.adb:3:09: warning: type "Integer_2" is not referenced
hello.adb:4:04: warning: variable "A" is not referenced
hello.adb:4:21: warning: value not in range of type "Integer_1"
defined at line 2
hello.adb:4:21: warning: "Constraint_Error" will be raised at run time
questo perchè 11 non è nel range 1..10
Saluti
Raffaele

 questo perchè 11 non è nel range 1..10
E anche questo è maledettamente giusto. Se mi sono preso la briga di
creare un range, di mettere tipi e tutto, il compilatore mi faccia il
favore di lavorare anche lui un po', se no ho lavorato proprio per
niente.


 con Linda Lovelace? ;-P
+1
Ada ha avuto tre figli, ma con il marito.


 l'appunto fatta in modo bovino
Mmm... cosa intendi?
Enrico

 niente.
Beh, è che c'è griderebbe all'eresia, per una feature del genere in un
linguaggio.
Pensa ai talebani dei linguaggi dinamici. Loro vogliono poter mettere
indipendentemente mele e pere nella stessa variabile, mentre in ADA
con i range numerici puoi metterci _solo_ numeri, e _solo_ quelli che
hai definito nel range, e per di più due range uguali con nome diverso
_non_ sono considerati uguali....
Ciao
Raffaele

 _non_ sono considerati uguali....
Io sono un convintissimo fan della programmazione dinamica.
Semplicemente mi so adattare. Come dicevo, mi devo prendere la briga di
tipizzare tutto perchè chi ha progettato il linguaggio non ha pensato
alla comodità del programmatore? Amen. Ma che almeno faccia qualcosa di
utile sto compilatore oltre a legarmi le mani.
Io mi infurio quando il linguaggio invece che avvantaggiarmi mi
ostacola: se devo pagare un prezzo, ma questo prezzo mi da qualcosa in
cambio (che so, la programmazione per contratto di D -- quella ho
presente -- e mi pare anche di ADA), ok. 
Ma se mi devo smazzare e quello che ho in cambio è che mi prende qualche
errore di tipo (che prenderei comunque con gli unit-test) e basta (e mi
fa *comunque* passare i null, per dire, per cui o mi smazzo qua e la con
il NullObjectPattern oppure comunque devo verificare 'manualmente' che
gli oggetti non siano null...), beh, ne faccio a meno.


 Mmm... cosa intendi?
I love type inferencing.


 staticamente (passando per Prolog e quant altro). 
Temo che questa frase non sia parsabile. Riformulo:
Sono una persona abbastanza flessibile per passare da (linguaggi
dinamici ad oggetti) a (linguaggi funzionali tipizzati staticamente)
(passando per Prolog e quant altro). 
E specifico che il senso non è mettersi a fare 'quello che sa tanti
linguaggi', è solo che trovo del buono in diverse metodologie a seconda
di quello che devo fare. Ma non tutti i linguaggi mi piacciono (anche se
ne riscontro un'utilità pratica). 
Per cui anche se non condivido una certa filosofia, che almeno sia fatta
in modo coerente.


 _non_ sono considerati uguali....
ma č stato fatto apposta per questo! proprio per evitare di mischiare
mele e pere.
Ada come linguaggio č logorroico, ma ha due vantaggi
1) obbliga il programmatore idiota a pensare spaccandogli sempre le balle
2) obblica il programmatore a scrivere qualcosa di leggibile, che se poi
qualcun'altro deve metterci mano almeno non sono cazzi ultra amari.

 qualcun'altro deve metterci mano almeno non sono cazzi ultra amari.
Come ho scritto, ADA ha un suo come, ed un suo perchè, per essere
"ingessato". E' stato progettato per scrivere programmi che se si
schiantano possono causare danni considerevoli. Gli errori possono
sempre capitare (vedi Ariane5) ma in generale un linguaggio così aiuta
a ridurre questi errori.
Inoltre, nel campo in cui spopola ADA, un linguaggio dinamico sarebbe
di scarso vantaggio, dato che i cicli di sviluppo sono geologici.
Raffaele

 almeno nelle sue versioni piů recenti.
Infatti č OO, mentre Pascal non lo č.

 Lo è. Non mi pare abbia la parola chiave class
Beh, del resto OO non significa "che ha la parola chiave class".

 Beh, del resto OO non significa "che ha la parola chiave class".
Questo è ovvio. Il punto è che chi non conoscesse il linguaggio e ne
parlasse alla buona (e ce ne è tanti di questi figuri) potrebbe rimanere
fuorviato da tale peculiarità.
Anche perchè altrimenti non ho idea di come potrebbe saltare fuori come
'non ad oggetti'. Dopo tutto Ada è ad oggetti dallo standard del 95: che
fa uno standard di 10 anni fa e passa.


 Infatti è OO, mentre Pascal non lo è.
Pascal ha anche gli oggetti, le TView del vecchio turbo pascal 6 sono 
un esempio (ora delphi).
-- 
Sensei <senseiwa at Apple's mac dot com>
Java is the most distressing thing to happen to computing since MS-DOS.
(Alan Kay)

 esempio (ora delphi).
Il Pascal è una cosa, l'Object Pascal è un'altra.
Che poi molti compilaori Pascal abbiano le estesioni per supportare
ANCHE Object Pascal è un altro paio di maniche.
Lo stesso discorso vale per C e C++.
Per intenderci Object Pascal è il linguaggio usato da Borland Delphi...

 Per intenderci Object Pascal è il linguaggio usato da Borland Delphi...
Lo usavo BEN PRIMA di delphi, l'hai letto il mio post? 'Turbo Pascal 
6', google per trovare l'anno di uscita. :)
-- 
Sensei <senseiwa at Apple's mac dot com>
Research (n.): a discovery already published by a chinese guy one month
               before you, copying a russian who did it in the 60s.

 anni un superset del C.
Si. Anzi, per certi versi il rapporto è ancora più stretto. 
ObjectiveC ha aggiunto un layer su C, ma in qualche modo ne ha cambiato
la pragmatica (IMHO in meglio).
ObjectivePascal per quanto vedo è più un 'aggiornamento' di Pascal.
Una specie di 'Pascal 2.0'. 
Queste poi sono questioni di come uno la vede, eh.


 google per trovare l'anno di uscita. :)
Ecco bravo appunto, ma è un linguaggio diverso. :)

 Queste poi sono questioni di come uno la vede, eh.
Mah, io non ne sono molto convinto...

 Ecco bravo appunto, ma è un linguaggio diverso. :)
Stiamo a guardare il capello :)
-- 
Sensei <senseiwa at Apple's mac dot com>
There is no reason for any individual to have a computer in his home.
(Ken Olsen, President, Digital Equipment, 1977)

 Objective Pascal č OO, Pascal invece no.
Anche Perl 4 non era ad oggetti, mentre Perl 5 si.
Quindi?


 Objective Pascal č OO, Pascal invece no.
Anche Perl 4 non era ad oggetti, mentre Perl 5 si.
Per non parlare dello stesso ADA: prima dello standard del 95, pare non
avesse gli oggetti.
Quindi?


 Quindi?
Quindi Perl 4 non era OO, mentre Perl 5 sì. Sono linguaggi diversi.
ADA95 è OO mentre i precedenti no. Sono linguaggi diversi.
Dove sta il problema?
Non è che siccome una parte del nome ("Perl" o "ADA") è la stessa,
allora il linguaggio è lo stesso...
Non bisogna confondere le etichette con la sostanza...

 Non bisogna confondere le etichette con la sostanza...
ROTFL.
