Für alte Systeme programmieren

Dass die Filmindustrie einfach einen Text-Editor nimmt, glaube ich kaum.
Ich will gar nicht wissen, wie anstrengend das sein muss im Vergleich zu einer IDE.

Immer und immer wieder, bis ich es schaffe
Mittlerweile auch meine Strategie ;-)
...wobei ich mittlerweile überlege, ob Eclipse nicht sinnvoller ist, da viele Entwicklungsumgebungen auf Eclipse basieren (Andoid IDE, Flex Builder etc.).
Du weisst aber nicht zufällig, wie ich mit C++ und Eclipse eine GUI hinbekomme, oder?

Manis
 
Zitat von wegus
Ich habe täglich mit PHP zu tun und ihr glaubt gar nicht wie lustig/schmerzhaft es ist Code zu warten den man selbst vor 12 Jahren verzapft hat.
Und ich dachte, ich wäre der einzige, dems so geht.
Klingt irgendwie beruhigend ;-)

Mich mag das nicht beruhigen. Ich erinner mich noch mit Grausen an mein erstes PHP-Projekt. 140kb Quelltext selbst gestricktes CRM. Das ist noch heute im Einsatz, aber ich traue mich da nicht mehr ran ;)

Objective-C hat tatsächlich eine gewöhnungsbedürftige Syntax. Nach etwas Eingewöhnung und mit etwas Abstand von den anderen Sprachen ging es ganz gut. Ich hab die letzten Jahre eine ziemliche Odyssee hinter mir (Java, PHP, Delphi, C, C++, Python, wieder Java, Objective-C). Demnächst steht wohl eine Stippvisite bei C# an.
 
Derzeit interessiere ich mich mehr für C++ auf Linux (die VFX/Animations/Film Industrie arbeitet damit und da ich da hinein will, ist das am interessantesten für mich). Zur Zeit bin ich am prüfen, was dort benutzt wird. Einiges deutet auf einen simplen Editor, Konsole und klassische Makefiles hin - dagegen hätte ich nichts, weil ich bash nicht fürchte, aber ich frage mich, wie es dann mit debuggen, unit tests u.ä. läuft. Außerdem kann ich mir kaum vorstellen, dass Firmen keine IDE nutzen... vielleicht nutzen sie ja Eclipse auf Linux, muss dem mal nachgehen... (alle Tipps hierzu sind herzlich willkommen!)

Bei kleinen Projekten ist Konsole + Makefiles sicher praktikabel. Ab einer bestimmten Größe brauchst du Build-Tools (Autoconf und Co) Unter Linux würde ich jetzt auch von Eclipse ausgehen. Unter Windows ist es zu 99%iger Sicherheit Visual Studio.
 
Mich mag das nicht beruhigen. Ich erinner mich noch mit Grausen an mein erstes PHP-Projekt. 140kb Quelltext selbst gestricktes CRM. Das ist noch heute im Einsatz, aber ich traue mich da nicht mehr ran
Mich beruhigt es ja auch nur in dem Sinn, dass ich immer dachte, ich sei der einzige, der alle zwei Monate seinen Programmierstil ändert.
Dass du die 140k nicht bei tippen willst, kann ich gut verstehen ;-)

Objective-C hat tatsächlich eine gewöhnungsbedürftige Syntax. Nach etwas Eingewöhnung und mit etwas Abstand von den anderen Sprachen ging es ganz gut.
Die Obj-C Syntax ist das eine, aber Xcode ist das andere.
Wie kommst du denn mit Xcode klar?

Manis
 
Die Obj-C Syntax ist das eine, aber Xcode ist das andere.
Wie kommst du denn mit Xcode klar?

Anfangs sehr gewöhnungsbedürftig und ich suche auch immernoch hin und wieder Dinge. Aber nach etwa 2-3 Tagen hab ich die wichtigsten Dinge gefunden. Mit Xcode 4 ist es auch einfacher geworden, weil der Interface Builder jetzt integriert ist und man nicht mehr die Dateien mergen muss. Und wenn man verstanden hat, was dieses Linien ziehen bedeutet, ist es nicht mehr so krude.
 
Xcode 4 kann so gut sein es will. Für mich ist es keine Alternative zu Xcode 3, weil es erstens nicht läuft und zweitens keine Universal-Binaries baut.
Die Linien habe ich so langsam auch geschnallt, glaube ich.
Aber wie das mit dem File Merging und so läuft, das schnalle ich bis heute nicht...
 
Naja, der Interface Builder erzeugt ja nicht nur die Nib/Xib-Dateien sondern auch Code für die Einbindung der Nutzeroberfläche. Um den Code in den Anwendungscode zu bekommen, muss der IB diesen in deine Dateien im Xcode hineinkopieren. Das macht er, da die Dateien ja schon existieren wo das rein kommt, mit einem Merge (verschmelzen).
 
Das ist mir klar. Aber was muss ich wie mergen und vorallem.
Wie muss ich diese Dateien nennen?

Hab heute wieder mal etwas rumgespielt.
Der Code stimmte zwar, aber ich konnte irgendwie einfach keinen Wert aus einem Textfeld holen und wieder reinschreiben.
Hab nochmal alles neu gemacht und es ging immer noch nicht.
Keine Fehlermeldung, nix.

Dann hatte ich auch keine Lust mehr.

Manis
 
Hab heute wieder mal etwas rumgespielt.
Der Code stimmte zwar, aber ich konnte irgendwie einfach keinen Wert aus einem Textfeld holen und wieder reinschreiben.
Hab nochmal alles neu gemacht und es ging immer noch nicht.
Keine Fehlermeldung, nix.

