Programmieren lernen auf eine besondere Art
-
Guten Tag erstmal,
Ich "programmiere"(Scripte) seid längerem mit PHP, MySQL, Oracle, JS ect..
Beruflich kahm ich nur mit Oracle in Berührung.
Nun habe ich einen neuen Job. Dabei geht es unter anderem darum, ein bestehendes Programm zu verstehen, kleine Änderungen vorzunehmen, und je länger je mehr auch selbst dieses Programm zu erweitern.
Das ganze ist in C geschrieben und kleine Teile in Assembler(wegen der Geschwindigkeit).
Mein Hauptproblem, wieso ich hier euch mit dem belästige liegt darin, dass die Programmierer, welche dieses Programm geschrieben haben und auch noch weiterentwickeln, Franzosen sind. Ich spreche zwar einwenig französisch, aber wenns um sachliche Fragen der Programmierung geht, hab ich natürlich so meine mühe.Ich habe nun vor 2 Monaten damit begonnen, mit in C einzuarbeiten. Durch meine Vorkentnisse aus PHP hab ich mich da relativ schnell eingearbeitet(Programmlogik ect. sind keine Probleme).
Ich bin nun grad in Frankreich, hab soeben 3 Tage hier die Programme studiert, mir ihren aufbau erklähren lassen ect. .
Das ganze ist mit dem Programm "Visual C++ 6.0" aufgebaut.
Nun muss ich nach Hause und dort das nötige weiterlernen. Ich frage mich bloss, wo ich beginnen soll.
Ich kenne zwar die Syntax der Sprache C, weis wie ich mit dem Speicher umgehen muss ect., habe aber keine Ahnung von der GUI-Programmierung ect.
Ich kann, wenn ich ehrlich bin, auch nicht mal sagen, mit was die bestehenden Programme geschrieben wurden, ob mit WinAPI oder sonstwas..ich habe dafür einfach noch zu wenig Kentnisse!
Also für mich schauts so aus, als ob ich erstmal rausfinden muss, mit was diese Programme geschrieben wurden, damit ich weiss, was ich lernen muss. Nur wie krieg ich das raus? Fragen kann ich kaum, so gut kann ich nicht französisch, damit die verstehen was ich gerne wissen will
Bitte keine Kommentare wie: "Da hast du dir aber was grosses vorgenommen" oder "dies wirst du nicht in ein paar tagen lernen". Mir ist dies absolut bewusst. Mein Job in dieser Bude besteht ja auch nicht nur darin...ich habe viel Zeit, das ganze zu lernen, und auch den Willen dazu. Immer nur mit Scriptsprachen irgendwelche webanwendungen schreiben ist mir sowieso zu langweilig, und zu viel High-Level....systemnahe Programmierung liegt mir da schon viel eher :).
Also, was für Bücher brauche ich, wie finde ich heraus was ich genau lernen muss, brauche ich kurse oder einzellektionen, in denen ich das programm mit (deutschen) programmierern analysiere?(Würde alles bei "normalem" Umfang bezahlt werden).
Gruss aus Frankreich, und danke fürs durchlesen

ps.: Ihr dürft mir auch ruhig eins aufn kopf geben, will ja schliesslich was lernen

-
Sprechen deine Franzosen denn kein Englisch?!
Du könntest im Quellcode mal nach einer Klasse CView suchen oder nach einer Ableitung davon. Oder CDialog oder stdafx.h, ...
Das sind Klassen und Dateien aus der MFC, die ihr höchstwahrscheinlich verwendet habt.
Wenn du da was findest, dann kannst du MFC lernen gehen
-
Moin
Können französische Software entwickler kein Englisch?
MFC sollte sich an so hässlichen grünnen kommentarzeilen wie //{{AFX_... //}}AFX_... erkennen lassen. alles dazwischen ist grau und sollte tunlichst nicht verändert werden. da MFC Asisten von VC6 selber erzeugt hat und auch genau so wieder erzeugen wird.
gruss
-
Nein, nichts dergleichen gefunden. Ich kopiere hier einfach mal ein paar zeilen rein, und hoffe die reichen aus um etwas darüber zu sagen(sind einzelne Zeilen ausm programm, nix aufenanderfolgendes:
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) ShowWindow(GetDlgItem(Hwnd,BU_TEST_IMG),SW_SHOW); MessageBox(Hwnd,"Lancement de l'application en mode Debug","Debug",MB_OK|MB_ICONINFORMATION); DialogBox(GlobalHinst,(LPCTSTR)MAKEINTRESOURCE(_DLG_09000),Hwnd,(DLGPROC)_Fnct09000);Diese funktionsdefinitionen befinden sich übrigens alle in der header-datei WinUser.h...ich denke das dürfte auch was aussagen.
-
Wegen dem English: Doch, aber die können in etwa so gut englisch wie ich französisch. An der Kommunikation haperts...zumal ich ja nicht mal weis, was ich überhaupt genau alles fragen/wissen müsste....
-
Ohje. Viel Spaß. Sieht so aus, als wäre die Applikation ohne Hilfe eines Frameworks geschrieben nur unter verwendung der nackten WinAPI.

