WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Programmiern lernen ! (http://www.wcm.at/forum/showthread.php?t=23157)

FRAGILE 08.06.2001 14:44

Programmiern lernen !
 
Ich bräuchte da mal einen guten Hinweis , wie man am sich selber am geschicktesten das Programmieren beibringen kann (ich habe zur Zeit 0 Ahnung !!!!)!

Welches Buch wäre dafür am idealsten ?

[SWoT]BetuX 08.06.2001 15:09

hi,

im inet kannst du diverse guides finden.
das geht von dos (c & tb) bis hin zu visual basic.
versuchs doch mal im archive von www.hackersclub.com

MfG,
BetuX

rhapsodist 08.06.2001 15:12

http://www.google.com

pong 08.06.2001 19:02

es gibt ein buch das nennt sich 'jetzt lerne ich programmieren' (hab ghört das soll ned so schlecht sein) dort wird anhand von qbasic ;) ein einstieg in die unendlichen weiten des programmierens gezeigt!, vorteil von dem buch, dass man sehr schnell zu ergebnissen kommt, wennst dann was zeitgemässes machen willst lerne C!

nachdemst das einigermaßen beherrscht wird es zeit mit objektorientiertem programmieren zu beginnen und hier führt kein weg an c++ vorbei - oder doch ;)

fang dir aber keinen schas wie vb an, denn alles was du dort hast vollgrafische gui und nen automatischen assistenten hast sonst in keiner programmiersprache, und ausserdem is vb keine programmiersprache es ist wie windoof eine einzige gui für leute die zfaul sind selber was zamchn :D

mfg pong

Crashman 09.06.2001 11:58

du könntest auch mit java anfangen und später erst auf c++ umsatteln

Take_Five 09.06.2001 20:58

Also ich hab Programmieren mit COBOL gelernt, aber das würd ich dir nicht empfehlen weil man da irgendwie den Spaß am programmieren verliert, wenn man solche Befehle wie
DIVIDE A BY B GIVING C ROUNDED hat und nichteinmal Graphik machen kann. Basic, oder QBasic würd ich dir empfehlen. Man kann damit einiges anfangen und es is auch leicht zu verstehn.
Und ein Tip noch. Nicht ein ganzes Buch übers Programmieren auf einmal lesen und dann sich vor das Kistl setzen und anfangen. Ich würd dir empfehlen immer ein kleines Kapitel zu lesen und dann solange ausprobieren bis du es wirklich beherrscht. Dann erst zum Nächsten. Naja, sonst gibts eigentlich nicht viel mehr zu sagen ausser: Mach dich am besten gleich mit der Hilfefunktion der entsprechenden Programmiersprache, bzw. des Editors vertraut. Hilft wirklich viel

Ciao Take_Five

Satan_666 09.06.2001 22:09

@fragile
Basic ist gut; QBasic täte ich nicht mehr nehmen, weil das ja noch die DOS-Variante von Basic ist; ich rate zu VisualBasic - das macht recht viel Spaß damit, man kommt ein wenig in die Objektorientierung rein und hat da in Folge gute Chancen, einen Job zu bekommen (VB ist derzeit recht stark gefragt); außerdem kannst dann relativ leicht auf C++ bzw. Java einsteigen....

@Take_Five
Was ist gegen "divide a by b giving c rounded" einzuwenden. Ich liebe Cobol.... (im Ernst!!!) - für kaufmännische Applikationen gibt's nichts besseres! Ich warte mal drauf, was mit dem OO-Cobol wird - oder heißt es dann Cobol++ :D?

:ms:

Take_Five 06.07.2001 09:51

Naja, du schreibst dich in Cobol sozusagen zum Krüppel. Immer diese langen Befehle. Dadurch verliert man leicht die Übersicht.:heul:

MasterX 06.07.2001 10:09

@pong

Also ich finde nicht daß VB eine Sprache für Leute ist, die nichts selber machen wollen !!! :)
Meiner Meinung nach hat jede Sprache ihre Anwendungsgebiete.
Ich benutze in der Firma VB zum Schreiben von eher kleinen Programmen; seien es jetzt Konvertierungstools oder irgendwelche Interfaces. Da bin ich mit VB wirklich noch am schnellsten.
Wenn es dann allerdings um ein Programm geht daß auch zum Verkauf gedacht ist , daß schnell und sauber ist, dann geht nichts über VC++ .

