C++ oder Java oder Phyton

pineapplefreak

Lieutenant
Registriert
Okt. 2011
Beiträge
793
Also, hallo erstmal.

Ich suche nach einer Programmiersprache für mich. Mit Java, C++, C, und Javascript habe ich mich schon ein bisschen auseinander gesetzt. C++ hat mir am besten gefallen. Allerdings sollte man ja mit Java mehr möglichkeiten haben. C und JavaScript will ich nicht als Main Language.

Jetzt hab ich heute einen Lehrer an der Schule gefragt, der viel mit Programmiersprachen zu tun hat.

Der hat mir als Sprache erstmal Phyton empfohlen. Er meinte, das ist für den Anfang, die richtige Sprache. Wenn ich in die Softwareentwicklung will, dann Java oder C#. Für Systemprogrammierung halt C oder C++.

Ich möchte:
  • Skriptsprache
  • erstmal einfache Sachen damit schreiben, wie kleine Hilfsprogramme
  • das ganze sollte relativ leicht zu lernen sein, d.h. man sollte für die Grundlagen nicht erst ein ganzes Studium brauchen
  • open Source Programmierumgebungen
  • sollte mind. auf Win und Linux laufen





Was meint ihr?
Hat jemand Erfahrung mit Phyton?
 
Bist du sicher das du eine Skriptsprache lernen willst? C/C++/C# und JAVA fallen dann nämlich weg.

Wenn du dich mit Webentwicklung auseinandersetzen willst wäre z.B. PHP eine brauchbare Skriptsprache.
Wenn du WoW besitzt könntest du dich auch mit der Skriptsprache LUA befassen und erste Erfahrungen damit sammeln indem du Interfacemods bastelst.


Edit: Wenn du doch eine Programmiersprache lernen willst finde ich C# und JAVA sehr angenehm für Einsteiger.
Und warum Open Source Programmierumgebung? Es gibt zwar für viele Sprachen sehr gute OS IDEs, aber warum die Einschränkung? Wenn du dich für C# entscheiden würdest gäbe es mit Visual Studio eine sehr gute Freeware-IDE, die aber Closed Source ist.
 
Zuletzt bearbeitet:
Was verbirgt sich denn für dich hinter "Skriptsprache", wenn du so direkt danach fragst? Finde es nur ungewöhnlich, weil Neulinge normalerweise nach der "mächtigsten" Sprache fragen und am liebsten direkt in Assembler oder C stürzen wollen.
Ich finde den Rat zu Python schon nicht verkehrt. Ansonsten Java. Mein Schritt war auch von Python zu Java. Nebenbei kurze Exkurse zu C# und C++ und dann bei Java hängen geblieben.
 
Zuletzt bearbeitet:
Ich finde das Scriptenmit der Windows PowerShell eigentlich auch ziemlich klasse, einfacher Syntax und sehr umfangreich in der API.
 
Python (nicht Phyton) ist die einzige Skriptsprache, die du erwähnst, daher hat sich das dann eh schon erübrigt... die restlichen Punkte werden auch alle erfüllt.

Für die Grundlagen in quasi jeder Programmiersprache braucht man vielleicht 1-2 Tage, aber nur weil man das ABC kann, wird man kein Literaturnobelpreisträger... ;)
 
Nun, das mit der Skriptsprache meine ich folgendermaßen:
Ich will keine Sprache, die mich sofort erschlägt, dass ist mir bei Java passiert.

Mir würde es reichen, wenn ich kleine Programme, entwickeln kann. Sozusagen, um mich noch weiter in die Matierie einzuarbeiten.

Ich kopier das mal aus einem anderen Thread:
Ja, dafür gibt es eine Begründung. Ich hatte nie einen richtigen Lehrer o.ä.
Meine erste Sprache war so eine GTR Sprache, Casio Basic. Dort hat nur mal einer kurz die For Schleife gezeigt, erklärt aber nicht.

Also, wie gesagt, ich hab mir in C++, in C, in JS, Batc, Casio Basic und in Java teilweise allein die if Anweisung, ein und Ausgabebefehl, Berechnungen, Variablen beigebracht.

