Möchte gerne intensiv für Mac OS X Programmieren lernen

Diskordia schrieb:
Ich studiere Informationstechnologie in der Schweiz, wir benutzeneigendlich nur Java, weil das angeblich DIE Zukunft sei. Ich persönlich preferiere C/C++.

GruZZ Diskordia
Warum zu C? C und Java kann man nicht direkt vergleichen!

nochmal@Chrizel:
Habe mir Deine Links angeschaut. Der erste ist jawohl für die Katz. Da wird hauptsächlich berichtet, dass das mittlerweile auch andere Sprachen können. Ist das ein Gegenargument? Spricht doch eher dafür.
Der zweite Link hört für mich schon fast beim Titel auf: Java sucks. Kenne den Interpreten nicht.
Allerdings sind beide Artikel alt. Java hat sich mit der Zeit SEHR entwickelt, jedoch war es erst ab 1.4x wirklich zu gebrauchen.
Die anderen Links beziehen sich auf neue Funktionen der Java1.5 beta. Die ist noch nicht einmal final und es wird sich da das Maul zerrissen?
 
Thomax schrieb:
Ich entwickel beruflich mit Natural und Adabas auf einem Großrechner in einer Versicherung.
Habe ich auch bis 2001, doch seitdem ist SAP/R3 angesagt und ich habe immer noch nicht kapiert, warum ABAB eine 4th-GL sein soll.
 
Sym schrieb:
Gerade im Sinner der Qualität der Sprache ist Java das schönste was es gibt.
Na dann hast du aber was verpasst. :)

Ich habe mit Pascal angefangen und bin mit einem kurzen Weg über C bei C++ gelandet.
Pascal, C und C++ reichen nicht aus. Damit hast du noch nie eine dynamisch getypte Sprache gesehen! Guck dir mal Smalltalk, Lisp und Python an.

Bugfreier ist die Sprache garantiert nicht.
Welche denn?

Du kannst da leicht einen Wischi-Waschi-Code implementieren, welcher dann fehlerhaft ist, und Du den Fehler aber nicht finden kannst.
Welche Sprache? Hab ich von C++ geredet? C++ ist auch keine gute Sprache.


Gerade in Java kann man (bis auf die Algorithmen) keine abstrusen Fehler machen.
Von Fehler hat auch keiner geredet, sondern von der Menge des Codes die du schreibst im vergleich zu anderen Sprachen.

Das Du in Java eine Datei etwas komplizierter einließt, liegt an der Mächtigkeit der Klasse, welche Dir dies bietet. Du arbeitest da mit Streams, welche auch andere Informationen senden und empfangen können.
Kann ich in Python auch. Mit Streams zu arbeiten geht ja selbst in C++ fuer den Benutzer einfacher. Kannst du in Java eine Datei oeffnen - aus dem Kopf heraus? Wuerd mich mal interessieren.

Nur weil ein Alan Kay sich so über Java ausläßt, ist es noch lange nicht schlecht!
Ich finds nur lustig dass viele Java-Fans Java mit Smalltalk immer vergleichen aber im Grunde hat Java mit Smalltalk sehr wenig zutun. Objective-C ist Smalltalk viel aehnlicher.

Natürlich ist Java nicht für alles gedacht, aber für größere Projekte ist immer OOP angesagt und das braucht nunmal ein bisschen mehr Code.
Genau, Jawoll! ;)

Einiges geht aber z.B. schneller als mit jeder anderen Sprache.
Was denn?

Das Gui-bauen ist extrem gut durchdacht und läßt sich schnell und effektiv (und plattformunabhängig) realisieren.
Und was ist mit dem Event-Handling? Es geht einfacher. Siehe Qt. Aber nein - Sun wurschtelt lieber mit anonymen Klassen rum... Ja toll, sehr Objektorientiert. Closures kennt Sun nicht...

Uebrigends: Plattformunabhaengig GUIs basteln kann auch C++ mit Qt... in Python mit wxPython kann man auch Plattformunabhaengig GUIs basteln und das ganze lauft sogar auf mehr Plattformen als wie Java. (z.B. lauft Python auch auf Linux PPC...)

