WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 07.07.2001, 12:18   #11
reemrev
Inventar
 
Registriert seit: 31.01.2000
Beiträge: 1.706

Mein Computer

Standard

Ich würde auf alle Fälle mal zu VB raten. Die Sprache ist der menschlichen sehr ähnlich und somit leicht nachvollziehbar. Mit relativ wenig Aufwand hat man seine ersten Erfolgserlebnisse und bekommt Lust auf mehr. Nichts ist schlimmer als Frust gleich zu Beginn.
Klar stößt man damit irgendwann an die Grenzen, nur: für einen Anfänger sind die ohnehin irgendwo und schon gar nicht sichtbar. Umsteigen kann man noch immer, andererseits hat man nicht allzuviel Zeit verloren, wenn es einem nimmer freut.
Einem stimme ich ,wie tak5 schon sagte, unbedingt zu: Kapitel für Kapitel und ja nicht querbeet !!
reemrev ist offline   Mit Zitat antworten
Alt 07.07.2001, 12:55   #12
MasterX
Master
 
Registriert seit: 18.05.2000
Beiträge: 556


Standard

... Wenn du wirklich dann nach deinem Einstieg auf VisualC++ umsteigen willst, würde ich dir außerdem raten dich davor mal eine Zeit lang mit reinem C++ (sprich den Konsolenanwendungen) zu beschäftigen.
Als ich mit VC angefangen hatte wollte ich gleich die MFC-Libraries nutzen, hatte da aber Probs weil ich in der OOP noch nicht so richtig fuss gefasst hatte. Nach intensiven Studien von einigen Büchern über C++ war das dann kein Hinderniss mehr.
MasterX ist offline   Mit Zitat antworten
Alt 07.07.2001, 13:08   #13
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Um richtig programmieren zu können, braucht es 10 Jahre. Mit einem guten Lehrer ist es in einem halben Jahr Stufe 1 sowie einem weiteren halben Jahr Stufe 2 zu schaffen, danach braucht es ein halbes Jahr völlig eigene Gedanken, Aufbau von Mächtigkeit, zuletzt ist ein halbes Jahr Feinschliff von nöten.

Wenn ich von projektierten 2 Jahren spreche, so schließt dies die Abwesenheit von Spott oder Überlegenheitsgefühlen dem Lehrer gegenüber aus, es kommt zu einem moralisch verwahrlosten, technisch mehr oder minder begabten Menschen im Endeffekt, der Lehrer würde demissionieren müssen in Anbetracht des mangelnden pfleglichen Umgangs des Schülers mit dem Lehrer. Die Lehrkraft, wenn es sich wirklich um eine gute Lehrkraft handelt, fordert den Schüler so, daß es zu wirklichen Erfolgen kommt, moralisch wie technischer Exzellenz.

Dabei kommt es zu Situationen, in denen nur das gegenseitige Vertrauen ein Aufrechterhalten des Lehrbetriebs ermöglicht. Ich kann jedem Schüler nur empfehlen, sich auf die scheinbaren Eigenheiten seines Lehrer einzustellen und sie zu akzeptieren, es ist die Wissenvermittlung in Mehrstufigkeit sowie die parallel erfahrbare moralische Instanz - die das Elternhaus nicht ersetzt, jedoch ergänzt - die es einem reifenden (Schüler) ermöglicht, Kritikfähigkeit und technische Fähigkeit anerzogen zu bekommen, jedenfalls keine Husch Pfusch McDonalds Akademie ohne Ethik.

Zur technischen Fragestellung: Dies übertrifft alles an Eindeutigkeit: Das Lernen der Sprache C ist Basis jeder Programmierausbildung, das Kennenlernen sämtlicher Dialekte und Sprachen wie Modula, Fortran, Cobol, Forth, Logo, Lisp ... ein schöner Zeitvertreib sowie um die Strukturen für das Programmieren aufzubauen. Es geht um das Verständnis von Prinzipien: Modularität, Datenkapselung und die (mangelnde) Umsetzung dieser Prinzipien in diesen diversen Programmiersprachen. C++ und Java sind Sprachen, die einem die Lüge per se vorgaukeln, deswegen C und nochmals C ist der Weg zum Ziel, effektiv und 'fähig zu Lösungen zu kommen' zu programmieren. Ich lehne C++ und Java dezidiert NICHT ab, es macht einem zu einem muskelverkümmerten Nichtwisser, das ist das Problem mit diesen beiden Sprachen, erst nach C sollte man es kennenlernen (wollen) sowie in speziellen Fällen im Alltag anwenden, zur Zeit NACH der Ausbildung in C, anderen Sprachen sowie C++ etc.

