C++ oder Java oder Phyton

fi.sh schrieb:
Python mag zwar für Anfänger auch gut sein, allerdings hat es eine komplett andere Syntax als zB Java oder C++.

IMO ist Java auch die einfachste der drei Sprachen

Java einfacher als Python? Reich mal den Joint rüber bitte. :lol:
Ergänzung ()

BomberDeluxe schrieb:
Ihr würdet also zu Java raten?

Ich persönlich nicht (Python!! ;)), aber du wirst, wenn du 10 Programmierer fragst, so wie so 11 verschiedene Meinungen bekommen. Am Ende mußt du dich selbst entscheiden, und egal ob du nun Java, Python, C++, C# oder was auch immer nimmst, sooo falsch kann deine Entscheidung eh nicht ausfallen, denn das sind alles sehr gebräuchliche Sprachen, mit denen du praktisch alles machen kannst, was man sich nur vorstellen kann. Wenn du später feststelltst, daß die gewählte Sprache nicht nach deinem Geschmack ist, kannst du immer noch umsteigen.
 
Zuletzt bearbeitet:
BomberDeluxe schrieb:
Ich denke, ich würde auch mit Java klarkommen. Bloß kenn ich leider viele Grundbegriffe nicht. Ich versteh bloß Bahnhof, wenn ich mir manche Quelltexte oder Disskussionen hier anschau.
Die Grundlagen musst du dir bei jeder Programmiersprache aneignen, das kann dir keiner abnehmen.
Aber mit objektorientierten Sprachen wie Java und C# macht man schnell Fortschritte und hat gleichzeitig nahezu keine Grenzen. Sie sind leicht zu lesen und leicht zu schreiben.

Skriptsprachen sind noch leichter zugänglich, aber stoßen auch schneller an ihre Grenzen.
 
Gut, dann 2 Fragen noch:
einmal habt ihr was von Thinking in Java erwähnt. Welche Version? Kann man gleich mit der 4. anfangen oder sollte man zuerst die 1. lesen?

Als letztes:
Haltet ihr es für sinnvoll zum besseren Verständnis zuerst eine Skriptsprache zu lernen?
Anmerkung: Wir beginnen bald in der Schule Visual Basic zu lernen.
Ich würde ja später wechseln, wenn mir die jeweilige Sprache nicht mehr reicht. Aber halt erstmal zum besseren Einprägen von Grundlagen-
 
BomberDeluxe schrieb:
Als letztes:
Haltet ihr es für sinnvoll zum besseren Verständnis zuerst eine Skriptsprache zu lernen?
Anmerkung: Wir beginnen bald in der Schule Visual Basic zu lernen.
Ich würde ja später wechseln, wenn mir die jeweilige Sprache nicht mehr reicht. Aber halt erstmal zum besseren Einprägen von Grundlagen-
Die Grundlagen sind einfacher als du vermutlich denkst. Die Grundlagen von Java umfassen das Verständnis der Objektiorientierung (die Idee dahinter lernst du schnell, die Umsetzung kommt durch learning-by-doing) und die Syntax (auch schnell gelernt).

Lies dir in dem von mir genannten Buch
http://openbook.galileocomputing.de/javainsel/
mal das Kapitel 1.2 durch. Da erfährst du was Java kann und was nicht. Was die Idee dahinter ist etc. Ist nicht viel, aber gibt dir einen ersten Eindruck.



Wenn du erst eine Skriptsprache und dann eine Programmiersprache lernst brauchst du zwar nachher bei der Programmiersprache weniger Zeit, aber für beide Sprachen zusammen mehr Zeit. Deshalb ist es unnötig eine Skriptsprache nur deshalb zu lernen, damit dir eine Programmiersprache später leichter fällt.
 
TIJ 4 ist nicht kostenlos. Ich habe irgendwo TIJ 2 stehen und fand das damals hervorragend für den Einstieg geeignet. Die Grundlagen werden gut erklärt und es gibt viel Code, mit dem man herum spielen kann. Inwiefern sich die anderen Versionen davon unterscheiden, weiß ich nicht. Aber Du kannst ja die verschiedenen Inhaltsverzeichnisse vergleichen.

Es ist nicht notwendig, zuerst eine andere Sprache zu lernen, bevor man mit Java anfängt. Wenn man bereits grundlegende Kenntnisse hat, fällt der Einstieg in eine neue Sprache (fast immer) leichter.