Also ich bezweifle dass der Code stimmt, wenn nichts passiert. Mir passierte das immer, wenn ich an einer NIL-Referenz eine Message gesendet hab. Ist das Objekt an dem du da rufst, initialisiert? Schau dir das mal im Debugger an.

Das ist mir klar. Aber was muss ich wie mergen und vorallem.
Wie muss ich diese Dateien nennen?

Das sagt dir für Gewöhnlich der IB. Natürlich musst du etwas aufpassen, was da geschrieben werden soll. Im Grunde sind das aber Message-Stubs die du dann mit Leben füllst.
 
Also ich bezweifle dass der Code stimmt, wenn nichts passiert. Mir passierte das immer, wenn ich an einer NIL-Referenz eine Message gesendet hab. Ist das Objekt an dem du da rufst, initialisiert? Schau dir das mal im Debugger an.
Ich habs nach dem Tutorial von [co coa:ding] gemacht.
Wenn ich den Debugger finden würde, könnte ich ja nachschauen...

Das sagt dir für Gewöhnlich der IB. Natürlich musst du etwas aufpassen, was da geschrieben werden soll. Im Grunde sind das aber Message-Stubs die du dann mit Leben füllst.
Der IB war der Meinung, das ganze müsse "NSObject" heissen.

Danke für deine Hilfeversuche, aber ich komm mit Xcode so überhaupt nicht zurecht, dass ich das gar nicht überprüfen kann.

Manis
 
Dass NSObject zu ungenau ist, dachte ich mir, vor allem hätte ich nicht gedacht, dass ich mein Objekt auch so nennen kann...

Sonst noch jemand nen Tipp? :-/

EDIT: Konnte jetzt herausfinden, dass die Methode gar nicht aufgerufen wird.
Hab mal nen Breakpoint gesetzt. Wieso kann ich nicht sagen.
 
Zuletzt bearbeitet:
Mit zu ungenau meinte ich "das ganze" ;) NSObject ist die Basisklasse aller Objekte. Im Endeffekt kannst du mit NSObject alle Objekte referenzieren.

EDIT: Konnte jetzt herausfinden, dass die Methode gar nicht aufgerufen wird.
Hab mal nen Breakpoint gesetzt. Wieso kann ich nicht sagen.

War das eine Action-Methode? Dann war sie ggf nicht mit dem Element aus der UI verbunden.
 
Dass NSObject die Basisklasse ist, weiss ich.
Ja, es war eine Action-Methode und sie war verbunden.
 
Ich brauch definitiv irgendwas anderes als Xcode -.-

Wie wär's mit einem Modellflieger oder einem Motorrad? :D ;)

Die Syntax von Obj-C ist wirklich nicht gerade die beste, das finde ich auch.
OSX und iOS würde ich jetzt nicht direkt als geringen Nutzen bezeichnen, aber es gibt natürlich Sprachen, die ein weiteres Spektrum abdecken können.

Ich würde mich gar nicht so sehr auf Sprachen fixieren. Der grosse Brocken beim Lernen von Applikationsentwicklung sind nicht die Sprachen, sondern die Frameworks - die musst du wirklich gut kennen und verstehen.

Die Sprachen selbst erzeugen keine GUI (naja, die meisten zumindest nicht). Auch C++ macht das nicht, auch dort musst du dich in die jeweiligen Frameworks reinknien.

Das Problem ist, alles ausser Cocoa wirkt auf Mac OS letztlich immer ein wenig wie ein Fremdkörper... und da einer deiner Ansprüche ja ist "schöne Software" zu programmieren wirst du um Cocoa IMHO nicht herumkommen. Alles andere ist wie eine Sprache mit starkem ausländischem Akzent. Kann bei einer Französin sehr charmant sein, bei anderen aber auch einfach nur schlecht zu verstehen ;)
 
Wieso sollte ich mein Objekt "NSObject" nennen?!

Die Methode sollte bei nem Button-Klick feuern :-/
 
Du sollst es nicht NSObject nennen. Aber es muss eine Subklasse von NSObject sein (und somit ist es auch ein NSObject).

Wenn du dieses Prinzip noch nicht ganz absorbiert hast, dann würde ich dir empfehlen erst mal nochmals die Grundlagen von Objective-C anzuschauen, bevor du dich in die GUI Programmierung stürtzt ;)
 
Wieso sollte ich mein Objekt "NSObject" nennen?!

Na nennen sollst du es bestimmt nicht so ;) Xcode hat nunmal keinen Schimmer wie du deine Klasse nennen möchtest, es sei denn du hast ein Brain->Computer-Interface.

Hast du in PHP OOP programmiert oder nur prozedural?

Edit: Häng mal das Projekt hier ran, dann schauen wir rein und erklären dir wo der Fehler lag.
 
Zuletzt bearbeitet:
wenn Du unbedingt etwas für OS X programmieren willst:

- wirst Du über lang um ein aktuelles Xcode und somit einen Intel-Mac nicht herumkommen
- mußt Du erst die Sprache Objective-C und vor allem den Objekt-Ansatz dahinter verstanden haben
- wirst Du Dich mit Cocoa auseinandersetzen müssen ( die Fremdkörperaussage trifft es ganz gut)

Das ist alles nicht schlimm und machbar. Nur tun muß man es. Bei mir paßt es nicht zum Arbeitsumfeld und nicht in ein Hobby-Zeitfenster. Deswegen habe ich mir das Thema Objective-C/Cocoa abgeschminkt ( den Hillegass habe ich aber mal vor Jahren durchexerziert). Für mich sind Dinge wie Java,JSF und eben neuerdings Scala interessanter. Wenn das bei Dir anders ist, dann wirst Du durch obige Punkte durch müssen :)
 
Zurück
Oben Unten