Hallo an alle Insider,
wie Ihr meiner ID entnehmen könnt, habe ich mit Informatik im Alltag außer, dass ich Programme benutze wenig zu tun.
Ich möchte mich nun Hobbymäßig an eine Programmiersprache ranmachen und meine Frage an euch ist welche am besten geeignet ist.
Die Sprache sollte flexibel sein und man sollte die Möglichkeit haben eine Software zu programmieren, die ohne große Umstände auf Windows selbständig läuft ohne das Ganze erst durch den Compiler schicken zu müssen.
Würde mich interessieren was ihr mir empfehlen würdet.
Schöne Grüße
der Musikstudent :thumb:
Welche Sprache
-
-
Ruby oder Python sind sicher gute Sprachen für deine Zwecke. Ich würde eher zu Python tendieren, da es hier explizit das Ziel ist, einen (genau einen) offensichtlichen Weg etwas zu tun zu haben.
Ruby (http://www.ruby-lang.org) finde ich in Verbindung mit Rails (http://www.rubyonrails.com) für Web Anwendungen sehr angenehm... .
HTH,
Mihi -
Noch ein Tipp zum Anfangen: schnapp dir eine Referenz und schreib ein (mehr) einfaches Programm damit - so lernst du mehr als wenn du dir ein Buch kaufst und versuchst die Beispiele abzuschreiben.
Viel Erfolg,
Michi -
(wobei mir ruby derzeit etwas mehr spass macht). Beide Sprachen sind nicht nur sehr mächtig, sondern auch sehr elegant und einfach zu lernen. Du erzielst einerseits sehr schnell fortschritte, andererseits bist aber in deinen möglichkeiten nicht beschränkt, falls du mal was komplexeres machen möchtest.
Für Ruby gibt es zwei wichtige bücher, die du online lesen kannst:
Why's (Poignant) Guide to Ruby richtet sich an programmieranfänger,und die ruby-bibel, Programming Ruby, fängt auch ganz vorne an.
Auch für python findet sich viel gute documentation, die sich an anfänger richtet:
http://www.python.org/moin/BeginnersGuide/NonProgrammers
Unabhängig von der Sprache, hier noch drei tipps zum lernen:
- Theorie lernen (buch) - ohne gehts nicht!
- Selber viele programme schreiben - ohne gehts nicht!
- Programme von anderen lesen und verstehen - ohne gehts nicht!
besonders der letzte punkt ist sehr wichtig, weil er von vielen vernachlässigt wird und sich das früher oder später rächt. -
wenns windows sein darf.
ist relativ einfach zu erlernen und auch mächtig. dazu noch eine angenehme syntax, ich mag die syntax von python net:Codedef ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while True: ok = raw_input(prompt)
kommt irgendwie net so gut, is aber nur meine meinung, sicher sind auch python/ruby nett
-
Wie wärs mit Java?
Davon gibts genug Doku, eine schöne Entwicklungsumgebung (Eclipse) und viele nette Leute die einem helfen können.
Java ist zwar weder die schönste noch die schnellste noch die umfangreichste Sprache aber zum Anfangen ist sie imho sehr gut geeignet -
Zitat von phax
Java ist zwar weder die schönste
Nach welchen Maßstäben? Und welche ist die schönste?Zitatnoch die umfangreichste Sprache
Was ist mit Umfang gemeint? Wahrscheinlich nicht die Anzahl der Bibliotheken ..Zitataber zum Anfangen ist sie imho sehr gut geeignet
Und mit was arbeiten die Profis? -
Zitat von JohnFoo
Und mit was arbeiten die Profis?
Kommt wohl auf die Branche an. Aber Programme, bei denen z.B. Performance wichtig ist, werden wohl von keinem 'Profi' in Java geschrieben werden.musikstudent: Jede Art von Basic ist meiner Meinung nach eine der einsteigerfreundlichsten Sprachen. Z.b. VisualBasic. Hat die Vorteile von C# aber eine, schöne, anfängerfreundlichere Syntax.
-
Zitat von JohnFoo
Nach welchen Maßstäben?
Sehr subjektivZitatWas ist mit Umfang gemeint? Wahrscheinlich nicht die Anzahl der Bibliotheken ..
Stimmt, ich meinte den Sprachumfang - aber für Java gibt es seeeehr viele Libs.ZitatUnd mit was arbeiten die Profis?
Hängt vom Aufgabengebiet ab - C/C++/Java/Python/Perl/PHP/ABAP - jede Sprache hat ihre Daseinsberechtigung. -
Zitat von Irrlicht
Kommt wohl auf die Branche an. Aber Programme, bei denen z.B. Performance wichtig ist, werden wohl von keinem 'Profi' in Java geschrieben werden.
mag sein, das trifft aber nur auf einen sehr kleinen teil des softwarekuchens zu.
Es geht hier ja nicht wirklich darum, dass in einem projekt 'performance wichtig ist', sondern das 'performance so entscheident ist, das man die Nachteile einer (schnelleren) alternative in kauf nehmen muss'.
-
Mit Java und C# eine kleine applikation ( vielleicht <5000 LOC) zu schreiben bedeutet doch, mit kanonen auf spatzen zu schiessen. Eine programmiersprache soll mir beim programmieren so wenig wie möglich im wege stehen und weder java noch c# zeichnen sich hier meiner meinung nach aus, weil sie eben vor allem für sehr grosse, kritische Unternehmensanwendungen designt wurden, wo ganz andere bedingungen herrschen.
ruby (und auch python) haben wesentlich kürzere entwicklungszeiten und skalieren trozdem prima, wenn die codebasis anwächst. Java ist vielleicht geeignet für ebay oder amazon, aber wohl nicht für musikstudent.
Ausserdem unterstützen C#,Java und C++ zwar bis zu einem gewissen grad objektorientierte methoden, sind aber zum lernen von OOP nicht sehr gut geeignet (wegen der vielen ausnahmen).
-
Zitat von bosie
wenns windows sein darf.
ist relativ einfach zu erlernen und auch mächtig. dazu noch eine angenehme syntax, ich mag die syntax von python net:Codedef ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while True: ok = raw_input(prompt)
kommt irgendwie net so gut, is aber nur meine meinung, sicher sind auch python/ruby nett
Ich weiss nicht, was dir an dem code oben nicht gefällt, aber es ist wohl wirklich reine Geschmacksache.
Ich finde es ist gerade die leserliche syntax, die python gegenüber anderen sprachen einen vorteil verschafft.
Schau dir mal dieses programm an, das liesst sich quasi wie pseudocode:
Code
Alles anzeigendef find_path(graph, start, end, path=[]): """backtracking algorithm that searches a path from start to end.""" path = path + [start] if start == end: return path if start not in graph: return None for node in graph[start]: if node not in path: newpath = find_path(graph, node, end, path) if newpath: return newpath #ein beispielgraph zum testen: graph = {'A':['C','D'], 'B':['A','E'], 'C':['B'], 'D':['A','B'], 'E':['D'], 'F':[] } print find_path(graph,'A','E') #output: #['A', 'C', 'B', 'E']
-
Delphi/Object Pascal wär auch ne feine Alternative. Das GUI-Design verschlingt durch die feine IDE nur einen Bruchteil der Zeit, die Geschwindigkeit steht C++ nur um wenig nach, es gibt auch für viele Bibliotheken .pas Files zum ansprechen. OpenGL, DirectX, alles kein Problem.
Nachteil: Es is nicht gratis. Die 6er Version gabs gratis zum saugen, inzwischen mus man sich die sonstwo besorgen, und nur nen Key holen.
Wie gesagt ob die Sprache schön ist, ist subjektiv, sie liest sich aber irgendwie angenehmer als C++.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!