Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Echte Basics (https://www.delphipraxis.net/51790-echte-basics.html)

TheMiller 18. Aug 2005 21:23


Echte Basics
 
Hey Leute,

ich weiß nicht, wie es bei euch ist, aber ich programmiere schon länger, habe es mir aber selbst beigebracht.

Was würdet ihr sagen, welche Kentnisse erforderlich sind, um ein gutes Programm zu schreiben, das gut zu handeln ist, die Ressourcen schon und "schön" programmiert ist?

Was sind die Basics? Was sollte man wissen? zb. DDL-Programmierung? Eine Begründung wäre auch cool

So long...

Joachim Rohde 18. Aug 2005 22:02

Re: Echte Basics
 
Ich habe meine Zweifel, dass man dir die Frage, so wie sie gestellt ist, zufriedenstellend beantworten kann. Z.B.: Wenn du einen Taschenrechner schreiben möchtest, brauchst du ein wenig Ahnung von Mathematik, primär den Grundrechenarten. Aber ich glaube, dass willst du nicht hören.

Ich glaube, dass die meisten Leute sich hier das Programmieren selbst beigebracht haben - und 'schon länger' programmieren, ist ein ziemlich relativer Begriff.

Grundsätzlich bin ich der Meinung, dass man mal bei Assembler reinschnuppern sollte, um die Interna eines Rechners/Programms zu verstehen, damit man wirklich weiß, wo es haken kann...

[edit]Letzter Absatz bezieht sich natürlich hautpsächlich auf die Ressourcen[edit ende]

My 2 cents.

TheMiller 18. Aug 2005 22:22

Re: Echte Basics
 
Ok,

was ich hören will ist, was die Basics sind, um ein ordentliches, handliches und gepflegtes Programm zu schreiben. Die Basics halt.

Zum Beispiel finde ich es wichtig mit Ini-Dateien umgehen zu können, da man sehr sortiert und leicht Daten speichern kann...

So zum Bleistift!

Luckie 18. Aug 2005 22:27

Re: Echte Basics
 
Man sollte sein Handwerkszeug kennen, also die Tricks und Fallstricke der Sprache und des Compilers.

TheMiller 18. Aug 2005 22:29

Re: Echte Basics
 
Ein bisschen expliziter, Luckie!

Joachim Rohde 18. Aug 2005 22:37

Re: Echte Basics
 
Hm, bin zwar immer noch der Meinung, dass man das pauschal nicht beantworten kann, aber mal ein paar Ideen:
- Programming Pearls von Bentley lesen
- Eins der Algorithmen Bücher von Robert Sedgewick lesen
- Sich mit Style-Guidelines und Projektmanagement befassen ('Wien wartet auf dich' von DeMarco lesen (oder ein anderes Buch von ihm))
- Das Buch 'Programmierpraxis' von Pike und Kerningham fand ich auch sehr nett

In den vier Büchern wirst du genügend Anregungen erhalten. Weil Basics fangen bei 'Ausgabe, Eingabe, Variablen, Konstanten' an. Und je nachdem was du programmierst, werden andere Dinge essentiell werden.

Luckie 18. Aug 2005 22:38

Re: Echte Basics
 
Na hier zum Beispiel Hier im Forum suchencodedesign oder der entsprechende Artikel auf meiner Seite: http://www.luckie-online.de/Developer/Artikel/

turboPASCAL 18. Aug 2005 22:53

Re: Echte Basics
 
Zitat:

[...]habe es mir aber selbst beigebracht[...]
Ich auch. (grösstn teils Pascal) :wink:

Hm, deine Frage ist nicht leicht zu beantworten.

Was ist Wichtig ? Man(n oder Frau) sollte programieren können, :wink: der Rest kommt von selbst.

Wichtig finde ich das ein Programm "sauber" programmiert wird. Ich meine damit das ein Programm in Bezug auf Speicherverwaltung (zB. belegten Speicher wieder Freigeben [auch bei Fehlern]), Inifiles, Registry usw. zuverlässig arbeiten muss. Ob man nun DLL's verwendet oder nicht ist teilweise Programmbedingt (Austauschbarkeit, Verwendung, Updatefähigkeit usw.).
Ich verwende DLL's zB. zum Auslagern von grösseren Resourcen oder für Funktionen/Proceduren die auch in anderen Programmen zur Verfügung stehen sollen.

Ich versuche es zu vermeiden, dass zB. Images in der .DFM gespeichert werden und binde sie als Resource ein. Die Exec-Files müssen ja nicht immer grösser als 1 MB sein. Oder ?

Meines Ermachtens ist es auch Wichtig nicht nur eine Progamiersprache zu können zB. ist C sehr interessant.

Bücher lesen...

PS. Naja, jetzt bin ich n' paar Post's zu langsam gewesen.

TheMiller 18. Aug 2005 23:13

Re: Echte Basics
 
Das ist doch schonmal was...

Jelly 18. Aug 2005 23:47

Re: Echte Basics
 
Was heisst eigentlich programmieren? Ist das nur die Tippsarbeit? Ich denke überhaupt nicht. Es gibt nicht nur eine Möglichkeit, ein Haus zu bauen. Ziegel aufeinander legen, und das setz ich mit der Tipparbeit gleich, ist einfach und hat jeder von uns schon im Sandkasten hingekriegt. Die Kunst des Programmierens ist es vielmehr, die Anforderungen an ein Programm gescheit unterzukriegen, also sprich:
  • Möglicht genau definieren was das Programm machen muss
  • Selbst überlegen, was das Programm denn eventuell darüber hinaus noch machen könnte
  • Flexibel sein, wenn es um Änderungen geht
  • Modular arbeiten. Dieser Punkt ist imminent wichtig in der heutigen Zeit. Wenn du 2 identische Module für 2 Projekte 2 mal schreiben musst, kostet das Zeit, viel Zeit, und noch viel mehr Geld. Insbesondere in Bezug auf den 3. Punkt: flexibel sein, d.h. du brauchst ein ordentliches Fundament, wenn du ein Haus bauen willst. Ob nachher dein Wohnzimmer blau oder rot gestrichen werden soll, darf an deinem Grundprinzip nichts ändern, und sollte keinerlei Schwierigkeiten bereiten. Du musst flexibel auf die Wünsche deiner Kunden eingehen können, ohne dass das dich wieder wochenlanger Programmieraufwand bedeutet.

Junge, du bist noch ung (18), und soviel Programmiererfahrung kannst du nicht haben. Aber ein ganz wichtiger Tip von meiner Seite: beschränke dich nicht darin ein, schönen, resourceschonenden Code zu schreiben. Ist sicherlich auch wichtig, aber viel viel wichtiger sind meine genannten Argumente. Du wirst deine Programme nicht aus Spass an der Freud scheiben, um nachher anstatt neben eine Pamela Anderson Poster neben deinem Laptop einzuschlafen. Deine Programme sollen doch nützlich sein, und dafü musst du meine Argumente erfüllen. Was nützt der tollste Sortieralgorithmus, wo du 2 Monate dran rumgebastelt hast, um nachher 1kB RAM und 2 Sekunden in der Sortierung zu sparen. Wie oben gesagt, es gibt viele Möglichkeiten dein Haus zu bauen, aber wichtig wird immer sein dass du auf unerwartete Probleme schnell und effizient reagieren kannst.

n.b.: Ich hab mir das Programmieren auch grossteils in meiner Freizeit beigebracht, aber (a) bin ich schon 33 und habe massig Erfahrungen in Projekten gesammelt, und (b) ist es NIE von Nachteil, dir auch in andere Gebiete Einblicke zu verschaffen. Schöner Code allein interessiert kein Schwein, sondern wirtschaftlich rentabel muss er sein.

Aber ich denke mal all das wolltest du hier gar nicht ansprechen. Aber dennoch, jetzt stehts :zwinker:

TheMiller 19. Aug 2005 00:12

Re: Echte Basics
 
Es ging ja auch dabei nicht um mich. Ich wollte nur mal versuchen, eine Diskussion zu starten.

Ich gebe dir natürlich Recht. Ich programmiere seitdem ich 12 bin Delphi. Jetzt bin ich 19. Das ist auch schon ein bissl!

Ich denke mal, dass die meisten Programme rentabel waren - zumindest die, die für Kunden waren. Meine Programme entstanden aus einem Lern-Effekt (siehe Fucs)

Ok, das war's (meinerseits)

Ich geh was essen - hab hunger!

Robert Marquardt 19. Aug 2005 04:55

Re: Echte Basics
 
Das erste was man lernen muss ist das einer der "schoen programmieren" sagt schon verloren hat.
Meist ist es jemand der glaubt ein Programm muss bunt sein, blinken, nicht-rechteckige Fenster und Skins haben.
All das sind sichere Wege ein Programm unbedienbar zu machen.

Master_BB 19. Aug 2005 05:37

Re: Echte Basics
 
also ich glaube das man einies was ich als grundlagen bezeichnen würde nur
sehr schlecht selber lernt, ohne nicht sich viel code von anderen
anzukuken.
und zwar das wahre Prinzip der OO, also nicht nur Daten auf die Objekte
zu verteilen sondern auch keine Routinen mehr zu schreiben mit
ellen langen algorithmen sondern alles aufzuteieln auf die Objekte.
Die Objekte arbeiten mit ihren daten, das kann man bei Java recht gut lernen.
Durch den direkt zugriff auf die Daten der Objekte kann man in
Delphi vor soetwas einen bogen machen.
Und das erstmal Strukturell beim ersten Schreiben eines Programmes
anständig zu machen, braucht es übung, und jemanden der einen sagt
das die vorige lösung zwar läuft aber schlecht zu warten ist
bei großen projekten. Denn wenn man alles auf die Objekte aufteilt
werden die algorithmen oft sehr schön übersichtlich und sehr leicht
veränderbar.
das ist für mein ein Grundstein den man braucht. Ich programmiere zwar
erst seit nun 3 Jahren aber ich muss sagen ich hab das alles in
meiner Praktikumsfirma gelernt, und ich bezweifle das ich das alles
was ich dort gelernt habe und immernoch lerne man sich so leicht zu
hause bebringt. Ich weiß auch garnicht warum jeder damit prahlt ich
habs allein gepackt, es ist doch gut wenn man einen Lehrer hat
warum denn nicht? Lehrer steigern die effizienz des lernens,
denn selber breibringen mag vieleicht gut fürs angeben sein,
aber wirklich effizient eine programmiersprache oder sonstiges lernt man
damit nicht. nun gut....


cheers

Joachim Rohde 19. Aug 2005 12:47

Re: Echte Basics
 
Zitat:

Zitat von Master_BB
also ich glaube das man einies was ich als grundlagen bezeichnen würde nur
sehr schlecht selber lernt, ohne nicht sich viel code von anderen
anzukuken.
[...]
das ist für mein ein Grundstein den man braucht. Ich programmiere zwar
erst seit nun 3 Jahren aber ich muss sagen ich hab das alles in
meiner Praktikumsfirma gelernt, und ich bezweifle das ich das alles
was ich dort gelernt habe und immernoch lerne man sich so leicht zu
hause bebringt. Ich weiß auch garnicht warum jeder damit prahlt ich
habs allein gepackt, es ist doch gut wenn man einen Lehrer hat
warum denn nicht? Lehrer steigern die effizienz des lernens,
denn selber breibringen mag vieleicht gut fürs angeben sein,
aber wirklich effizient eine programmiersprache oder sonstiges lernt man
damit nicht. nun gut....

Also ich habe in diesem Thread niemanden 'prahlen' sehen, als er geschrieben hat, es sich selbst beigebracht zu haben.
Um mal für mich selbst zu sprechen: natürlich habe ich viel aus fremden Source und / oder Büchern gelernt. Und natürlich hat es länger gedauert, bis man halbwegs schönen Code produziert, aber dafür habe ich viele Irrwege in Kauf genommen, bei denen ich auch sehr viel gelernt habe. Es mag zwar nicht effizient sein, wenn man an einem Problem mehrere Tage herumprobiert, aber auf der anderen Seite hat man es nachher auch wirklich verstanden warum etwas funktioniert und warum nicht.
Wenn ich mir alleine Kommilitonen aus dem Studium anschaue, kann ich nur mit dem Kopf schütteln. Da bestehen Leute die Programmierungsvorlesungen mit einer recht guten Note, und können dir vielleicht einige Semester später immer noch erklären, wie die rekursive Ackermann-Funktion funktioniert, aber viele werden dir nicht mehr erklären können, wozu ein Array gut ist. Weil sie es nie verstanden haben und nur für die Klausur auswendig gelernt haben. Das ist natürlich ein Extrem, aber es veranschaulicht doch ganz gut, dass 'punktgerichtetes' Lernen nicht immer das Wahre sein kann.
Zwar hat es mir später natürlich sehr geholfen, als ich mit Leuten mit mehr Erfahrung zusammenarbeiten konnte und mir diese was beibringen konnten, aber dennoch bin ich der Meinung, dass es sehr hilfreich sein kann, den Einstieg selbst zu meistern. Aber das ist wie gesagt meine persönliche Meinung.

CalganX 19. Aug 2005 13:12

Re: Echte Basics
 
Hi,
wie Master_BB schon gesagt hat, ist das Wichtigste, um ein großes, solides Projekt zu schreiben die Objekt-Orientierung. Dadurch hast du nämlich die Möglichkeit dein Programm sehr modular zu entwickeln. D.h. du hast im Prinzip nur eine Hauptanwendung und alles andere kannst du jederzeit ändern, hinzufügen, rausnehmen usw. Ich habe selber immer nur mein Formular gebastelt, dann ein paar Funktionen dahinter gelegt und fertig. Für kleine Projekte mag das ja mal ganz nett zu sein, aber die wahre Stärke von Delphi liegt da eben in dieser Objekt-Orientierung.
Das Ziel ist eben das Design der Anwendung (das was der User sieht) unabhängig von der Logik ist (das was das Programm eigentlich macht). Du kannst somit dann zum Beispiel bei einem Verschlüsselungsprogramm die Verschlüsselung ändern, ohne dass du das Interface oder das Hauptprogramm selber anfassen muss.

Das ist ein wesentlich Basic des erfolgreichen Programmierens. Es sieht vielleicht nach mehr Arbeit ist, aber nur so kann mehr sehr gut den Überblick über seine Projekt bewahren, auch wenn man sie erst nach 2 Jahren wieder anguckt. Sowas ist auch wichtiger als Zugriff auf Ini-Dateien. Sowas sind nur nebensächliche Spielereien, die hilfreich sein können.

Sachen, wie DLL-Programmierung sind zwar praktisch zu wissen, aber das würde ich nicht zu den Basics zählen. Wichtiger ist es da die Feinheiten der Sprache zu kennen und manche Verfahren in der Delphi-Language zu kennen, um somit knifflige Problemstellungen einfacher bewältigen zu können.

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz