Objective-C lernen - Lohnt sich das noch? Aufwand?

Diskutiere das Thema Objective-C lernen - Lohnt sich das noch? Aufwand? im Forum Mac OS Entwickler, Programmierer.

  1. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    Meines Wissens sind das zwei getrennte Welten. Es gibt wohl Überlegungen ob Apple die beiden zusammenführt.
    (Das ist mein Wissen, aber ich bin kein Apple/MacOS/ios Programmierer! Wenn ich damit falsch liege mag man mich bitte verbessern)
     
  2. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    Beim programmieren ist es eigentlich nie das Wissen um die Programmiersprache. Die 50-70 Befehle sind schnell erlernt. Das wichtige Wissen ist das Framework.
    Wie greife ich auf ne Datenbank zu, wie nutze ich dynamisches SQL, wie kommunizere ich mit anderen Tools (MQSeries z.B.), welche Dateiformate gibt es und welche Unterschiede gibt es da, wie schreibe ich restartfähige Batchprogramme....usw usw usw....die Liste ist ellenlang....je mehr Erfahrung, desto wertvoller bist als
    Prorammierer...

    Zu den Grundlagen gehört natürlich auch die verschiedenen Zahlensysteme Oktal, Hex....wie manipuliere ich Daten...
     
  3. chris25

    chris25 Mitglied

    Beiträge:
    3.935
    Zustimmungen:
    1.083
    Mitglied seit:
    10.08.2005
    Meiner Erfahrung nach können Model- und Controller-Klassen für iOS und macOS in der Regel weitestgehend identisch sein, die View-Klassen müssen angepasst werden (schon wegen Touch vs. Maus, aber auch unterschiedlichen Klassen in Apples Frameworks).
     
  4. lisanet

    lisanet Mitglied

    Beiträge:
    793
    Zustimmungen:
    254
    Mitglied seit:
    05.12.2006
    Mein "Schlüsselerlebnis" hatte ich, als ich mal aus dem Programm heraus dem User eine zuvor generierte Datei als Anhang via Mail verschicken lassen wollte. Nachdem ich mich hab zu tot gesucht habe, wie ich unter macOS Mail "fernbediene" oder mit Apple-Script oder per command line eine Mail versende, bin ich dann auf folgenden Einzeiler gekommen:

    Code:
    [[NSWorkspace sharedWorkspace] openFile: basename withApplication: @"Mail"];
    Und das finde ich schon extrem elegant. :D
     
  5. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    So elegante Dinge kann ich in meiner Umgebung leider nicht programmieren....
    Da beneide ich Dich....
     
  6. Atalantia

    Atalantia Mitglied

    Beiträge:
    1.071
    Medien:
    3
    Zustimmungen:
    141
    Mitglied seit:
    26.11.2009
    Danke. Nach der Sichtung dieser Schulung ist es für mich definitiv klar, dass ich das nie lernen werde. Aber es ist auf jedenfall etwas vom besten, das ich zu diesem Thema je gesehen habe.
     
  7. Haskelltier

    Haskelltier unregistriert

    Beiträge:
    570
    Zustimmungen:
    1.329
    Mitglied seit:
    16.08.2017
    Halte ich zumindest bei einem Programmieranfänger nicht für sinnvoll. Wenn man bereits mindestens eine Programmiersprache beherrscht und weiß, was objektorientierte Programmierung ist, mag das gehen, einem Anfänger hilft der vorhandene Code aber absolut nicht. Denn der weiß gar nicht, wie so ein Programm aufgebaut ist, was für Konzepte bei der Erstellung des Codes verwendet wurden, und hat darüber hinaus noch fremden Code, in den er oder sie sich erstma mühsam einarbeiten muss. Und das ist schwierig, wenn das nicht gerade ein sehr einfaches Programm ist.
    Dann sollte man doch eher konkrete, einfache Probleme hernehmen (beispielsweise das Programmieren eines einfachen GUI-Taschenrechners) und sich die Lösungen mit Buch und/oder gutem Lehrmaterial/Videos usw. aus dem Netz selbst erarbeiten, während man parallel die Konzepte lernt und durch die Anwendung Routine bekommt.

    Gut, den Programmfluss kann ich mir so anschauen, nur weiß ein Anfänger dann immer noch nicht warum Dinge so gelöst wurden wie sie gelöst wurden. Wenn bereits ein gewisses Basiswissen vorhanden ist, mag das zu der einen oder anderen Erkenntnis führen, aber sonst doch eher nicht.
     
  8. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    C ist als Anfängersprache vielleicht auch nicht gerade ideal. In C kann man den Code so schreiben das man gar nix mehr versteht....
     
  9. lisanet

    lisanet Mitglied

    Beiträge:
    793
    Zustimmungen:
    254
    Mitglied seit:
    05.12.2006
    Ist C nicht genau dafür erfunden worden? Einfach und klar kann jeder. ;)
     
  10. Haskelltier

    Haskelltier unregistriert

    Beiträge:
    570
    Zustimmungen:
    1.329
    Mitglied seit:
    16.08.2017
    C ist relativ hardwarenah. Bedeutet, man bekommt sehr gute Performance, allerdings zu dem Preis, dass man sehr leicht schwer zu findende Fehler in seinen Code einbauen kann. Was auch regelmäßig geschieht, wenn das Programm erst einmal eine gewisse Größe und Komplexität erreicht hat. Einfach, klar und gut wartbar ist dieser Code in der Tat nicht. Weswegen ich jedem empfehlen würde nicht C einzusetzen, wenn die Performance nicht gebraucht wird. Denn dann mag die Performance nicht so gut sein (aber immer noch in einem unproblematischen Bereich), dafür bekommt man aber in der Regel Code, der leichter zu verstehen und leichter zu warten/erweitern ist.
     
  11. xentric

    xentric Mitglied

    Beiträge:
    3.845
    Zustimmungen:
    666
    Mitglied seit:
    11.05.2007
    Was genau meine erste Variante zwei Posts darüber war, und abgelehnt wurde. Also?

    Sehe ich nicht so. Grund hab ich geschrieben. Man erspart sich das zig tausendfache suchen nach api/framework dokumenten von denen man nichtmal weis, dass sie existieren.

    Klar brauch man etwas Grundkenntnisse, aber die brauch man immer, bei jeder methode. Ich werd mich auch nicht als bäcker versuchen, wenn ich nicht weiss was ein gramm ist.
     
  12. Haskelltier

    Haskelltier unregistriert

    Beiträge:
    570
    Zustimmungen:
    1.329
    Mitglied seit:
    16.08.2017
    In dem Post steht meiner Interpretation nach etwas anderes. Dort schreibst du, dass du dir ein konkretes Problem suchst, drauflos programmieren willst und dir bei Fragen/Problemen Lösungen suchst. Ich würde andersrum rangehen und mir ein vernünftiges Buch oder Lernmaterial nehmen und die erlernten Konzepte an Hand eigener Beispielprogramme auch praktisch anzuwenden. Und Foren sind immer so eine Sache. Bei konkreten Fragen, bekommt man sicher hilfreiche Antworten, da bringt mir aber niemand eine Programmiersprache bei (bestenfalls bekomme ich Tipps, wo ich die erlernen kann).

    Gut, ich sehe vielleicht was eine API oder Framework hergibt, um zu verstehen wie ich damit vernünftig arbeite, muss ich aber dennoch die Dokumentation konsultieren. Wenn ich allerdings keine Ahnung habe, ob für Problem x nicht schon ein Framework vorhanden ist, das ich nur noch nicht kenne, konsultiere ich eine Suchmaschine meiner Wahl oder frage in entsprechenden Foren nach. Da fällt meist ein passendes Stichwort, das mir weiterhilft. Dafür muss ich dann nicht fremden Programmcode lesen und hoffen, dass dort jemand ein ähnliches Problem bereits gelöst hat.
     
  13. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    C ist mehr ne Sprache für Fortgeschrittene, man denke nur an die Möglichkeiten mit Zeigern in C zu operieren...
    Für die Wartbarkeit des Codes ist der Programmierer selbst verantwortlich, du kannst in jeder Sprache Code schreiben der schrecklich ist.
    Man denke nur an die Goto-Programmierung in Basic.

    In den meisten IT-Firmen gibt es dafür Vorschriften, sonst kannst den Code nach 3 Jahren wegwerfen...
     
  14. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
     
  15. Haskelltier

    Haskelltier unregistriert

    Beiträge:
    570
    Zustimmungen:
    1.329
    Mitglied seit:
    16.08.2017
    Sehe ich nicht so. C ist eine Sprache, bei der man sehr gut aufpassen muss, wenn man damit möglichst fehlerfreie Programme schreiben will (ganz ohne Fehler gelingt selbst den besten nicht, zumindest dann nicht, wenn das Programm halbwegs komplex ist). Das hält aber schlechte Programmierer nicht davon ab, diese zu verwenden, obwohl sie es besser nicht sollten (mit Pointern kann halt jeder rummachen und die Compiler lassen ja viel Murks zu). Und durch die relativ hohe Verbreitung von C kommt es zwangsläufig dazu, dass sie auch von schlechteren Programmierern verwendet wird.

    Eine Programmiersprache, die sehr viel sicherer ist und bei der die Nutzerschaft aus überdurchschnittlich guten Programmierern besteht, ist beispielsweise Haskell. Der Grund ist einfach: Mit Haskell hat man wenig Freude, wenn man nur versucht irgendetwas zusammenzustümpern (der Compiler lässt viel weniger durchgehen). Und die zugrundeliegenden Programmierparadigmen und Abstraktionen, die man beherrschen muss, um mit Haskell umgehen zu können, sind für viele wesentlich schwieriger zu erlernen.
     
  16. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    C ist echt sehr schwierig und tricky !!!
    Man beachte nur das Hochzählen der Variablen i
    ++i
    oder
    i++

    Geht beides, liefert aber komplett unterschiedliche Ergebnisse. Das ist nichts mehr für einen Beginner....
     
  17. Haskelltier

    Haskelltier unregistriert

    Beiträge:
    570
    Zustimmungen:
    1.329
    Mitglied seit:
    16.08.2017
    Das ist mit ein Grund, weswegen Anfänger diese Sprache besser nicht produktiv verwenden sollten (und für den Einstieg ist C denkbar ungeeignet). Es hält den Anfänger aber nicht davon ab, Programme mit vielen Fehlern in C zu schreiben.
     
  18. Bitcruncher

    Bitcruncher unregistriert

    Beiträge:
    2.807
    Zustimmungen:
    3.658
    Mitglied seit:
    11.10.2003
    Ich würde da dann doch was einfacheres empfehlen
    BASIC
    Beginner’s All-purpose Symbolic Instruction Code
     
  19. wegus

    wegus Mitglied

    Beiträge:
    16.237
    Zustimmungen:
    2.826
    Mitglied seit:
    13.09.2004
  20. oneOeight

    oneOeight Mitglied

    Beiträge:
    51.225
    Zustimmungen:
    5.069
    Mitglied seit:
    23.11.2004
    naja, pre- und post-increment sind jetzt nicht so schwierige konzepte.
    wenn man genau hin guckt, verrät allein doch schon die schreibweise was da passiert.
     
Die Seite wird geladen...

MacUser.de weiterempfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Akzeptieren Weitere Informationen...