Hallo,
Ich bin neu auf dem Gebiet der Programmierung, aber C++ hat
mein Interesse geweckt.
Aha. Wie hat denn C++ das Interesse geweckt?
1.Ich würde mir gerne C++ mithilfe von Büchern selbst
beibringen. Könnt Ihr mir da etwas empfehlen, das nicht zu
trocken ist? Ich habe mal in so ein paar Bücher reingeschaut,
aber so ziemlich jedes zählt nur die Befehle und deren
Funktionen auf, zum Teil mit Beispielen, aber ohne dass man
daraufhin eine oder mehrere Aufgaben dazu bekommt, die man
selbst lösen soll, was wirklich wünschenswert wäre.
Wie wäre es damit, dass Du Dir selbst Aufgaben stellst, die Du mit Hilfe von den beschriebenen Befehlen löst?
Ich möchte
aktiv lernen, nicht Beispiele lesen und weitergehen zur
nächsten Lektion, nur sowas konnte ich noch nicht finden.
Da Du offenbar kein besonderes Interesse an der Theorie hast (z.B. bei der Bewertung von Algorithmen zum lösen vorgegebener Standardprobleme oder den Vor- und Nachteilen von Datenstrukturen) gilt: Learning by doing.
Hoffe Ihr könnt mir was gutes empfehlen, gerne auch auf
englisch. (Auch für empfehlenswerte Online-Tutorials wäre ich
sehr dankbar.)
Meine Güte. An online tutorials ist kein Mangel. Google Dir mal was. Ob das für Dich gut ist, kannst Du selbst am besten beurteilen.
- Ist C++ eurer Meinung nach zukunftsorientiert? Kann man als
C++ Experte auch noch in 10 oder 20 Jahren noch Arbeit finden?
Auf dem Hobbyniveau findet man mit gar keiner Sprache eine (bezahlte) Arbeit.
Wieso? Ist eine Sprache wie Java zukunftsorientierter, wie
oftmals behauptet?
Das würde mich auch mal interessieren. Programmiersprachen eigenen sich für bestimmte Probleme unterschiedlich gut. Prinzipiell ist aber jedes theoretisch lösbare Problem mit allen Sprachen lösbar.
Ein wirklicher Experte in C- oder sogar Fortran-Programmierung wird keinerlei Probleme haben, eine Arbeit zu finden. Ein Stümper in Java bekommt einen Job zum wenden der Buletten bei McDonalds.
Der Experte wird auch keine wirklich großen Probleme bekommen, sich in eine andere Sprache einzuarbeiten, wenn es erforderlich sein sollte. Das setzt allerdings eine fundierte Ausbildung voraus.
- Wie lange braucht man um kleine Tools für Windows schreiben
zu können, solche die das Arbeiten am PC leichter machen
sollen…?
Ja, an schlecht programmierten kleinen Sicherheitlöchern, die das Arbeiten am PC „leichter machen“ herrscht riesiger Mangel. Veröffentliche schnell ein paar mehr!
- Wie lange braucht man um C++ Experte zu werden, wenn man
täglich 2-3 Stunden dafür aufbringt und nur Bücher und das
Internet zur verfügung hat?
Das hängt davon ab, wie talentiert man ist.
- Wie gut muss man sein um gut mit Grafikschnittstellen wie
OpenGL arbeiten zu können oder mods für Half-Life 2 machen zu
können? Auch hier wieder, wie lange…?
Für sowas braucht man zunächst einmal ein solides Verständnis der mathematischen Grundlagen. Hier lineare Algebra. Unter Windows wird OpenGL ja nicht mehr direkt unterstützt, also solltest Du Dir lieber DirectX bzw. Direct3D anschauen. Macht aber was die Grundlagen betrifft keinen Unterschied.
- Habe mehrfach gelesen, dass man vorher C lernen sollte…
Woanders steht, man soll die Finger von C lassen und direkt
C++ lernen… was ist denn nun empfehlenswert?
Mach es so, wie Du es besser findest. C++ nutzt primär das Paradigma der objektorientierten Programmierung, C ist prozedural orientiert. Beide Sprachen können das jeweils andere ebenfalls. Wenn Dir das nichts sagt, dann google mal
Übrigens hat keine der Methoden einen natürlichen Vorteil gegenüber der anderen. Insbesondere ist Objektorientierung nicht automatisch besser und/oder eleganter, als prozedurale Programmierung.
- Wie sieht es mit kommerziellen Programmen aus? Kann ich
selbst „einfach“ ein Tool schreiben und es verkaufen ohne
Lizenzgebühren für Programmbibliotheken oder ähnliches Zahlen
zu müssen?
Das hängt davon ab, welche Bibliotheken Du nutzt. Wenn Du Dir ein Linux installierst, bekommst Du die Entwicklungsumgebung für allerlei Sprachen (inklusive der erwähnten Java, C und C++) mitsamt einem großen Haufen Bibliotheken gratis und *frei* dazu.
Auch unter Windows stehen die Entwicklungswerkzeuge wohl gratis zur Verfügung. Ich weiß aber nicht, welchen Lizenzen die zu nutzenden Bibliotheken unterliegen. Da solltest Du Dich beim Hersteller erkundigen.
- Als letztes wäre es schön ein oder zwei Empfehlungen für
kostenlose IDEs zu bekommen . Und: Womit arbeitet Ihr, liebe
Experten (und wenn es nicht zu aufdringlich ist: An welcher
Art von Software)?
Eclipse ist sicher ein guter Ansatz für eine universell nutzbare IDE und frei verfügbare IDE. Unter Windows wirst Du an Microsoft Visual Dingsbums nicht vorbei kommen.
Ich erwarte keine genauen Angaben auf die
„wie-lange“-fragen… Es geht mir nur darum eine grobe
Vorstellung zu bekommen, also schätzen ist erlaubt und
erwünscht.
Ich freue mich über jede Antwort, auch Teilantworten
Zu guter Letzt noch zwei Links. Einmal das „hello world“ Poster der Lehmanns Buchhandlung. Dort wird in vielen Sprachen der Text „Hello, World!“ ausgegeben. Klassicherweise die erste „Aufgabe“, die man beim Erlernen einer Sprache löst.
http://www.lob.de/pdf/helloworld.pdf
Und dann auf die Hacker-Howto vom CCC (Übersetzung eines englischen Textes von Doug Mclean. Verstehe hier „hacker werden“ synonym zu „Programmierer werden“.
http://koeln.ccc.de/archiv/drt/hacker-werden.html
Gruß & viel Spaß!
Fritze