Der Nachteil von VB ist , daß man ziemlich schnell an die Grenzen stösst, auch mit der Verwendung von APIs UND daß VB sehr langsam ist. Bei VisualC++ mußt im Gegenzug dazu schon ziemlich genau wissen was du haben willst, was man aber nicht unbedingt als Nachteil sehen muß :)

pong 06.07.2001 10:21

na und schreibst dich halt in COBOL zum krüppel dafür verstehst die befehle diest schreibst, da sie ja einigermasen aus der natürlichen sprache übernommen sind

nur compiler für das ding is schwer zu finden *gg*, es gibt sogar api programmierung mit cobol ;)

ps: takeili solltest du nicht hackln *gg*

reemrev 07.07.2001 12:18

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 !!

MasterX 07.07.2001 12:55

... 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.

kikakater 07.07.2001 13:08

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

pong 07.07.2001 16:27

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

reemrev 07.07.2001 18:04

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.

kikakater 07.07.2001 19:22

@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 07.07.2001 19:26

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

reemrev 08.07.2001 00:58

@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.

kikakater 08.07.2001 08:49

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.

Tarjan 08.07.2001 11:39

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.

pong 08.07.2001 13:11

ja warum is vb so schlecht!?!
  • kein richtiges programmiern da total auf case gerichtet
  • rennt unter win und nur unter win
  • wer hat sich nicht schon mal geärgert, da kriegt man ein vb proggie und es fehlen einem die libs zum starten
  • hast du schon mal ein vb proggie unter linux gsehn ;)
  • keine freeware compiler vorhanden -> hohe anschaffungskosten
  • entwicklungsumgebung von nur einem hersteller zu verfügung
  • keine wirklichen regeln vorhanden -> schlampiger programmierstil und das beim einstig schon? des kanns ja ned sein!

dietz 09.07.2001 13:39

Also ich kann auch noch das Buch "Programmierung" von Bayer Jürgen Verlag Addison-Weseley empfehlen! unter www.nitty-gritty.de findest du Einzelheiten dazu! MfG dietz

jak 09.07.2001 14:51

Delphi ist für einen Einstieg wirklich sehr angenehm.
Generell sollte amn sich für die Sprache entscheiden zu der man am meisten Material (Hilfedateien) hat. Vielleicht ist es sogar gescheit mit (Turbo)Pascal anzufangen, da es eine gute Hilfe hat und man den Großteil der Befehle in Delphi weiterverwenden kann. Auch Basic ist für Einsteiger sicher nicht schlecht.
Generell haben alle Programmiersprachen eigentlich die selben Grundlagen. Es gibt in jeder Sprache Schleifen, If-then-else Verzweigungen und vieles mehr. So gesehen ist es wurscht in welcher Sprache man beginnt, das meiste Wissen kann man weiterverwenden.
Ich selber habe mit Basic 1.0 begonnen (hatte (c)1984).

Jak

Chefetage 09.07.2001 15:46

DELPHI RULEZ !!!!

pong 09.07.2001 15:49

C STRIKES BACK!!

delphi ist einfach schon vielzu aufgebläht, da lern lieber C + Klassen und nachher kannst eh so ziemlich jede andere sprache, da die meisten eh an C anlehnen zB java, php, delphi usw.

jak 10.07.2001 16:21

Zitat:

nachher kannst eh so ziemlich jede andere sprache, da die meisten eh an C anlehnen
Mit dem selben Argument kann man sagen lern zuerst Java, Delphi,.....
Wie ich schon oben gesagt habe, die Konzepte sind in allen Sprachen sehr ähnlich. Für einen Anfänger ist es aber wurscht ob eine Sprache aufgebläht ist, hauptsache einfach zu erlernen.

Jak

pong 10.07.2001 16:26

nein kannst du nciht sagen da

du mit java gleich voll mit klassen anfängst und es fürn totalen einsteiger leichter ist am anfang spaghetti-code zu programmiern
und delphi einfach zu unübersichtlich am anfang ist und es werden viel zu viele fertige funktionen gleich am anfang gezeigt und immer verwendet die du in c selber schreiben müsstest