Du hast (noch) ein falsches Verständnis von Skriptsprachen vs. kompilierten Sprachen. Der Quelltext ist nicht notwendigerweise einfacher zu verstehen oder zu schreiben (wobei das durchaus oft Ziel sein dürfte, aber schau Dir mal Perl an :D).
 
Als ich von Python zu Java kam, ging es mir ganz schön auf die Nerven, überall ein Semikolon ans Zeilenende pflastern zu müssen. Auch die geschwungenen Klammern für Blöcke waren gewöhnungsbedürftig. Nach langer Zeit mit Java, als ich dann mal wieder Python benutzen wollte (Jython in Java eingebunden zum Scripten), hatte ich wieder damit zu kämpfen die in Java typischen Syntax-Elemente wegzulassen. Es ist also vor allem eine Frage der Gewohnheit, bei jedem Umstieg.

Wenn du jetzt z.B. Java lernst und dann in der Schule mit VB konfrontiert wirst, wirst du direkt wieder das Brechen kriegen, weil VB sich syntaktisch doch schon etwas mehr von Sprachen wie C++/Java usw. unterscheidet. Ich finde VB z.B. überhaupt nicht lernenswert, aber wenn der Lehrer das so sieht, dann ist man da recht hilflos.
 
Tumbleweed schrieb:
Wenn du jetzt z.B. Java lernst und dann in der Schule mit VB konfrontiert wirst, wirst du direkt wieder das Brechen kriegen, weil VB sich syntaktisch doch schon etwas mehr von Sprachen wie C++/Java usw. unterscheidet. Ich finde VB z.B. überhaupt nicht lernenswert, aber wenn der Lehrer das so sieht, dann ist man da recht hilflos.

Nein, ich habs mir mal angeschaut und mir gefällts wirklich nicht besonders... aber naja, schaden kanns ja nicht ;)

Du hast (noch) ein falsches Verständnis von Skriptsprachen vs. kompilierten Sprachen. Der Quelltext ist nicht notwendigerweise einfacher zu verstehen oder zu schreiben (wobei das durchaus oft Ziel sein dürfte, aber schau Dir mal Perl an ).

Also, Perl sieht aus, als hätte man 4 Java Quelltexte hintereinander auf eine Zeile kopiert... :D


Hat jemand ein gutes Tutorial für Java zur Hand? Es ist einfach, dass ich die Sprache erstmal testen will, bevor ich mir für 50€ ein Buch dafür kaufe.
 
BomberDeluxe schrieb:
Gut, dann 2 Fragen noch:
einmal habt ihr was von Thinking in Java erwähnt. Welche Version? Kann man gleich mit der 4. anfangen oder sollte man zuerst die 1. lesen?
Nicht "Thinking in Java", sondern besser zu "Java von Kopf bis Fuß" greifen, wirklich eines der besten Bücher überhaupt für Anfänger, denn es ist nie "trocken" und somit für Anfänger interessanter zu lesen.


Aber ich würde für den Anfang auch besser zu Python raten, Java ist zwar später die mächtigere Sprache, aber am Anfang sollte es erstmal eine einfache Sprache sein. Vor allem auch eine Sprache die schnelle Erfolge bietet, OOP muss nicht genutzt werden usw.
 
Raybeez schrieb:
Man kann nicht programmieren ohne Schleifen und Verzweigungen zu nutzen.

Hast du da auch einen mathematischen Beweis dafür? :rolleyes:

Die Frage ist auch, wie tief du in's Programmieren einsteigen willst. Sieh's ähnlich wie das Schreiben von Texten: Für einen einfachen Geschäftsbrief brauchst du das Alphabet, ein bisschen Grammatik + Rechtschreibung. Willst du dann aber z.B. ein Sonnett von Shakespeare in's Deutsche übersetzen und es soll sich dann auch noch reimen, das Reimschema behalten und gut klingen sowie den Sinn immer noch beinhalten, dann wirst du wohl erstmal SEHR tiefes Sprachgefühl und -verständnis brauchen.

Willst du es wirklich "richtig" angehen, würde ich persönlich zuerst mal zu C raten, es gibt genügend Vorlesungen von Universitäten zu dem Thema online abrufbar. Willst du aber lieber nur erstmal ein bisschen rumspielen und nicht erst kapieren müssen, was Pointer sind kann man ruhig auch Python nehmen.
Java ist da so ein Mittelding, ohne wirklich OOP ordentlich gelernt, geübt und verstanden zu haben ist das sicher ein Graus, besonders, da einen die Sprache quasi dazu zwingt das zu verwenden. C++ nimmt das nicht so genau, was aber wiederum oft zu Nachlässigkeiten vonseiten der Programmierer führt.

