Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Sorry, ich kenne auch keine zweite Art von Nachricht. Kannst du mir mal ein Beispiel basteln?

Du meinst, dass ">" klarer ist als "istGrößerAls"?
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Sorry, ich kenne auch keine zweite Art von Nachricht. Kannst du mir mal ein Beispiel basteln?
Hatte ich jetzt oben schon reineditiert: [a foo] und [a foo: bar], binär wäre [a + b]. Das ist zumindest die Unterscheidung aus Smalltalk und der Parser von ObjC unterscheidet anscheinend auch.

Du meinst, dass ">" klarer ist als "istGrößerAls"?
Zumindest für mein mathematisch verdorbenes Auge ;) ">" erfasse ich auf einen Blick, das andere muss ich erst lesen und verstehen.
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Ja, der Parser weil für ihn das mit dem Doppelpunkt einfacher ist.
Der Parser, nicht der Anwender.

Mit Objective-C verschickst du genau in einem Fall eine Nachricht: Zwischen eckigen klammern.
Nicht heimlich bei einem Operator, nicht heimlich bei der Konstruktion.
+++
Weil du bereits eine kryptische Schreibweise gelernt hast, heißt das ja nicht, dass die kryptische Schreibweise weniger kryptisch ist.
 
Zuletzt bearbeitet:
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Mit Objective-C verschickst du genau in einem Fall eine Nachricht: Zwischen eckigen klammern.
Bestreite ich doch auch gar nicht. Deswegen ist die Unterscheidung bei ObjC auch nicht so wichtig, weil du sowieso nur einmal eine Nachricht verschicken kannst [a alloc init] geht in ObjC nunmal nicht.
Nicht heimlich bei einem Operator, nicht heimlich bei der Konstruktion.
Das hat nun nichts mit heimlich zu tun. Der steht doch dick in er Gegend rum ;) Es gibt übrigens auch OO jenseits vom Nachrichtenversand. Du solltest dir wirklich mal eine andere Sprache angucken. Python wär da vielleicht nicht schlecht, keine Nachrichten, alles public und trotzdem ist alles ein Objekt. ;)
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Bestreite ich doch auch gar nicht. Deswegen ist die Unterscheidung bei ObjC auch nicht so wichtig, weil du sowieso nur einmal eine Nachricht verschicken kannst [a alloc init] geht in ObjC nunmal nicht.
Das sind ja auch zwei Nachrichten.
Code:
a->b() c
geht auch in C++ nicht.

Eine solche Idee ist sogar für Stoßtrupp zu schräg.

Das hat nun nichts mit heimlich zu tun. Der steht doch dick in er Gegend rum ;)
Genau, muss ich mir auch noch merken.

Mutmaßlich steht der Destructor bei einem Stackobjekt auch dick in der Gegen herum
Code:
}
Sieht man ja sofort, dass dabei jede Menge Instanzen freigegeben werden und dabei noch jede Menge Destructoren aufgerufen werden.

Heimlicher geht's kaum.

Es gibt übrigens auch OO jenseits vom Nachrichtenversand.
Das sieht Alan Kay anders. Und der müsste es wissen.

Du solltest dir wirklich mal eine andere Sprache angucken.
Also, bisher habe ich gearbeitet mit
6502 Assembler
Z80-Assembler
68k-Assembler
Leidlich ix86-Assembler
Urbasic
Struktoriertes Basic
Visual Basic
Pascal
Modula II
C
C++
Objective-C
PHP

gearbeitet im Sinne von irgendwelche privaten oder beruflichen Projekte erledigt. Nicht einmal hereingeschaut.


Python wär da vielleicht nicht schlecht, keine Nachrichten, alles public und trotzdem ist alles ein Objekt. ;)
Ich ging auch bisher davon aus, dass Sichtbarkeit und Objekteigenschaft sich nicht beißen. Wie kommst du darauf?
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Das sind ja auch zwei Nachrichten. [...]
Eine solche Idee ist sogar für Stoßtrupp zu schräg.
Alan Kay fand es anscheinend ok. In Smalltalk entspräche ein "[[a alloc] init]" jedenfalls einem "a alloc init"(man darf natürlich noch Klammern () setzen wenn man Lust hat). Deswegen die Unterscheidung, Schlüsselwortnachrichten kann man nämlich nicht so einfach hintereinanderschreiben.

Das sieht Alan Kay anders. Und der müsste es wissen.
Der hat die einzige Wahrheit aber auch nicht gepachtet.

Also, bisher habe ich gearbeitet mit
[...]
Sowas dachte ich mir, außer ObjC nichts was in eine ähnliche Richtung geht (= nur Traumata ;) ). Und nichts Funktionales dabei. :) Wobei deine Liste länger ist als meine ;)

Ich ging auch bisher davon aus, dass Sichtbarkeit und Objekteigenschaft sich nicht beißen. Wie kommst du darauf?
Manche Leute haben ja vor sowas Angst. Und fallen aus allen Wolken wenn es nicht "nicht-Java" keine privaten Eigenschaften gibt. ;)
 
Zuletzt bearbeitet:
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Alan Kay fand es anscheinend ok. In Smalltalk entspräche ein "[[a alloc] init]" jedenfalls einem "a alloc init"(man darf natürlich noch Klammern () setzen wenn man Lust hat). Deswegen die Unterscheidung, Schlüsselwortnachrichten kann man nämlich nicht so einfach hintereinanderschreiben.
Nein, Alan Kay fand es in Ordnung, an ein zurückgegebenes Objekt eine weitere Nachricht zu schicken. Und das sieht in Smalltalk so aus. Und das findet auch Objective-C in Ordnung:
Code:
[[a alloc] init]
Objective-C findet es indessen nicht in Ordnung, dass man Nachrichten in der Syntax von Smalltalk verschickt.
Ist das jetzt wirklich überraschend? Und welchen tiefgreifenden konzeptionellen Unterschied willst du mir damit vermitteln?

Der hat die einzige Wahrheit aber auch nicht gepachtet.
Nein, aber OOP erfunden.

Sowas dachte ich mir, außer ObjC nichts was in eine ähnliche Richtung geht (= nur Traumata ;) ). Und nichts Funktionales dabei. :) Wobei deine Liste länger ist als meine ;)
Doch in Logo, einem Lisp-Derivat habe ich auch gearbeitet. Es ist für dieses Thema jedoch gleichgültig.

Manche Leute haben ja vor sowas Angst. Und fallen aus allen Wolken wenn es nicht "nicht-Java" keine privaten Eigenschaften gibt. ;)
Es geht nicht um Angst. Es geht darum, dass Programmierer statisch bindender Sprachen immer glauben, OPP bedeute Kapselung. Das ist natürlich ausgemachter Unfug. So etwas bekommt die CoreFoundation mit reinem C hin.

Aber das sich "OOP" in diesen Sprachen genau darauf beschränkt, wird man es den Leuten auch nicht übelnehmen können. Es ist immer so lustig, wenn man in den entsprechenden Büchern liest, OOP sei erfunden worden, damit Daten und Funktionen gekapselt sind. Als ob das nicht schon vorher ginge …
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Objective-C findet es indessen nicht in Ordnung, dass man Nachrichten in der Syntax von Smalltalk verschickt.
Ist das jetzt wirklich überraschend? Und welchen tiefgreifenden konzeptionellen Unterschied willst du mir damit vermitteln?
Lies doch was ich schreibe. Es ging mir darum warum in Smalltalk zwischen verschiedenen Nachrichten unterscheidet und in ObjC offenbar nicht, weil man dort die eckigen Klammern hast und du zwischen diesen Klammern eh nur eine einzige Nachricht verschickst.

Nein, aber OOP erfunden.
Mag sein. Trotzdem hat er kein Monopol darauf was OOP ist und wie man es umzusetzen hat. Auch wenn du das vielleicht anders siehst.
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Meinst du mit "zwei verschiedenen Nachrichten" zwei verschiedene Arten von Nachrichten, oder zwei verschiedene Nachrichten?
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Meinst du mit "zwei verschiedenen Nachrichten" zwei verschiedene Arten von Nachrichten, oder zwei verschiedene Nachrichten?
Zwei verschiedene Arten.

Bsp:
obj foo foo. 'foo ist jeweils eine unäre Nachricht'
obj + foo. 'foo ist hier eine Variable weil + eine binäre Nachricht ist'
obj foo: x foo: y. 'Es wird die Nachricht foo:foo: verschickt und nicht zwei Mal foo:'
obj + foo + foo. 'Zweimal + und nicht ++, weil + binär'
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Äh, wenn du zwischen parameterlosen und parameterbehafteten Nachrichten unterscheiden willst, kannst du das natürlich ohne konzeptionellen Gewinn tun. Das steht dir frei.

Man kann auch noch anders unterscheiden:
Nachrichten die mit a beginnen
Nachrichten, die mit b beginnen
Nachrichten, die mit c beginnen
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Jetzt werd nicht albern. Die Arten von Nachrichten die ich dir genannt habe *verhalten* sich anders. Die Grammatik ist eine andere. Lies meine Beispiele und versuch sie zu verstehen. Ich habe irgendwie immer das Gefühl du willst mich falsch verstehen. Am Konzept Nachricht ändert das natürlich nichts, habe ich auch nie behauptet.

Äh, wenn du zwischen parameterlosen und parameterbehafteten Nachrichten unterscheiden willst
Diese Erkenntnis hättest du schon vor 10 Fragen haben können, wenn du meine Antworten auch gelesen hättest
 
Zuletzt bearbeitet:
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Hat wer chips?
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Ich hab Bier hier...
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Jetzt werd nicht albern. Die Arten von Nachrichten die ich dir genannt habe *verhalten* sich anders. Die Grammatik ist eine andere.
Grammatisches Verhalten von Nachrichten ist mir neu.

Lies meine Beispiele und versuch sie zu verstehen.
Danke für die Diskussion

Ich habe irgendwie immer das Gefühl du willst mich falsch verstehen. Am Konzept Nachricht ändert das natürlich nichts, habe ich auch nie behauptet.


Diese Erkenntnis hättest du schon vor 10 Fragen haben können, wenn du meine Antworten auch gelesen hättest
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

Ich hab Bier hier...
Hmmm, die Flaschen, die mir mein Ninja-Teenage-Hero-Schatzi hochgeholt hat, sind leider leer.

Ich geh' mal eben in die Tiefgarage …
 
AW: Programmieren lernen am Mac — Vor- und Nachteile der verschiedenen Sprachen

ich fand die beitraege durch die bank sehr interessant. sowas bekomm ich an der uni nicht. deshalb waere ich dankbar wenns wieder weitergehen wuerde...
Ich befürchte jetzt traut sich keiner mehr. ;)
 
Zurück
Oben Unten