In dieser GTR Skriptsprache habe ich mittlerweile eine Uhr mit verschiedenen Funktionen, Snake, mehrere Unterrichtsprogramme, und einen kleinen multiplayer 2D Shooter entwickelt.


Jetzt komme ich aber dort aufgrund fehlender Funktionen nicht weiter. Darum möchte ich gern am PC weiter entwickeln.
 
Ich würde dir zu Java raten. Damit kann man auch durchaus "kleine" Programme schreiben, bei denen man nicht gleich vom Sprachumfang erschlagen wird, man sollte allerdings das Prinzip der Objektorientierung verstanden haben.

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
 
Egal welche Sprache du lernen willst eins ist sicher. Du musst Bücher kaufen anderst geht es nicht. Man kann es zwar auch ohne Bücher machen aber das bringt dir nichts weil du nur am verzweifeln bist.

Deswegen mein Tip als Anwendungsentwickler Fachbücher kaufen!
 
Bei der Wahl will ich Dich nicht konkret beeinflussen, da ich kein Python kann.

Allerdings solltest Du nicht den Fehler machen, anzunehmen, dass Skriptsprachen einfacher (TM) sind als kompilierte Sprachen. Man kann vielleicht mehr eleganter lösen, aber "with great Power comes great responsibility".

Anders ausgedrückt: Skriptsprachen schießen Dir erst relativ spät ins Knie, wenn Du Fehler machst, dafür dann aber richtig.

@Cool Master: ich hab noch nie ein Buch in die Richtung wirklich durchgeschafft :-) Aber irgendwas lesen muss man natürlich.
 
fi.sh schrieb:
Ich würde dir zu Java raten. Damit kann man auch durchaus "kleine" Programme schreiben, bei denen man nicht gleich vom Sprachumfang erschlagen wird, man sollte allerdings das Prinzip der Objektorientierung verstanden haben.

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


In Java komme ich momentan einfach gar nicht klar. Ich schreibe in BlueJ, und ich hab nichtmal, wie in anderen Sprachen eine .exe, die ich einfach ausführen kann. Ich muss immer erst in BlueJ ein Objekt erstellen, in diesem dann die Funktionen aufrufen... richtige Erfolge habe ich damit nicht.
 
Was erschlägt Dich denn bei Java? Die Mächtigkeit der Runtime? Also die Vielzahl der APIs und die Möglichkeit damit Anwendungen zu entwickeln?

Oder doch bereits Struktur und Semantik? Die ist in anderen (modernen) Programmiersprachen eher komplizierter. Die grundsätzlichen Sprachkonstrukture (Schleifen etc.) sind ohnehin in fast allen Sprachen präsent. Womit man hier einsteigt, ist fast egal.

Der Tipp hinsichtlich Python ist sicher kein schlechter. Die Syntax ist etwas anders, als bei C-Sprachen, aber warum das gegen Python sprechen soll, leuchtet mir nicht ein. Ist ja nicht so, dass damit ein Quantensprung verbunden wäre. Da gibt es ganz andere Kaliber.
 
BomberDeluxe schrieb:
Nun, das mit der Skriptsprache meine ich folgendermaßen:
Ich will keine Sprache, die mich sofort erschlägt, dass ist mir bei Java passiert.
Dann hast du einen falschen Eindruck von JAVA bekommen.
Es klingt ein bisschen paradox, aber je komplexer die Sprache, desto einfacher.

Das will ich ein bisschen präzisieren:
Nehmen wir die Sprache C. Die Sprache besteht im Grunde aus nur ~32 Befehlen und Wörtern. Damit kann man alles, auch wirklich alles programmieren. Es wird nur sehr schnell extrem umständlich. Ein simples Hallo Welt-Programm, dass nur "Hallo Welt" auf der Konsole ausgeben soll benötigt schon tiefergehendes Wissen und viel Einarbeitungszeit.
Da man damit nicht vernünftig arbeiten kann gibt es Bibliotheken, die C erweitern und zum Beispiel um die Funktion "printf" ergänzen, mit der das Hallo Welt-Programm in weniger als einer Minute programmiert ist.