Schwierig ist es dann nur, wenn man mit einer recht abstrakten Sprache ("print 'Hello World!'") beginnt und dann später auf einmal z.B. C Code verstehen und schreiben soll, was von beiden Seiten oft zu Vorurteilen führt ("Spielzeugsprache, die schnell an Limits stößt" vs. "Satzzeichen über den Code gekotzt").

Laut deiner Beschreibung würde ich mir Python ansehen, falls du nur hobbymäßig programmieren willst oder Java/C++/C, falls es ein etwas längeres Projekt sein soll. In jedem Fall würde ich mal nach Vorlesungen im Internet zu dem Thema suchen, vom MIT gibt's z.B. einen Programmierkurs für Anfänger komplett ohne Vorkenntnisse in Python. Falls du wirklich aus Büchern lernen kannst, versuch's eben auch so, ich persönlich kann zwar Fakten etc. daraus lernen, neue Denkschemata wie OOP bekomme ich aber lieber erklärt.
 
Also wenn du in der Schule VB machst, dann würd ich das intensiv lernen. Warum jetzt noch eine zweite Sprache lernen wenn du in der Schule mit Ansprechpartner lernen kannst? Den Noten kanns auch nur gut tun. VB ist vielleicht nicht unbedingt schön(manche sagen aber auch gerade für Anfänger ist es gut), aber du kannst mindestens genauso viel damit machen wie in Java! Außerdem kannst du sobald du VB gut verstanden hast auf C# wechseln. Hat genau die gleichen Klassen und Strukturen(also in der Hinsicht kein Umdenken), man muss quasi nur die Symbole austauschen und die Syntax wesentlich näher an anderen Sprachen dran (die Basissyntax zu t.B. Java ist bestimmt zu 95% gleich).
 
Ok, ich hab mich jetzt entschieden.
Ich lerne erstmal Python. Nächstes Jahr werde ich ja VB sowieso lernen müssen.
Das betrachte ich einfach mal als notwendiges Übel ;)

Wenn ich dann mit Python an meine Grenzen stoße, aber spätestens ab Studienbeginn lerne steige ich auf JAVA oder C# um. Wobei ich ersteres bevorzugen würde.
C will ich nicht, dann lieber gleich C++.
Aber da das nicht auf mein Zielgebiet hinausläuft fang ich es gar nicht erst an ;)

Gleich mal meine erste Frage zu Python:
Ich will einen €/DM Umrechner schreiben, aber er kann die dick markierten Zeilen nicht ausgeben, Begründung: cannot concatenate 'str' and 'float' objects
Also Frage: Wie kann ich einen String und ein int oder ein float gleichzeitig in einer Zeile ausgeben?
Code:
def eu():
	b=1
	while (b==1):
		a = raw_input("Haben sie DM oder EURO? ")
		if (a=="DM"):
			d = int(raw_input ("Geben sie ihren Betrag ein: "))
			e = d/1.95583
			[B]print "Sie haben " + e + " €"[/B]
		else:
			e = int(raw_input ("Geben sie ihren Betrag ein: "))
			d = e*1.95583
			[B]print "Sie haben " + d + " DM"[/B]
		c = raw_input("Wollen sie den Rechner nochmal benutzen? (j/n) ")
		if (c=="n"):
			b=b+1

Kann mir da jemand helfen?

Edit: ich nehme Version 2.7, da ich ein schönes Tut nur für diese Version gefunden hab.
Edit2: ich hab den Fehler gefunden oO ich hab den if Befehl nicht auf eine neue Zeile, sondern hinter den vorherigen Befehl geschrieben...
Ich hab aber ein neues Problem, habs mal oben editiert!
Edit3: Skript aktualisiert.
 
Zuletzt bearbeitet:
Ohh... darauf hätte ich auch selber kommen können :p
Wen es interressiert, hier ist das fertige Programm:
Code:
def eu():
	b=1
	while (b==1):
		a = raw_input("Haben sie DM oder EURO? ")
		if (a=="DM"):
			d = int(raw_input ("Geben sie ihren Betrag ein: "))
			e = d/1.95583
			e = round (e, 2)
			print "Sie haben " + str(e) + " €"
		else:
			e = int(raw_input ("Geben sie ihren Betrag ein: "))
			d = e*1.95583
			d = round (d, 2)
			print "Sie haben " + str(d) + " DM"
		c = raw_input("Wollen sie den Rechner nochmal benutzen? (j/n) ")
		if (c=="n"):
			b=b+1

