Entwickler-Ecke
Off Topic - ist Delphi geeignet?
78er - Fr 16.01.04 12:46
Titel: ist Delphi geeignet?
Gruß @all
ich bin wie Ihr sehen könnt eine "Neuer" und das auch in Sachen Programmierung. Bisher habe ich nur ein wenig mit html rumgemacht doch irgendwann will man seinem Rechner ja auch mal sagen, was er machen soll. :-)
Ich bin derzeit auf der Suche nach einer Programmiersprache und weiß nicht ob Delphi oder C++. Sicher werdet Ihr alle Delphi schreiben aber ich würde mich über eine reale Meinung freuen.
Denkt bitte daran ich habe 0,00 Ahnung von Programmierung.
Grüße 78er
Klabautermann - Fr 16.01.04 12:59
Hallo,
wenn du fragst, ob Delphi geeignet ist, dann must du auch sagen woführ. Generell kannst du mit jeder Programmiersprache mehr machen, als bisher.
Hier mal ein paar Beiträge die sich mit ähnlichen Themen beschäftigen:
In dem
Ich habe mich verliebt Topic habch auch eine
winzige auflistung einiger unterschiede zwischen Delphi und C++ gepotet. Ich meine
diesen [
http://www.delphi-forum.de/viewtopic.php?p=34237#34237] Beitrag.
Ich denke da hast du erst einmal ein wenig zu lesen ;)
Gruß
Klabautermann
neojones - Fr 16.01.04 13:04
Also, ich als jemand, der 4 Azubis ausbildet kann Dir da nur sagen: Beides ist ungeeignet für einen Einsteiger.
Zunächst solltest Du Dir klar darüber werden, was Du machen willst:
a) willst du hardwarenahe oder systemkritische oder gecshwindigkeitsabhängige Anwendungen schreiben? Dann solltest Du Dich in Richtung C++ orientieren.
b) willst Du grafisch aufwendige Anwendungen schreiben oder datenbankabhängige Anwendungen oder musst schnell auf Änderungsanforderungen reagieren? Dann solltest Du Dich in Richtung Delphi orientieren.
Ich schreibe bewusst "In die Richtung orientieren". Denn um zu einem flexiblen und fundierten Programmierer zu werden, bringt es nicht viel, gleich mit C++ oder Delphi anzufangen. Du solltest lieber mit C oder Pascal (wenn du zu Delphi willst) beginnen. Dadurch bekommst Du ein solides Fundament in der strukturierten Programmierung. Erst im Anschluss ist die logische Aufbaustufe die objektorientierte Programmierung.
Viele Grüße,
Matthias
Klabautermann - Fr 16.01.04 14:52
Hi,
neojones hat folgendes geschrieben: |
Ich schreibe bewusst "In die Richtung orientieren". Denn um zu einem flexiblen und fundierten Programmierer zu werden, bringt es nicht viel, gleich mit C++ oder Delphi anzufangen. Du solltest lieber mit C oder Pascal (wenn du zu Delphi willst) beginnen. Dadurch bekommst Du ein solides Fundament in der strukturierten Programmierung. Erst im Anschluss ist die logische Aufbaustufe die objektorientierte Programmierung. |
@78er: Dazu wurde übrigens auch schon mal ausfühlicher Argumentiert :
Pascal als einstieg für Delphi? [
http://www.delphi-forum.de/viewtopic.php?t=17498]
Gennerell halte auch ich es fur wichtig erst die Grundlagen zu lernen, bevor du mit Spezialitäten wie Objektorientierung anfängst. Wenn du dir aber vernünftige Ziele setzt, also nicht mir einer Internet Explorer Fernsteuerung sondern mit einer Fakultätsberechnung beginnst, kannst du das meiner Meinung nach auch in Delphi.
Es ist natürlich weniger versuchung für dich, wenn du dir eine schlichtere (DOS) IDE besorgst (z.B.
Free Pascal [
http://www.freepascal.org]) mit der du ebenso schlichte (Text) Programme schreibst. Auf der Ebene kannst du nämlich Objektorientierung leicht umgehen (selbst wenn der Compiler es unterstützt) und dich auf das fundermentale konzentireren. Wenn du dann die Basic beherrscht, kannst du auf die modernere Version der Sprache umsteigen.
Gruß
Klabautermann
PS: Mit ist durchaus bewusst, das Free Pascal mehr kann als aus dem obrigen Text hervorgeht, das ist aber nicht das worauf es in diesen zusammenhang ankommt ;).
MaxiTB - Fr 16.01.04 15:25
Titel: Grüße an den Frischfang !
Als erstes will ich dir mal sagen, wie ich angefangen habe:
C64: Basic - dann Assembler.
Amiga: Amiga Basic - Assembler - ANSI C - Assembler.
x86: Pascal (notgedrungen *g*), Turbo C++, Assembler, Visual Basic, Visual C, C#, Delphi.
Okay - mein erstes Programm habe ich damals mit 7 Jahren geschrieben - ist also schon 20 Jahre her.
Was ist am besten geeignet für den Einstieg ?
Auch wenns viele jetzt schockieren wird, ich empfehle das dumpe Visual Basic 6.0.
Warum ?
Ganz einfach. Es ist eine primitive, leicht durchschaubare Amateur-Bastler-Sache. Man kann da schnell mal die Grundlagen lernen und muß sich keine großen Gedanken machen über Backgrounds oder weiterreichende Dinge.
C++ oder Delphi empfehle ich für den Einstieg nicht. Gründe: Exception-Handling, Vererbung, Datenkapslung, Sichtbarkeiten, Speicherverwaltung. Alles Themen, die können einen Anfänger nur die Laune verderben.
Klabautermann - Fr 16.01.04 16:00
Titel: Re: Grüße an den Frischfang !
Hi,
MaxiTB hat folgendes geschrieben: |
Auch wenns viele jetzt schockieren wird, ich empfehle das dumpe Visual Basic 6.0. |
nur ein bisschen teuer um es im nachhinein wieder zu verwerfen. Aber wenn das M$ Office vohanden ist währe VBA vieleicht 'ne überlegung wert.
Gruß
Klabautermann
MaxiTB - Fr 16.01.04 16:09
Titel: ::klabauter
Zitat: |
nur ein bisschen teuer um es im nachhinein wieder zu verwerfen |
Geb ich dir recht ... vielleicht kann mans von irgendjemand gebraucht bekommen; ist ja schließlich eh nur mehr zum Üben zu gebrauchen, so alt wie das Ding ist.
Allerdings kann ich mir vorstellen, daß ein Anfänger damit eh mal ein, zwei Jahre beschäftigt ist (falls er gut ist *g*); so gesehen zahlt es sich schon aus und vielleicht kann mans ja später mal wieder gebrauchen ... es gibt immer kleine Gefälligkeitstasks wo man so ausgefallene Dinger auf einmal wieder hervorkramt :wink:
neojones - Fr 16.01.04 16:12
Das Problem ist: Wenn man Visual Basic anfängt gewöhnt man sich (leider) einen relativ schlechten Stil an.
Dasselbe ist es auch, wenn man mit Assembler beginnt oder RPG und so. Grund ist ganz einfach: Assembler macht einem viele Sachen zu schwer, so dass man später komplizierte Konstruktionen häufiger verwendet auch wenns einfacher geht und bei Visual Basic gewöhnt man sich an, alles auf die einfachste Art zu machen und die Erweiterbarkeit zu vernachlässigen.
Ich für meinen teil habe mit Pascal angefangen, dann Delphi, dann Oracle PL/SQL und dann RPG.
Viele Grüße,
Matthias
MaxiTB - Fr 16.01.04 16:24
Titel: ::neojones
Stil ist nicht eine Sache der Programmiersprache sondern des Programmierers.
Ich hab schon genug Programmierer kennengelernt aus allen Ecken, wo ich mich wirklich frage, wie man nur so krank herumackern kann in Code.
Meistens ist mir aber eines aufgefallen:
Besonders Programmierer mit eingeschränkten Horizont (weniger als drei echte Programmiersprachen) neigen zu schlechten Stil, weils sie einfach in einer zu eingeschränkten Welt leben. Selbes trifft auch auf Programmierer zu, die sich nur auf einer Ebene bewegen (C,C++ oder Pascal,Modula,Overon,BETA,Delphi).
Ich habe schon öfters wunderschönen, objektorientierten Code in VB gesehen und dagegen Delphi-Code wie wenn ein Pascal-Fleischhacker unterwegs war *g*.
Das Argument mit schlechten Stil angewöhnen ist ebenfalls Blödsinn. Wenn man meinen Programmiersprachenweg ansieht, dann müßte ich danach immer noch Spagetticode programmieren; das mache ich aber schon seit über 15 Jahren nicht mehr - sowas nennt man eben Weiterentwicklung. :wink:
ErnestoChe - Fr 16.01.04 16:29
Hi,
MaxiTB hat folgendes geschrieben: |
C++ oder Delphi empfehle ich für den Einstieg nicht. Gründe: Exception-Handling, Vererbung, Datenkapslung, Sichtbarkeiten, Speicherverwaltung. Alles Themen, die können einen Anfänger nur die Laune verderben. |
Wenn man ein gutes
Eisteiger-Buch hat, dass nicht so sehr in Tiefe geht kann man auch mit C++ anfangen. Z.B. das
hier [
http://www.mut.de/main/main.asp?page=deutsch/bookdetails&productid=8295&SID]. Es wird auf reiner Konsolen-Basis programmiert. Meiner Meinung nach der beste Einstieg um
richtig programmieren zu lernen.
VB 6.0 würde ich nicht empfehlen, weil das zu sehr dazu verführt sich seine Programme zusammenzuklicken: man nehme einen Button, platziere ihn auf der Form, doppelklicke darauf, schon kann man tolle Dinge machen. Manche wissen dann noch nicht einmal wie man selbst eine Funktion bzw. Prozedur schreibt. Das gleiche würde natürlich auch auf Delphi zutreffen oder den C++-Builder.
Die Winapi würde ich auch nicht für einen Einstieg empfehlen. Da lernt man kaum etwas über die Sprache an sich.
Daher meine Empfehlung zunächst rein auf Konsolenbasis anzufangen. Weil nur da hat man es fast ausschließlich nur mit den Sprachspezifikationen bzw. Syntax zu tun. Da gibt es auch sowohl von C++ als auch von pascal Freeware-Compiler.
Erst wenn die Sprachbeherrschung sitzt, würde ich mit der Winapi beginnen, zumindest mit den Grundlagen. Und erst danach den Komfort einer RAD-Umgebung mit umfangreicher Klassenbibliothek wie die VCL in Anspruch nehmen.
MFG
- Ernesto -
neojones - Fr 16.01.04 18:00
@MaxiTB: Wie viele Azubis hast Du schon ausgebildet?
Ich kenne das Problem mit dem Stil sehr gut. Es IST eine Sache der Programmiersprache, welchen Stil man sich angewöhnt. Nur, weil es bei Dir nicht so war, heißt das nicht, dass das allgemein so gilt wie bei Dir.
MaxiTB - Fr 16.01.04 18:26
Titel: ::neo
Erstens mal kann ich mit dem Begriff Azubi gar nix anfangen - ist wohl Nordländisch, sowas gibts bei uns gar nicht :P ...
Zweitens ist mal wichtig festzustellen, was du mit Stil eigentlich meinst - mir kommts so vor, da wird Sematik und Formatierung durcheinandergeworfen ... also was und wie. Wenn ich von Stil rede meine ich mal die Formatierung; weil wenns bei der Analytik happert, dann ist die Programmiersprache wurscht (und es liegt entscheidend beim Programmierer).
Drittens kann man auch einen schönen Stil haben, wenn man VB programmiert. Ich sags nur nochmals, ich hab schon eine Menge Delphi-Programme gesehen von Programmierern in der ganzen Welt, da kommt einem der Graus - sowohl bei der Formatierung als auch bei der Implementierung. Wiederrum hab ich eine Menge VB-Progrämmchen schon erlebt, die strotzten nur nach always-like-the-book. Vor allem was Strukturierung, Modualisierung, Kapselung usw. angeht.
Also wenns an der Programmiersprache liegen würde, müßten die Regel 'Programmiersprache=schlechter Stil' IMMER und ohne Ausnahme gelten, sonst kanns nicht nur daran liegen :wink: .
Was ich dagegen nicht abstreite ist, daß bestimmte Programmiersprachen mehr Möglichkeiten zur Entwicklung lassen als andere, welche in 99% der Fälle als schlechter Stil (im doppelten Sinne) angesehen werden. Beste Beispiele: VB direkte Sprünge, C Makros, C++ Mehrfachvererbung. Beides hat aber durchaus seine Berechtigung - also nix 'why goto is evil'.
Delphi ist dagegen sehr eingeschränkt in den Möglichkeiten, wodurch man schon gezwungen wird, bestimmte Techniken einzusetzen. Aber gerade das macht Delphi für Einsteiger sehr unbrauchbar, weil das Grundwissen sehr hoch sein muß - ansonsten produziert man nämlich noch viel größeren Müll als oben genannt.
:arrow: Zum Thema command line progs:
Würde ich ich auch empfehlen, wenn auch gerade für Einsteiger nicht sehr attraktiv. *g* Klar, ich hab auch von unten angefangen, aber ich denke mal, heutzutage kann man mit einem 'Hello world' niemand mehr beeindrucken ... oder einen Algorithmus zur Ausgabe von PI.
neojones - Fr 16.01.04 19:09
Quelltext
1:
| Delphi ist dagegen sehr eingeschränkt in den Möglichkeiten, wodurch man schon gezwungen wird, bestimmte Techniken einzusetzen. Aber gerade das macht Delphi für Einsteiger sehr unbrauchbar, weil das Grundwissen sehr hoch sein muß - ansonsten produziert man nämlich noch viel größeren Müll als oben genannt. |
Deswegen sagte ich ja auch, dass man mit Pascal anfangen sollte ;-)
JoelH - Sa 17.01.04 00:25
Titel: Re: ist Delphi geeignet?
78er hat folgendes geschrieben: |
Sicher werdet Ihr alle Delphi schreiben aber ich würde mich über eine reale Meinung freuen. |
Delphi ist leider sehr teuer in der Anschaffung. Nichts destotrotz ist der Ursprung Pascal, naja und da Pascal aus Lehrsprache konzipiert war kann Delphi nicht schlecht sein. Ich weiss , es ist eine salominische Antwort aber du hast auch eine Glaubensfrage gestellt !
Jeremy - Di 20.01.04 11:35
das mit der glaubensfrage ist sehr richtig. Ich muß dazu sagen ich hab mit Delphi angefangen, und sehe es so: Jede sprache ist geeignet WENN man lernen WILL.
Jeremy
Delete - Di 20.01.04 12:45
Geeignet oder nicht, kommt immer darauf an, was du machen willst. Treiber lassen sich nicht mit Delphi entwickeln, dazu braucht man C/C++ und das VC. Willst du für mehrere Plattformen entwicklen, ist zur Zeit wohl noch Java erste Wahl. Ist wie im richtigen Leben, für jede Tätigkeit gibt es geignete und weniger bis ungeeignete Werkzeuge. Einen Nagel schlage ich auch nicht mit einem Schraubenzieher in die Wand.
Jeremy - Mi 21.01.04 11:39
Das Stimmt auch Luckie, iich werd auch nicht versuchen ein OS zu schreiben mit PHP. Aber ich habs so interpretiert ob Delphi für programmier neulinge geeignet ist, und ein anfänger werd kaum mit treiber anfangen.....
Jeremy
neojones - Mi 21.01.04 11:47
@Jeremy: Ich bezweifle, dass jede Programmiersprache geeignet ist für den Einstieg. RPG zum Beispiel halte ich für völlig verfehlt.
Jeremy - Mi 21.01.04 11:51
@neojones Aber irgendwo muß man anfangen.......
Jeremy
neojones - Mi 21.01.04 11:54
Ja, aber wie ich schon sagte halte ich den eher "traditionellen" Weg für sinnvoller. Erst strukturierte Konsolensprache, z.B. Pascal oder C und dann eine OOP-Sprache.
Mit Delphi oder Visual C++ direkt einzusteigen blockiert glaube ich, wenn man später auf eine andere Sprache umsteigen will. Aber wie einige Vorredner schon sagten: Das kommt auch aufs Verständnis des Programmierers bzw. des Lernenden an. Bei einigen mag es gehen, bei anderen nicht. Wir setzen in der Ausbildung auf diesen Weg und sind damit ziemlich gut gefahren :-)
MaxiTB - Mi 21.01.04 12:08
Titel: ::neo
Ich bleibe dabei ... es ist wohl eher BASIC oder sowas als Einstiegssprache angesagt.
C würde ich nicht empfehlen, weil ein Anfänger von einem null pointer assignment zum nächsten Hüpfen würde; und das wahrscheinlich schon beim Hello world.
Pascal ist so ein Zwischending; ich mag prinzipiell keine Zwischendinger, weil wenn schon, dann vernüftig oder gleich grindigst.
Grindigst ist wohl BASIC - und zwar vor allem die Bedienung und Fehlertoleranz wird jeder Anfänger zu schätzen wissen. Da gibts keine unerwarteten Effekte und der Befehlsumfang ist überschaubar.
VB ist auch geeignet obwohl schon komplexer - weil man mit minimalen Input ein Maximum an Output bekommt als Anfänger; weiters als Pluspunkt ist wieder die strikte Fehlerbehandlung zu nennen.
C++ ist absolut nicht geeignet für Anfänger - das fängt schon beim Exception-Handling, bei der Resourcenverwaltung, bei Native-API calls über komplexe Operatoren-Überladungen und Dereferenzierungen zusammen - alles eigentlich Pflichtwissen und läßt auch meistens Veteranen aus der Pascal-Ecke schaudern, weil da alles so schön versteckt ist unter der Oberfläche.
Delphi würde ich auch nicht empfehlen, weils wie C++ eine strikte Speicherbehalndlung erfordert - und ein Anfänger vergißt sicher nicht nur einmal ein Create/Destroy. Das ist sogar mir öfters passiert, da in C Konstruktoren/Destruktoren automatisch gehandelt werden.
Java ? Ich halte persönlich nix von der Kaffee(bohnen)angelegenheit. Da kann man in Wien beim Sacher besseres bekommen :wink: . Nop, im ernst: Der GC in Java ist Müll - den kriegen sie wahrscheinlich nie gut hin; dadurch fällt es für ernsthaftere Sachen eindeutig weg - das haben z.B. der Lotus Notes client sehr eindrucksvoll bewiesen. Java ist was zum Spielen.
C# ist von MS ... ähm ... abgesehen davon ists nix für Anfänger, weil der nur mehr Bäume vor lauter Wald sieht. Das fängt schon bei der Unterscheidung statisch/dynamische Objekte an, welche ja nicht transparent sind, wenn man nichts von boxing/unboxing weiß.
Bleiben nur noch Exoten wie Fortran, Cobol, BETA, Overon, SmallTalk und was weiß ich noch alles - also alles das Zeugs, daß man auf der Uni lernt(e) und dann vergessen konnte. Fortan hat vielleicht seine Berechtigung in der Mathematik, Physik - SmallTalk ist was nettes für Puristen wie mich, aber praxisuntauglich - den Rest kann man als ausgestorben betrachten. Also sowieso nix für Anfänger.
Jeremy - Mi 21.01.04 12:08
Für jeden seinem. Persönlich QBasic hat mir einiges erschwert in OOP......
Jeremy
MaxiTB - Mi 21.01.04 12:23
Titel: ::Jeremy
Wenn du wirklich von vorne herein auf OOP abziehst und es auf brechen machen willst, dann solltest du mit OOP anfangen. Und zwar von Grund auf. Aber das ist sicher der harte Weg, weil viel Background fehlt, der uns klar ist, aber einen Anfänger nicht.
Wenn du aber eine Nicht-OOP-Sprache als Einstieg hernimmst, kann man was die Programmierung angeht fast ALLES wieder vergessen, was sich dort als Ist-so angeeignet hat. Also 99% was den Softwareentwurf angeht. Da ists wurscht ob welche Sprache.
Es ist sogar eher schlimmer, man nimmt eine Sprache, die die Schemas leichter auf OOP umlegen läßt - da kommen dann so berühmt schauerliche strukturierte Psydo-OOP-Codeteile raus ... wo man dann wirklich den Graus bekommt. *g*
ErnestoChe - Mi 21.01.04 12:53
Hi,
hat jetzt mit dem eigentlichen Thema nichts zu tun, aber trotzdem eine kleine Anmerkung.
MaxiTB hat folgendes geschrieben: |
Delphi würde ich auch nicht empfehlen, weils wie C++ eine strikte Speicherbehalndlung erfordert - und ein Anfänger vergißt sicher nicht nur einmal ein Create/Destroy. Das ist sogar mir öfters passiert, da in C Konstruktoren/Destruktoren automatisch gehandelt werden. |
In diesem Punkt sind C++ und Delphi gar nicht so verschieden. Der Unterschied liegt nur darin, dass in Delphi Klassen-Objekte von vornherein Zeiger sind. Deswegen muss man mit
objekt := Klasse.Create einen Speicherbereich auf dem Heap reservieren auf den das Objekt zeigt, sonst würde es auf nichts bzw.
nil zeigen, was dann bei einem Zugriff auf diesen nicht initialisierten Zeiger eine AV hervorrufen würde. Und Speicher den man selbst reserviert sollte man auch wieder selbst mit
Free freigeben, nicht mit Destroy.
Wenn man nun in C++ für ein Objekt Speicher reserviert, muss man diesen auch wiederum selbst freigeben:
Quelltext
1: 2: 3:
| MyClass *MyObject = new MyClass; // ............... delete MyObject; |
Von daher ist es eigentlich dasselbe Spiel. Aber wie gesagt, hat mit dem eigentlichen Thema nichts zu tun.
MFG
- Ernesto -
MaxiTB - Mi 21.01.04 13:07
Titel: Ernesto
Genau das habe ich gemeint mit schlechten Stil. Ich schreibe hier nur der Korrektheit wie mans in C++ OOP by the book macht (näheres steht auch im C++ Buch von Bjarne Stroustrup Addison-Wesley):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| class MyClass { public:
MyClass() { Create(); } MyClass(MyClass &Value) { Create(); Assign(Value); } virtual ~MyClass() { Free(); } void operator =(int Value) { Assign(Value); } operator int() { return *mData; }
private:
void Assign(int Value) { delete mData; mData=new int; *mData=Value; }
void Create() { mData=NULL; } void Free() { delete mData; }
int *mData; // Beispiel - kann alles sein. } |
Aufruf:
Quelltext
1: 2: 3: 4: 5: 6:
| void main() { MyClass lTest;
lTest=4; } |
Verwendung von Pointer außerhalb ist C Stil und sehr, sehr schlecht, weils eben mit der Speicherverwaltung nur wieder Probleme gibt.
Und ach ja, der in war ein Beispiel, mir ist schon klar, das man so kleine Datenmengen nicht dynamich allokiert - sollte ja nur ein Anschauungsbeispiel sein, wie man richtig OOP programmiert unter C++ (also vor allem Speichermanagmentkappslung).
edit
Hm - die Codetags verschandeln scheinbar mehr die Strukurierung als sie sie unterstützen :lol: - sind wohl zusehr auf Delphi ausgelegt.
Jeremy - Mi 21.01.04 13:34
Ich bekomme FAST das gefühl das wir verwechseln Objekt Orientierte Programierung mit Ereignis Orientierte. In Delphi (ok Objekt Pascal) kann man auch progrmmieren Ohne ereignisse (Console) oder mit (VCL, CLX, Win/Linux Api). Vielleicht ist aber auch ist aber auch das ich benutze Objekt Pascal als synonym für Delphi alt zu oft. Mir ist klar das man sich mit der grundlegende Sprache beschäftigen sollte bevor man gleich mit Ereignisse konfrontiert werd. Auch aber in ereigniss orientierte programmierung benötigt man die grundlegende sprache, es sei denn man ist zufrieden mit eine schöne formular der GAR NIX macht!!!
Jeremy
MaxiTB - Mi 21.01.04 13:45
Titel: ::Jeremy
Nop, davon bin ich gar nicht ausgegangen - Visualisierung und Events sind wieder ein Stufe höher. Aber stimmt schon - wenn man vorher schönstes Consolen-OOP macht, wird man beim Messaging wieder seine Überraschung erleben ... und dann bei thread handling usw. und so fort. Es hört eigentlich nie auf, und das ist ja das schöne dran :wink:
Jeremy - Mi 21.01.04 14:00
Wie gesagt irgendwo muß mann anfangen wenn man lernen will, und egal wo man anfängt ist es schon wieder falsch!!! Was eine leicht versteht, begreift der andere nur schwer. Oft werd es empfolen C zu lernen bevor C++, andere sind da STRIKT dagegen. Der eine sagt VB ist das beste für ne anfänger, andere sagen bloß nicht. Ich bleib dabei wer lernen will, und nicht davon scheut fragen zu stellen (ich meine nicht nur "wie mach ich dies und das" sondern auch " WARUM ist das so?") kann anfangen mit welche sprache man will (damit ist NICHT gemeint wit welche biblioteken usw. man will). Ich werd nicht empfehlen mit c++ builder und der vcl anzufangen sondern mit ein Consolen Compiler. Und für den anfang immer dran denken an das lieber KISS (keep it simple stupid). Aber ich halt den GRUNDLEGENDE sprache für egal.
Jeremy
MaxiTB - Mi 21.01.04 14:09
Titel: ::Jeremy
Würde ja jeden empfehlen es sozu machen wie ich, dann hat man alle wichtigen Sprachen abgedeckt und eine 20 Jahre lange Praxis hinter sich ... nur verdammt noch mal, wo kriegt man heute noch einen C64 her ? :lol:
Stimmt schon - jede Sprache ist recht und billig. Und ich denke, es ist noch nie an der Sprache gescheitert, eher am Willen und Durchhaltevermögen des Lehrlings. Die meisten sehen nämlich nur das Resultat und haben keine Ahnung von der Arbeit dahinter ... und vor allem, daß das ganze know how nicht in 21 Stunden erlernt werden kann (wenn man ganz von vorne beginnt) sondern erst durch üben, üben, üben, üben und nochmals üben kommt.
Und gut wird man sowieso erst nach seiner dritten, vierten oder fünften Programmiersprache; weil man da erst das volle Spektrum der Möglichkeiten erkennt und so seine Techniken und seinen Stil so angepaßt hat, daß man universellen, leichtverständlichen und portierbaren Code schreibt; ist eben nicht viel anders wie bei natürlichen Fremdsprachen :wink:
Jeremy - Mi 21.01.04 14:35
Aber dann der lehrling der kein willen hat häte lieber ein andere beruf aussuchen sollen. denn ich weis nicht mehr wie oft ich beinah eine gltze bekommen habe weil ich ne schwere lösung gesucht hab und der richtige war sooooo leicht......
Jeremy
MaxiTB - Mi 21.01.04 14:39
Titel: ::Jeremy
Mehr sag ich nicht zu dem Thema Haare:
Jojo, kein EU-Gesundheitsminister hat auf die gesundheitlichen Folgen des Programmierspaßes hingewiesen. :lol:
neojones - Mi 21.01.04 15:17
@MaxiTB: Man sollte aber, gerade bei Lehrlingen, berücksichtigen, dass die meisten 16-18 Jahre alt sind. In dem Alter ist man oft noch nicht ganz so "geformt". Will heißen: Es sind zwar fähige und kreative Leute mit gutem Willen dabei, aber um den Willen auf Dauer zu halten ist auch Motivation notwendig. Erst später, so mit 22-25 haben sie dann das Durchhaltevermögen auch ohne besondere Motivation. Von dem her gibt es halt einige Sprachen, Paradebeispiel wie so oft RPG, die einem jede Motivation versauen.
Wenn man mit ner Konsolensprache anfängt und ihnen zeigt, was man damit alles machen kann, dann RAD-Sprachen und dann die OOP ist immer ein bißchen Steigerung da, also quasi der Kick. Beginnt man gleich mit einer Form-orientierten Sprache und will Ihnen dann was auf der Konsole zeigen, heißst meistens: "So nen Sch... da kann man ja nix mit machen". Also so waren zumindest bislang meine Erfahrungen mit Azubis (= Lehrlingen)
Klabautermann - Mi 21.01.04 15:24
Hallo 78er,
ich glaube dieser Thread demonstriert mal wieder, was damit gemeint ist, wenn man von einer Glaubensfrage spricht.
Und auch auf die Gefahr hin, das das wieder einen Aufschrei und noch mehr Diskussion gibt, möchte ich dir mal eine ganz konkrete empfehlung gerben.
Fange mit Pascal an.
Diese Sprache wurde tatsächlich am Grünen Tisch entwickelt, um Studenten das Programmieren bei zu bringen. Dadurch zwingt sie dich zu recht sauberen Programmiern (z.B. müssen Variablen immer deklariert werden [im gegensatz zu Basic] und dies muss immer an einer zentrallen Stelle am anfang des Programms, der Procedure gemacht werden [im gegensatz zu C]). Andererseits versucht sie dich aber auch nicht allzusehr zu beschützen. So musst du deine Variablen zwangsweise eine Typ geben. Sie sind nciht per default Variant (kann man das Typfrei nennen?) wie es z.B. bei Basic der Fall ist. Im normal Pascal gab es wenn ich mich recht erinnere überhaupt keinen Varianten Typ. Dadurch bisst du dann gezwungen, dich zumindest grundlegend auch mit dem Background (wie werden daten im Speicher angelegt) zu beschäftigen.
Sei bereit einige Wochen an der Konsole zu Programmieren. Du musst nciht wie wir "alten Hasen" Jahrelang da arbeiten um dein Wissen zu verfestigen, denn das kannst du auch im Delphi machen, aber das Grundwissen da zu sammeln ist sicherlich keine schlechte Idee.
Dann versuche anfangs nicht komplette Anwendungen zu Programmieren sondern suche dir einfache Aufgaben, die dich mit den einzelnen Schwerpunkten, die du gerade erlernst vertrauf machen. Wenn du dich z.B. mit Rekursionen beschäftigst, dann wäre das Berechenn der Fakultät einer beliebigen Zahl eine Passende aufgabe, weil sie das Prinzieb sehr schön verdeutlicht, aber auch sehr überschaubar ist.
Auch musst du nicht alles über Pascal lernen, was es dort zu erlernen gibt, sondern nur die tatsächlichen Grundlagen, systemspezifisches ist völlig egal, denn wass soll es dich interessieren, wie du Pragrammteile über die 64k grenze bekommst.
Themen die du behandeln solltest sind:
- Programm skeltett
- WriteLn; RedLn (um einfache ein und ausgaben machen zu können).
- Konstanten und Variablen.
- Operatoren (einefache Mathematische)
- Kontrollstrukturen (IF THEN ELSE / CASE)
- Schleifen (unterschied zwischen Kopf & Fuß Terminiert)
- Spätestens hier: Kommentare & Wie formatiere ich Quelltext sinvoll (sehr wichtig auch wenn man es anfangs nciht glaubt)
- Prozeduren und Funktionen
- Rekursion.
- UNITS
- Eigene Datentypen (Aufzälungstypen, zusammengesetzte Datentypen)
- Arbeiten mit Dateien (Text, Typisiert und Untypisiert)
- Mengen (eine Pascal spezialität)
- Zeiger.
Wenn du soweit bist, solltest du zur verfestigung ein größeres Abschlussprojekt machen um das ganze (zusätzlich zu deinen übungen zu einzelnen Punkten) zu ferfestigen. Ich würde ein Auf Typisierten Dateien basierende Datenbank (inklusive Such und Sortiewrfunktion) vorschlagen.
Danach kanst du glaube ich getrost auf Delphi wechseln.
Hier solltest du dir angucken:
- Was hat sich an den Standard Datentypen geändert (insbesondere String und Integer)
- Objektoreintierte Programmierung (Was sind Kassen und Objekte / vererbung). Das am besten mit einer Delphi Konsolen Anwendung, damit du dich noch nicht mit Ereignissen beschäftrigen musst.
- Ereignise. (was ist das, was soll das und warum ist es sonders als vorher).
- Erstes vertraut machen mit den grundlegen Visuellen Komponenten und dem design von Fenstern.
- Exception Behandlung.
- Kennenlernen, der wichtigsten Delphi Klassen (tList &Co)
- The Delphi Way of Datenbanken ;).
- Streams
Ich denke spätestens jetzt bist du soweit, dass du dir dein wissen nach bedarf aneignen kannst. Ein weiterer Fahrplan macht glaube ich keinen Sínn da es schier unmöglich ist, alles zu lernen was diese Sprache bietet.
Das ganze ist kein Programm für ein paar Tage, wenn du dich drauf einlässt, hast du aber glaube ich etwas davon.
Kritik und verbesserungsvorschläge an diesem Programm folgen vermutlich auf dem Fuße ;), aber so kommt dan raus, was ich alles während des Tippens vergessen habe.
Gruß
Klabautermann
Jeremy - Mi 21.01.04 16:59
@klabautermann nö kann mich nur anschliessen um es ohn komplizierte "algorithem" zu sagen :?
MaxiTB - Mi 21.01.04 17:12
Titel: Naja ...
... bei der Reihenfolge würde ich ein paar kleine Sachen umdrehen (DB vor Stream, Recursion vor units ???), aber sonst wie gesagt halte ichs für egal, mit was man anfängt - wobei ich BASIC noch eher vor Pascal Reihen würde.
Aber es kommt drauf an, was man als nächsten Schritt vor hat - BASIC ist ideal, wenn man nicht nur auf der Pascal-Schiene fahren will, weil man normalerweise tendiert, einen aufgestiegen Zug erst zu verlassen, wenn er nicht mehr weiterfährt. Und desto weiter man fährt, desto weniger sieht man auch aus den Fenster :wink: . Bei BASIC dagegen ist genau da der letzte Halt, wo der Anfänger bereit ist für wirkliches Programmieren.
Deshalb würde ich auch nicht C als Anfang empfehlen. Es gibt noch genug Leute, die C++ programmieren wie sie C programmiert haben. Aber eh - ich hab auch schon oft in Delphi schon Methoden gefunden, da gabs doch gar kein Objekt und Klasse dazu *schüttel* *g*.
Deshalb denke ich immer noch, der harte Cut ist das beste - ein bisserl Spielen, mal lernen was eine linked list ist und was man unter Strukturierung und Modualisierung versteht, eine bisserl rumspielen mit IO, Streams, Datenmanipulationen bis zum Bitshiften. Wenn man das alles intus hat (und dazu reicht Basic), dann ernsthaft loslegen - und zwar mit einer Menge Theorie über OOP und dann mal ein kleines OOP-Hello World zur Einstimmung. Da würde ich dann Delphi mal nehmen; ist so schön bequem und nicht so anspruchsvoll wie C++.
Außerdem wichtig: Lesen, lesen, lesen ! Nur durch den Code von anderen kann man als Anfänger was lernen. Und nach dem Lesen immer versuchen das ganze auch zu verstehen, sonst ists Sense mit Effekt :wink: .
Und wers wirklich ernst meint, ist ja hier mit seinen Fragen ja sicher auch noch nie im Regen stehen lassen geworden ... oder so. :)
Jeremy - Do 22.01.04 08:40
du hast nur eins vergessen @ Maxi ---> Fragen stellen wenn man was nicht versteht. Denn leider ist das nicht so selbstverständlich......
Jeremy
DiggiDi - Mo 26.01.04 17:43
also ich weiß nicht was ihr habt.
ich hab direkt mit delphi angefangen und zwar in der schule. zwar hab ich im laufe der zeit gesehen wie 90% meiner mitschüler auf dem weg im wahrsten sinne des wortes abgekackt sind aber ich konnte immer an der spitze bleiben mit meinen 15 punkten (ich will damit hier nicht angeben die nur zu verdeutlichung) und das obwohl ich davor nichts ausser bisschen html gemacht habe.
auch wenn basic einerseits leicht sein mag oder c/c++ schneller ist und bessere hardware steuerung bietet oder c und pascal bessere grundlagen bietet etc. heißt das noch lange nicht dass man mit c++ oder delphi anfangen kann. wenn man es sich selbst zutraut und wirklich lernen will dann kann man alles schaffen.
neojones - Mo 26.01.04 18:42
@DiggiDi: Du unterliegst einem kleinen Irrtum. In der freien Wirtschaft fragt keiner danach, wie gut Du DELPHI programmieren kannst, sondern wie gut Du PROGRAMMIEREN kannst.
Und wer mit Delphi direkt einsteigt dem fehlen IMHO einige Grundlagen, die den Umstieg auf exotische Sprachen (RPG, Cobol, etc.) sehr, sehr schwer machen.
Viele Grüße,
Matthias
Wolff68 - Mo 26.01.04 19:08
@DIGI: Was in den Schulen unterrichtet wird ist wohl eher ein "Reinschnuppern" in die Möglichkeiten der Programmierung.
Es ist wohl kaum zu verwechseln mit einer Ausbildung zum Programmierer!
Zudem hast Du dort einen Lehrer, der Dich auf die wirklichen Probleme erst gar nicht kommen lässt.
Ich denke der Weg von Klabautermann ist schon richtig wenn man ernsthaft programmieren will. (Nur hat 78er das eigentlich nie ausgedrückt)
Wenn man nur so als Hobbie mal ein kleines Tool schreiben will kann man sich vielleicht auch ein Delphi-Anfängerbuch reinziehen. Aber Programmierer wird man dadurch nicht. Man wird sich dann eher den Rest seines Lebens Programme zusammenbasteln die einem wirklichen Programmierer die Fußnägel aufrollen würden und bei dem man selber nach spätestens 3 Monaten nicht mehr weis warum die funktionieren (oder auch nicht so ganz funktionieren)
Mystify - Mo 26.01.04 21:15
Also ich bin in so nem Delphi Kurs in unserer Schule.
Da haben wir jetzt Hallo Welt,Taschenrechner programmiert.Nächstes wird es so ein Grafischer Baum.
Aber ist das nicht alles nur so ein "Reinschnuppern",denn "richtig" programmieren lernt man doch auf der Uni,stimmts?
Und zu meinem Kumpel sagte der Lehrer,dass er vieleicht mal ein Programmieren kann werden.Nur weil es geschafft hat,nur durch das Wissen eines anderen Befehl,so ein Speicher neben den Rechner zu machen,sodass mán ohne Klammern,Klammern rechenen kann. :roll:
Ich glaub das "richitge" lernt man auf der UNI!
Klabautermann - Mo 26.01.04 21:31
Hi,
Mystify hat folgendes geschrieben: |
Aber ist das nicht alles nur so ein "Reinschnuppern",denn "richtig" programmieren lernt man doch auf der Uni,stimmts? |
dazu möchte ich mal sagen:
Haha.
Es mag ja sein, das es Hochschulen gibt, an denen man "richtig" Programmieren lernt, diese sind aber wahrscheinlich in der minderheit. Die meisten die ich bisher gesehen haben, haben Programmierung entweder sehr Abstrakt (man büffelt in seinem C++ semester zwar alle möglichen funktionen dieser Sprache, macht aber während der zeit nie einen Rechner an [außer zuhause wo man aber meist mangels praxis Erfahrung beim ersten Problem hängen bleibt]) oder viel zu oberflächlich (vergleichbar mit den Kuren in Schulen).
Nene, wenn du Programmieren lernen willst, musst du es dir selber beibringen, oder du findest eine brauchbare IT Ausbildung - kein Studium.
Gruß
Klabautermann
PS: Ist natürlich nur meine subjektive Meinung.
neojones - Mi 28.01.04 11:58
@Mystify: Ich kann mich klabautermann nur anschließen. Ich hatte hier 2 studierte Informatiker sitzen, die bei uns anfangen wollten. Nach 2 Wochen konnten beide gehen.
Der erste war der Ansicht, er ist so gut, dass er mir sagen kann, wie ich meine Arbeit zu machen hab. Dann sagte ich zu ihm: "Wenn Du es so gut kannst: Da steht ein PC, setz Dich dran, in 7 Tagen will ich die fertige Lösung". Es wäre in 3 Tagen zu schaffen gewesen, nah 7 kommt er an und frägt das erste mal zu weiteren Infos bei mir an. So Leute kann man nicht wirklich gebrauchen.
Der zweite war immer noch der Ansicht, es läuft alles weiter wie auf der Uni. 8 Stunden 5 Tage die Woche und darüber hinaus nichts. Selbst neue Techniken hätte ich ihm während der Arbeitszeit beibringen sollen, meinte er. Ich hab ihn drauf angesprochen, dass gute Programmierer in Eigeninitiative lernen, ausserhalb der eigentlichen Arbeitszeiten, weil das Ihre Zukunftssicherung ist. Das wollte er nicht verstehen. Und jetzt ungelogen: Neulich habe ich ihn wiedergetroffen. An einer Supermarkt-Kasse, an der er als Kassierer gearbeitet hat! (Vielleicht war das auch seine Berufung, ich weiß es nicht)
Ich will damit nicht sagen, dass alle Info-Studis schlecht sind, es gibt auch wirklich gute um nicht zu sagen, absolut hervorragende, aber die meisten Unis haben kaum Ambitionen, das Programmieren, wie es von der Wirtschaft benötigt wird, zu vermitteln.
Ich war gestern bei der IHK, habe dort Prüfungen für Fachinformatiker mit abgenommen. Es ist erschreckend. Die ersten Jahre haben den Beruf nur die wirklich Cracks angestrebt, die sich gut auskannten. Mittlerweile drängt jeder in den Beruf. Die Schere zwischen den wirklich guten auf der einen Seite und denen, die es nur machen weil sie glauben man könnte mit nem bißchen tippen viel kohle machen, klafft immer weiter auseinander. Obwohl es sich derzeit Gott sei Dank noch bei ca. 50% zu 50% handelt.
Viele Grüße,
Matthias
sakura - Mi 28.01.04 13:09
Ich stimme hier mal meinen beiden Vorredner uneingeschränkt zu. Ein Informatikstudium hat in den meisten Fällen nichts mit Praxis zu tun. Die meisten Unis vermitteln Informatikern die Arbeitsweise eines Computers auf physischem und logischem Level.
Ich denke es kann durchaus interessant sein dieses auch zu wissen. Aber wenn ich in der Wirtschaft programmieren will, dann nutzt dieses Wissen rein gar nichts! Es gibt einige Unis (vor allem in den USA) an welchen Wirtschaftsinformatik gelehrt wird. Da wird der Blick auf Physik (und Logik) auf das Wesentliche beschränkt. Es geht im ersten Semester mit der Programmierung los. Dazu wird gerne GW-Basic bzw. QBasic für die Logik herangezogen. Grund für die Wahl ist die Einfachheit der Sprache. Parallel wird Visual Basic genutzt um "Interaktivität" zu lehren.
In den Folgesemestern geht es dann tiefer ins Geschehen und man lernt verschiedene Programmiersprachen und Umgebungen kennen, z.B. JAVA, C++, Cobol, RPG III und RPG IV, Delphi, ...
Parallel wird vom 2. Semester an in einer Sprache (oft C++) tiefergehende Logik vermittelt. So lernt der Student viele Sprachen und Methoden im Ansatz kennen. In einer Sprache lernt man die Feinheiten und Methodiken der Programmierung kennen.
Parallel wird natürlich auch Theorie (Softwarelebenslauf, UML, Design, ...) gelehrt.
Das ist nach meinen Erfahrungen nach die beste Art jemanden an effizientes Programmieren heranzuführen und es entstehen sogar aus Newbees brauchbare Programmierer in 2 - 4 Jahren.
:welcome:
ak - Mi 28.01.04 22:41
Jupp, Wirtschaftsinformatik kann ich nur empfehlen, aber ich kenne auch Leute die haben es bis zum Diplom geschafft und haben eigentlich gar keine Ahnung....da muss man einfach nachfragen und in Tests herausbekommen was diese Leute wirklich wissen und ob sie gewillt sind eigenständig sich selbst fortzubilden.
Jeremy - Do 29.01.04 22:55
@ sakura DAS kann ich nur bestreiten. Ich weiß zwar nicht wie Die ami uni's gestern gelaufen sind, heute ist JAVA pflicht!. Ich weiß die weil ich mich auf ein solche studium vorbereite. Auch da werd aber HAUPTSÄCHLICH das hintergrund wissen durch genommen(LOGIK usw.). Programmieren LERNEN muß man selber. Der prof. hat kein zeit jeder zu einen Guten programmierer zu machen, selbst wenn er das könnte. Der Uni hat mit der schule zumindest ein gemeinsam -> Der RICHTIGE lernen fängt an wenn der schule vorbei ist. Wer nicht lernen will werd es auch nicht, und wer einsteigen will weil er denkt das viel geld zu machen ist mit wenig arbeit werd noch sein blues wunder erleben.
Jeremy
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!