c is the alpha and the omega ;)

cu pong

kfal 10.07.2001 17:18

ausserdem finde ich delphi (eigentlich borland im ganzen) (wie auch ms) doch auch ein wenig zu properitär. (zu delphi gibt's glaub ich auch keinen alternativ compiler)
zu borland: da werden eigene erweiterungen ohne hinweis angeboten (und dann wundert sich jeder, dass das zeug mit keinem anderen compiler kompatibel ist).

es kann doch nicht zuviel verlangt sein, dass zumindest in der hilfe angegeben wird, woher eine funktion (ein control, ...) daherkommt und welchem standard (oder auch keinem) das ding entspricht.

pong 10.07.2001 18:15

die beste entwicklungsumgebung die je für windoof systeme geschaffen wurde is bc31

verständliche hilfe
brauchbare tools
einfache bedienung
und klein ist sie

mehr verlang ich von ner ew nicht

die heutigen jbuilder, c++ builder und da visual kas san ja mehr zustand, ich kenn keinen der gsagt hat das ihm sowas richtig gfalln hat

gibts für delphi überhaupt was anderes als nen borland standard? ich glaub nicht.

fran 10.07.2001 20:47

Hallo,
also ich plädiere für PERL. (Ich bin selbst gerade damit beschäftigt) Es ist kostenlos und ermöglicht es mittels CGI relativ leicht, auch Anwendungen fürs Internet zu erstellen. Sicher ist der Code auch sehr kryptisch und ähnlich dem von C (aber längst nicht so streng, was etwa die Datentypen anbelangt), aber da es eine Interpretersprache ist, ist es wesentlich einfacher, den Programmablauf nach zu vollziehen. Oder man steigt mit C ein - da lernt man von Beginn an, exakt zu arbeiten, allerdings muss man sich bis zur Erstellung "grosser" Programme schon etwas Geduld mitbringen ...

Ansonsten ist die klassische Einstiegssprache für "richtiges" Programmieren etwa an der Uni nach wie vor meist TurboPascal. Da es aber in der Praxis kaum noch Verwendung findet, halte ich es für wenig sinnvoll - ausser, man will danach direkt mit Delphi weiter machen. Damit ist man aber weitgehend auf Windowsplattformen angewiesen - obwohl es jetzt bereits Kylix, Delphi unter Linux, gibt.

Eine objektorientierte Sprache mit komfortabler Entwicklungsumgebung für den Einstieg bringt zwar möglicherweise schnell sichtbare Erfolge, ob man aber versteht, was man da eigentlich macht, ist eine andere Frage.

grüße fran

kikakater 10.07.2001 20:50

Ich glaube, daß LCC Win32 wirklich das Beste ist, was es gibt, in Borland C(++) 3.1 (MS-DOS, eh schon wissen) gibt es die typischen Einschränkungen, 64 K Segment bzw. Overlay-s bzw. Huge-Pointer, alles über drüber gierig, meine Meinung. EMS Programmierung, geil ... aber wo gibt es das außer unter - 500,000 $ von Bill zugekauft in einer Garage fertiggeschusselt - Maxi Sucki Denial Of Sense.

Ebenso Borland C++ unter Windows, da gibt es doch so etwas ähnliches wie unter Pascal im Code eines ! C-Programms !, nämlich so eine komische use-Direktive - stammt ja von Pascal, Delphi und Konsorten ab, der Borland C++ Compiler.

Beispiel gefällig ?

#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFILE("readme.txt");
USEFORM("main.cpp", DoodleForm);
USERES("doodle.res");

Ich hab das Ding zwar, aber nur weil ich MFC unter allen Umständen vermeiden wollte und da wären wir schon bei der untersten Schublade:

MFC !!!


Das Ding macht einem zum kompletten Hirni. Eine Tablette abholen, nach Versuchstiermanier, Belohnung ! Nicht nachschaun ? (dicken MFC Wälzer kaufen von Microsoft Press), zapadong - schon gibts einen Stromschlag. Das Programm portieren wollen, zapadong - es riecht schon nach verbrannter Haut. Ein selber geschriebenes Programm verkaufen wollen, zapadong - jetzt gehts ans Fleisch, die wollen ja 16000.- für den Compiler kassieren, nur weil ich vielleicht irgendwann Programme verkaufen will.

Vom Technischen her ist es tatsächlich so, daß man sich von den Wahnsinnsklassen und vorgekauten - und natürlich Microsoft adaptierten - Objekten abhängig bis zum geht nicht mehr macht.

Selbst dahinterzukommen ist eine mühevolle Aufgabe, mit Hilfe geht es wesentlich effektiver, was das umfassende Wissen über richtiges Programmieren betrifft.

Jedenfalls ist MFC eine Verleitung zum nicht selber denken und fesselt einen an ein System: x86 Architektur, WINDOWS, Visual C++.

Der Code ist proprietär und dementsprechend schlampig, aufgebläht, langsam, wie auch Delphi Code, Native C, ist das beste was es gibt, es trainiert das Hirn und läßt einen - wenn es doch nötig ist - mit 300 Km/h fahren UND nebenher telefonieren, schlafen und in die Gegenrichtung lenken. Alles klar, warum C und nicht C++ - schon gar nicht mit MFC.

Eigene Klassen, in Ordnung, aber MFC, lieber nicht, aber bitte, jeder muß selbst wissen, ob er Beinahe-Analphabet bleiben und Nasenring-Sklave von M üll S chlucker punkt komm! werden möchte.

Oder (Pseudo-)Java mit Microsoft Extensions, Microsoft Java hat mit Java soviel zu tun wie George Bush mit einem Umweltschützer.

Wer sich auf Microsoft Dialektisches einläßt ist bald bei Diäthetik von Ron Hubbard der Scientology-Kaste, Klasse, weh, ge'h weg Klebstreifen, ... mit Ablaßzahlung, um die eigene Vertrottlung durch solcherpersonen nicht gleich sondern erst nach 20 Jahren - tunlichst - zu bemerken. Microsoft Wäsche eben :cool: , da lob ich mir den :tux:

Europa sollte sich im Übrigen von US produziertem Marktdestillat abwenden, die verkaufen ja in Supermärkten auch und sogar destilliertes ! Trinkwasser ! - die Nieren schlagen die Händ zsamm, wenns nur welche hätten - und zero percent fat free joghurt, des gibt an weidan Kautschpotääätoo, wäulas fett ned a wegkriagrt :p.

mfg Kikakater

kfal 11.07.2001 01:57

ich hab zwar nichts fuer mfc und diesen quatsch uebrig - aber bevor ich unter m$-win mit borland und deren erweiterungen arbeite (und damit auch nicht mehr kompatibel zu irgendeinem standard bin) - durchstoebere ich noch lieber diverse DLLs - ob nicht eh schon was 'brauchbares' da ist (das gibt's dann wenigstens auf so ziemlich jeder win-installation und mein exe ist nicht so aufgeblaeht).
;)

(ausserdem kapsle ich auch gerne diese nicht kompatiblen funktionen in eine eigene lib oder dll - dann gibt's beim portieren weniger arbeit :D )

pong 11.07.2001 09:15

@fran mit c lassn sich auch cgi scripts erstelln ;)

@kikakater ich programmier sowieso nur ansi c mit klassen, obwohl gewisse sach mich sonst aus c++ reizen nutz ich sie nicht, da es voll auf kosten der geschwindigkeit geht!

und mfc und deren gleichn is das unnötigste da steh ichs mir scho lieber auf api-programmierung unter c, bei zeiten werd ich auch wieder meine cobol kenntnisse auffrischen müssen und werd mal nen blick in c# werfen, da ich mir schon das visual studio .net bestellt hab!

wegen java, ich bin grad dabei mri das beizubringen und verwend eigentlich nur das von sun gestellte sdk und doch hin und wieder aus bequemlichkeit, meist zum testen visual age for java ;) und in ibm debbuger hab ich auch irgendwie ganz lieb gewonnen!

