Programmieren

Tja, was und für wen man programmiert sollte man schon berücksichtigen - daraus ergibt sich dann ja, ob Java oder Objective-C oder ganz was anderes (z.B. ist für kleine und mittelgroße Berechnungsprogramme gerade für Anfänger Fortran immer noch am geeignetsten ;) ) günstiger ist :)
 
Tja, was und für wen man programmiert sollte man schon berücksichtigen - daraus ergibt sich dann ja, ob Java oder Objective-C oder ganz was anderes (z.B. ist für kleine und mittelgroße Berechnungsprogramme gerade für Anfänger Fortran immer noch am geeignetsten ;) ) günstiger ist :)

Hey, ich schaue mir sogar gerade PHP an!!!!!!!!!!!!!

Ich hoffe bloß, dass es nicht meinen Charakter verdirbt und bin mir da noch nicht ganz so sicher.
 
Hey, ich schaue mir sogar gerade PHP an!!!!!!!!!!!!!

Ich hoffe bloß, dass es nicht meinen Charakter verdirbt und bin mir da noch nicht ganz so sicher.

bei dem auftreten hier brauchst Du Dir da keine Sorgen mehr zu machen ;)

anegmawad schrieb:
Wer Vorteile einer Programmiersprache aufzählt, die die allermeisten Programmiersprachen bieten, muss jedenfalls das Weitwinkel-Objektiv verlegt haben.

Ich würd da z.B. C oder C++ ausnehmen. Objective-C ist in der Tat eine angenehme Ausnahme bei den C-Sprachen! Dein Weitwinkel weist jedoch einige merkwürdige Verzerrungen im Randbereich auf! Du hast ja auch in einigen Dingen recht. Die Absolutheit mit der Du hier auftrittst macht Dich jedoch wenig glaubwürdig! Versuchs mal mit konkreten Argumenten und einem softeren Ton - könnte besser klappen! :)
 
Du meinst, weil du mit persönlichen Angriffen gegen mich angefangen hast?

Nein weil Du pauschalierst, gleich bei der ersten Antwort und weil man gerade bei formalen Sprachen doch so wunderbar mit Fakten arbeiten kann - wenn man denn will.
 
Objective-C ist genauso "einfach" zu erlernen wie java, meines erachtens sogar einfacher, insbesondere wenn man nicht "Vorbelastet" ist kann man damit zu hervoragenden Ergebnissen kommen. ;)

absolut richtig! Wenn man ein Mac-only zentriertes Klientel hat auch die einzig sinnvolle Wahl!
 
Was ich vorhabe:

Ich möchte für Rapidshare ein kleines Upload Tool basteln und dazu eine Grafische Oberfläche machen hoffe ja das dies nicht all zu schwer ist.
Was brauche ich dazu.

Danke für eure Hilfe.
Um zur Ausgangsfrage des Threaderstellers zurückzukommen. :D
 
Nein weil Du pauschalierst, gleich bei der ersten Antwort und weil man gerade bei formalen Sprachen doch so wunderbar mit Fakten arbeiten kann - wenn man denn will.
Du meinst so wie deine Antwort mit Allgemeinplätzen, die für so ziemlich jede Programmiersprache gelten? Wieso hast du dann nicht mit Fakten gearbeitet? Also noch einmal:

Was ist denn in deiner Liste der Unterschied zu zahlreichen anderen Programmiersprachen? Jetzt hast du wiederholt die Gelegenheit, deine Allgemeinplätze mit Fakten zu füllen.

Ich bemerke aber schon, dass du offenkundig eine innere Liebe zu Java pflegst und es bis aufs Blut verteidigst. Das ist mir zu anstrengend …
 
Die mangelnde Dynamik im Dispatching, die solche Sachen wie KVC, KVO, Bindings, Core Data usw. wenn nicht unmöglich machen, dann doch extrem erschweren. Cocoa on Java ist ja nicht ohne Grund zunächst von Apple schlecht gepflegt und nunmehr zur "Lernplattform" erklärt worden.

Und das sind nun einmal Schlüsseltechnologien, die Arbeit extrem vereinfachen.

