Zum Forum springen
OSX Developer...
 
Benachrichtigungen
Alles löschen

[Geschlossen] OSX Developer...

15 Beiträge
7 Benutzer
0 Reactions
581 Ansichten
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

Zwar bin ich hier nicht unbedingt richtig für sowas, jedoch kann mir evt. jemand einen passenden Wegweiser geben...

Würde demnächst gerne mal anfangen zu programmieren und naja, natürlich bin ich an Anwendungen für das OS interessiert, welches mich selbst überzeugt... Ach, die Programmiersprache sollte auch irgendwo meinen Wert steigern..
Also netter Nebeneffekt, falls mir die Programmiersprache später bei der Jobsuche erheblich helfen könnte.

Jedenfalls konnte ich über Google interessanterweise wenig zu dem Thema finden, abgesehen von einem Apfeltalk Topic: Nimm Objective C, nein - nimm lieber C++, bla bla bla

Gibt es irgend eine Anlaufstelle(Forum), wenn ich mich ernsthaft dafür interessiere? Habe keine Ahnung, wie ich mit dem langen und holprigen Weg am Besten anfangen sollte...

Achja, ob die Programmiersprache einsteigerfreundlich ist oder nicht, interessiert mich ehrlich gesagt 0... Also wird das definitiv nicht zur Entscheidung beitragen

Im Moment bin ich ja der Meinung, dass Java ganz nett sein könnte, damit bin ich dann nichtmal Plattforum gebunden.


14 Antworten

ObjectiveC ist die "native" Programmiersprache von OS X.
Die Frage ist: Was für Anwendungen willst Du programmieren, wie portabel / performant sollen sie sein?
Zielplattform? Programmiererfahrung?

Es gibt meiner Erfahrung nach nicht "die" Programmiersprache, die für Alles am Besten geeignet ist - kaum jemand käme auf die Idee, seine RoR-Applikation nach C zu portieren (hoffe ich).
Umgekehrt macht ein Betriebssystem in PHP wenig Sinn (wenn man das nu Programmiersprache nennen möchte).

Ein Wort zum Thema Einsteigerfreundlichkeit: Es macht wenig bis gar keinen Sinn, Dich mit systemnahen Sprachen wie C & Co rumzuschlagen, wenn Du vorher noch keine Zeile Code geschrieben hast. Zeigerarithmetik und Grabage Collection bringen selbst erfahrene Programmierer oft genug zur Verzweifelung und den Anfänger zum Aufhören. Manche Programme laufen dann zwar irgendwie, aber die Systemnähe der verwandten Sprache wird dann vom Vorteil zum Fluch (Stichwort Memory Leak).

Um genaurer Tipps zu geben, muss ich wissen, wo Du hinwillst.


Kilania Themenstarter
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

Naja, habe Erfahrungen mit VB, zumindestens zwangsweise durch die Schule, da sie dafür von M$ Geld bekommt.

Also an Webanwendungen habe ich garantiert kein Interesse, also fällt PHP schonmal weg ;)

Mag zwar blöd klingen, jedoch habe ich kein fixes Ziel. Zudem dauernd es meiner Meinung nach ohnehin einige Zeit, bis man tatsächlich in der Lage ist sinnvolle Anwendungen zu programmieren. Wer weiß, evt. werde ich Pokertracker für den MAC prigrammieren (Scherz am Rande )

Zielplattforum: OSX only ODER OS unabhängig.. Jedenfalls bestimmt nicht sowas wie VB..
Mir ist bewusst, dass meine Postings wo wohl nahezu garnichts aussagen, jedoch bin ich ja der Meinung, dass es wichtig ist mal eine Programmiersprache richtig zu beherschen - weitere Programmiersprachen erlernen (falls ichs mir irgendwann anders überlegen würde), wäre dann ja wesentlich einfacher.


Zuallererst nennt sich die Firma MS und nicht M$. In den entsprechenden Communities wirst du ganz schnell nur noch belächelt werden, wenn man so etwas liest.

Die Programme die du selber programmieren wirst, werden sowieso anfangs mal alle plattformunabhängig/portierbar sein bzw man muss nur den Compiler dementsprechend drüberlaufen lassen. Da ein eigenes Projekt sehr viel Arbeit ist, würde ich mir ein Opensource-Projekt suchen (gibt auch genügend die auf Mac OS laufen) und dort mitarbeiten. Die meisten werden wohl in C/C++ geschrieben, gibt aber auch ausreichend viele sinnvolle Projekte in anderen Sprachen. Aber auch dafür würd ich mir erst einmal die Grundprinzipien der Sprache aneignen bis man sie sicher beherrscht.


Kilania Themenstarter
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

OK, vielen Dank...
Bei einem Projekt mitmachen ist wohl die effektivste Lösung, stimmt. Bis es aber so weit ist(also ich dazu in der Lage bin), ist es wohl vermutlich ein langer und holpriger Weg.
Werde mich am Anfang wohl nach gratis E-Books umsehen und ggf auch Bücher kaufen.

Aus deinem Post geht ja nun hervor, dass viele Projekte in C/C++ geschrieben werden, aus dem Post von Kurushiyama geht wiederum hervor, dass C am Anfang evt. doch nicht eine so tolle Wahl ist..
Hm :)


SWEBBO
Beigetreten: 03.08.2006
Oldschool Grinder