kikakater 11.07.2001 10:06

@pong: Ich versteh Dich vollkommen, für Dinge, wo C++ seinen Zweck erfüllt, ist es eine gute Sache, aber oftmals sind die Nachteile wie Langsamkeit und mangelnde Durchschaubarkeit wie Speicherplatzverbrauch wie -verwaltung ein Hindernis, das es einem darauf verzichten läßt C++ einzusetzen. Für mich ist C das Um und Auf, es ist C++ vorzuziehen. Wer mit C nicht umgehen kann, der wird letztendlich seine Grenzen auch in C++ erfahren.

Zu Java: Diese Sprache ist ein guter Beginn, wegen der Portabilität. Ich will, daß mein Code auf möglichst vielen - wenn nicht allen - technischen Geräten dieser Welt läuft und zwar ohne große Portierungsarbeit leisten zu müssen. Daß Java langsamer als C ist versteht sich von selbst. C ist fast ebenso leicht portabel wie Java, jedenfalls sticht es auch in Sachen Portabilität letztendlich Java aus, nur auf den ersten Blick ist Java portabler. Um C zu können - nicht nur wegen der Portabilität - ist eigenständiges Denken notwendig und es ermöglicht auch eigenständiges Denken wie Handeln.

Ich kann nur jedem empfehlen, sich C zu erarbeiten gemeinsam mit jemandem, der etwas von der Materie versteht. Ohne Anleitung ist die Sache verpatzt, nicht nur vom Zeitverlust, sondern auch vom Anwendbaren her. Erst wenn ich C aus dem FF verstehe und anwenden kann, kann ich C++ und Java verstehen und anwenden - es fehlt sonst der Grundstock komplett. Selbst wenn ich C kenne, und ich mich C++ zuwende, bleibt C deswegen ala long besser, weil C++ einige schwere Nachteile hat.

mfg Kikakater

pong 11.07.2001 11:03

da bin ich voll und ganz deiner meinung, vor ca. 2 1/2 jahren wurde mir c einfach aufgedrängt und ich hab dacht 'was soll der schas' aber dann habe ich gesehen was man damit wo alles machen kann und es ist überwältigend

heute programmiere ich gern in meiner freizeit und wenn mir was zu langsam geht portier ich die kritischen sachen auf assembler und hab trotzdem meinen spass damit ;)

wenn ich höre, dass bei uns auf der htl jetzt vb am anfang gelehrt wird denke ich immer noch: "bin ich froh das ich mit cobol angefangen hab", da der umstieg von ner so kindischen sprache (vb mein ich) auf c is doch nicht wirklich leicht, und bei cobol hat man ja praktisch die befehle in ganzen sätzen geschrieben (errinnerung display "..." from t) und bei vb zieht man sich einfach seine forms zurecht wie mans braucht und macht nen rk und gibt die eigenschaften an! des is ka programmiern des is kindisches zeichnen!

deswegen leute: seits nicht dumm und lernts ansi c!!!

cu
pong

dietz 11.07.2001 11:57

@pong
Welche Literatur empfiehlst du zu C?

pong 11.07.2001 12:17

ich habs glernt am anfang mim kerrighan/richie 'programmiern in C', aber es kommt drauf an wo du ansetzen willst, später hab ich ma von nem freund noch so a admin hefterl 'turbo c' ausgeborgt (habs bis heute nicht zrückgegeben) und natürlich die bc31 hilfe is am anfang recht gut.
ich tät mir an deiner stelle aber einmal in ner bücherei die verschiedenen dokus anschaun, o'reily bücher sind auch nciht so schlecht, aber wie gesagt es kommt darauf wieviel es dir wert ist!

cu pong

ps: es gab schon mal nen thread hier da hat wer gfragt wegen online dokus!

kikakater 11.07.2001 12:25

Bei Cobol, wenn ich gleich voll einsteigen darf, ist es in den Firmen verpönt, MOVE ... CORRESPONDING etc. einzusetzen.

Ausbesserungsprogramme und Anbindungen (z.B. Schnittstellen) erfolgen in was wohl ? In C, wenn Firmen Cobol verwenden. Cobol wird immer mehr durch C++ abgelöst.

