Newsgroup: it.scienza.informatica
Titolo: Parliamo di linguaggi di programmazione

Ciao a tutti,
sono studente d'informatica....(o di Computer Science....:).
Sono stato molto contento dell'apertura di questo gruppo....ma
ahime'..credo che per il momento stenti a decollare.
A questo punto provo a lanciare una tematica: linguaggi di
programmazione: FORUM PERMANENTE.
Static typing, Strong typing ....
...Eiffel, SmallTalk....
...Java e C++....
..Ereditarieta' e polimorfismo...
chi ha voglia di parlarne?
Saluti,
PC

...Eiffel, SmallTalk....
Premettendo che mi sono dato da poco alla programmazione (sto
imparando il c++), chi mi puo' dare qualche informazioni sull'Eiffel,
e' gia' un paio di volte che ne sento parlare, e sono curioso di
saperne un po' di piu'... 
ciao,
<cioccio>

 <cioccio>
Eiffel e' un linguaggio di programmazione orientato agli oggetti ideato
da B. Meyer unitamente allo staff dell'ISE (
www.eiffel.com
).
Eiffel e' un linguaggio ad oggetti puro (a differenza del C++ e Java che
sono ibridi) che tuttavia occupa attualmente nicchie di mercato, anche
se a detta degli ideatori e' ampiamente utilizzato per le applicazioni
Mission-Critical.
Eiffel vanta diverse qualita', la piu' importante, il Design by
Contract: la possibilitá di inserire delle asserzioni in qualunue punto
del programma con lo scopo di ottenere delle eccezioni quando queste
sono violate.
Saluti
PC


Io ci sono... cosa sono gli/i strong typing??
Emanuele Cesena
d.a.m...@iol.it

chi ha voglia di parlarne?
Nessuno sa niente di programmi di IA?? Esiste il prolog (se non sbaglio...).
Ce n'è qualcun altro?? Ce n'è qualcuno in rete?? Magari free??
Inoltre, sfruttano concetti molto sofisticati?? E' possibile "simulare" un
intelligenza artificiale con Pascal o C (naturalmente in modo semplice)??
Grazie
Emanuele Cesena
d.a.m...@iol.it

PC

Commenti ed osservazioni sono gradite.
nel senso... "preferite Java o C++" o "la spuntera' Java o il C++"?
nel primo caso... personalmente ho tentato di imparare il c++ (sullo
stroustrup.. mi pare che si scriva cosi' ;) ) ma non mi e' sembrato
molto "preferibile" al c (che in effetti e' gia' un buonissimo
linguaggio ;) ) mentre mi e' sembrato molto "gradevole" Java, anche se
i packages mi sembrano un po' poco omogenei... mi pare che le
estensioni fatte siano gia' un pelo "criptiche"....
ovviamente parlo del linguaggio, non dell'ambiente ne'
dell'implementazione ;)
ciao!
gabriele
--
Gabriele Zugliani - Student at Pisa University (Dept. of Computer Science)
NOTE: THE EMAIL ADDRESS IN THE HEADER IS MODIFIED, PLEASE REMOVE "NZPM".
Linux infos: 
http://www.linux.org
 
http://sunsite.unc.edu/LDP
http://pluto.linux.it
 
http://ildp.psy.unipd.it
 
http://www.linux.it

PC
Ciao
Non mi sembra nulla di particolare ...
Che differenza c'e' con la macro ASSERT che si usa programmando in C++ con
il Visual C++ ?
                  Fabio

