totti110
Anmeldungsdatum: 16. Juli 2010
Beiträge: 85
|
Hallo Liebe Ubuntu Programmierer, ich suche eine Programmiersprache für Anfänger. Da ich früher als Windows User auch programmiert habe würde ich das auch mit Ubuntu tuhen.
Ich habe mit der Programmiersprache "Visual Basic" programmiert aber habe jetzt schon wieder alles vergessen. Kann mir einer eine Programmiersprache für Anfänger sagen und welches Programm ich dafür brauche. Danke im Vorraus.
|
Inkane
Anmeldungsdatum: 17. Oktober 2010
Beiträge: 306
|
Es gibt natürlich nicht die Sprach für Anfänger und bei der Wahl der Sprache kommt es natürlich darauf an, was du letztendlich mit ihr machen willst. Es gibt ja verschiedene Sprachtypen für verschiedene Anwendungsfälle. Das Wiki bietet einen kleinen Einblick. Für Einsteiger würde ich persönlich folgende empfehlen:
(Free)Pascal Java Python Ruby
Sie haben alle eine recht vernünftige Synatax und es gibt gute Tutorials, Bücher und Foren. Wenn du die Ziele eingrenzt, wegen denen du programmieren möchtest, kann man dir natürlich besser helfen. P.S.: Ich hoffe, ich habe mit meinen Sprachempfehlungen jetzt keinen Flamewar gestartet…
|
uname
Anmeldungsdatum: 28. März 2007
Beiträge: 6030
Wohnort: 127.0.0.1
|
Die Frage ist natürlich immer wie schnell du was erreichen willst. Als "richtige" Programmiersprachen solltest du dir C, C++ oder Java anschauen. Dein Ubuntu besteht aus C, C++ ist die OOP-Erweiterung und wird heute oft genutzt und Java ist auch sehr verbreitet. Möchtest du schnellen Erfolg so wären vielleicht "Scriptsprachen" wie Shellprogrammierung, Perl, Ruby oder Phyton mehr geeignet. Vor allem wenn du mal eben ein paar Schleifen mit kurzen Berechnungen oder Zeichenkettenmodifikationen brauchst sind sie meist praktischer. Zudem sind sie näher am Betriebssystem. Persönlich nutze ich vor allem normale Shellprogrammierung (Bash) sowie Perl. Richtig programmiert z.B. in C und C++ habe ich schon lange nicht mehr.
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
uname schrieb: Die Frage ist natürlich immer wie schnell du was erreichen willst. Als "richtige" Programmiersprachen solltest du dir C, C++ oder Java anschauen. Dein Ubuntu besteht aus C, C++ ist die OOP-Erweiterung und wird heute oft genutzt und Java ist auch sehr verbreitet.
C++ war ursprünglich zwar eine Erweiterung für C, ist aber inzwischen eine eigenständige Programmiersprache, die aber die C-Syntax weitgehend unterstützt. Das System selbst (der Kernel und die meisten Bibliotheken) sind in C geschrieben (vor allem bei KDE auch in C++), Canonical verwendet sehr oft Python (der Software-Center ist z.B. in Python geschrieben). Für Gnome-spzifische Programme scheint Vala im Kommen zu sein (Unity ist in Vala geschrieben). Debian (auf dem Ubuntu basiert) verwendet sehr viel Perl. Möchtest du schnellen Erfolg so wären vielleicht "Scriptsprachen" wie Shellprogrammierung, Perl, Ruby oder Phyton mehr geeignet.
Python wird ähnlich wie Java standardmäßig in einen Bytecode kompiliert, der dann ausgeführt wird (im Unterschied zu Java passiert das aber automatisch). Die Syntax von Python, Perl und Ruby ist deutlich kompakter als die von Java. Python-Code ist normalerweise relativ gut lesbar.
Vor allem wenn du mal eben ein paar Schleifen mit kurzen Berechnungen oder Zeichenkettenmodifikationen brauchst sind sie meist praktischer.
Python und Ruby haben da den Vorteil, dass sie eine interaktive Shell haben, in der man kurze Code-Stücke einfach schnell mal ausprobieren kann.
Zudem sind sie näher am Betriebssystem.
Wenn man nahe an das Betriebssystem will, gibt es unter Linux keine Alternative zu C. Das andere Extrem ist Java, das durch die Java Virtual Machine relativ weit weg vom System ist. Ich würde einem Anfänger in den meisten Fällen Python oder C empfehlen - bei einer Visual-Basic-Vergangenheit eher Python.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
uname schrieb: Die Frage ist natürlich immer wie schnell du was erreichen willst. Als "richtige" Programmiersprachen solltest du dir C, C++ oder Java anschauen.
Was ist zeichnet denn eine "richtige" Programmiersprache aus? 😲
Möchtest du schnellen Erfolg so wären vielleicht "Scriptsprachen" wie Shellprogrammierung, Perl, Ruby oder Phyton mehr geeignet. Vor allem wenn du mal eben ein paar Schleifen mit kurzen Berechnungen oder Zeichenkettenmodifikationen brauchst sind sie meist praktischer.
Es soll auch komplexe Programme in diesen Sprachen (von Bash mal abgesehen) geben!
Zudem sind sie näher am Betriebssystem.
Hu? Nö!
Persönlich nutze ich vor allem normale Shellprogrammierung (Bash) sowie Perl. Richtig programmiert z.B. in C und C++ habe ich schon lange nicht mehr.
Definiere erneut "richtig"? Summa Summarum: Wir hatten hier schon gefühlte 1000 Threads zu diesem Thema. Schmeis die Suchfunktion an und lies ☺ PS: Anstelle von Java würde ich Scala empfehlen! Damit hat man die Mächtigkeit der JRE ohne die aussdrucksschwache Sprache Java.
|
totti110
(Themenstarter)
Anmeldungsdatum: 16. Juli 2010
Beiträge: 85
|
hmmm...bei allen von denen meine ich das da keine grafischen anwendungen gemacht werden können.Ist das richtig?Und gibt es auch noch Programmiersprachen für Anfänger die grafische Anwendung produzieren können?
|
Yoschi
Anmeldungsdatum: 11. April 2009
Beiträge: 454
|
Hallo ! Da du Visual Basic bereits kennst, könntest du dir als Alternative auch Gambas anschauen, was sehr ähnlich zu Visual Basic sein soll. Ansonsten würde ich zum Einstieg auch Python empfehlen. Wenn es systemnah sein soll, führt wirklich fast kein Weg an C/C++ vorbei. Es gäbe da noch D , was eine Mischung zwischen allem ist (Scriptsprachen, Java, C#, C, jede Menge Templatemagie) und systemnahe Programmierung durch Unterstützung der C ABI/API und einem Inline Assembler ermöglicht. Allerdings ist D quasi nicht verbreitet. Lysander schrieb: Summa Summarum: Wir hatten hier schon gefühlte 1000 Threads zu diesem Thema. Schmeis die Suchfunktion an und lies
Letztentlich kommt es eben darauf an, was du machen willst. (Ich sehe den Thread auch schon wieder ausarten) totti110 schrieb: hmmm...bei allen von denen meine ich das da keine grafischen anwendungen gemacht werden können.Ist das richtig?Und gibt es auch noch Programmiersprachen für Anfänger die grafische Anwendung produzieren können?
Gambas kann das zum Beispiel. Grundsätzlich kannst du mit jeder bisher genannten Programmiersprache (auch Assembler ! würde ich dir aber dringend davon abraten 😉) grafische Oberflächen programmieren. Dafür werden GUI - Toolkits verwendet, zum Beispiel bei Gnome und Unity (Ubuntu) Gtk, bei KDE Qt. Für beide existieren Bindings für fast alle Sprachen (sogar D). Wenn es plattformunabhängig(er) sein soll, gibt es dann noch wxWidgets. Wenn es mehr um grafische Spiele, Veranschaulichungen, Diagramme, Animationen, etc. geht, wäre vieleicht auch Processing eine Möglichkeit. Das ist im Grunde Java mit grafischen Bibliotheken und einer IDE, der einem den ganzen Java Boilerblate Code abnimmt. Yoschi
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
totti110 schrieb: hmmm...bei allen von denen meine ich das da keine grafischen anwendungen gemacht werden können.Ist das richtig?Und gibt es auch noch Programmiersprachen für Anfänger die grafische Anwendung produzieren können?
Das geht mit fast allen Programmiersprachen. Java bringt in der Standard-Bibliothek schon Unterstützung für die GUI-Programmierung mit, für die meisten anderen anderen Sprachen gibt es dafür zusätzliche Bibliotheken. Für Python habe ich dazu mal angefangen, eine Doku zu schreiben.
|
Inkane
Anmeldungsdatum: 17. Oktober 2010
Beiträge: 306
|
Wenn du hauptsächlich GUI–Anwendungen erstellen willst, bietet sich natürlich eine Sprache an, für welche es eine IDE mit RAD–Support gibt (ist aber nicht notwendig). Bei Pascal wäre das Lazarus, für C++ müsste Glade funktionieren.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
Inkane schrieb: Wenn du hauptsächlich GUI–Anwendungen erstellen willst, bietet sich natürlich eine Sprache an, für welche es eine IDE mit RAD–Support gibt (ist aber nicht notwendig). Bei Pascal wäre das Lazarus, für C++ müsste Glade funktionieren.
RAD ist ja nicht auf GUIs beschränkt... Zudem kann man sich nun tot schmeißen mit Alternativen; für C++ fällt mir vor allem das Qt-Framework ein mit all seinen Tools! Der OP hat eh eine falsche Vorstellung von Dingen. Für schnell mal quick and dirty was zusammenzimmern kann man natürlich Gambas nutzen. Allerdings neigen Neulinge dazu, die auch dabei existierenden Konzepte zu ignorieren und krudes Zeug zusammen zu frickeln. Trennung von Logik und GUI ist dabei ein Grundsatz, der gerne verletzt wird. Fazit: Wer wirklich programmieren lernen will (ggf. auch mit dem Fernziel GUIs), der sucht sich eine populäre universelle Sprache heraus und lernt lange Zeit die Grundlagen über Konsolenanwendungen. Beispiele wurden schon genannt. GUIs erfordern eine Menge Verständnis von unterschiedlichsten Sprachidiomen.
|
Inkane
Anmeldungsdatum: 17. Oktober 2010
Beiträge: 306
|
Fazit: Wer wirklich programmieren lernen will (ggf. auch mit dem Fernziel GUIs), der sucht sich eine populäre universelle Sprache heraus und lernt lange Zeit die Grundlagen über Konsolenanwendungen. Beispiele wurden schon genannt. GUIs erfordern eine Menge Verständnis von unterschiedlichsten Sprachidiomen.
Da stimme ich dir natürlich zu, ich würde auch dazu raten erst einmal die Grundlagen zu lernen. RAD habe ich nur angeführt, weil er explizit Grafik angesprochen hat.
|
Yoschi
Anmeldungsdatum: 11. April 2009
Beiträge: 454
|
Lysander schrieb:
Der OP hat eh eine falsche Vorstellung von Dingen. Für schnell mal quick and dirty was zusammenzimmern kann man natürlich Gambas nutzen. Allerdings neigen Neulinge dazu, die auch dabei existierenden Konzepte zu ignorieren und krudes Zeug zusammen zu frickeln. Trennung von Logik und GUI ist dabei ein Grundsatz, der gerne verletzt wird. Fazit: Wer wirklich programmieren lernen will (ggf. auch mit dem Fernziel GUIs), der sucht sich eine populäre universelle Sprache heraus und lernt lange Zeit die Grundlagen über Konsolenanwendungen. Beispiele wurden schon genannt. GUIs erfordern eine Menge Verständnis von unterschiedlichsten Sprachidiomen.
Der OP schrieb ja, dass er bereits mit VB programmiert hat, und damit wissen müsste, was OOP, etc. ist (wobei es kein gutes Zeichen ist, wenn er schon wieder alles vergessen hat). Wenn man die Grundlagen jedoch noch nicht kennt stimme ich dir voll und ganz zu.
|
diesch
Anmeldungsdatum: 18. Februar 2009
Beiträge: 5072
Wohnort: Brandenburg an der Havel
|
Lysander schrieb:
Fazit: Wer wirklich programmieren lernen will (ggf. auch mit dem Fernziel GUIs), der sucht sich eine populäre universelle Sprache heraus und lernt lange Zeit die Grundlagen über Konsolenanwendungen. Beispiele wurden schon genannt. GUIs erfordern eine Menge Verständnis von unterschiedlichsten Sprachidiomen.
Sobald man mal die wirklich elementaren Sachen verstanden hat, kann man den Rest meiner Meinung nach auch mit GUI-Programmierung lernen. Man hat dann halt am Anfang einige Sachen, die man noch nicht wirklich versteht, sondern nur anwenden kann - aber genau das kann ein Ansporn sein, sich damit näher zu beschäftigen. Je nach Sprache hat man das aber auch bei Konsolenanwendungen - Java ist da ein Beispiel.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
Yoschi schrieb: Der OP schrieb ja, dass er bereits mit VB programmiert hat, und damit wissen müsste, was OOP, etc. ist
Vielleicht habe ich da ja die falschen Erfahrungen gemacht, aber ich habe bisher von Leuten, die laut eigener Meinung VB "konnten", niemals erlebt, dass sie diese Konzepte grundlegend kapiert hatten. Da der OP ja auch schrieb, dass er alles wieder vergessen hat, lässt das nicht vermuten, dass er das Verständnis dafür jemals erlangt hat. Paradigmen kann man imho nicht wirklich vergessen.
|
Fredo
Anmeldungsdatum: 27. Juni 2005
Beiträge: 5244
Wohnort: Bochum
|
Ach, wie schön, da wären wir also wieder einmal. Und wie immer an dieser Stelle gebe ich dann mal meinen ultimativen Programmieren-unter-Ubuntu-(nicht-nur)-für Einsteiger-Tipp ab: Lern Python und nimm dazu Quickly! (Damit kann man auch ganz einfach GUI-Programme schreiben.) Disclaimer: Natürlich gibt es noch hunderte andere Möglichkeiten in Bezug auf Sprachen, GUI-Toolkits, IDEs etc. Dieser Tipp ist daher rein subjektiv. Aber ist das schön an Ubuntu nicht die Ein-Tool-für-jeden-Zweck-Philosophie? Daher nenne ich auch einfach mal nur eine Möglichkeit. Liebe Grüße Fredo
|