Ach ja, und wg. Deinem "weniger Code heißt weniger Bugs". Ich hatte irgendwo eine kleine Zeile aus C++ mit "?!" und ein paar Variablen. Das war nicht nur unschön, sondern auch super schwer zu lesen und Fehler konnte man da auch leicht machen.
So war das mit "weniger Code heisst weniger Bugs" auch nicht gemeint. Lesbarkeit muss beruecksichtigt werden. Aber wenn dir die Sprache viel unnoetige Syntax durch ihr starkes statisches Verhalten aufzwaengt ist das ein Nachteil.

Kannst Du überhaupt im OOP-Bereich richtig programmieren?
Programmieren ist mein Beruf und ich verdiene damit mein Geld, wenn du das meinst. Ich bin kein Student. :rolleyes:


Das soll jetzt nicht angreiflich wirken oder von oben herab. Ist nur interessehalber, weil mir eine solche Meinung selten über den Weg läuft.
Ja passt schon.

Habe mir Deine Links angeschaut. Der erste ist jawohl für die Katz. Da wird hauptsächlich berichtet, dass das mittlerweile auch andere Sprachen können. Ist das ein Gegenargument? Spricht doch eher dafür.
Es spricht eher dagegen. Der erste Link berichtet von jemanden der ueber die Jahre hinweg Java sehr gut kennengelernt hat, und inzwischen anderer Meinung ist.


Der zweite Link hört für mich schon fast beim Titel auf: Java sucks. Kenne den Interpreten nicht.
JWZ ist in der Hacker-Szene sehr bekannt. Er hat z.B. damals den Netscape fuer Unix gebaut und bei XEmacs mitgewerkelt.


Allerdings sind beide Artikel alt.
Der erste Link ist von 2002 und viele Dinge sind noch zutreffend. Der zweite Link ist alt aber vieles ist noch zutreffend.

Die anderen Links beziehen sich auf neue Funktionen der Java1.5 beta. Die ist noch nicht einmal final und es wird sich da das Maul zerrissen?
An den Generics in Java 5 wird sich wohl nichts mehr veraendern. Templates in C++ sind wesentlich maechtiger.
 
Hi,

mit dynamische getypten Sprachen kenne ich mich wirklich nicht aus - zugegeben. Ich vergleiche hauptsächlich (nee, eigentlich nur) mit den Sprachen, welche ich schon kenne. Ich bin bei Java hängengeblieben, weil ich damit sehr gut zurecht komme und ich nicht andere Grafikbibliotheken einbinden muss, um eine GUI zu bauen.
Mir ist es jetzt aber (um ehrlich zu sein) zu viel Aufwand, darüber zu disktutieren. Das mache ich lieber bei einem kühlen Bier - also wenn Du mal in der Nähe bist ...
Wenn ich mein jetziges Projekt abgeschlossen habe, schaue ich mir evtl. Python mal an (scheint ja was zu sein).

Gruß

P.S.: eine Datei auslesen bekomme ich gerade noch hin. ;)
 
-Nuke- schrieb:
Das Java immer mehr im kommen ist sagen eigentlich nur die Leute die hauptsächlich Java-Programmieren. Also ich kenne noch immer keine "große" Java-Anwendung, welche bei vielen im täglichen Einsatz ist.

Also z.B. Azureus ist komplett in Java und das ist jetzt nicht unbedingt Groß. Ist aber bestimmt bei sehr vielen im Einsatz.

Oder NeoOffice ein OpenOffice in Java.

Also es gibt inzwischen schon einiges an Anwendungen in Java.


Gruß Yens
 
yens schrieb:
Also z.B. Azureus ist komplett in Java und das ist jetzt nicht unbedingt Groß. Ist aber bestimmt bei sehr vielen im Einsatz.

Oder NeoOffice ein OpenOffice in Java.

Also es gibt inzwischen schon einiges an Anwendungen in Java.

Naja. Ein Bittorrent Client ist für mich alles andere als "groß". Es gibt sicher sehr viele kleine Java-Programme, meist kleine Tools, bzw. Clients, etc. Aber ich meine damit was anderes.

NeoOffice kommt der Sache schon näher, aber NeoOffice ist bisher nur ein "Versuchsprojekt". Es wird nicht für den produktiven Einsatz empfohlen.

Ich sag ja nicht das es gar keine Anwendungen gibt. Aber so etwas wie NeoOffice in "stabiler", "marktreifer" Form ist mir, wie gesagt, nicht bekannt.
 
