C# ( C-Sharp ) auf Mac OS 10.5 ( Leopard )

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

  • C# ( C-Sharp ) auf Mac OS 10.5 ( Leopard )

    Hallo Leute

    seit wenigen Tagen habe ich ERSTMALS Kontakt zu OS X ( nicht zu Unix, das ist mir nicht neu ). Ich muss meinen Enthusiasmus schon sehr bremsen, aber was ich BISHER um meinen Mac Mini gesehen( diverse Aspekte ) habe, stimmt mich sehr traurig und bedenklich ....... und zwar betreffend der "verheizten" Jahre und Dollars, welche ich bislang dem Bill und M$ nachgeeiert hatte !!!

    Nun geht es bei mir darum, hunderttausende von Zeilen C- und auch C#-Code auf den Mac / Leopard zu portieren ... resp. die entsprechenden Anwendungen, Eigenentwicklungen.

    C:

    Bei C werde ich vermutlich keine grösseren Probleme haben ( systemabhängiges ist gut gekapselt ), da sehe ich Xcode 3.0 - Objective-C 3.0 - Cocoa. Liege ich da richtig ?

    C-#:

    ALLES von M$ finde ich nunmehr blanke Schei..e ... das / die OS, Office, .NET etc. ... AUSSER C#. C-Sharp finde ich eine moderne, leistungsfähige, gut lesbare/wartbare Sprache ( ich spreche von der reinen SYNTAX ! Nicht von .NET als ganzes, nicht unbedingt von CLR ).

    Wie bringe ich meine vielen C#-Codezeilen auf Leopard ? Auch hier, wie bei meinem C Code, ist systemabhängiges weitgehend gekapselt. Aber C# bietet bereits viel ( durch entsprechende Import's ), welches "in sich" recht nahe ans System rangeht.

    Bislang wurde ich fündig hier: monodevelop.com/Running_On_OSX

    und hier: osalt.com/monodevelop ( ACHTUNG: MAC offenbar CANCELED betreffend der "SharpDevelop" Umgebung )

    und hier: technicalstressings.com/

    ===

    Kann mir einer mehr dazu sagen, vorallem wegen C# ? Liege ich richtig bei diesen Links ? Habe ich was Wichtiges verpasst oder übersehen ? Wo soll ich weitermachen ?
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • RE: C# ( C-Shard ) auf Mac OS 10.5 ( Leopard )

    C dürfte in der Tat keine größeren Probleme bereiten.

    Für C# gibt es das Mono-Projekt. Ich höre Gemischtes darüber und kann das nicht wirklich beurteilen. Aber in der Tat wirst du ziemlich schnell nur noch Objective-C und Cocoa verwenden wollen.
    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"?
  • Mono ist für fast alle Unix/Linux Systeme verfügbar, auch für Mac.
    Was lauffähiges von MonoDevelop gibts für Mac nicht zum runter Laden. Und selbst kompilieren würde ich lassen. MacUX dauert wohl noch etwas, biss sie mit einem kompletten Bundle kommen.
    Evtl. kannst Du MonoDevelop via MacPorts installieren, ich glaube, die habens im Programm.
    Ist aber eine ziemlich lange dauernde Angelegenheit. So ziemlich alles muss neu kompiliert werden.

    Für Xcode gibts ein C# plugin, dass mehr oder weniger vernünftig laufen soll.
    Mono selbst ist voll .Net 1.1 und leider bis jetzt nur Teilweise .Net 2.0 kompatibel.
    Mit .Net 3.5 is mal noch nix.

    Im übrigen würde ich .Net/Mono Entwicklung nur mit SharpDevelop oder Visual Studio machen. Alles andere ist nicht effizient und eigentlich nur frustrierend.
    VMware/Parallels machts möglich.


    Gruss,
    Manfred
  • Hallo Tom9811

    danke für Deine Stellungnahme. Objective-C / Cocoa kann ich mir auch SEHR gut vorstellen ... für NEUES.

    Aber leider MUSS ich mich mit VIEL Vorhandenem auseinandersetzen ... und da stecken hinter den C#-Entwicklungen sehr viel Aufwand und Zeit.

    Ich sehe auch den Punkt der Portierbarkeit. Da habe ich mit C# erstaunliche, BESTE Erfahrungen gemacht zwischen PC und Mobile-Devices ( resp. zwischen Plattformen mit der CLR ). Nicht betreffend GUI, sonderen betreffend Anwendungslogik, Algorythmik etc. Und das macht bei meinem Code den weitaus grössten Anteil aus.

    Es geht eben ... um Software PORTIERUNG !!!

    Und ist es denn nicht auch im Sinn und Geist von Apple, wenn der MOVE von M$ zu Mac möglichst verlustfrei gehen kann ?
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Hallo asrael

    Danke auch Dir.

    ich bin ( leider erst spät ) auf SharpDevelop gestossen, in der M$-Welt. Super tolle Sache ... und daher eine Frechheit, der ganze Visual Studio Schei.. !!!

    Zu diesem Xcode C#-Plugin: hast Du da weitere Details, einen Link oder so ? Das tönt sehr interessant.

    Ich bin auf .NET 2.0 in der M$-Welt, höheres lasse ich nunmehr sowieso weg.

    .NET/Mono SharpDevelop und VisualStudio via Virtualizer macht für mich KEINEN Sinn, denn ich will ja definitv weg von Bill !!! Virtualizing EINZIG als Bypass für Running-Apps, bis die entsprechenden Apps nativ unter OS X laufen. Entwicklung / Unterhalt unter Virtualizer KEINESFALLS - solange behalte ich ( leider ) noch meine M$-Entwicklungs-Umwelt-Katastrophen.
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Original von osiggsy
    Hallo Tom9811

    danke für Deine Stellungnahme. Objective-C / Cocoa kann ich mir auch SEHR gut vorstellen ... für NEUES.

    Aber leider MUSS ich mich mit VIEL Vorhandenem auseinandersetzen ... und da stecken hinter den C#-Entwicklungen sehr viel Aufwand und Zeit.

    Das hatte ich befürchtet …

    Da kennen sich andere deutlich besser aus. Es gibt hier aber auch viele Leute, die noch an Dosen sitzen, so dass du bestimmt qualifizierten Ratschlag erhalten wirst.

    Jemand hat hier mal einen Blog verlinkt von einem C#ler, der sich nen Mac kaufte und gar nicht mehr zu halten war vor Begeisterng. Ich kann das leider nicht mehr finden.
    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"?
  • Hallo Tom9811

    danke für Deinen Beitrag !

    Uebrigens betreffend Deinem Logo "... C with classes ist Crap ..." müsstest Du mir denn somit nicht von Objective-C abraten ??? Und weshalb Objective-C und NICHT C++ ??? (BTW: Objective-C habe ich HEUTE zum ersten mal gehört und ein zwei Samples angeschaut ... ICH kann dazu noch nicht viel sagen !!!)
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Doch, ich habe es gefunden:
    dotnetaddict.dotnetdevelopersjournal.com/tags/?/mac
    +++
    C with classes, C++, Objective-C
    Neeeee, "C with classes" war die ursprüngliche Bezeichnung von C++, gewiss nicht von Objective-C.

    Ich habe dazu einen längeren Blog-Einrag geschrieben. Der ist derzeit wegen des Umzuges der Seite noch nicht wieder oben. Ich sage dir dann Bscheid.

    Grundsätzlich kann man es so ganz kurz skizzieren:
    1. Die konzeptionelle Basis ist eine andere
    C++: Simula
    Objective-C: Smalltalk
    Das bereitet beim Umstieg dann häufig Schwierigkeiten.

    2. Außerdem dispatcht Objective-C spät, während C++ das zur Übersetzungszeit macht. Das hat Auswirkungen:
    Der Dispatch in Objective-C bezieht sich auf ein Instanzobjekt, nicht auf die Klasse des Instanzobjektes. Der Compiler kennt zuweilen gar nicht die Klasse des Objektes, an das er eine Nachricht schickt. Er führt auch nur eine "Plausibilitätsprüfung" durch. Den Rest erledigt das RTE.

    Es gibt daher eine Trennung zwischen Methode (C++: Member-Funktion) und Nachricht. Letzteres gibt es in C++ gar nicht als logisches Element. Grundsätzlich wird also zur Laufzeit eine Nachricht auf eine Methode gemappt.
    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"?
  • Hallo Tom9811

    tausend (hätte es gerne grossgeschrieben, lasse es aber inskünftig sein ) Dank für den "gefundenen" Link ... der ist Gold wert !

    Super auch Dein Overview Objective-C, C++, sowie Klarstellung "C with Classes". Werde Deinen Blog bestimmt interessiert inhalieren.

    Ist der Debugging-Support bei Objective-C entsprechend gut, um entsprechend reduzierte Compile-Time-Programming-Error-Detection zu kompensieren ? ( ev. habe ich diesen Teil der Konsequenzen des späten Dispatch aber auch nicht richtig eingeschätzt )
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Zum Debugging schreibe ich etwas im Blog. Der Kernpunkt:
    a) Du kannst typisieren. Der Compiler schaut dann nach, ob die Nachricht zum Typen passt. Das Ergebnis ist eine Warning. Ich habe immer -Wall und -Werror an, siehe Signatur. :)
    Du kannst aber auch nicht typisieren. In beiden Fällen geschieht zur Laufzeit dasselbe. Der Compiler checkt bei einer Typisierung eben nur.
    "Ist ein Objekt statisch typisiert, zeigt der Zeiger ebenfalls auf diese Struktur. Der Compiler kennt hier lediglich bereits die Klasse des Objekts und kann somit auf die Kompatibilität der Typen prüfen. Das Verhalten zur Laufzeit ist jedoch identisch."
    cocoading.de/Common/Article.php?Area=2&Article=4&Page=0

    b) Du kannst typlos arbeiten. Dafür gibt es im Wesentlichen zwei Gründe:
    b.a.) Du hast Collections, also etwa Arrays. In C++ würdest du ein Template typisieren. Bei einer fehlerhaften Zuweisung schmeißt dir das der Compiler um die Ohren. Wie häufig kommt das vor? Normalerweise gar nicht. Wenn du eine Liste von sagen wir Personen hast, musst du schon ziemlich betrunken sein, um da versehentlich ein Auto reinzustecken. Aber selbst wenn dir das passiert, entdeckst du das zur Laufzeit ziemlich schnell, weil dann etwa der Getter -prename des Autos aufgerufen wird, was dir eine Exception im Run Log als Belohnung einbringt. Die Fehlerentdeckungszeit verschiebt sich also um wenige Sekunden/Minuten.

    b.b.) Der zweite Fal sind die Schnittstellen zwischen den MVC-Schichten, hier insbesondere Delegating un dDatasources. Überhaupt asynchrone Angelegenheiten zwischen unabhängigen Teilen. Dazu findest du etwas im Blog, den ich verlinkt habe.
    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"?
  • Du findest hier im Forum einige Threads zu diesem Thema mit der Such-Funktion.

    Es gibt auch etliche Tutorials für die Nutzung dieses C# Xcode plugins.
    Ich weiss gar nicht, ob man externe Links posten darf.

    Wie auch immer.
    Wenn Deine Entwicklungen keine GUI haben und es nur um Consolen-Proramme geht, kannst auch gut einen Editor Deines Vertrauens nehmen (ich finde TextMate super, der hat auch einen C# Modus).
    Wenn Du mit GUI (Windows.Forms) hantierst, wird Dir meiner Meinung nach, keine andere Möglichkeit bleiben als dies unter Windows weiter zu entwickeln, da es für Mac einfach keine IDE gibt, die einen GUI-Designer hat.
    Übrigens gibts auch Cocoa#, eine Bridge zum Cocoa Framework, mit der kannst eine native GUI auf ein .Net/Mono programm drauf setzen.
    Der Mac iFolder client, benutzt das glaube ich.


    Gruss,
    Manfred
  • Hallo Tom9811, asrael und die andern guten Geister

    besten Dank soweit. Ich hoffe nun auf schlechtes Wetter über's Weekend, denn ich werde wohl drinne bleiben ... ihr habt mich ja bestens mit Arbeit eingedeckt !
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Original von asrael
    Du findest hier im Forum einige Threads zu diesem Thema mit der Such-Funktion.

    Die Suche klappt aber nur mit dem Stichwort 'Mono', da 'C#' genau ein Zeichen zu wenig 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
  • Hallo ObjC-Cracks

    in den letzten Tagen habe ich intensiv dem Ratschlag von Tom9811 nachgelebt und mich ( der ich ein völliger Mac-Neuling bin ) in Xcode-3 und Objective-C 2.0 "eingelesen". Weit bin ich noch nicht, aber immerhin. Das sieht alles verd..... professionell, durchdacht, stabil etc. aus. Ich bin mir von M$ ( leider ) was völlig anderes gewohnt.

    Nichtsdestotrotz ist der zweckmässige Einsatz von ObjC vermutlich mit erheblichem Lernaufwand verbunden. Leider ist es eine weitere Sprache für mich, nebst C, Java, C-Sharp, Cobol, PL/I, Pascal und diverse Assembler ... ich hätte mir das eigentlich gerne erspart ... aber ich werde nun wohl auch diese Sprache kennenlernen und einsetzen, weil es mir mit dem Apple-Move Ernst ist.

    Frage 1:

    Eventuell hat mir einer von Euch einen guten Tip für ein Buch über Objective-C 2.0 - allenfalls auch in Verbindung mit Xcode 3. Samples-orientiert, wenn möglich auch mit Reference-Teil, und mit Stichwortverzeichnis. Aber O-2.0 muss es sein, und X-3.0 ! Lieber Englisch, Deutsch geht zur Not auch - am liebsten natürlich Schweizerdeutsch !

    Frage 2:

    Wegen meinem umfangreichen C-Sharp Code habe ich den Eindruck, dass es allenfalls möglich sein könnte, vieles von C-Sharp nach Objective-C 2.0 zu "transpilieren". Hat da eventuell einer von euch Kenntnisse über solche Unterfangen, oder gar eigene Erfahrungen ?

    Besten Dank für Tips !
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran
  • Wenn du jetzt ein Objective-C-2.0-Buch bekommst, dürfte das eher unseriös sein. Da haben sich noch kräftig Sachen geändert, wie auch bei Leopard. Hier würde ich eher auf Online-Doku ausweichen, wenn es mal wirklich um einen Screen-Shot usw. geht.

    Ansonsten sollte es dir zunächst darum gehen zu verstehen, wie das funktioniert. Und da ist das eigentlich ziemlich gleichgültig. Einen großen Push gab es mit .3. Du hast natürlich mit Propertys und GC jetzt eine große Änderung, die dich aber nicht aus der Bahn werfen wird, vor allem dann, wenn du verstanden hast, wie man das früher machte.

    Von Übersetzen zwischen zwei Programmiersprachen halte ich gar nichts. Es geht nicht um Syntax. Es geht um Konzepte. Und die lassen sich nicht mir nichts, dir nichts übersetzen.
    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"?
  • Hallo Tom9811

    Danke für die klare Antwort. Ich werde somit mit dem Buch zu ObjC 2.0 zuwarten resp. es dann vermutlich sein lassen. Soweit ich bislang vorangekommen bin, scheint die Online-Doku welche Xcode 3.0 beiliegt fuer Objc 2.0 OK zu sein.

    Allerdings hat mich das Xcode 3.0 Tutorial erschreckt ! Es scheint für Xcode 2.x geschrieben zu sein, und da habe ich schon etwas Muehe - vorallem bezueglich Designer.

    C# nach ObjC-Translator hatte ich gerade deswegen in Erwägung gezogen, weil mir einige Konzepte deckungsgleich resp. abbildbar erscheinen. ObjC --> C# scheint mir jedoch schon eher problematisch.
    wäre Windows so gut wie OS X, wäre Bill noch viel reicher ... und viele User nicht so beschissen dran