JAVA kennt ganz viele Befehle. Du musst die aber nicht alle kennen. Aber weil es so viele Befehle gibt kannst du das, was du machen möchtest, relativ leicht programmieren. Du musst nur rausfinden welche Befehle du dafür brauchst und darfst nicht abgeschreckt sein, wenn du in der JAVA-API hunderte oder tausende Stichwörter siehst. Die machen JAVA nicht schwerer, sondern leichter.
Ein sehr gutes JAVA-Buch gibt es kostenlos unter
http://openbook.galileocomputing.de/javainsel/

Du kannst auch mal in andere der kostenlosen Bücher reinschauen
http://www.galileocomputing.de/katalog/openbook
C#, C, VB, Python... Dort gibt es viele Bücher zu verschiedenen Programmier- und Skriptsprachen.
 
Im Grunde ist es doch egal, womit du anfängst.
Python hat eine vereinfachte Syntax, C++ mag "manchmal" etwas kryptisch erscheinen und Java, sowie C#, lassen sich teilweise wie ein Buch lesen.
Die eigentlichen Sprachen sind in der Regel gar nicht mal das Problem. Das Vokabular beträgt meist weniger als 30 Wörter - die hat man schnell drin.

Woran die meisten scheitern sind die riesigen Frameworks hinter den Sprachen (das was dich bei Java so "erdrückt" hat). Das ist auch der Grund, wieso ein Java-Entwickler morgen nicht die gleiche Performance in C# bringt und umgekehrt, obwohl man die ähnlichkeiten nicht leugnen kann. In C++ passiert dir das gleiche, wenn du mit Qt oder Boost (wobei ich Boost nicht als Framework bezeichnen würde) arbeitest.

Wenn es dir um das Erlernen von Konzepten geht, würde ich dir wahrscheinlich auch zu Python raten, evtl. C++ wenn du ein etwas intensiveres Training bevorzugst ;)
Wovon ich dir als Anfänger abrate ist PHP.
 
Also, wie gesagt, ich hab mir in C++, in C, in JS, Batc, Casio Basic und in Java teilweise allein die if Anweisung, ein und Ausgabebefehl, Berechnungen, Variablen beigebracht.
Naja, also wenn ich diesen Auszug so lese, dann traust du dir entweder nicht viel zu oder du hast falsche Vorstellungen von Programmieren. Sinn und Syntax einer if-Verzweigung sind dermaßen simpel, dass es da kaum etwas dran zu verstehen gibt. Vor allem lernt man solche Grundlagen doch normalerweise bereits in den ersten Kapiteln eines Buches bzw. den ersten Tutorials, falls man online bleibt.

Die Frage ist auch - wo willst du mal hin mit deinem Können. Du scheinst dich ja bisher in sehr eingeschränkten Umgebungen bewegt zu haben, wo nur ein bisschen Skripten möglich war. Wenn du aber nun den Sprung zu mehr Freiheit willst, dann kommst du an (einfachen) Grundlagen nicht vorbei. Ein Studium braucht man dafür nicht. So etwas lernen viele auch schon im Abitur.

Statt einer .exe kannst du in Java z.B. eine JAR erstellen. Zur Not kann man auch eine .exe daraus machen, aber das ist unnötig und wenn du auf Linux ausführen willst sowieso schlecht.
 
Zuletzt bearbeitet:
Was mich an Java stört? Schwer zu sagen, ich machs einfach mal so: Es ist ungewohnt, und der Mensch sträubt sich gegen ungewohntes. Ich lese viel von Klassen und so weiter, kann aber selber nicht mal eine .exe erstellen. Programme lassen sich nur in BlueJ ausführen (jedenfalls kommt es mir so vor ;))

Ich denke, was ich wirklich bräuchte wäre ein gutes Tutorial zum Einarbeiten, eins, dass alles von Anfang an erklärt. Zu Java finde ich dazu nicht wirklich was. Und Phyton sieht halt schon mal relativ einfach aus. Z.B. ist
print "Hallo Welt"
Schon ein Programm!