intelligenza artificiale con Pascal o C (naturalmente in modo semplice)??
Nella motte dei tempi ho implementato in Pascal l'algoritmo A* (un
algoritmo generico di "solving problem") per risovere il gioco dell'8,
e altri problemi-toys come "3 missionari e 3 cannibali", "i due secchi
d'acqua" etc...poi come informatico non mi ha voluto nessuno e sono
finito a fare pratiche auto (ma questo e' OT :-))
Per risponderti quindi è possibile, quando il problema si formalizza
in un algoritmo.
Quindi generalmente si parte da un'analisi del "problema", del
"compito" da attuare. Poi si decide che "struttura dati" puo' ospitare
tale situazione, e lo "strumento" per manovrarla. E' tutto molto
generico, ma l'argomento e' vasto, ed in continua evoluzione. E io
sono certamente un po' indietro.
Questo e' cio' che ricordo.
Pinocchio
...che ne ha contata un'altra.

linguaggio ;) )
Non vedi i vantaggi del C++ finche' non devi sviluppare progetti di
diverse migliaia di linee di codice. Ti obbliga ad essere piu'
"pulito" del C e ti offre strumenti molto piu' potenti (la conversione
dei tipi, i template, l'ereditarieta' etc...)
___
Fabio Forno
"Vi aspetta l'esplorazione delle ignote possibilita' 
dell'esistenza" - Q in "All Good Things..."
=============================================
scia...@inorbit.com
http://rampage.ml.org/sector1/~sciasbat/

tale situazione, e lo "strumento" per manovrarla.
E "ricreare" l'ambiente Prolog... faccio un esempio:
prendiamo un problema di fisica... facile:
abbiamo diverse grandezze: velocità, accelerazione, tempo, forza, spazio...
supponiamo di inserire solo alcuni elementi, e di voler ricavare tutti gli
altri (se possibile).
In questo caso sarebbe facile, nel senso che potrei controllare tutte le
possibilità, ma appena si aggiunge una grandezza, mi si aggiungono tante
possibili configurazioni del problema...
Rendere il tutto "automatico" sarà possibile?? :-)
Qualcosa del tipo:
v=s/t
a=v/t
s=1/2*a*t^2
gli do "a" e "t", e lui calcola tutto...
Merci
--
Emanuele Cesena
d.a.m...@iol.it
ICQ n° #10570672

Free?? :-)
c'e' sicuramente la versione EcoLisp (non molto ottimizzata...) che
implementa non solo il Common Lisp ma anche CLOS (estensione ad
oggetti) sotto GPL (non nel senso del propano... :) ), prova a
cercarlo su ftp.di.unipi.it... cmq dovrebbero esserci altre
implementazioni sempre gpl.... magari cerca riferimenti su
www.gnu.org...
a me e' capitato di usare il lisp... e' un discreto linguaggio
funzional-ibrido, con un'eccezionale capacita' di maneggiare str. dati
dinamiche.... tra l'altro anche il confine fra struttura dati ed
espressione (l'unita' di base dei programmi lisp) e' molto labile
(sostanzialmente sono liste pure le espressioni...). non e' di per se
molto "intelligente", ma in compenso e' molto pratico per cose
dinamiche ed e' importante dal punto di vista storico (e' stato il
primo linguaggio abbastanza adatto all'ia, gia' dagli anni cinquanta,
e credo che sia opera in parte anche di McCarthy (si scrivera' cosi'
:-?) che e' un "mito" nell'ambiente... 


 >Inoltre, sfruttano concetti molto sofisticati??
fondamentalmente il prolog (e anche SQL), come le shell per i sistemi
esperti sono linguaggi dichiarativi: linguaggi in cui non si esprime il
metodo per trovare la soluzione MA si esprime solo che soluzione si
vuole.
L'altra grande branchia di linguaggi che conoscerai sono i linguaggi
procedurali (C, Pascal, Java, C++, ...) in cui per trovare una
soluzione, bisogna scrivere una serie di passi (algoritmo) in un certo
linguaggio di programamzione.
Saluti,
PC
-- 
Piero Campanelli
Zucchi, 14
21100 Varese
E-mail: 
campa...@skylink.it

intelligenza artificiale con Pascal o C (naturalmente in modo semplice)??
Dato che tanto il Prolog che il Pascal sono Turing completi, tutto ciň che
puoi fare con l'uno lo puoi fare anche con l'altro.
Qualche anno fa ho visto un interprete Prolog scritto in Pascal, non era
gran che... se vuoi dargli un'occhiata cerca negli archivi Simtel.
-- 
Roberto Lupi
Eletronic Engineering Student - University of Ancona (Italy)
Linux/NT System Administrator
Linux/Win32 Developer

 www.gnu.org...
Esistono free gcl, clisp, kcl, allegro, scheme (che pero e' un dialetto)
Almeno questi sono quelli che ricordo...
Ciao.

Grazie mille, naturalmente a tutti quelli del thread (rispondo solo una
volta :-) )



Sai per caso se viene utilizzato in qualche progetto italiano?
Ciao.
jframe @ 
iol.it

per il futuro .... Java o C++??
Perche' non sia Java che il C++. Il mercato e' grande e lo sta
diventando sempre di piu'.
Sono linguaggi differenti da usare in campi differenti.
Per quanto riguarda il futuro, pensa che il linguaggio piu' usato e'
il cobol :-)
Comunque voto  per Java.
Ciao
jframe @ 
iol.it

molto "preferibile" al c (che in effetti e' gia' un buonissimo
Inizialmente pensavo anche io così (che il C++ non fosse tanto
migliore del C) forse perché programmavo in C da molti anni
ma poi, dopo aver capito la filosofia del C++,  ho sentito stretto il
C.
Il C++ permette un riadattabilità del codice che il C non permette.
Cioé un riciclaggio di codice=meno lavoro.
Inoltre permette di definire dei veri TIPI di variabile che non è male
perché rende il codice più leggibile e più facile da realizzare.
La struttura delle classi inoltre permette di controllare meglio il
codice.
Insomma non penso che il C sia migliore del C++.
Poi ogni programma è
bello al suo programmatore....
Rino.

bello al suo programmatore....
:)
ciao!
  gabriele
--
gabriele zugliani - student at pisa univ. (dept. of computer science)
linux docs: 
http://ildp.psy.unipd.it
 
http://sunsite.unc.edu/LDP
==> NOTE: TO REPLY PLEASE REMOVE "NZPM" FROM THE ADDRESS.

Sai per caso se viene utilizzato in qualche progetto italiano?
Sulla pagina di Eiffel (
http://www.eiffel.com
) c'e' una lista dei
progetti noti e credo ce ne siano anche in Italia.
Fino all'anno scorso ero a capo di un progetto di un videogame
sim-city like ma molto + vasto, iniziato in Eiffel, ma la mia
collaborazione con la SH e' terminata (era inconsistente ;-)
Saluti
---
Marco Ermini
"nullus amicus magis liber quam liber"
mailto://
mar...@steam.italian.it
finger for info - PGP key avaiable

metodo della sua superclasse. Esistono anche altre differenze.
In piu' esistono vari tipi di precondizioni, e puoi scartarle o
compilarle insieme al resto del codice a seconda della fase del
progetto in cui ti trovi...


 Eiffel e' un linguaggio ad oggetti puro (a differenza del C++ e Java che
Puro sì, ma non completo.Da quanto ne so, infatti, non supporta le
meta-classi... e per questo ne perde in espressività.
Smalltalk invece le supporta, ed inoltre è *totalmente* dinamico e ad oggetti
(ovvero anche il codice stesso è un oggetto e come tale può essere modificato!)
e permette la meta-programmazione (come prolog del resto...).
Riguardo al futuro, io *vorrei* vedere Java & C++ affiancati da linguaggi più
specifici ma espressivi quali appunto Eiffel, Prolog, Smalltalk.
I target sono molto diversi, difficilmente si avrà un linguaggio unico.
D'altro canto vorrei veder sparire le macchinette sputacodice come il VB... ;-)
bye, debrando