Das Problem mit VB ist der direkte Ansatz, keine Konstruktion, Generierung, Archivspeicherung und Prototypisierung (Templates sowie Felddaten- und Strukturdatenbank(en). Ich muß - im Prinzip - alles per Hand machen, deswegen wie vorher schon erwähnt, das unbedingte Verwenden von RAD-Systemen. Was ist ein RAD-System ? Es erlaubt das Verwenden eines sogenannten Repositorys. Dies ist eine Datenbank für Datenfelder der Applikationen und ganzer Systeme. Nur ein Beispiel ist der Name eines Kunden, Lieferanten, Auftraggebers etc. oder eine Kontonummer, Buchungsnummer eines Reisetermins bei Buchungssoftware für Reiseveranstalter usw.

Wenn sich ein Formatwechsel eines Datenfeldes abzeichnet, müsste ich von Hand bzw. durch neu zu schreibende Scripts, Programme und dergleichen nachträglich eingreifen (um den Code zu ändern). Verwende ich ein vollständiges RAD-System (Rapid Application Development System), reduziert sich die Arbeit auf eine simple Veränderung im Repository und Erstellung von Migrateprogrammen für die Datenbank(en) bzw. ISAM und reine Datendateien der jeweiligen Applikation. Einfache Veränderungen in Datenbanken geht z.B. über simples Exportieren und Importieren der Tabellendaten für eine bzw. mehrere Tabellen.

C++ hat bei der Laufzeit einen - mitunter - gewaltigen Overhead, C ist tatsächlich sehr schlank. Systeme wie SAP R/3 sind z.B. auf Cobol, C, C++ und 4GL eigene Sprache aufgebaut, mit der sich Scripts vom Kunden bzw. Betreuer schreiben lassen, wo auf die Daten der Datenbank lesend wie schreibend zugegriffen werden kann. Reines C in Entwiklergruppen einzusetzen ist fast undurchführbar. C ist für den Einzelnen wichtig, in der Gruppe ist es fast besser C++ zu verwenden, da es im Sinne von Quick & Half by Half Dirty vorgehen läßt. Es genügt den Ansprüchen der Firmen - vermeintlich. Deswegen läßt sich vereinheitlichen, daß die Kenntnis von C umfassend sein muß.

Und zu anderen Sprachen: Delphi und anderes ... warum nicht ... einfach aus Spaß an der Freud programmieren, in der Industrie ist Pascal durchaus auch geschätzt, Fortran etc. ... es wird schon verwendet, aber das Hauptaugenmerk liegt auf C++ für technische und Cobol für kaufmännische Anwendungen. C ist Grundstock für das richtige Anwenden von nachteilbehafteten Sprachen, wie C++ es nunmal darstellt. Die Masse wird in C++ und Java entwickeln, das steht bis zur nächsten Evolutionsstufe für mich fest. Dann kommt halt etwas anderes. Ich würde trotzdem mich in C ausbilden lassen, C++ erst danach intensiver betreiben.

cu
Kikakater

pong 11.07.2001 12:33

ja is klar das cobol rein auf kaufmännische bereiche zielt und für den einzelnen is das sicher nicht lustig

wenn ich aus wirklcih freude programmier schreib ich asm proggies ;) sind zwar mühsam zum schreibn und auch sehr sehr unübersichtlich (ich glaub das liegt aber eher an mir) aber mit asm kann man soviel machen, das es eine wahre freud is :)

gibts im net irgendwo ne doku über RAD-systems, hörn sich ja nicht schlecht an!

kikakater 11.07.2001 14:09

@pong: einfach im inet suchen wegen RAD-Systemen, Schlüsselwörter sind u.a. auch 'Repository', 'Dictionary' sowie 'Codetemplates'. Alles aber in Zusammenhang mit RAD-Systemen, das Thema ist zu umfassend um es hier auszubreiten. Es steht auch viel "Schrott" zu diesem Thema im Internet, deswegen ausfiltern und wie gesagt VB, Delphi etc. gut und schön aber es ist eben nicht mein Ansatz. C erlaubt es am besten portabel zu sein auf schlichtweg alle Systeme, bei anderen Ansätzen hab ich da so meine Zweifel aufgrund meines Wissens und vorher angestellter Überlegungen und Erfahrungen.

Grüße, Kikakater


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:59 Uhr.

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