In vielen Sachen gebe ich dir vollkommen Recht ;)

Nur bin ich auch der Meinung, dass eine Sprache wie Java, mit der du wirklich nahezu alles machen kannst, für einen Anfänger die bessere Alternative ist, als Objective-C mit Cocoa. Die Mac-Einschränkungen liegen eher im miserablen Apple-Support begründet. Um sich aber in die Materie einzuarbeiten und die ersten (schnellen) Erfolge zu erzielen, wäre Java für mich die Sprache der Wahl...
 
Apple macht Cocoa. Nicht alle Dinge in Cocoa lassen sich zumindest ohne erheblichen Aufwand in Java formulieren. Wieso sollten sie das also machen?

Ich hatte schon immer den Verdacht, dass der anfängliche Java-Support vor allem daran lag, dass es damals ziemlich gehypt war und man natürlich Entwickler herüber ziehen wollte. Das ist ja nun obsolet.

Und bei den angesprochenen Sachen muss man sich schon fragen, für wen sich der Aufwand lohnt. Wenn ich das richtig sehe, ist die Gemeinde der Java-Programmierer für *Applikationen* unter OS X eher klein.

BTW: Ich halte auch Objective-C für leichter zu erlernen. Aber das lässt sich unglaublich schwer beurteilen, wenn man selbst schon vorgebildet war …
 
anegmawad schrieb:
Apple macht Cocoa. Nicht alle Dinge in Cocoa lassen sich zumindest ohne erheblichen Aufwand in Java formulieren.

Korrekt! Genau da beginnen die Beschränkungen eines eher generellen Modelles wie Java! Die Cocoa-Anbindung stand glaub ich für Java auch schon mehrfach zur Debatte. Nutzt man diese Klassen generiert man ohnehin etwas absurdes, nämlich plattformgebundenen Javacode.

Ist die Zielplattform Mac und nur Mac, würd ich auch Cocoa&Objective-C sagen! Gilt es Programmieren generell zu lernen gilt es m.E. auch noch die Aussage von plattform7 zu berücksichtigen. Ist halt eine Frage was/wohin man will.
 
Will er es denn nur für den Mac oder auch für einen Windows bzw. Linux PC?
 
Ich hatte schon immer den Verdacht, dass der anfängliche Java-Support vor allem daran lag, dass es damals ziemlich gehypt war und man natürlich Entwickler herüber ziehen wollte. Das ist ja nun obsolet.

Und bei den angesprochenen Sachen muss man sich schon fragen, für wen sich der Aufwand lohnt. Wenn ich das richtig sehe, ist die Gemeinde der Java-Programmierer für *Applikationen* unter OS X eher klein.

Mit Support meinte ich eher die Standrad-Unterstützung. Steinalte, nicht mehr weitergepflegte Java-Versionen usw. machen diese Sprache für die Mac OS-Entwickler sicherlich nicht gerade interessant. Bleibt zu hoffen, dass mit Leo sich auf dem Gebiet was ändert...
 
@wegus
Die Ursache liegt wohl nicht in der Generalität. Ich sehe weder ein Problem Objective-C/Cocoa für andere Systeme zu implementieren, noch eine Beschränkung Javas durch Generalität. Und es gibt ja auch andere Sprachen wie Smalltalk, die man ohne Weiteres mit Cocoa kombinieren könnte.

Java bindet eben nicht so dynamisch wie Objective-C. Dafür hat man sich beim Design von Java entschieden. So ist es, so wird es wohl bleiben. Damit kann man aber nicht sinnvoll Java und Cocoa kombinieren.

Übrigens wäre eine solch native Umgebung für viele hilfreich: Alle, die Java beherrschen und native Applikationen für OS X schreiben wollen. Aber wie gesagt: Die Gemeinde scheint eher zu schrumpfen.

@plattform7
Ja, da hatte ich dich falsch verstanden. Ich weiß nicht, wie sinnvoll das auch noch ist. Mit C# ist eine ähnlich dynamische Sprache wie Objective-C auf dem weitest verbreiteten BS entstanden. Damit dürfte in dieser Welt ein wichtiges Argument für Java entfallen sein: Wirkliche OOP, die C++ nie bot.

