Der X. Thread zur Zukunft von Swift

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

  • Der X. Thread zur Zukunft von Swift

    Hallo Community,

    auf die Gefahr hin das ich für einen erneuten Thread zur Zukunft von SWIFT gesteinigt werde möchte ich das Risiko eingehen und eine erneute Diskussion auslösen.
    Allerdings weicht meine Problemstellung etwas vom allgemeinen ab.
    Ich bin nämlich derzeit in einer Ausbildung zum Fachinformatiker-Anwendungsentwicklung welche nächstes Jahr endet.
    Beruflich programmiere ich mit Delphi und ein bisschen PHP. Schulisch bin ich auch mit C# vertraut womit ich auch ganz gut klar komme.
    Jetzt möchte ich mich aber privat weiterbilden und da ich schon mal die Chance hatte mich mit der iOS App Entwicklung zu beschäftigen, und mir das viel Spaß gemacht hat, wollte ich dort wieder ansetzen.
    Jetzt stellt sich mir nur die Frage, Objective-C oder Swift.
    Da ich beruflich später eventuell den Weg zur iOS Programmierung einschlagen möchte interessiert mich besonders was für Unternehmen interessanter ist. Wird man da in den nächsten 1 bis 2 Jahren noch auf Objective C setzen und neue Programmierer ohne diese Kentnisse ablehnen?
    Oder ist es ratsam Swift zu erlernen und darauf zu pokern das Unternehmen dann Programmierer suchen um einen Wechsel von Objective-C auf Swift einzuleiten?

    Ich habe schon einiges dazu hier im Forum gelesen was für und gegen Swift spricht, allerdings konnte ich meine Fragestellungen damit noch nicht klären.

    Ich habe auch schon daran gedacht mehr Zeit zu investieren und über die Grundlagen von Objective-C zu Swift zu gehen, dann könnte man Objective-C in den Grundlagen um eventuell in alten Projekten etwas zu ändern und Swift für neue Projekte. Ist solch ein Gedanke realistisch?

    Bedanke mich jetzt schon mal für alle Antworten,

    Gruß,
    der Chronisch
  • Chronisch schrieb:

    allerdings konnte ich meine Fragestellungen damit noch nicht klären.


    das wird hier auch keiner klären können
    hier können dir alle nur ihr persönliche Meinung geben

    wenn dir hier einer sagt Swift ist die Zukunft dann wirst du wahrscheinlich gute Karten haben wenn du swift kannst und dich bei ihm bewirbst
    bei jemand anders wird das anders sein
    guck dir doch mal aktuelle iOS Entwickler Stellenausschreibungen an, steht da irgendwo schon Swift drin?
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • nussratte schrieb:

    Chronisch schrieb:

    allerdings konnte ich meine Fragestellungen damit noch nicht klären.


    das wird hier auch keiner klären können
    hier können dir alle nur ihr persönliche Meinung geben

    wenn dir hier einer sagt Swift ist die Zukunft dann wirst du wahrscheinlich gute Karten haben wenn du swift kannst und dich bei ihm bewirbst
    bei jemand anders wird das anders sein
    guck dir doch mal aktuelle iOS Entwickler Stellenausschreibungen an, steht da irgendwo schon Swift drin?


    Stellenangebote habe ich mir bereits angeschaut und dort steht nur ganz ganz vereinzelt was von Swift.
    Das mir hier niemand DIE Lösung dazu geben kann oder mir 1zu1 die Zukunft vorraus sagt ist mir auch klar, allerdings habe ich auf Prognosen von Leuten gehofft, die z.B. aus der Sicht ihreres Unternehmens berichten können.
    Denn ich persönlich kann das, aus unternehmerischer Sicht, einfach nicht einschätzen.
  • Chronisch schrieb:


    Jetzt stellt sich mir nur die Frage, Objective-C oder Swift.


    Auch auf die Gefahr hin, alte Kamellen zum tausendsten Mal aufzuwärmen: Deine Fragestellung ist wenig sinnvoll. In Deiner Ausbildung solltest Du gelernt haben, dass die Kenntnis einer Programmiersprache nur der kleinste Baustein auf dem Weg zum Programmierer ist. Es geht dabei vielmehr um Konzepte und die Fähigkeit, Algorithmen entwickeln zu können. In welcher Sprache Du das machst, ist vollkommen sekundär. Wenn Du Dich mit iOS-Programmierung auseinandersetzen willst, musst Du lernen, wie iOS funktioniert, welche Eigenarten die Plattform hat, welche Bibliotheken es gibt und wie Du sie verwendest. Ob Du das dann am Ende in Objective-C, in Swift, in HTML oder JavaScript machst, ist vollkommen egal. Eine neue Sprache hast Du in einer Woche gelernt. Ok, bei Objective-C ist es eine halbe Woche.

    Oder anders: fang mit Objective-C an. Aus Gründen. Und in zwei Jahren, wenn sich rausgestellt hat, dass Swift doch nicht nur ein verspäteter Aprilscherz von Apple war, machst Du einen Crashkurs Swift, und fertig ist die Laube.
  • kmr schrieb:

    Chronisch schrieb:


    Jetzt stellt sich mir nur die Frage, Objective-C oder Swift.


    Auch auf die Gefahr hin, alte Kamellen zum tausendsten Mal aufzuwärmen: Deine Fragestellung ist wenig sinnvoll. In Deiner Ausbildung solltest Du gelernt haben, dass die Kenntnis einer Programmiersprache nur der kleinste Baustein auf dem Weg zum Programmierer ist. Es geht dabei vielmehr um Konzepte und die Fähigkeit, Algorithmen entwickeln zu können. In welcher Sprache Du das machst, ist vollkommen sekundär. Wenn Du Dich mit iOS-Programmierung auseinandersetzen willst, musst Du lernen, wie iOS funktioniert, welche Eigenarten die Plattform hat, welche Bibliotheken es gibt und wie Du sie verwendest. Ob Du das dann am Ende in Objective-C, in Swift, in HTML oder JavaScript machst, ist vollkommen egal. Eine neue Sprache hast Du in einer Woche gelernt. Ok, bei Objective-C ist es eine halbe Woche.

    Oder anders: fang mit Objective-C an. Aus Gründen. Und in zwei Jahren, wenn sich rausgestellt hat, dass Swift doch nicht nur ein verspäteter Aprilscherz von Apple war, machst Du einen Crashkurs Swift, und fertig ist die Laube.


    Danke für die Antwort. Das die Programmiersprache alleine nicht entscheidet ist war mir bewusst, allerdings hatte ich deine Sichtweise trotzdem nicht bedacht.
    Werde mir das Buch aus deiner Signatur bestellen und das erstmal durcharbeiten. Danke dir.

    Gruß,
    der Chronisch
  • Chronisch schrieb:

    Denn ich persönlich kann das, aus unternehmerischer Sicht, einfach nicht einschätzen.

    Auch ein Unternehmer kann das nicht besser einschätzen. Denn nichts ist schwerer vorherzusagen als die Zukunft.
    Das wäre für den Unternehmer nur dann einfacher als für den zukünftigen Mitarbeiter zu entscheiden, wenn Apple eine Geheiminformation an Unternehmer verteilt hätte in der drinsteht: "ab Mitte 2015 werden nur noch Apps akzeptiert, die in Swift geschrieben sind". Dann hätte der Unternehmer mehr Infos um leichter eine Entscheidung zu treffen als Du.
    Daher wird man als Unternehmer zweigleisig fahren: Obj-C nicht vernachlässigen und sich auf einen evtl. Durchsetzen von Swift vorbereiten. Aber auch nicht zu viel, falls Swift sich genauso weit verbreitet wird wie Automator oder Apple-Script (wer benutzt das eigentlich?). Das heißt dass Bewerber die sich mit beidem auskennen etwas besser dran sind als einer der nur das eine oder andere kann.
    Und dann denkt der Unternehmer an Risiken und Projektzeitpläne. Und so bevorzugt man bei kritischen Projekten das bewährte und bekannte (Obj-C - oder manche Branchen noch COBOL und FORTRAN).
    Außerdem sind 90% was man lernen muß die Bibliotheken, Frameworks und Konzepte. Und nur 10% die eigentliche Sprache.

    -- hns
  • Chronisch schrieb:

    allerdings habe ich auf Prognosen von Leuten gehofft, die z.B. aus der Sicht ihreres Unternehmens berichten können.
    Denn ich persönlich kann das, aus unternehmerischer Sicht, einfach nicht einschätzen.


    Also ich kann dir aus Sicht unseres Unternehmens sagen, dass aktuell gar nicht die Zeit dafür da ist, dass wir uns mit Swift auseinander setzen könnten. ganz davon ab würden damit Betriebssysteme nicht mehr unterstützt, die immer noch ein relativ großer Teil des Kuchens verwenden...

    Wir sind aktuell und vermutlich auch in der nächsten Zeit komplett mit Objective-C und ohne Swift unterwegs.
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • hns schrieb:

    oder Apple-Script (wer benutzt das eigentlich?).

    Täusch' Dich mal nicht. Gerade AppleScript gibt's schon lange, sehr lange. Da basteln viele Leute Workflows draus. Also aus der einen Anwendung was per AppleScript exportieren, evtl. ein bißchen am Format drehen, eine andere Anwendung per AppleScript ansprechen. Dafür war's ja auch gedacht, nicht zum Entwickeln von komplexen Anwendungen. Wir kriegen regelmäßig Anfragen zur AppleScript-Unterstützung.

    Ansonsten kann ich mich meinen Vorrednern nur anschließen. Programmiersprache ist im Prinzip sekundär, die wird man öfters im Berufsleben wechseln müssen. Konkret zu iOS/Mac OS X: Ohne Objective-C geht zur Zeit noch gar nix. Ohne Swift hingegen schon. Also mit Objective-C anfangen.

    schönen Gruß

    gandhi
  • Chronisch schrieb:

    Danke für die Antwort. Das die Programmiersprache alleine nicht entscheidet ist war mir bewusst, allerdings hatte ich deine Sichtweise trotzdem nicht bedacht.
    Werde mir das Buch aus deiner Signatur bestellen und das erstmal durcharbeiten. Danke dir.


    Das war gar nicht als Werbepost gedacht. Aber wenn Du Dich schon nicht abhalten lassen willst, warte auf die Ende des Jahres erscheinende Auflage 4. Da gibt es eine Swift-Einführung, ein bisschen Swift-Code, eine Anleitung zum Umstellen vorhandener Projekte auf Swift und eine ausführliche Begründung, warum Swift jetzt ganz nett™ ist, aber man im produktiven Bereich besser warten sollte, bis ein bisschen Ruhe, Stabilität und eine auf Swift angepasste API eingekehrt sind.
  • Auch hier ist Swift aktuell noch überhaupt kein Thema. Ob sich das ändern wird? Keine Ahnung. Auch aus meiner Sicht ist es absolut egal welche Programiersprache man lernt, solange man die Funktionsweise und Konzepte dahinter verstanden hat. Die Sprache sind natürlich alle unterschiedlich aber in ihrem Feld eigentlich auch wieder alle gleich. Es später also schnuppe ob mein begin-end oder { } verwendet. Ich arbeite z.B. mit Objectiv-C, Java, C# an Apps für iOS, Mac, Android, Windows Phone und Windows. Zwischen den Sprachen zu wechseln kostet mich immer 1-2 Stunden in denen es noch nicht so ganz rund läuft. Spätestens dann habe ich mich aber wieder umgewöhnt. Viel entschiedener sind dann immer die Wechsel zwischen den verschiedenen Plattformen mit den unterschiedlichen Konzepten, etc.

    Ich würde mir also an deiner Stelle aktuell keinen Kopf um Swift oder Nicht-Swift machen. An deiner Stelle würde ich mich um Objectiv-C kümmern weil das im Moment einfach noch deutlich weiter verbreitet ist. Beispiele, Tutorials, etc. sind also oft noch rein in Objectiv-C gehalten. Wenn man eine Plattform verstehen will finde ich es immer gut sich an vorhandenen Beispielen vorhandene Lösungen anzuschauen. Dort kommt man also mit (m.M.n) aktuell mit Object-C noch weiter.
  • kmr schrieb:

    warum Swift jetzt ganz nett™ ist, aber man im produktiven Bereich besser warten sollte, bis ein bisschen Ruhe, Stabilität und eine auf Swift angepasste API eingekehrt sind.


    So wie's bei Apple gerade läuft, wird aber kurz vor diesem Zeitpunkt Swift 2.0 vorgestellt und das war's dann wieder mit der Stabilität. Folgende Features könnte ich mir vorstellen:
    • "awesome" und "even more powerful than swift"
    • "type prediction": Bevor Du's tippst, weiß der Compiler schon den Typ!
    • "enum-classes": struct, class und enum werden durch ein einziges Konstrukt "eclass" abgelöst. In dem Zusammenhang werden polymorphe Typen eingeführt, sog. "union-classes", Motto: "one class, fits all!"
    • Legacy-Support für Objective-C-Bridging entfernt.
    • Xcode 7 mit sog. "useless code-completion" und "worst online-documentation ever", aber dafür mit "auto-restart" nach einem Crash zum nahtlosen Weiterarbeiten.
    ciao

    gandhi
  • Meine Einschätzung ist, dass Swift sich sehr schnell durchsetzen wird - nicht nur, weil Apple sehr entschlossen an die Sache rangeht, sondern auch, weil das meiste Feedback von Entwicklern positiv ist (so ziemlich die einzigen, die hier aus verständlichen Gründen ausscheren sind ein paar "nostalgische" Objective-C-Fans).
    Natürlich wird Objective-C noch lange (zumindest ein paar Jahre) ein Thema sein, aber mich würde überraschen, wenn 2016 noch viele neue Projekte ohne Swift gestartet werden.
    Wenn Apple zur Abwechslung mal alles richtig macht und die Sprache pusht (möglichst viel Open source, direkt andere Plattformen unterstützen...) sehe ich sogar Potential, die ganze Industrie umzukrempeln:
    Es gibt viele neue Sprachen, aber bei den meisten sieht es bei der Infrastruktur ziemlich düster aus - Apple hat mit Dingen wie den Playgrounds aber schon jetzt ordentlich vorgelegt und muss eigentlich nur noch Xcode weiter optimieren.
  • t-no schrieb:

    Wenn Apple zur Abwechslung mal alles richtig macht und die Sprache pusht (möglichst viel Open source, direkt andere Plattformen unterstützen...) sehe ich sogar Potential, die ganze Industrie umzukrempeln:

    Und welchen (finanziellen) Vorteil hätte das für Apple? 8|
    «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:

    Meine Einschätzung ist, dass Swift sich sehr schnell durchsetzen wird - nicht nur, weil Apple sehr entschlossen an die Sache rangeht, sondern auch, weil das meiste Feedback von Entwicklern positiv ist (so ziemlich die einzigen, die hier aus verständlichen Gründen ausscheren sind ein paar "nostalgische" Objective-C-Fans).

    Deine Aussage impliziert eine gewisse Veränderungs- oder Denkfaulheit bei den Leuten, die Swift ablehnen. Ich habe mich aus nahe liegenden Gründen schon sehr intensiv mit Swift beschäftigt.

    Also bei mir ist das so, dass meine Abneigung gegen Swift stetig wächst, um so mehr ich die Sprache anwende. Mit Objective-C habe ich mich, obwohl ich aus der C-Ecke komme, am Anfang auch sehr schwer getan. Die Sprache hat zwar teilweise eine ungewohnte Syntax, ist aber durch ihre kleine Menge an Schlüsselwörtern im Ganzen relativ kompakt, einfach und bedarfsgerecht. Swift dagegen ist sehr umfangreich und auch entsprechend kompliziert und bietet viele Features, die man nicht braucht. Hier ist eine kleine, sehr unvollständige Liste, die jedem Anfänger das Leben schwer machen:
    1. Die Parallelität von Objective-C- und reinen Swift-Klassen.
    2. Type-Inference und Typsicherheit (Wenn Apple das so toll findet, warum verwendet Apple dann an allen möglichen Stellen AnyObject? Meiner Meinung nach besteht zwischen beiden Paradigmen auch ein gewisser Widerspruch.)
    3. Generics
    4. Optionals
    5. Operator-Overloading und selbstdefinierte Operatoren
    Ich finde eher, dass die Swift-Befürworter die Sprache zu unkritisch sehen.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    (Wenn Apple das so toll findet, warum verwendet Apple dann an allen möglichen Stellen AnyObject? Meiner Meinung nach besteht zwischen beiden Paradigmen auch ein gewisser Widerspruch.)

    Deshalb bin ich auch der Meinung, dass Swift Objective-C nur ersetzen kann, wenn Apple wieder eine Transition wie vom Mac OS Classic (Carbon) zu OS X (Cocoa) macht, also auf ein komplett neues, auf Swift basiertes API (dann auch ohne AnyObject) umstellt. Mit der Konsequenz, dass alle heutigen OS X und iOS Programme dann irgendwann nicht mehr laufen werden.