Folgen Sie dem Video unten, um zu sehen, wie Sie unsere Website als Icon auf Ihrem Homescreen erstellen.
Anmerkung: This feature may not be available in some browsers.
Etwas verwundert bin ich über die Java-Empfehlungen.
Bis jetzt habe ich von Java-Anwendungen keine hohe Meinung. Das liegt z.B. daran, daß ich bis jetzt Java-Programme sowohl auf der Windows- als auch Mac-Plattform stehts als "Fremdkörper" empfunden habe, die von der Optik der GUI stark von der "Standard-Optik" (z.B. Menüelemente) abweichen und ansonsten eher träge auf Nutzereingaben reagieren. Oder habe ich da nur unsinnige Vorurteile aufgebaut?
fox78
Ahm, welche Sonderzeichen kommen in Objective-C nicht vor, die in C++ verwendet werden?* Weniger Sonderzeichenverwendung
Da halte ich dagegen: In C-Methoden werden die Parameter mit ( ) eingeklammert und durch "," getrennt, in Klassenmethoden entweder durch [ ], zusammen mit dem Methodennamen oder garnicht. Dazu kommt die Markierung der Klassenmethoden durch "+" und der Instanzmethoden durch "-"* Benannte Parameter als Teil des Methodennamens
* Klarere Zuordnung durch Verwendung äußerer Klammern
Der doppelte Doppelpunkt etwa.Ahm, welche Sonderzeichen kommen in Objective-C nicht vor, die in C++ verwendet werden?
Damit hältst du nicht dagegen, weil weder runde Klammern noch Kommata einen Informationsgehalt bezüglich des Parameters aufweisen. Das war jetzt aber wirklich zu einfach.Da halte ich dagegen: In C-Methoden werden die Parameter mit ( ) eingeklammert und durch "," getrennt, in Klassenmethoden entweder durch [ ], zusammen mit dem Methodennamen oder garnicht. Dazu kommt die Markierung der Klassenmethoden durch "+" und der Instanzmethoden durch "-"
Keine Ahnung. Wieso sollte ich das einem Anfänger erklären.In Java und C++ werden *alle* Methoden im C-Style beschrieben. Wie erklärst du das einem Anfänger?
Dann hast du doppelte Klammerung. Das ist gewiss nicht übersichtlicher.Du kannst in C++ auch alles klammern, was du möchtest, musst es aber nicht.
Es ist gar keines.Zugegebener massen ist das ein schwaches Argument.
Nein, ich meinte Aufrufketten, bei denen in C++ nicht aus dem Ausdruck selbst klar ist, wer was zurückgibt und womit die Kette fortgesetzt wird.Mit einem Satz wie "Die Zuordnung geschieht in der Deklaration, die Definition implementiert nur noch" machst du es einem Einsteiger aber auch begreiflich. (Du meintest doch, dass Methoden bei der Definition nicht mehr in Klassen gruppiert werden)
Darum ging es nicht. Es ging darum, dass du behauptet hattest, man müsste eine Diplomarbeit schreiben, um Vorzüge einer Syntax zu zeigen. Das muss man nicht.Im Übrigen ging es mir nicht um Objective-C vs C++, Ich schrieb etwas von Java vs C++ und könnte auch Java vs Objective-C gemeint haben.
Klar, schon wieder Beweis durch Behauptung. Mutmaßlich brauccht man erneut eine Diplomarbeit für den Beleg.Java-Code ist einfacher und strukturierter als C++ und Objective-C und damit leichter zu lesen
Du hast dich mutmaßlich nie mit Objective-C beschäftigt. Sonst würdest du bemerken, dass diese Frage haarscharf am Thema vorbei geht.(Eine Klasse pro Datei. Es wird nie deklariert, immer gleich implementiert - allerdings kann eine Schnittstelle durch ein Interface beschrieben werden).
Da fällt mir noch etwas auf. Gibt es in Objective-C soetwas wie Namsensräume?
Ich finde es bemerkenswert, mit welcher Windeseile du vom Thema flüchhtest uund ein neues Fass aufmachst. Aber glücklicherweise gibt es dafür gleich einen Artikel:C++ hat Namespaces. Java seine Packete. Wie sieht es mit der Typsicherheit aus? Kann ich schon bei der Typprüfung beim Schreiben sicherstellen, dass in eine Collection nur bestimmte Typen aufgenommen werden?
Derlei Krücken für konzeptionell verdorbene Programmmiersprachen hat man in Objective-C nicht nötig.Wie sieht es mit generischer Programmierung aus?
Nein, diese Fragen hat ein Programmieranfänger nicht, weil er erst gar nicht auf den Gedanken kommt, derart Krankes wie Generics sich auszudenken. Auf so einen Gedanken kommt man immer erst, wenn man nach Jahren bemerkt, wie verbaut die Programmiersprache konzipiert wurde.Das sind jetzt Fragen, die *ich* als Anfänger in Objective-C habe.
Das stimmt beides nicht. Aber auch das wirst du sicherlich nur mit einer Diplomarbeit belegen können …Du wirst polemisch und auf meine Fragen hast du nicht wirklich geantwortet. Ausserdem belegst du deine Aussagen mit Quellen aus deiner eigenen Hand. Ich hatte hier schon einmal eine Auseinandersetzung mit einem Typen wie dir und hab ehrlich gesagt nicht nochmal die Lust, gegen wild aufgestellte Theorien anzukämpfen.
1.) und 4.) würde ich mal als so unhaltbar bezeichnen -- auch wenn man es nicht nur just-for-fun macht
zugegeben, aber ich kenne einige "richtige Programmierer" die ausschliesslich OO programmieren1.) Gilt für echte Informatiker
zugegeben, aber ich kenne einige "richtige Programmierer" die ausschliesslich OO programmieren
1.) Gilt für echte Informatiker
2.) Lasse ich auch noch durchgehen
3 und 4 ....
Alex
1) gilt nicht für echte Informatiker, warum? Die lernen nicht die Sprachen sondern die Paradigmen ... Was ich eher durchgehen lassen würde, ist dass du als "echter" Informatiker die Paradigmen anhand von Sprachen lernst, die diese erfüllen.
OK, OK, das wolle ich sagen (siehe meinen Post oben)
Alex
Doch, weil Parameter dadurch immer auf die gleiche Art und Weise erkennbar sind. Es gibt syntaktisch keine Unterschiede! Bei Objective-C habe ich Methoden im C-Style und Nachrichten. Beides unterscheidet sich zwar semantisch aber der syntaktische Zweck ist der gleiche. Darum ist es einem Anfänger schwer, soetwas begreiflich zu machen.Damit hältst du nicht dagegen, weil weder runde Klammern noch Kommata einen Informationsgehalt bezüglich des Parameters aufweisen. Das war jetzt aber wirklich zu einfach.
Keine Ahnung. Wieso sollte ich das einem Anfänger erklären.
Nein, ich meinte Aufrufketten, bei denen in C++ nicht aus dem Ausdruck selbst klar ist, wer was zurückgibt und womit die Kette fortgesetzt wird.
Darum ging es nicht. Es ging darum, dass du behauptet hattest, man müsste eine Diplomarbeit schreiben, um Vorzüge einer Syntax zu zeigen. Das muss man nicht.
Klar, schon wieder Beweis durch Behauptung. Mutmaßlich brauccht man erneut eine Diplomarbeit für den Beleg.
Du hast dich mutmaßlich nie mit Objective-C beschäftigt. Sonst würdest du bemerken, dass diese Frage haarscharf am Thema vorbei geht.
Ich finde es bemerkenswert, mit welcher Windeseile du vom Thema flüchhtest uund ein neues Fass aufmachst.
Nein, diese Fragen hat ein Programmieranfänger nicht, weil er erst gar nicht auf den Gedanken kommt, derart Krankes wie Generics sich auszudenken. Auf so einen Gedanken kommt man immer erst, wenn man nach Jahren bemerkt, wie verbaut die Programmiersprache konzipiert wurde. …
Das stimmt beides nicht. Aber auch das wirst du sicherlich nur mit einer Diplomarbeit belegen können …
Aber wenn ich euch mal auf den Boden der Tatsachen, sprich den Sinn des Threads erinnern darf. Der TO wollte wissen, mit welcher Sprache er am leichtesten kleine grafische Programme schreiben kann. Ich denke, das haben wir ausreichend erörtert.
Und ich schmöker gerade durch zwei Openbooks, die Javainsel und C von A bis Z, mal sehen, wo ich hängenbleibe...
fox78
Die Bedeutung des Begriffes von "syntaktischer Zweck" hätte ich gerne näher erläutert.
Ich sehe aber, dass du offenkundig Probleme hast, Parameter als solche zu erkennen.
Übrigens ist das mit dem Belegen so eine Sache. Achte mal auf die verwendung des Wortes "weil". Hmmmm, wozu dient das wohl?
a->foo()->bar() ist klarer als a->b()->c()?