-
Habe ich irgendwie fast vermutet...naja, die werden schon ihre Gründe dafür haben.
Es geht mir halt auch darum, dass ich nicht bloss das programm verstehen will...dies wäre relativ schnell möglich. Ich könnte mir einfach die funktionen anschauen, wenn nötig nachschlagen ect.. Dies ist aber sehr mühsahm, und ich verstehe dann wirklich nur das programm..kleine änderungen würden gehen, aber grössere änderungen oder grössere Probleme beheben, könnte ich damit noch lange nicht.
Fürs intresse: Es geht um Programme, welche auf grossen Postsortiermaschinen laufen, und die sortierung der briefe übernehmen(nicht die ansteuerung der einzelnen motoren).
-
(noch)Gast schrieb:
Nein, nichts dergleichen gefunden. Ich kopiere hier einfach mal ein paar zeilen rein, und hoffe die reichen aus um etwas darüber zu sagen(sind einzelne Zeilen ausm programm, nix aufenanderfolgendes:
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) ShowWindow(GetDlgItem(Hwnd,BU_TEST_IMG),SW_SHOW); MessageBox(Hwnd,"Lancement de l'application en mode Debug","Debug",MB_OK|MB_ICONINFORMATION); DialogBox(GlobalHinst,(LPCTSTR)MAKEINTRESOURCE(_DLG_09000),Hwnd,(DLGPROC)_Fnct09000);Diese funktionsdefinitionen befinden sich übrigens alle in der header-datei WinUser.h...ich denke das dürfte auch was aussagen.
Herrlich! Das ist die WinAPI
. Das ist reines C. Darüber gibt es einen Haufen Tutorials unter
http://pronix.linuxdelta.de/index.shtml
http://www.win-api.de/
http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_002_000.htm#Xxx999328
und viele mehr. Und natürlich das viel zitierte Petzold-Buch...
Aber ob's reicht, ein Postsotrier-Maschienen-Steuerungsprogramm zu verstehen...
-
äch verflucht, ich muss mich hier wohl wirklich mal langsahm registrieren.
Wollte nur noch sagen, dass diese Programme in gewissen Teilen recht zeitkritisch sind, und könnte mir vorstellen dass deswegen auf diverse Frameworks verzichtet wurde. Deswegen auch das mit dem Assembler(was ich wohl erst in ein paar jahren lernen kann, oder wenigstens einwenig verstehe).
-
Zeitkritische Programme bekommst Du unter Windows kaum hin, noch weniger mit Frameworks. Dafür sind eher die Assembler-Routinen da. Aber dann braucht man dafür noch Treiber zum Datenaustausch mit der Maschine.
Übrigens ist Assembler eigentlich auch nicht schwieriger zu verstehen als C. Ist halt nur auf den Prozessor abgestimmt.
-
Aber ob's reicht, ein Postsotrier-Maschienen-Steuerungsprogramm zu verstehen...
Es geht dabei vorallem um das GUI, wo Sortierpläne definiert werden(Datenbank), sortierungen gestartet werden, Bilder an ein OCR-Programm geschickt werden(die muss ich zum glück nicht verstehen) und die daten, welche davon zurückkommen ausgeweretet werden, und am Steuerungsprogramm gesagt wird, in welches Fach der Brief gelegt wird. Also eigendlich nicht sooo wahnsinnig kompliziert. Da wäre dann der OCR-Part und die Maschinensteuerung schon wesentlich komplexer...dass könnt ich wohl nicht so schnell lernen ;).
-
Gut, für die reine GUI-Programmierung schau Dich in den besagten Tutorials um und im Petzold-Buch. Und natürlich sollte man C beherrschen.
-
Ist klar, dankesehr für die Links, ich werde Sie mir morgen, wenn ich wieder zuhause bin(-->Schweiz) mal anschauen und durcharbeiten. Eben klar, die Zeitkritischen sachen sind in Assembler geschrieben.
-
So, endlich mal registriert.
Danke erstmals hier für die Tutorials, bin schon dabei, und wird wohl ein paar Tage(Wochen) dauern bis ich einigermassen durch bin. Ich denke ihr werdet hier noch so einiges von mir lesen...