Dafür müsste ich in Java schon eine Klasse erstellen, eine Funktion erstellen, diese über ein erstelltes Objekt aufrufen...
 
Code:
1: public class HelloWorld {
2:     // A program to display the message
3:     // "Hello World!" on standard output
4:     
5:     public static void main(String[] args) {
6:     System.out.println("Hello World!");
7:     }
8: }   // end of class HelloWorld
9:


Ist doch pippi einfach in Java?
 
Tumbleweed schrieb:
Naja, also wenn ich diesen Auszug so lese, dann traust du dir entweder nicht viel zu oder du hast falsche Vorstellungen von Programmieren. Sinn und Syntax einer if-Verzweigung sind dermaßen simpel, dass es da kaum etwas dran zu verstehen gibt. Vor allem lernt man solche Grundlagen doch normalerweise bereits in den ersten Kapiteln eines Buches bzw. den ersten Tutorials, falls man online bleibt.

Die Frage ist auch - wo willst du mal hin mit deinem Können. Du scheinst dich ja bisher in sehr eingeschränkten Umgebungen bewegt zu haben, wo nur ein bisschen Skripten möglich war. Wenn du aber nun den Sprung zu mehr Freiheit willst, dann kommst du an (einfachen) Grundlagen nicht vorbei. Ein Studium braucht man dafür nicht. So etwas lernen viele auch schon im Abitur.

Mir fällt aber kein Programm ein, dass ich nicht mit if und while schleifen Programmieren könnte ;) und ein paar Variablen natürlich.
Von Games und Treibern mal abgesehen.
Weiterhin konnte ich mit dem GTR komplexere Prg auch noch gar nicht erschaffen.

Später möchte ich auch beruflich in diese Richtung gehen. Welchen Studiengang genau, kann ich noch nicht sagen, vlt erstmal Batchler in Angewandte Informatik?


@killray: aber du siehst den Unterschied ;)
In Java sehe ich erstmal nur bunte Schriftzeichen, erst nach genauem Lesen kapier ich den Inhalt. In bsp. Python. sehe ich eine Zeile und weiß sofort, was gemeint ist.
 
Zuletzt bearbeitet:
BomberDeluxe schrieb:
In Java komme ich momentan einfach gar nicht klar. Ich schreibe in BlueJ, und ich hab nichtmal, wie in anderen Sprachen eine .exe, die ich einfach ausführen kann. Ich muss immer erst in BlueJ ein Objekt erstellen, in diesem dann die Funktionen aufrufen... richtige Erfolge habe ich damit nicht.

Naja, beschäftigen muss man sich schon damit. Ein Java-Programm ist (standardmäßig) nun mal kein statisches Kompilat, sondern benötigt eine Runtime zur Ausführung, die ein Zwischenformat zur Ausführung bringt. Statt einer .exe, startest Du ein .jar. Letztendlich kein riesiger Unterschied.

Und um die Grundlagen der Sprache kommt man nicht herum. Es gibt bei Java bestimmte Regeln, was wo wie hingehört. Dieses Rüstzeug muss man sich natürlich zuerst aneignen, bevor man "richtige" Programme schreiben kann.

Bücher gibt es gerade für Java zuhauf. Auch kostenlose, wie z.B. Thinking in Java, die sich für einen Einstieg gut eignen.
 
BomberDeluxe schrieb:
Mir fällt aber kein Programm ein, dass ich nicht mit if und while schleifen Programmieren könnte ;) und ein paar Variablen natürlich.
Das war wohl eher so gemeint, dass Verzweigungen und Schleifen die elementarsten Grundlagen sind. Man kann nicht programmieren ohne Schleifen und Verzweigungen zu nutzen.
Deshalb lernt beinahe als allererstes (in den ersten Minuten) bei jeder Sprache wie die Syntax einer Schleife und die einer Verzweigung aussieht. Aber das Wissen alleine hilft einem noch nicht viel weiter.
 
Ziemlich kompliziert.
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.

Ihr würdet also zu Java raten?
 
Zurück
Oben