sieht doch ganz gut aus, nach 4 Stunden Beschäftigung mit Python! :D
 
Sukrim schrieb:
Java ist da so ein Mittelding, ohne wirklich OOP ordentlich gelernt, geübt und verstanden zu haben ist das sicher ein Graus, besonders, da einen die Sprache quasi dazu zwingt das zu verwenden. C++ nimmt das nicht so genau, was aber wiederum oft zu Nachlässigkeiten vonseiten der Programmierer führt.

Häh?? Die Tatsache, daß C++ eine Multiparadigmen-Sprache ist und (anders als das ach so tolle Java) nicht darauf besteht, auf Teufel komm raus alles in eine OOP-Zwangsjacke stecken zu wollen, führt also dazu, daß C++-Programmierer schlampiger programmieren?
 
Ich wollte keinen neuen Thread aufmachen, deshalb stellt ich meine Frage hier:
Welchen Verlag würdet ihr mir empfehlen, um eine bestimmte Programmiersprache zu erlernen?
Galileo, addison-wesley oder mut ?
Mein Bekannter hat mir Addison-Wesley empfohlen, da sie die besten Bücher schreiben sollten ! Was für Erfahrungen habt ihr gemacht ?
 
Es gibt keinen Verlag als absolute Empfehlung, wenn man eine Sprache lernen möchte. Es kommt auf das Buch an, nicht auf den Verlag. Jeder Verlag wird gute Bücher haben, aber es gibt eben immer Bücher, die absolut aus der Masse herausstechen, so wie z.B. "Java von Kopf bis Fuß" für Java.
Das Problem ist nur eben, wenn du generell nach Büchern fragst, wirst du i.R. die guten Bücher empfohlen bekommen, aber die Bücher, die aus der Masse herausstechen nicht. Und dafür gibt es eine Erklärung: Du fragst Personen die schon viele Jahre entwickeln, wir haben einen anderen Blick auf die Bücher, und Anfänger-Bücher haben wir viele Jahre nicht mehr angerührt.
 
Wie hier auch schon genannt wurde, würde ich (besonders als Anfänger) zuerst einen Blick auf die Head First (bzw. deutsch Kopf bis Fuß) Reihe werfen. Die haben dem durchschnittlichen trockenen Schinken didaktisch etwas voraus.

Kommt eben auch immer auf den individuellen Kandidaten an. Wer mit Hochdruck alles reingepresst bekommen möchte, der findet auch dafür entsprechende Werke, die sich dann oft Nachschlagewerk/Referenz schimpfen.

Als Umsteiger würde ich zum Beispiel nicht zum hundertsten Mal erklärt bekommen wollen, was für Schleifen es gibt und auch Datentypen brauche ich nicht abermals durchgekaut.
 
Zuletzt bearbeitet:
antred schrieb:
Häh?? Die Tatsache, daß C++ eine Multiparadigmen-Sprache ist und (anders als das ach so tolle Java) nicht darauf besteht, auf Teufel komm raus alles in eine OOP-Zwangsjacke stecken zu wollen, führt also dazu, daß C++-Programmierer schlampiger programmieren?

Nein, allerdings kann es bei C++ eher passieren, dass man erstmal eine globale Variable anlegt und "das dann später fixt" oder sonstige Sachen treibt, die nicht ganz großartig sind.
 
Na ja, komm ... wie leicht ist es in Java (natürlich auch in C++), einen Singleton zu programmieren. Schwupp, schon hast du deine häßliche globale Variable. Jetzt tarnt sie sich sogar noch als harmlose Klasse. ;)
 
Sukrim schrieb:
Nein, allerdings kann es bei C++ eher passieren, dass man erstmal eine globale Variable anlegt und "das dann später fixt" oder sonstige Sachen treibt, die nicht ganz großartig sind.
Wer eine globale Variable deklariert, wird in Java genau den gleichen Bockmist verzapfen (auf evtl. andere Art und Weise). Sorry, das ist nur Kaschiererei. Erfahrene Programmierer denken nicht mal ansatzweise an globale Variablen, sondern packen alles irgendwie in Klassen, Namespaces, Konstanten, Defines oder sonst was.

Das gleiche Argument könnte ich bei bspw. PHP bringen. Komischerweise nutzt selbst ein Facebook PHP und übersetzt dies in C(++)-Binaries on the fly.

Irgendwas der Programmiersprache in die Schuhe zu schieben, halte ich für größten Unfug. Die Sprache ist das Mittel zum Zweck, der der Bockmist verzapft, ist immer der Programmierer.
 
Zurück
Oben