Die Zukunft liegt in 4GL und dergleichen - Sprachen; die Datenspeicherung auf SQL basierten Dialekten. Logistische wie technische Basis ist C, eine Weiterentwicklung von C in Form von echten RAD-Systemen (SQL,ISAM,Screen,Internet) wäre wünschenswert, das Vorhandensein auf allen Plattformen als Standardauslieferung der Entwicklungsumgebung.

Hoffe den angehenden Schülern den(=einen) Weg aufgezeigt zu haben.

mfg Kikakater
kikakater ist offline   Mit Zitat antworten
Alt 07.07.2001, 16:27   #14
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

reemrev: vb is keine sprache des is a zustand, klar du hast ziemlich schnell erfolge aber der umstieg wird dich warscheinlich mehr zeit kosten als wennst von 0 mit c oder java anfangst

deswegen leute seits nicht dumm und lernts c, denn das könnts euer ganzes leben lang brauchen
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 07.07.2001, 18:04   #15
reemrev
Inventar
 
Registriert seit: 31.01.2000
Beiträge: 1.706

Mein Computer

Standard

Mag schon sein, daß VB ein Zustand ist, nur, was ist schlecht daran ? Daß ein Umstieg Zeit kostet ? Das erscheint mir als Argument etwas dünn, denn vielleicht ist es nicht einmal eines. Was, wenn das Programmieren keinen Spaß macht, was, wenn man es nebenbei machen möchte ohne berufliche Absichten einfach just for fun ? Unser Zerbrechlicher will was lernen, man fängt ja auch nicht gleich in der Formel 1 an, sondern am 3Radler.
Man sollte den didaktischen Aspekt nicht vernachlässigen.
reemrev ist offline   Mit Zitat antworten
Alt 07.07.2001, 19:22   #16
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

@reemrev: Visual Basic ist ein einziges - proprietäres - Herumgeklickse, das man es benutzen kann um irgendetwas kennenzulernen ist klar. Dafür scheinen mir die Anschaffungskosten zu teuer, aber warum nicht QuickBasic, GFABasic für einen Atari ST Emulator auf dem PC, Omikron Basic etc. Da habe ich tatsächlich das Programmieren und nicht das Herumklicken im Vordergrund der Überlegungen. Es gibt zwei Probleme beim Verwenden von Visual Basic: 1) Man wird vom eigentlichen Programmieren durch die Eigentümlichkeit der Syntax abgebracht und 2) erlaubt es keine Portierung dieses 'Tempelhupfen'-Codes. Hinter jedem Button ein geiler Code, kontraproduktiv - auch was den Spaß an der Freud betrifft.

Was ist so schwierig an C ?

Es gibt ein paar Datengrundtypen, die Möglichkeit zusammengesetzter Datentypen mittels struct sowie Redefinitionen von Speicherstrukturen mittels union.

Die Anweisungen sind an zwei Händen abzuzählen, es gibt Unterprogrammaufrufe (Funktionsaufrufe), Datenwerte gibt es als Rückgabe von Funktionen sowie als lokale Variablen, Parameter einer Funktion, globale Variablen. Zeiger auf Datenwerte oder auf Zeiger werden mittels *Zeiger bzw. **ZeigeraufZeiger vereinbart, es gibt Konstanten, Makros, bedingte Kompilierungen mittels #if #endif.

Was soll daran schwer sein eine C-Funktion aufzurufen, eine switch-Anweisung anzufertigen, eine for- while- do-while Schleife zu programmieren(=hinzuschreiben) ?

Funktionen wie printf oder TextOut muß ich schon voraussetzen können, daß man bereit ist, diese Aufrufe in den Code hinzuschreiben, im Ggsatz zu Hin- und Hergeklicke unter Visual Basic mit anschließender Codelawine (sehr angenehm beim Ausdrucken). Miniprogramm mit buchstäblich 20 auszudruckenden Seiten, soll das wirklich für den Anfang einfacher sein als C ? Oder mehr Spaß bringen ? Sogar schneller zu realisieren sein ? Da hab ich so meine Zweifel.

Warum nicht LCC32 runterladen und installieren ? Probieren geht über Studieren, in diesem Fall. Die Entwicklungsumgebung erzeugt einem bei der Anlage eines neuen Projekts die Grundgerüstdatei(en) für den C Code des Windows-Programms, alles was man tun muß, ist, dieses Programm zu kompilieren und in der Window-Funktion - zuständig für das Hauptfenster - unter case WM_PAINT: den Aufruf der Funktionen BeginPaint, TextOut mit einem String "Hello World" sowie EndPaint reinzuschreiben. (Cursor auf einen (Windows-)Bibliotheksfunktionsnamen, F1 drücken --> Hilfe zu dieser C-Funktion)

Von der Installation der IDE bis zum fertigen Hello World Programm dauert es ca. 5 Minuten ...

