Frage zu Object

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Die Computerwissenschaft definiert ein Objekt als
    a location in memory having a value and possibly referenced by an identifier.
    Die klassenbasierte Programmierung definiert ein Objekt als
    a particular instance of a class where the object can be a combination of variables, functions, and data structures.

    Die Speicherung eines Namens kann über ein Struct erfolgen (Objekt gemäß Computerwissenschaft, kein Objekt gemäß klassenbasierter Programmierung).
    Ein gespeicherter Name benötigt keinerlei Methoden.

    Das den Namen speichernde Objekt benötigt Methoden, beispielsweise um den Namen zu speichern oder zurückzuliefern.
    Der Name benötigt keinerlei Methoden.

    Eine dynamische Namenserzeugung aus diversen Namensteilen benötigt Methoden zum Anhängen, Durchsuchen, Ersetzen etc.pp.
    Der daraus erzeugte Name benötigt keinerlei Methoden.

    Wenn der zu speichernde Name kein Objekt ist, benötigt er nicht einmal eine Copy Methode.

    Quellcode

    1. string egonsName = "Egon";
    2. string name = egonsName;
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • matz schrieb:

    Meine Fresse ihr jedes Mal mit eurer Kleinscheisserei
    Im Gegensatz zu anderen Menschen, die entweder bei ihren alten festgesetzten Meinungen bleiben oder die bereitwillig jeden Hype mitmachen, informiere ich mich erst einmal über die Dinge.
    Und wenn es am unliebsamen Ding Aspekte gibt, die ich wirklich großartig finde, dann kommuniziere ich die auch entsprechend.

    Natürlich gehe ich damit bewusst das Risiko ein auf beratungsresistente, nur überfliegende und vorschnell zurückballernde Trolle (oder Amin) zu treffen und dann alles bis ins Tausendstel diskutieren zu müssen, weil besagte Trolle gewisse Aspekte der Argumentation ignorieren.

    Ist völlig okay, ich bin mit dem letalen Männerschnupfen krank geschrieben und kann mir die Zeit nehmen.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Marco Feltmann schrieb:

    Ist völlig okay, ich bin mit dem letalen Männerschnupfen krank geschrieben und kann mir die Zeit nehmen.
    Dann mal gute Besserung ;)

    Bei mir funktioniert das ignorieren von Threads leider nicht, ansonsten würde ich mich nicht mal aufregen :P

    Edit: Abschicken / Benachrichtigungen auch nicht.

    Muss manuell zur Startseite zurück
    Dateien
  • Du weißt schon, dass sich die beiden Definitionen ergänzen, nicht widersprechen. Das haben sie schon einmal deinen Beiträgen voraus.

    Der Name benötigt auch Methoden, etwa zu seiner Erzeugung. Deshalb hat NSString auch Methoden.

    Ansonsten ergibt sich aus deinem gesamten Beitrag nun gar nichts zur Existenzberechtigung unveränderlicher Datenhaltung.

    Ach, ja, wenn wir in BF programmieren, ist die Diskussion müßig. Hat aber auch nichts mit dem Thema zu tun.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • t-no schrieb:

    Quellcode

    1. func add<T1 : Addable, T2: Addable>(x: T1, y: T2) -> Addable

    Und ich dachte immer Swift (und Obj-C 2.0) wurde nur deshalb erfunden, weil es so schwer zum lernen ist dass man eine Methode nicht als

    Quellcode

    1. object.method(abc)
    aufruft sondern als

    Quellcode

    1. [object method:abc]
    und die Schachtelung von [ und ] so verwirrend sei...

    Was an obiger Konstruktion lesbar sein soll erschließt sich mir nicht. Da ich Swift nur sehr oberflächlich kenne und das mit keiner anderen Sprache Ähnlichkeiten hat, verstehe ich nur "駅".

    Für mich ist und bleibt Obj-C die am besten lesbare Sprache die ich kenne. Ich habe bisher immer jeden fremden Code recht schnell verstanden - außer es waren zuviele Obj-C 2.0 oder Core Foundation Tricks drin.

    Also warte ich mal ab... Notfalls gibts GNUstep das auch (langsam) immer besser wird (und sogar Obj-C 2.0 kann).
  • GNUstep ist imho ein totes Pferd - wenn Apple Objective-C abschießt, ist die Sprache am Ende.
    Grundsätzlich kann ich aber nur empfehlen, seinen Horizont gelegentlich zu erweitern - jedes Jahr eine neue Sprache zu lernen ist vielleicht etwas zu ambitioniert, aber wenn man die Zeit dazu hat merkt man schnell, dass fast alles in Swift von irgendwo übernommenen wude: Gerade die spitzen Klammern sind weit verbreitet.

    Wenn Lesbarkeit das wichtigste Kriterium ist, würde ich statt GNUstep einfach zu AppleScript wechseln:
    Da kann man komplett ohne Klammern auskommen, Plus und Minus werden nur zum Rechnen gebraucht und man muss kein Arsenal von for-Schleifen lernen.

    Ansonsten kann ich nur immer wieder sagen: Es wäre prima, wenn man Antworten als "Swift-Grundsatzdiskussion" taggen und so von den konstruktiven Beiträgen trennen könnte...
  • Ich kann eigentlich nur immer wieder sagen: Das eigentliche Thema war gelöst. Insofern sehe ich kein Problem.


    Eben, weil Swift eigentlich nichts Neues enthält und nur ein paar Sachen kopiert, kann man sich das Lernen ohne Weiteres sparen. Zumlsich die Sprachen, aus denen kopiert wird, ja für die Applikationsentwicklung auf dem absteigenden Ast sind. Das ist weniger Piraterie als Leichenfledderei.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • t-no schrieb:

    GNUstep ist imho ein totes Pferd - wenn Apple Objective-C abschießt, ist die Sprache am Ende.
    Grundsätzlich kann ich aber nur empfehlen, seinen Horizont gelegentlich zu erweitern - jedes Jahr eine neue Sprache zu lernen ist vielleicht etwas zu ambitioniert, aber wenn man die Zeit dazu hat merkt man schnell, dass fast alles in Swift von irgendwo übernommenen wude: Gerade die spitzen Klammern sind weit verbreitet.

    Wenn Lesbarkeit das wichtigste Kriterium ist, würde ich statt GNUstep einfach zu AppleScript wechseln:
    Da kann man komplett ohne Klammern auskommen, Plus und Minus werden nur zum Rechnen gebraucht und man muss kein Arsenal von for-Schleifen lernen.

    Ansonsten kann ich nur immer wieder sagen: Es wäre prima, wenn man Antworten als "Swift-Grundsatzdiskussion" taggen und so von den konstruktiven Beiträgen trennen könnte...
    Like :P
  • Dafür gibts nen Button, Du Noob. ;)
    Huch, der ist ja kaport. Ich Noob. :D
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Marco Feltmann ()

  • Amin Negm-Awad schrieb:

    Der Name benötigt auch Methoden, etwa zu seiner Erzeugung. Deshalb hat NSString auch Methoden.
    Klar, genau wie int, float, double und struct Methoden zur Erzeugung haben… :S

    Wenn Du den Unterschied des immutablen Skalaren Datentypen und des ihn erzeugenden Objektes nicht verstehen willst, so steht es Dir frei.
    Deine Berufskrankheit des notorisch Recht bekommen wollens nervt mich jedoch immens.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • t-no schrieb:

    GNUstep ist imho ein totes Pferd - wenn Apple Objective-C abschießt, ist die Sprache am Ende.
    Grundsätzlich kann ich aber nur empfehlen, seinen Horizont gelegentlich zu erweitern - jedes Jahr eine neue Sprache zu lernen ist vielleicht etwas zu ambitioniert, aber wenn man die Zeit dazu hat merkt man schnell, dass fast alles in Swift von irgendwo übernommenen wude: Gerade die spitzen Klammern sind weit verbreitet.
    Ich würde es so sagen: wenn Apple Objective-C abschießt dann ist Apple für mich ein totes Pferd. Ich verwende die Macs seit vielen Jahren als Werkzeug um meine Arbeit optimal auszuführen und nicht umgekehrt. Wenn Apple das nicht mehr bietet, dann suche ich mir etwas anderes. Genauso wie ich eine gut Inder Hand liegende Säge lieber hege und pflege, selbst wenn mir der Hersteller einreden will dass eine Säge die schlecht in der Hand ist modern ist. Und andere, dass man auch mal ab und zu mal eine neue Säge probieren soll :)
    Anders formuliert: für mich löst Swift kein Problem das ich hatte. Wozu soll ich es also lernen?

    Wenn Lesbarkeit das wichtigste Kriterium ist, würde ich statt GNUstep einfach zu AppleScript wechseln:
    Da kann man komplett ohne Klammern auskommen, Plus und Minus werden nur zum Rechnen gebraucht und man muss kein Arsenal von for-Schleifen lernen.
    Naja, Applescript-Code ist lesbar, aber kaum verstehbar (was teilweise aber auch an der Dokumentation liegen kann). Obj-C ist für mich beides. Lesen + Verstehen. Mehr will ich gar nicht.

    Ansonsten kann ich nur immer wieder sagen: Es wäre prima, wenn man Antworten als "Swift-Grundsatzdiskussion" taggen und so von den konstruktiven Beiträgen trennen könnte...
    Ja, das stimmt. Ich werde mich zurückhalten...
  • t-no schrieb:

    GNUstep ist imho ein totes Pferd - wenn Apple Objective-C abschießt, ist die Sprache am Ende.
    Grundsätzlich kann ich aber nur empfehlen, seinen Horizont gelegentlich zu erweitern - jedes Jahr eine neue Sprache zu lernen ist vielleicht etwas zu ambitioniert, aber wenn man die Zeit dazu hat merkt man schnell, dass fast alles in Swift von irgendwo übernommenen wude: Gerade die spitzen Klammern sind weit verbreitet.
    Ich würde es so sagen: wenn Apple Objective-C abschießt dann ist Apple für mich ein totes Pferd. Ich verwende die Macs seit vielen Jahren als Werkzeug um meine Arbeit optimal auszuführen und nicht weil ich Apple folge. Wenn Apple mir keine guten Werkzeuge mehr bietet, dann suche ich mir etwas anderes. Genauso wie ich eine gut In der Hand liegende Säge lieber hege und pflege, selbst wenn mir der Hersteller einreden will dass eine Säge die schlecht in der Hand liegt modern ist. Und alles Mögliche von Feilen, Schraubendrehern und anderen Geräten übernommen hat. Und andere Leite sagen mir, dass man auch mal ab und zu mal eine neue Säge probieren soll :)
    Anders formuliert: für mich löst Swift kein Problem das ich hatte. Wozu soll ich es also wirklich lernen?
    Wenn Lesbarkeit das wichtigste Kriterium ist, würde ich statt GNUstep einfach zu AppleScript wechseln:
    Da kann man komplett ohne Klammern auskommen, Plus und Minus werden nur zum Rechnen gebraucht und man muss kein Arsenal von for-Schleifen lernen.
    Naja, Applescript-Code ist lesbar, aber kaum verstehbar (was teilweise aber auch an der Dokumentation liegen kann). Obj-C ist für mich beides. Lesen + Verstehen. Mehr will ich gar nicht.
    Ansonsten kann ich nur immer wieder sagen: Es wäre prima, wenn man Antworten als "Swift-Grundsatzdiskussion" taggen und so von den konstruktiven Beiträgen trennen könnte...
    Ja, das stimmt. Ich werde mich zurückhalten... D.h. Antwort auch bitte wo anders.
  • t-no schrieb:

    GNUstep ist imho ein totes Pferd - wenn Apple Objective-C abschießt, ist die Sprache am Ende.
    Grundsätzlich kann ich aber nur empfehlen, seinen Horizont gelegentlich zu erweitern - jedes Jahr eine neue Sprache zu lernen ist vielleicht etwas zu ambitioniert, aber wenn man die Zeit dazu hat merkt man schnell, dass fast alles in Swift von irgendwo übernommenen wude: Gerade die spitzen Klammern sind weit verbreitet.
    Ich würde es so sagen: wenn Apple Objective-C abschießt dann ist Apple für mich ein totes Pferd. Ich verwende die Macs seit vielen Jahren als Werkzeug um meine Arbeit optimal auszuführen und nicht weil ich Apple folge. Wenn Apple mir keine guten Werkzeuge mehr bietet, dann suche ich mir etwas anderes. Genauso wie ich eine gut In der Hand liegende Säge lieber hege und pflege, selbst wenn mir der Hersteller einreden will dass eine Säge die schlecht in der Hand liegt modern ist. Und alles Mögliche von Feilen, Schraubendrehern und anderen Geräten übernommen hat. Und andere Leite sagen mir, dass man auch mal ab und zu mal eine neue Säge probieren soll :)
    Anders formuliert: für mich löst Swift kein Problem das ich hatte. Wozu soll ich es also wirklich lernen?
    Wenn Lesbarkeit das wichtigste Kriterium ist, würde ich statt GNUstep einfach zu AppleScript wechseln:
    Da kann man komplett ohne Klammern auskommen, Plus und Minus werden nur zum Rechnen gebraucht und man muss kein Arsenal von for-Schleifen lernen.
    Naja, Applescript-Code ist lesbar, aber kaum verstehbar (was teilweise aber auch an der Dokumentation liegen kann). Obj-C ist für mich beides. Lesen + Verstehen. Mehr will ich gar nicht.
    Außerdem scheinst Du keine größere Code-Basis in Obj-C zu haben - denn die muß mach wegwerfen wenn man auf Apple-Script oder Swift wechselt.
    Ansonsten kann ich nur immer wieder sagen: Es wäre prima, wenn man Antworten als "Swift-Grundsatzdiskussion" taggen und so von den konstruktiven Beiträgen trennen könnte...
    Ja, das stimmt. Ich werde mich zurückhalten... D.h. Antwort auch bitte wo anders.
  • Hm, aber mal einen Schritt zurücktreten: swift greift auf die selben Frameworks zurück, wenn es um Cocoa und Co geht. Ich konnte beim Portieren große Abschnitte Code von obj-c ohne Probleme schnell nach Swift Portieren. Natürlich nutzt man so nicht Swift in der Art wie es gedacht ist. Aber es kommt dennoch das raus, was der User sehen soll. Dann ist es doch borniert zu sagen, ohne obj-c mach nicht auf Apple. Ich habe in mehr als 25 Jahren Programmierung gelernt, dass die Sprache mittel zum Zweck ist und durch Jobs schon unterschiedlichste Welten kennenlernen müssen. Hat nicht weh getan ;)

    Aber klar, wenn du am besten in obj-c denken kannst und die Frameworks dir egal sind, dann ist jede Änderung vmtl. schlecht.

    Große Code Basis habe ich übrigens auch, und alle der Jahre werfe ich so zu Teilen weg und mach sie neu. Weil es ja auch in obj -c weitreichende Neuerungen gab.

    Volker
  • volker schrieb:

    Hm, aber mal einen Schritt zurücktreten: swift greift auf die selben Frameworks zurück, wenn es um Cocoa und Co geht.
    Eben das ist doch das größte Manko und Quell so dermaßen vieler unsinniger und widersprüchlicher Sprachelemente.
    Erklär einem Vegetarier (Swift), das Steak (Cocoa [Touch]) sei Käse, wobei es doch zu elementaren Teilen aus Kuh (Objective-C) besteht.
    Du kannst diverse Maßgaben verbiegen, die definieren, wann etwas Käse ist – man merkt ihm dennoch an, dass das irgendwie nicht richtig ist.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • na toll, ausgerechnet jetzt ist dieser Like-Button kaputt?!

    hns schrieb:

    Ja, das stimmt. Ich werde mich zurückhalten...
    na ja, gibt schlimmeres - hast ja nicht damit angefangen ;)

    hns schrieb:

    Außerdem scheinst Du keine größere Code-Basis in Obj-C zu haben - denn die muß mach wegwerfen wenn man auf Apple-Script oder Swift wechselt.
    Falsche Schlussfolgerung:
    Apple hat wahrscheinlich die mit Abstand größte Menge Objective-C Code, und hat den Wechsel sogar losgetreten... ich hab' noch Disketten mit Pascal-Source für den Apple II, aber das ist alles bestenfalls nostalgischer Wert.
    Code ist eher Belastung als Guthaben, und wenn man nicht ab und an ausmistet, hat man irgendwann ein Windows; wenn es nach mir ginge, könnte Apple ruhig noch rigoroser vorgehen, denn die meisten hässlichen Stellen in Swift gibt es wahrscheinlich nur wegen der Kompatibilität zu Objective-C (die beiden kann man problemlos mischen, man muss also überhaupt nichts wegwerfen).

    hns schrieb:

    Wenn Apple mir keine guten Werkzeuge mehr bietet, dann suche ich mir etwas anderes. Genauso wie ich eine gut In der Hand liegende Säge lieber hege und pflege, selbst wenn mir der Hersteller einreden will dass eine Säge die schlecht in der Hand liegt modern ist.
    Was man bei solchen Ausführungen nie vergessen sollte: Das ist alles persönliche Meinung, und daher ist es von vorn herein wenig sinnvoll, darüber zu streiten. Wenn du Objective-C lieb gewonnen hast, dann bleibe dabei und werde glücklich - nur sobald aus "gefällt mir nicht" ein "ist ohne Zweifel Mist" wird, fängt der Bullshit an.
    Ein guter Handwerker kann mit Fuchsschwanz und Stechbeitel Kunstwerke schaffen, die ein Dilettant auch mit der modernsten Werkstatt nicht nachahmen kann; aber kein Tischler wird abstreiten, dass vieles mit Kappsäge und Oberfräse schneller und einfacher machbar ist. Zudem fehlen die künstlerischen Aspekte in der Informatik (zumindest auf Level der Sprachwahl), und wer sich neuem komplett verschließt gehört irgendwann selbst zum alten Eisen... das ist per se nicht schlimm, aber ein Zimmermann, der sich Elektrowerkzeugen verweigert kann heutzutage auch bestenfalls in einem Museumsdorf arbeiten (oder einfach nur aus Freude an der Beschäftigung).