Uebrigends: Das original Bittorrent selbst ist in Python geschrieben. :D
 
Ich hab mir jetzt ein C-Einsteigerbuch gekauft, weil ich gedacht hab, dass das ein guter Einstieg sei. Richtige Entscheidung?
Ich moechte nicht wirklich professionell programieren, bin eher an "kleinen" Programmen wie z.B. ein Karteikastensimulator interessiert. Waehre Java fuer solche sachen besser?
Werd jetzt auf jeden Fall erstmal durch das C-Buch lesen. Wenn java besser (einfacher) fuer den Anfang waehre, welches buch soll ich lesen? Oder gibt es eine EINFACHE und UEBERSICHTLICHE pdf-Einleitung fuer Java?
Ps.: Es hat mir leider ziemlich wenig gebracht die Artikel in diesem Themenbreich zu lesen, weil es im Grunde genommen immer das selbe ist:
Javaboy sagt, Java ist das beste
C-Boy sagt, C ist das beste, JAvaboy ist falsch!
Javaboy sagt, stimmt nicht, Java ist besser
Gelegendlich kommt mal ein Phytonboy dazu...
.
.
.

Waehre schoen, wenn mir mal einer zusammenfassen koennt, was fuer was besser ist und was fuer was nicht besser ist. Oder ist alles gleich und einfach nur meinungs- und gewoehnungssache?
Programmiern moechte ich unter OS X und mit xcode, soll man ja angeblich eine menge moeglichkeiten mit sich bringen.
Nur noch eine Frage: Was genau ist Cocoa? Ist es O-C, sowas wie xcode, oder einfach nur alles zusammen?
Buchtips sollten, wenn moeglich, in englisch sein weil ich fuer ein Jahr in San Digo bin.
Danke.
 
Zuletzt bearbeitet:
Hi.

Also laut dem Erfinder von C++ ist es sogar falsch zuerst C zu lernen und dann C++. Das steht gleich auf den ersten Seiten seines Buchs.

Java ist eigentlich nichts anderes als ein C++ mit weniger (hardwarenaher) Möglichkeiten (was nicht unbedingt schlecht ist). Dazu kommen dann noch Pakete für Oberfläche, Sound, Netzwerk etc.

So gesehen kann man mit Java weniger Fehler machen, als mit C++. Bei C++ streitet man sich ja schon, wie ein "Hello World!" auszusehen hat.

Eine gute Java-Einleitung ist http://www.javabuch.de

Es gibt nicht DIE Sprache. Man sollte je nach Problemfall die entsprechende Sprache aussuchen. Welche das ist, kann ich dir nicht sagen.

Cocoa ist eine Oberflächen-API. D.h. die Geschichte mit Fenstern und klicken. ;)
 
chrizel schrieb:
So wuerde es in Python gehen:
Code:
for line in file("datei.txt"):
   print line

:rolleyes:

Tztz,. das war nicht fair,.. Python ist sowieso extraklasse !

Aber - schreibe mal ein großes Projekt in Python,.. da stütze ich mich doch lieber auf Java ( oder ähnliches ), besonders wenn mehr als 3 Leute beteiligt sind. Die aktuellen IDEs ( Eclipse, JBuilder,.. ) sind ein dicker Pluspunkt für Java. Ich habe noch keine Sprache gesehen in der man so komfortabel Software entwickeln kann ( bis auf Python, aber da geschieht das auf einem anderen Level - eher kleinere Scripte, Dinge die schnell/mit wenig Aufwand laufen müssen aber nicht zu groß sind )

Grüße Sebastian
 
Aber soweit ich das mitbekommen habe, ist die Mac-Version von Python sehr viel langsamer als die PC-Version. Zumindest bei Berechnungen.
 
fknapp schrieb:
Gelegendlich kommt mal ein Phytonboy dazu...

Python waere fuer dich als Anfaenger am besten geeignet. Ganz ehrlich!
 
Python ist sehr wohl für große Projekte geeignet, vor allem da es ein echtes Modulsystem besitzt.

Meine Lieblingspythonsoftwarepakete sind:
portage (das gentoo Paketverwaltungssystem)
die Redhat Installerengine.

Gruß,
Michael
 
Zurück
Oben Unten