Für Online-Anwendungen ist es natürlich weiterhin unschlagbar. Aber ich bin erst letztens darauf hingewiesen worden, dass Apple mit erstaunlicher Mitarbeiterzahl an Tagungen für virtuelle Codes vertreten ist. Das ist natürlch die absolute Alternative, die jede Menge Probleme von Apple erschlägt:

Sicherheit für Fremdapplikationen auf Sachen wie iPhone.
Unterstützte Prozessorfamlien.
Online-Krams.

Wenn die das einigermaßen hinbekommen, können wir uns auf eine ganz neue Art der Universalität freuen.

+++

BTW: Wenn jetzt in Bezug auf das iPhone von einer ganz anderen Problemlösung gesprochen wird, bei der man aber noch nicht so weit sei … Also, ich würde nicht Dollar gegen Pesos wetten, aber immerhin Euro gegen Euro.

Das bekommen wir in spätestens einem Jahr.
 
Ruby/Python

Auf dem Mac führt in der Tat wenig an Objective-C vorbei

Naja, mit der Scripting Bridge (neu in Leopard, s. http://www.apple.com/macosx/leopard/technology/unix.html) kannst du das COCOA-Framework auch von Ruby (und Python) aus benutzen.

Aber da musst du ja erstmal hinkommen. Ich empfehle fuer den ersten Einstieg: Learn to Program (http://www.pragmaticprogrammer.com/titles/fr_ltp/index.html).

Dann weisst du schonmal, wie der Hase laeuft und hast auf jeden Fall in eine schoene Sprache investiert, die noch dazu interpretiert wird und somit den Einstieg noch mal vereinfacht (sofoertige Erfolgserlebnisse sollen ja helfen).
 
Zuletzt bearbeitet:
Dann sind natürlich echte Alternativen. Und in der Tat sieht man sofort, was man macht, was unglaublich motivierend ist.
 
Sofortige Erfolgserlebnisse hast Du auch mit Objective-C/Cocoa. Sieh Dir mal das obige Tutorial an. Sehr einfach nach zu vollziehen und hast Du auch sofort das Ergebnis. ;)
 
Sofortige Erfolgserlebnisse hast Du auch mit Objective-C/Cocoa. Sieh Dir mal das obige Tutorial an. Sehr einfach nach zu vollziehen und hast Du auch sofort das Ergebnis. ;)
Das wird mir ja langsam richtig peinlich. ;-)

Aber Objective-C ist halt eine compilierende Sprache. Und das Arbeiten am lebenden Objekt, ist schon etwas, was interpretierte Sprachen voraus haben. Sie haben halt ein nicht so gutes Laufzeitverhalten.

Aber mit JIT-C (siehe oben) wird sich das auch mit der Zeit anpassen.

Wir erleben – denke ich – gerade so etwas wie die Wiedergeburt Smalltalks. Und damit meine ich nicht die amputierte Implementierung in Objective-C, sondern wirklich das ursprüngliche Smalltalk. Auch wen es noch nicht akut ist: Aber für die Zukunft sollte man sich ruhig mal Python oder Ruby anschauen. Ich habe es mir eigentlich für Weihnachten vorgenommen.
 
anegmawad schrieb:
Java bindet eben nicht so dynamisch wie Objective-C

Genau das zeichnet Objective-C ja aus und macht viele Dinge des Key/Value-Encodings erst so wirklich einfach!

anegmawad schrieb:
Ich sehe weder ein Problem Objective-C/Cocoa für andere Systeme zu implementieren

ich würde es umgekehrt sagen wollen. Es wäre zu begrüßen wenn Objective-C(++) eine größere Verbreitung etwa unter LINUX bekäme! Das Hauptproblem ist eben die Inselexistenz und das muß man einem Anfänger auch sagen.

anegmawad schrieb:
Wenn die das einigermaßen hinbekommen, können wir uns auf eine ganz neue Art der Universalität freuen.

so ein C# auf dem Mac ( nein kein Mono) das hätte doch was! Jedenfalls bleibt die Hoffnung das Deine Gerüchtequellen möglichst gut seien!
 
Zurück
Oben Unten