Was jetzt nach C und C++?
-
Wie wärs mit Sport? Das befreit den Kopf und ist eine schöne Abwechslung zu der öden Programmiertätigkeit
-
Ist eigentlich ein Qt Programm portierbar? Werde in der Uni mit MFC arbeiten Qt hört sich interessant an. Wo sollte ich mit Qt Programmieren? WinXP oder Linux? Wo ist damit leichter umzugehen?
-
olimlad schrieb:
Ist eigentlich ein Qt Programm portierbar? Werde in der Uni mit MFC arbeiten Qt hört sich interessant an. Wo sollte ich mit Qt Programmieren? WinXP oder Linux? Wo ist damit leichter umzugehen?
Linux, da da meistens schon eine Umgebung für QT mit beigelegt wird. Ansonsten kostet QT auf Windows etwas, daher würde ich dir GTK empfehlen.
-
Vielleicht macht es Sinn, sich mit WinAPI zu beschäftigen, um die innere Funktionsweise von Windows-Programmen von Grund auf zu verstehen.
z.B.:
http://www.win-api.de/
http://www.henkessoft.de/api1.htm
http://www.henkessoft.de/WinAPI_7_GDI.htm
http://www.winprog.org/tutorial/
-
Ich würde Assembler empfehlen. Da lernst du dann, wie alles wirklich funktioniert
-
Assembler ist eine gute Übung. Interessant ist auch der eigene Einstieg in eine OS-Entwicklung, falls du dafür Kraft und Zeit hast. Es ist ein gutes Gefühl, wenn man den Rechner mit einem eigenen OS von Diskette bootet. Kleiner Einstieg:
http://www.ysgnet.com/art/toyos_1.html
http://www.ysgnet.com/art/toyos_2.html
http://www.linuxgazette.com/issue82/raghu.htmlAnsonsten Compilerbau:
http://www.drd.de/helmich/inf/comp/
-
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
MFC und WinAPI kann ich immer nur betonen werden nicht mehr weiter entwickelt und es lohnt sich deswegen nicht wirklich sich damit intensiv zu befassen!
Assembler und Lisp würde ich an deiner Stelle aber eher machen, vor der GUI Programmierung.
-
Wie waere es damit, irgendetwas richtig zu lernen und nicht ueberall nur reinschnuppern...?
-
OT:
Erhard Henkes schrieb:
http://www.ysgnet.com/art/toyos_1.html
http://www.ysgnet.com/art/toyos_2.htmlDiese Links gehen nicht.
-
Die Links waren in Ordnung, als ich diese gepostet habe. Hoffentlich nur ein temporäres Server-Problem, denn diese beiden Artikel sind sehr gut!
Sie gehen wieder! Ich werde mir die Artikel vorsichtshalber speichern, falls diese permanent verschwinden.
-
Kingruedi hat prinzipiell Recht, die Realität sieht aber noch anders aus. Vielleicht ist C# und .NET die richtige Zukunftsorientierung, so eine Art Mix aus Java und MicroSoft Overkill.
-
Ich würde mir die WinAPI nicht mehr anschauen, die liegt im Sterben. Vielleicht macht sie noch für C++ eine Zeit lang ein bisschen Sinn, aber das war's dann.
@Shade: Ich halte mehr davon, sich erstmal mehrere Sprachen anzuschauen, speziell auch auf verschiedenen Abstraktionsebenen. Assembler und Java, um mal wirklich alles gesehen zu haben. Danach kann man sich ja eine oder zwei Sprachen raussuchen und sich dort reinsteigern.
-
Assembler (nur zum Spaß), C++ (richtig), WinAPI (Prinzip) und Java (richtig), das wäre mein Tipp. Hängt aber stark von der zukünftigen Ausrichtung ab. Wer z.B. Game-Programming machen will, sollte C++, WinAPI und DirectX bzw. OpenGL beherrschen. Wer Mikroprozessoren programmieren will, sollte Assembler, C und C++ kennen. etc.
-
@Erhard
deine Empfehlungen sind zu allgemein. Es ist wichtiger, dass man sich ein Verständniss fürs Programmieren aufbaut.Was da zB. die WinAPI soll versteh ich nicht. Die API ist (selbst nach Aussagen von MS) veraltet und einen schönen Programmierstil lernt man durch die WinAPI erst recht nicht. Also lieber gleich von der Liste streichen und nur lernen, wenn man es wirklich muss (also jemand mit Scheinen winkt ;)). Sich auf APIs festzulegen ist eine schlechte Idee. APIs kommen APIs gehen...
Und direkt nach dem man C++ gelernt hat, Java zu lernen finde ich auch nicht so sinnvoll. Man lernt dadurch kein besseres Verständniss vom Programmieren. Java kann man auch dann später mal lernen, wenn man nichts zu tun hat oder jemand mit dicken Scheinen winkt.
Assembler halte ich da für Sinnvoller, da man ein grundlegendes Gefühl für Computer-Architekturen gewinnt. Und so Sprachen wie Lisp, Prolog etc. haben vielleicht keinen direkten Nutzen, wenn man sich um einen Job bewirbt, aber bringen einem eine Menge Know-How und neue Blickwinkel, was einem enorm hilft, wenn man zB. Software designt.
-
kingruedi schrieb:
Was da zB. die WinAPI soll versteh ich nicht. Die API ist (selbst nach Aussagen von MS) veraltet und einen schönen Programmierstil lernt man durch die WinAPI erst recht nicht. Also lieber gleich von der Liste streichen und nur lernen, wenn man es wirklich muss (also jemand mit Scheinen winkt ;)). Sich auf APIs festzulegen ist eine schlechte Idee. APIs kommen APIs gehen...
Verstehe ich nicht. *So* schnell ist die WinAPI auch nicht veraltet (jedenfalls hat man noch Zeit, ein paar Grundzüge zu lernen) und man lernt dadurch, auch mit krepligen C-APIs umzugehen. Da ist die WinAPI ja bei weitem nicht die einzige auf der Welt.
-
Ohne WinAPI kommt man aber im Moment noch nicht aus. In C# und Visual Basic etc. brauch man sie auch immer wieder.
-
... schrieb:
Ohne WinAPI kommt man aber im Moment noch nicht aus. In C# und Visual Basic etc. brauch man sie auch immer wieder.
Es gibt auch noch interessante Bereiche jenseits von M$
Zum Thema. Ich bin ebenfalls wie einige Andere hier auch der Meinung dass man mal in verschiedene Sprachen reinschnuppern sollte. Er hat sich nun ne prozedurale Sprache und ne Objektorientierte angeschaut. Da wirds doch evtl. Zeit für was Funktionales oder Imperatives. Eben neue Konzepte und neue Wege.
Assembler ist ne feine Sache um eine tieferes Verständnis für die Funktionsweise des Rechenknechts zu gewinnen. Einfach mal alles anschauen.
Und wenn er sich mal mit allem so ein bisschen beschäftigt hat, bleibt ja noch Brainfuck
-
prolog schrieb:
Und wenn er sich mal mit allem so ein bisschen beschäftigt hat, bleibt ja noch Brainfuck
wobei ich auch nur betonen kann, dass ich BrainFuck jedem Programmierer nur empfehlen kann. Das bringt einem irgend wie ein gewisses Verständniss
-
kingruedi schrieb:
Assembler halte ich da für Sinnvoller, da man ein grundlegendes Gefühl für Computer-Architekturen gewinnt.
Das Argument habe ich ehrlich gesagt noch nie verstanden. Warum sollte man etwas über "Computer-Architekturen" erfahren, wenn man einen Assembler lernt. Wo wird man denn da zum Beispiel mit Dingen wie Pipelining oder der Funktionsweise eines Caches konfrontiert? Naja, vielleicht habe ich mich bisher auch einfach nur zu wenig mit Assembler auseinandergesetzt, um das zu sehen. Ich bin mal auf die Erklärung gespannt.
-
Konzepte und grundlegendes Verständnis ist wichtig. Daher halte ich es immer noch für wichtig, den inneren Ablauf einer klassischen Windows-Anwendung (Nachrichtenerzeugung, Nachrichtenpumpe und -Schlange, Reaktionen auf Nachrichten) zu verstehen, denn das ist bei MFC oder auch bei Java bzw. C# das gleiche System, sobald man es mit Mausklicks zu schaffen hat. Vielleicht kann man Assembler und Windows kombinieren.
http://www.deinmeister.de/wasmtut.htmEine neuere Entwicklung sind "DNS-Rechner":
http://www.wisdom.weizmann.ac.il/~kobi/