Ich würde dir vorschlagen, dich mit Java zu beschäftigen. Es ist relativ einfach, objektorientiert, plattformunabhängig und du kommst relativ schnell zu Ergebnissen. C und C++ würde ich von abraten, da die Bescäftigung mit Memory-Management dich wohl erstmal überfordern wird. Gleiches gilt für Objective C, wo auch noch (meines Wissens) das Memory-Management eine größere Rolle spielt, außerdem komme ich auf die ganzen eckigen Klammern nicht klar...

Zu Java gibt es haufenweise Tutorials und gute kostenlose IDEs (Eclipse).


Ich tendiere dazu, meinem Vorposter zuzustimmen. Eine Alternative zu Java wäre C# mit Mono.

Da ich immer noch nicht so genau weiß, wo die Reise hingehen soll, stellt sich die Frage, ob Python nicht auch Sinn machen würde. GUIs kann man damit auch bauen, es ist leicht zu erlernen und man kommt echt schnell zu Ergebnissen. Hat man Python erstmal ein gefressen, sind andere OO Sprachen nicht mehr so schwierig.

ObjectiveC 2.0 hat nen Garbage Collector.

Meine IDE ist übrigens Textmate


MadCow
Beigetreten: 15.09.2006
Oldschool Grinder

Ich würde auch Python empfehlen.
Ist sehr leicht zu lernen und gleichzeitig sehr mächtig.

Zusätzlich schadet es nicht noch C/C++ zu lernen da die Konzepte dieser Sprache doch einiges über die Funktionsweise von Computern lehrt. Ob du das brauchst hängt allerdings von den Anwendungen ab die du entwickeln willst.


Kilania Themenstarter
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

Stimmt, mit Java kam ich auch gut zurecht, habe mich vor längerer Zeit mal teilweise eingelesen (selbe gilt für C.. also eingelesen)

Zu Python... Also habe mich ja wie gesagt vor einiger Zeit damals damit grob mit den Sachen beschäftigt und habe über Python gelesen, dass es zwar sehr einfach ist, jedoch sei es besser direkt mit einer OO Sprache anzufangen, da man sich sonst einen "mießen" Stil angewöhnen würde.


MadCow
Beigetreten: 15.09.2006
Oldschool Grinder

Python ist auch objektorientiert (ist sogar ne multiparadigmen Sprache)

Alternative zu C/C++ wäre es vielleicht auch gleich D zu lernen. Ist zwar sehr neu und noch nicht weit verbreitet koennte aber in Zukunft von nutzen sein (sollten deine geplanten Anwendungen eine solche Sprache erfordern)


lordTasse
Beigetreten: 17.01.2005
PokerStrategist

lern doch objective c und code iphone apps


Kilania Themenstarter
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

D? Joa, muss schon ziemlich neu sein, wusste nichtmal, dass es D gibt Oo

Tasse, zwar nett für ein Iphone Apps programmieren zu können, jedoch sehe ich darin nicht wirklich mein Ziel


D ist definitiv noch nicht als Anfängersprache geeignet.
Die toolchain ist noch nicht stabil.
Da würde ich eher noch ein Jahr warten.

Ich mache die Packages für tango, darunter auch dmd (compiler), dsss (build-tool) und eben tango (runtime library). Geht zwar alles, ist aber noch sehr im Wandel.

Nach dem Essen mehr.

EDIT (nach dem Essen):
Der dmd Compiler ist nicht quelloffen. Weniger, weil Walter das grundsätzlich ablehnen würde, aber er ist halt noch nicht zufrieden.
Ein anderes Problem ist, das Walter nicht ausschließlich an dmd arbeiten kann.
Das macht sorgt dafür, das die Entwicklung der Sprache langsamer verläuft, als sie könnte.
Deshalb wurde der gdc Compiler gebaut, allerdings wird der nicht mehr weiterentwickelt.

Das LLDC-Projekt (ein D Compiler auf Basis von LLVM) hat zwar gerade den ersten Release herausgebracht und da gibt es noch einige kritische Probleme.

Die Sprache an sich ist super. XML Parsing ist unglaublich schnell, die Tango Runtime hat ein Cluster Framework (uvm), die Syntax ist übersichtlich und es gibt einen guten Garbage Collector.

Für einen Anfänger ist sie dennoch nicht geeignet, da nur schwer zu unterscheiden ist, ob's nun wegen eines Bugs nicht klappt oder wegen eines eigenen Fehlers.


Ernsthaft gemeinter Rat falls du nicht systemnah entwickeln moechtest:

Java!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11111einseinself

Kein Pointergeraffel, schoen OO und die meisten Standardsachen lassen sich ohne Probleme programmieren. (GUI mit Swing, Datenbank/Netzwerkprogrammierung, Spiele, ....)

Vergiss alles andere am Anfang, Python waere noch eine gute Alternative aber glaub mir lern gescheit Java, bringts fuer Anwendungen am meisten.


Kilania Themenstarter
Kilania
Beigetreten: 23.04.2007
Oldschool Grinder

Habe mich mit Kurushiyama im Skype mittlerweile auf Python geeinigt ;)
Danke nochmal

Zudem bedanke ich mich auch für die zahlreichen Antworten, häbe mir garnicht so viel erwartet ;)


Teilen: