Und wo würdest du einem Einsteiger raten anzufangen, bzw mit welcher Sprache?![]()
Und wo würdest du einem Einsteiger raten anzufangen, bzw mit welcher Sprache?![]()
--Rm2k3 & Rmxp an die Macht \m/
Das ist ein Glaubenskrieg. Da hat jeder seine eigene Meinung.
Meine Meinung ist aber, dass man nicht unbedingt gleich mit C/C++ anfangen sollte. Die Sprachen haben schon ihre Tücken und bringen einen Anfänger sehr oft zur Verzweiflung. Bei C/C++ muss die Speicherverwaltung selbst vom Programmierer übernommen werden. Also man ist ständig dabei mit irgendwelchen Zeigern (Pointer) zu hantieren, was vielen doch sehr verwirrt. Auch Programmierer, die schon jahrelang damit programmieren, können die Zeiger einen sehr verwirren.
Aber nicht eine Programmiersprache macht einen guten Programmierer aus, sondern die Erkennung von Datenstrukturen und Algorithmen.
Daher rate ich dir, nicht nur die Syntax einer Sprache zu lernen, sondern auch zu lernen, welche Möglichkeiten es gibt, Datenstrukturen zu entwickeln.
In der Schule haben wir mit (Free-)Pascal angefangen. Ich finde, es ist ne reicht leichtverständliche Sprache, mit der man auch mit Zeigern arbeiten kann, wenn man möchte.
Zeiger sind z.B. sehr nützlich um dynamische Datenstrukturen zu erzeugen, wo die Größe der Datenstruktur mit der Größe der zu speichernden Daten wächst.
Aber, wie gesagt, dass ist ein Glaubenskrieg und jeder sagt was anderes.
Z.B. empfehlen einige Phyton, andere wiederrum C# und wieder andere Java, etc., etc., ...
Darum hab ich mir angewöhnt folgendes zu sagen:
- nimm 6 Sprachen in die engere Wahl
- vergib jeder Sprache eine Nummer zwischen 1 und 6 (Jede Zahl darf nur einmal vorkommen)
- nimm ein Würfel und würfel ihn und die Sprache, die die Zahl repräsentiert, nimmst du.
Wenn du aber anfängst zu programmieren, solltest du jetzt nicht gleich denken, dass du gleich eine riesige grafische Oberfläche zusammenklickst. Oftmals fangen die ersten Versuche erstmal als Kommandozeilenbasierte Programme an. Es sei denn, du nimmst ne Sprache, die ausschliesslich eine grafische Oberfläche zur Verfügung stellt, wie z.B. C# oder Delphi.
Nimm lieber eine weit verbreitete, lebendige, Sprache. Pascal und Delphi verwendet kein durchschnittlicher Programmierer. Dadurch wirst du Schwierigkeiten haben, jemanden zu finden, der sich deinen Source ansieht, wenn du Probleme hast. Keiner hilft, wenn er extra in API-Referenzen nachschlagen muss.
Mein Glauben sagt btw, man sollte mit C anfangen. So gut wie alle gängigen Sprachen haben sich die Syntax von C abgeschaut. Insofern man hier anfängt, fühlt man sich schnell bei anderen Sprachen zu Hause. Zusätzlich findet man viele große, mittelgroße und kleine Programme, die in C geschrieben wurden. Gut wird man nur, wenn man viel Code liest, und auch etwas schreibt. Das gilt zwar für alle Sprachen, allerdings findet man in kaum einer anderen Sprache so schnell interessante Programme, wie in der, die am meisten von Open Source Projekten verwendet wird.
Ok und wie stehts mit Ruby? Hab gehört das soll sowohl für Einsteiger gut sein, als auch für Fortgeschrittene noch Möglichkeiten bieten
--Rm2k3 & Rmxp an die Macht \m/
Sorry, aber da muss ich dir widersprechen, Mog. Delphi (und damit Pascal z.B. in Form von Freepascal mit Lazarus sogar plattformunabhaengig) sind durchaus in der Windowswelt verbreitet, wenn es darum geht, eine GUI aufzusetzen. Sehr viele IDEs (z.B. auch die von Dev-C++) werden in Delphi geschrieben und auch komplette komerzielle Spiele werden unter Delphi programmiert (auch wenn das eher die Ausnahme ist). Delphi (bzw. Pascal) ist sehr Einsteigerfreundlich und wenn es um die Erstellung von GUIs geht meine erste Wahl. Auch gibt es fast zu allem Tutorials und OpenSource Quelltexte (natuerlich kommt aber diesbezueglich nix an C/C++ ran).
Vielleicht mag man als C/C++ Programmierer spaeter im Berufsleben bessere Chancen haben, aber dieser Malus ist nich Pascalspezifisch, denn auch Ruby, Lua, Python, Java, und was es nicht alles gibt, sind nicht C/C++.
Als Anfaenger sollte man sich ueberlegen, was man spaeter machen will, die Sprachen bezueglich ihrer Paradigmen daraufhin vergleichen und dementsprechend auf das Ziel mit einer geeigneten Sprache hinarbeiten. Ist man aber nur an den Basics wie dem Schreiben von Hello-World-Programmen auf der Console interessiert , dann ist die Sprachwahl nahezu irrelevant. Und will man sich nur ein wenig die taegliche Arbeit erleichtern, kann man auch Bash und Awk lernen.
Ich weiß ja nicht mal was sachen wie GUI sind^^
könnte mir einer von euch eine kleine einführung in algorhythmen, GUI, etc. geben?
So als Elementarwissen.
Lg
--Rm2k3 & Rmxp an die Macht \m/
Ist doch eigentlich schnuppe. C-ähnliche Syntax hilft die großen Programmiersprachen dieser Welt (C++,C#,Java...) weniger gewöhnungsbedürftig zu finden als wenn zB in Basic programmieren lernt. Viel von dem was man allerdings lernt, besonders als absoluter Anfänger ist aber imo unglaublich sprachunabhängig. Ob man die lehrreichen Fehler in Sachen Kontrollstrukturen nun in C# oder Java macht~ wayne. Wer programmieren kann dem fällts auch leichter die Sprache noch zu wechseln, wers beruflich die nächsten 50 Jahre machen will wird eh noch mehr als eine lernen müssen.
Besorg dirn schönes Programmierlehrbuch, irgendwas, dass einfach geschrieben ist (Amazon-Reviews lesen erlaubt ein Urteil) in Beispielsweise C# oder Java oider Delphi und leg los.
Niemand wird dir runterbeten, was du leicht auch sonstwo nachlesen kannst. Entwicklungsumgebungen sind keine aufwändige finanzielle Anschaffung mehr (VisualStudio Express,NetBeans,DevC++) und Anleitungen findet man dutzende im Netz.
mfg
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Geändert von Corti (10.08.2011 um 15:51 Uhr)
Kannst du das vielleicht begründen?
Ich benutze zwar Eclipse, aber ich wollte mir mal schon seit längerem Netbeans genauer anschauen, da ich Eclipse auch nicht wirklich toll finde.
Es wirkt zu sehr überladen und die Menüs sind doch eher inkonsequent. Was sucht z.B. der Punkt "Install new Software" unter "Help" und warum findet man die Konfiguration von Eclipse unter "Window"? Netbeans macht für mich einen aufgeräumteren Eindruck. Auch bietet es einen GUI-Builder, den Eclipse standardgemäß nicht bietet.
Oder Empfiehlst du doch noch was anderes?
Da Netbeans kostenlos ist gibts wenig Grund es nicht mal auszuprobieren. Ich hab mit Eclipse angefangen und empfand es als irgendwie unkomfortabel, mit Netbeans konnte ich einfach angenehmer arbeiten.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Dann wuerde ich die die Sticky Threads in unserem Programmierforum empfehlen. Das sind die, die mit WICHTIG markiert sind und Titel wie "Wie fange ich mit Programmieren an - aka LIES MICH ZUERST"
Auch wenn sie schon aelter sind, stehen da gerade fuer Anfaenger interessante Informationen drin.
Eine GUI ist ein Graphical User Interface - also kurzum alles, was bunt ist, Bilder und/oder Fenster hat und sich grossteils mit der Maus bedienen laesst - also 99% von dem, was du unter Windows kennst.
Das Gegenstueck dazu ist das CLI - Command Line Interface - wo man mehr oder weniger kryptische Befehle per Tastatur eintippt, dafuer aber sehr maechtige Dinge halbautomatisiert erledigen kann.
CLI Programme sind idR in den meisten Programmiersprachen leichter zu schreiben, da man sich nicht um die Verwaltung von Fenstern und anderem GUI Kram kuemmern muss. IdR reichen einfache Befehle, um mit Streams (Abstraktionen von Datenstroemen, z.B. Dateien, die Tastatur, der Text auf dem Monitor) Lesen und Schreiben zu koennen. Klassische Anfaengerprogramme sind: "Gib den Text 'Hallo Welt' aus.", "Lass den User eine Zahl eingeben und teste, ob es eine Primzahl ist.", "Gib die ersten 10 Elemente der Fibonacci-Folge aus.", "Programmiere ein kleines Textadventure."
Ein Algorithmus ist nichts ander, als eine (endliche) Abfolge von Befehlen um eine bestimmte Aufgabe zu loesen. Als Beispiel gebe ich mal den schoenen Wikipediaartikel zum Sieb des Eratosthenes um alle Primzahlen bis zu einer Zahl X zu finden.