Beispiel gefällig ?

In der Funktion MainWndProc unmittelbar oberhalb der default: - Marke in der switch-Anweisung kommt folgender Block hin:

case WM_PAINT:
hdc=BeginPaint(hwnd,&Paintstruct);
TextOut(hdc,100,100,"Hello World",11);
EndPaint(hwnd,&Paintstruct);
break;

und am Anfang der Funktion gleich nach der geschweiften Klammer auf {
( gleich nach dem Funktionskopf LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) )

die Definiton zweier Datenvariablen DeviceContext und Paintstruktur:

HDC hdc;
PAINTSTRUCT Paintstruct;

'&' (Ampersand) ist der 'address of' Operator, um die Adresse einer (Daten- resp. Zeiger-) Variable zu erhalten, so auch um die Adresse der Strukturvariable Paintstruct zu erhalten, vielmehr um diese Adresse an die Funktion BeginPaint sowie EndPaint zu übergeben.

mfg Kikakater
kikakater ist offline   Mit Zitat antworten
Alt 07.07.2001, 19:26   #17
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Nicht vergessen unter dem Pulldown - Menü 'Compiler' -> Settings -> Tab Linker Settings im Feld 'Additional files to be included in the link:' ws2_32.lib angeben, sonst gibt es Linkerfehler
kikakater ist offline   Mit Zitat antworten
Alt 08.07.2001, 00:58   #18
reemrev
Inventar
 
Registriert seit: 31.01.2000
Beiträge: 1.706

Mein Computer

Standard

@kikakater
Profis und Puristen stoßen sich an meinen Ansichten, bist nicht der erste. Vergiß aber eines nicht: Du stehst mit beiden Füßen in diesem Metier, für dich klingt alles einfach, weil du es kannst. Wer mit einem Buch anfängt "sieht betroffen, den Vorhang zu und alle Fragen offen". Ich erkenne keinen Sinn darin, dem Orientierungslosen gleich eine Studiendauer von 10 Jahren zu prophezeien und ihm so indirekt mitzuteilen, daß
1. es unheimlich kompliziert wird
2. er/sie bis dahin wahrscheinlich Müll produziert
3. alles toternst ist
Demotivation ist ein schlechter Lehrer. Lernprozesse, die mit Kreativität einhergehen, sollen auf kindlicher Naivität aufbauen, eigentlich immer Spiel bleiben. Für den Anfang scheint mir das Baukastenprinzip von VB dafür ganz gut geeignet, den Spieltrieb bei Laune zu halten. Wer dann mehr will, kann immer noch umsteigen ( seit Sokrates wissen wir, daß Gelerntes nie Verlorenes ist). Muß denn gleich alles perfekt, auf Effizienz ausgerichtet sein ?
Wenn ich mir dein letztes posting anschaue, krieg ich eher graue Haare als Lust auf's Programmieren.
reemrev ist offline   Mit Zitat antworten
Alt 08.07.2001, 08:49   #19
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

So schauts aber aus, wer Programmieren für die Freizeitgestaltung überlegt, dem sei wärmsten Herzens ein Atari ST Emulator empfohlen sowie das wirklich friktionslose GFABasic (mit einklappbaren Prozeduren (=Unterprogrammen) mittels (Atari-)Help-Taste btw, muss ma halt sich anschaun, wie die Taste beim PC - im Emulator - umgemappt ist) oder das Omikron Basic, das aber nicht soviel taugt von der Einfachheit her wie GFABasic, Cobol Compiler für den PC gibt es auch, einzig Visual Basic ist nicht zu empfehlen (für den Anfänger auch nicht). Da bekommt man erst graue Haare davon, es ist ein gedankliches Festlegen, daß so das Programmieren aussieht. Visual Basic ist meiner Meinung nach ein, zwei, drei Schritte in die falsche Richtung.

Für die, die genauso wie mit GFABasic oder dergleichen ihren 'Spaß' haben wollen empfehle ich durchaus LCC32 ( gibts in der Softwaresektion hier (... im Forum) ), daß es Hinführung zu professioneller Programmierung ist ... , ... sicher. Meine Ratschläge sollen ja das ganze Spektrum abdecken, und vor allen Dingen Fehler vermeiden helfen. 10 Jahre ist ein Zeithorizont, wer sich fürs Programmieren interessiert kann sicher damit leben, wer es als Hobby betreibt, für den reichen nicht mal 20 Jahre aus, erst bei ernsthafterer Beschäftigung mit dem Programmieren kommen die Fortschritte. Was heutzutage an Programmen abgeliefert wird kann gut und gern den Titel 'Wald- und Wiesen-' Programme tragen.

Hast Du eigentlich je bedacht, daß ein Programmierer bis zu 60% seiner endogenen Energien (Brennwert, Kalorien sind gemeint) und dabei (parallel wie zusätzlich) ein großes Quantum an B-Vitaminen für die Denkarbeit verbraucht.

Wie gesagt RAD-Systeme sind das Mittel der Wahl, dann kommen die grauen Haare auch später oder der Haarausfall ... jedenfalls ist die Software heute sträflich leichtsinnig programmiert, deswegen auch C++ und Java mit ihren Garbage-Collections (Speicher wird aufgeräumt) und Exception Handling Routinen, die man dazuprogrammieren kann in seinem eigenen Code (Ausnahme- bzw. Fehlerbehandlung zum Beispiel bei Verweis auf die Speicheradresse 0 oder beim Öffnen von nicht existenten Dateien, keine Socketeröffnung etc.)

Nun zum eigentlichen Teil der Beantwortung:

Die 10 Jahre kann man wie gesagt locker verkürzen, indem man jemanden hat, der einem das Programmieren intensiv und adequat anleitet, dann ist ein Zeithorizont von 2 Jahren durchaus realistisch.

Die Östereicher sind was Wissen und dessen Umsetzung betrifft ... nicht sehr professionell, es geht weder um das Spöttern, wie es in unserem Land wirklich gang und gäbe ist, noch um Neiderfahrung des Betroffenen (der Neider) und des darauf Projezierten (der Beneidete) - eine Ursache für das Spöttern, das Beneiden - sondern es geht doch in Wahrheit um das Kennenlernen von Sichtweisen, dem eigentlichen Lernen und dem Verstehen von Wesenprinzipien.

Wie ist es in Harvard, in Yale, am M.I.T., dort wird sowohl Ethik wie auch auch profundes Wissen geboten zu einem entsprechenden Preis an Studiengebühren. Der Professor wie der Student ist determiniert. Das erfordert einen Überbau, wahrscheinlich ist ein gutes Elternhaus Grundvoraussetzung, aber das Talent und das Interesse in seiner ureigensten Form kommt vom Wissen wollenden.

Man sieht es heute schon, daß Pflichtschulabgänger sehr unzufrieden sind mit ihrer Situation, beruflich und privat dann ebenso, die Wissensvermittlung lohnt sich nur in Verinnerlichung mit Ethik, dem Respektieren, Verstehen und Helfen des Befähigten dem Schwachen gegenüber. Einerseits geht es um das Helfen, um dem 'Nächsten' das selbstständiger werden zu ermöglichen, andrerseits um das Akzeptieren, daß manche nicht mithalten können und genauso Menschen sind.

Soviel zum Programmieren und daß es gar so kompliziert sei, ist es dezidiert nicht, ein Lehrer und das eigene Interesse vorausgesetzt, ein Angebot von mir ? Vielleicht.

Ich konnte es erst, weil ich mich interessiert habe und eine führende Rolle spielen will, auch heute lerne ich vieles täglich dazu, wo glaubst Du kommt das Wirtschaftswachstum her, vom Dahindümpeln, auch ein Ausgebildeter lernt ständig dazu wie auch um. Auch hobbymäßig gibt es Zirkel wie Computerclubs ...

Ein Ausgebildeter kann das Alphabet, Hobbymenschen kommen naturgemäß ins Stottern, wenn es ein wenig anspruchsvoller wird - eine Zustandbeschreibung, kein Zunahetreten. Jede Tätigkeit hält schwieriges bereit, es anders zu sehen und sehen zu können ist gemeinsame Aufgabe Lehrer - Schüler, ohne Lehrer wenig bis keine Chance, außer bei extremem Talent und Begabung, es geht aber um mehr als das, warum treffen sich beispielsweise Herzchirurgen zu Kongreßen und Tagungen, warum holen sich Firmen Coaches, Trainees und Unternehmensberater ins Haus. Der eigentlich Wissende ist der, der kommuniziert um sein Wissen zu teilen, in beide Richtungen.
kikakater ist offline   Mit Zitat antworten
Alt 08.07.2001, 11:39   #20
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

Also ich kann nur zu Java oder Delphi raten.

1. ist es ein direkter Einstig in die Objektorientierung. Und man tut sich halt leichter wenn es ohne Umwege geht.

2. Java ist wie Delphi sehr typisiert aufgebaut. D.H. da gibt es keine automatischen Umwandulungen etc. (ich sage nur VB: Variant Type ARGH).

3. Von VB rate ich wirklich ab: Es verleitet sehr stark zu schlampigen Programmierstil, da sehr viel Erlaubt ist und automatisch passiert.

4. C oder C++ als Einstig ist nicht gerade das leichteste. C/C++ bietet zwar sehr viel an, es gibt aber auch sehr viele Dinge die für einen Anfänger schwer sind.
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:22 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag