View Full Version : <ot> LOOL
ilsensine
03-05-2004, 18:29
http://michele.sciabarra.com/page/NonUsateQuelLinguaggio
La parte sul Perl è spettacolare :D
tutto vero!! :rotfl:
il perl!! :rotfl:
anche se non sono d'accordo sulla complessità del c++ ma lì sono punto sul vivo :asd:
:rotfl::rotfl:
Originariamente inviato da ri
anche se non sono d'accordo sulla complessità del c++ ma lì sono punto sul vivo :asd:
Idem ;)
ilsensine
03-05-2004, 22:15
Originariamente inviato da ri
anche se non sono d'accordo sulla complessità del c++ ma lì sono punto sul vivo :asd:
Allora dai una occhiata all'sdk di openoffice, riguardo l'interfaccia c++ ;)
vabeh azzo c'entra, in linea teorica il c++ non è per nulla complesso, basta saper ragionare Object Oriented (e pare facile :asd: )
poi il casino è tramutare la teoria in pratica senza fare stronzate che a prima vista paiono comode e invece sono una inxxxxxta colossale, ma lasciamo perdere :p
ci darò un'occhiata a OO.. prima di cambiare lavoro penso :asd:
ilsensine
03-05-2004, 22:47
Originariamente inviato da ri
vabeh azzo c'entra, in linea teorica il c++ non è per nulla complesso, basta saper ragionare Object Oriented (e pare facile :asd: )
Guarda, io "ragiono object-oriented" tranquillamente anche in c. Credo però che i programmatori della Sun abbiano frainteso il significato del simbolo "OO" :bsod:
Originariamente inviato da ilsensine
Credo però che i programmatori della Sun abbiano frainteso il significato del simbolo "OO" :bsod:
:D Ahhh! Bestemmia, bestemmia!!! :D
Quella su Java del server che deve raddoppiare memoria, e subito, è bellissima (e pure vera :eek: ).
Ciao.
io ragiono OO anche in basic e in asm, ormai sono deviato x______x (famo a gara a chi è più sboroooooooone? :asd: )
e java è un tipo di programmazione OO che mi fa venire i brividi, non lo sopporto :asd:
Originariamente inviato da ri
e java è un tipo di programmazione OO che mi fa venire i brividi, non lo sopporto :asd:
:D Ahhh! Bestemmia, bestemmia! :D
I programmatori SmallTalk concordano nel ritenere che uno dei meriti di Java sia quello di aver avvicinato le masse alla programmazione OO (che, per altro, esiste in una forma unica, non che Java abbia la programmazione OO-a e Delphi la OO-b e via dicendo), cosa che non è riuscito a fare SmallTalk e sopratutto C++ (ma qui Lord Stroustrup ha dichiarato più volte che il suo ideale di linguaggio è aperto più paradigmi piuttosto che alla sola OOP, Bjarne Stroustrup, "What is 'Object Oriented Programming', ECOOP '87, p 52)
concordo con Sua Eminenza ( Lord Stroustrup dico :asd: )
Java mi sta sulle balle a pelle, è un ottimo linguaggio, ma siamo incompatibili, che voi :p
Originariamente inviato da ri
Java mi sta sulle balle a pelle, è un ottimo linguaggio, ma siamo incompatibili, che voi :p
Questa è un'opinione rispettabilissima, anzi, tanti guru dovrebbero ammettere di avere questo o quel linguaggio sulle meringhe anziché produrre pseudo ragionamenti a sostegno di una sensazione di ribrezzo. E siamo franchi, via, so che dici "è un ottimo linguaggio" per cortesia, ma di la verità, ti fa schifo o no? :D
D'altronde, come disse Alan Kay, "io ho inventato il termine 'orientato agli oggetti' e posso dirvi con certezza che non avevo in mente C++".
(ho scoperto che i guru sono gente spiritosa, Nygaard, nella sua introduzione a Beta, ringraziava "i collaboratori, sua moglie e i produttori italiani di vino bianco", quando l'ho letta mi sono ribaltato sulla scrivania :D)
Ciao.
DioBrando
04-05-2004, 01:30
(ho scoperto che i guru sono gente spiritosa, Nygaard, nella sua introduzione a Beta, ringraziava "i collaboratori, sua moglie e i produttori italiani di vino bianco", quando l'ho letta mi sono ribaltato sulla scrivania :D)
c'è da chiedersi se le idee migliori n vengano loro in testa da sobri o stesi dalla boccia di vino :D:D:D
cmq il problema dell'OOP, per me resta nelle scuole, nelle università e dove si insegna in generale in Italia.
A parte il fatto che si stà puntando per me troppo sul Java , dimenticando altri linguaggi ( salvo ovviamente XML e il resto della paccottaglia markup), nei corsi di programmazione Orientata tutti gli esempi che io ho visto vertono sul Java...ora k che tra PDA, cellulari, menate, tra un pò lo vedremo condito davvero in tutte le salse, ma se mi entra in testa l'associazione Java = OOP, nel momento in cui io debba adottare per lavoro un altro ambiente di sviluppo come facciamo?
concordo, infatti mi sono incazzato quando all'uni a programmazione 1 invece di partire dalle basi (ovvero il C) sono partiti con java... imho l'OOP si impara bene solo se si è scontrati contro la programmazione procedurale tradizionale, altrimenti si fa solo paccottiglia senza senso (ripeto, tutto questo rigorosamente imho)
Per certi versi l'OOP è come la teoria della relatività: funziona meglio della meccanica classica, spiega più cose, ma si usa ancora "la vecchia versione" perchè, per qualche vecchio mammuth (ne circolano di notevoli nelle scuole) è ancora un'"accetabile approssimazione della realtà". Come a dire "ti spiego una cosa che non è proprio così, ma in fondo, chissenefrega, l'ho imparata io, a qualcuno dovrò pur rifilarla :D).
Sinceramente non so perchè si usi Java per spiegare l'OO. Tanto varrebbe farlo in C++. Forse è proprio per questo. Java e C++ hanno un approccio vagamente simile ed una sintassi derivata dal C, sono più o meno interscambiabili. Entrambi propagano l'errore di considerare dominante la sintassi del C. Qui il problema è che finchè si userà l'operatore punto per inviare un messaggio ad un oggetto la gente penserà ancora di invocare una funzione.
Personalmente sceglierei SmallTalk come primo linguaggio in assoluto. Non perchè sia "il non plus ultra, l'unico vero OO", ma perchè è talmente diverso dalla sintassi C che sembra davvero di essere su un altro pianeta.
| index |
index := 1.
[index < 10] whileTrue: [index := index + 1. Transcript show: 'Hello World '].
Provate a scaricare la versione "personal" di VisualWorks e il libro "Smalltalk and Object Orientation" di John Hunt. Anche solo a tempo perso, e con un po' si spirito d'avventura, è un'esperienza che vale la pena di fare.
bellissima la parte che riguarda il C#
"...Non lo usa ancora nessuno per farci niente di serio. Tranne quelli di Linux che vogliono arrivare prima di Microsoft a usare il linguaggio che M$ ha inventato...."
fantastica :rotfl: :rotfl: :asd:
mhà, non capisco, perchè java non dovrebbe essere cosiderato un linguaggio ad oggetti ?
qualcuno qui è in grado di dare una definizione universalmente riconosciuta di "oggetto" o "linguaggio ad oggetti" ? ed è anke in grado di dargli un senso ?
Io devo essere sincero, in 3 anni di programmazione no l'ho ancora trovata.
Come no. Esiste un accordo attorno alle quattro caratteristiche che deve avere un linguaggio per supportare la programmazione orientata agli oggetti:
1) Incapsulamento dei dati
2) Ereditarietà
3) Astrazione
4) Polimorfismo
Un linguaggio orientato agli oggetti è un linguaggio che supporti queste quattro caratteristiche.
Un linguaggio orientato agli oggetti "puro" è un linguaggio che permetta unicamente l'adozione della prospettiva orientata agli oggetti.
La prospettiva orientata agli oggetti è quella che permette di(costringe a) considerare l'esecuzione di un programma come modello fisico (in senso letterale) del comportamento di una porzione reale o immaginaria dell'universo. Ogni elemento del modello è rappresentato da un oggetto, lo stato complessivo del modello è dato dall'insieme degli stati di ciascun elemento, ogni transizione di stato nel modello avviene attraverso la trasizione di stato di un oggetto.
Questo è quanto mi pare sia sufficentemente "pacifico" in dottrina. Ci sono due fonti alquanto autorevoli in materia. Una è la conferenza internazionale "programmazione orientata agli oggetti: sistemi, linguaggi e applicazioni" (OOPSLA), l'altra è la "conferenza europea sulla programmazione orientata agli oggetti" (ECOOP). Entrambe distribuiscono on-line tutto il materiale delle sessioni annuali che tengono.
Poi ci sono gli scritti dei titani dell'Object Oriented: Nygaard, Dahl (quelli del vino :D) e Kay, non fosse altro per il fatto che hanno vinto tutti e tre il premio Turing in relazione ai loro contributi sull'evoluzione dell'OOP. Non tutto però è "lineare" (ad esempio, l'ereditarietà multipla non si sa bene se debba o meno essere una caratteristica fondamentale).
Java e l'OO.
Sicuramente Java (in assoluto il mio linguaggio preferito) supporta in pieno sia la prospettiva orientata agli oggetti (che sembra "fumosa", ma se ci fate caso è esattamente quella combinazione di stati, oggetti e transizioni che "fa" il vostro programma) e sicuramente supporta quelle 4 caratteristiche di cui sopra.
Non li supporta in via esclusiva: alle estreme conseguenze, che ogni transizione di stato debba essere realizzata attraverso il metodo di un oggetto esclude che un'istruzione java
x = x + 1;
oppure
while(true) { //do some };
possa essere considerata una transizione OO. Per due ragioni. La prima è che è possibile includerla in un blocco di inizializzazione, che non è un metodo.
public class NotOOStrictFlow {
{
while(true) {//do some}
}
}
La seconda è che anche includendo l'istruzione "semplice" in un metodo, questa non è in sè un metodo.
In SmallTalk (OO puro) esiste un impressionante modello circolare di ereditarietà che rende la stessa classe Object "figlia" di un oggetto (MetaClass class) che è a sua volta figlio di Object.
L'arzigogolo consente ad ogni elemento del codice sorgente di rapprentare un oggetto: operatori, istruzioni, blocchi di istruzioni, blocchi di blocchi, sono tutti oggetti.
Questo però non significa che non sia possibile sbizzarrirsi in esemplari programmi OO in java o in C++, che addirittura è multiparadigma.
senti un po' PGI, se ti addo in ICQ ogni tanto mi spari monologhi di questo tipo? sono una figata ^^'
(si lo so, sono malato, basta lavorare x_x)
quindi Java è OO, punto.
Sul fatto del OO "puro" non sono pienamente d'accordo, cioè, è vero che java ha dei tipi primitivi (che quindi non sono oggetti), però dove stà scritto che un linguaggio è OO "puro" solo quando tutto è un'oggetto ?
è questo che non capisco:
se esiste una definizione, o forse sarebbe meglio dire dei parametri da rispettare per essere "considerati" linguaggio ad oggetti, una volta che il linguaggio li rispetta il linguaggio è da considerarsi ad Oggetti, come si fà a stabilire se uno è più ad oggetti di un'altro ?
IMHO non si può.
Cmq darò un'ochiata anche a questo SmallTalk, questa cosa del loop circolare sulla gerarchia degli oggetti mi ha incuriosito
Originariamente inviato da cavva81
quindi Java è OO, punto.
Questo è l'approccio che anch'io preferisco. "Il ce l'ho più OO del tuo" è una delle tante questioni da "fan" dell'uno o dell'atro linguaggio. Fanno "colore" :D.
Sul fatto del OO "puro" non sono pienamente d'accordo, cioè, è vero che java ha dei tipi primitivi (che quindi non sono oggetti), però dove stà scritto che un linguaggio è OO "puro" solo quando tutto è un'oggetto ?
Credo dipenda da quanto strettamente ognuno aderisca alla filosofia della "prospettiva orientata agli oggetti" (che ha un elevato grado di sostegno, Nygaard, Boch, Kay e tanti altri grossi nomi esprimo un pensiero sostanzialmente comune al mio riassunto da straccione della tastiera :D). Comunque, ripeto, chi sia OO puro e chi non lo sia per me (leggasi nessuno :D) rimane una questione di contorno.
Ciao.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.