Programmieren mit FreePascal

Smalltalk
DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Programmieren mit FreePascal

Beitrag von DavidJ » 24.03.2004 16:37:33

Hallo Debianer,

ich wollte mal wieder einen Einstieg in die Programmierung wagen und das in/mit FreePascal. Kennt jemand von euch brauchbare HowTos? Kann ruhig mit Hello World anfangen, wäre wahrscheinlich sogar besser. Das letzte mal das ich mit Programmierung zu tun hatte war in der Schule und das ist schon ein paar Jahre her.

Sonstige Tipps und Anregungen könnt ihr gerne anfügen :D


MFG, David

Benutzeravatar
BeS
Moderator
Beiträge: 3238
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart

Beitrag von BeS » 24.03.2004 17:03:11

Hallo,
es ist schon ewig her das ich was mit Pascal gemacht habe.
Ich habe in meinen Links aber noch das hier gefunden:
http://www.pascal-central.com/ppl/
Ich weiß nichtmehr wie gut der link ist, aber vielleicht kannst du damit was anfangen. Im Kapitel5 gibt es auf jedenfall ein paar links zu Tutorials.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 24.03.2004 17:14:58

<Propaganda>Versuch es doch auch mal mit Python; die etwas komische Syntax (Einrückungen sind wichtig) schreckt viele anfangs ab, aber danach möchte man nichts anderes mehr.</Propaganda>

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 24.03.2004 17:17:10

Danke BeS! Ich werde es mir mal zu Gemüte führen, weiterführende Links zu einer größeren HowTo waren auch dort zu finden: http://pascal-central.com/particles.html

MFG, David

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 24.03.2004 17:19:56

Joghurt hat geschrieben:<Propaganda>Versuch es doch auch mal mit Python; die etwas komische Syntax (Einrückungen sind wichtig) schreckt viele anfangs ab, aber danach möchte man nichts anderes mehr.</Propaganda>
Python kann ich mir ja immer noch ansehen, im Moment reizt mich einfach Pascal. Ich habe schon öfter gelesen das man damit gut lernen können soll, keine Ahnung was wirklich dran ist.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 24.03.2004 17:28:39

Pascal ist eine gute Sprache, nicht so mächtig wie C, dafür aber einfachere Syntax. Und wenn ich mich nicht irre, ist sie auch als Lehrsprache entwickelt worden. Wie C ist es aber eine Low-Level-Sprache, d.h. es gibt keine Maps (Arrays mit anderen Indizierungsmöglichkeiten als ganze Zahlen) etc.
In Python schreibst du sehr schnell funktionierenden Code,und auch komplexe Sachen sind recht einfach, dank der Umfangreichen Bibliothek.

Wenn du später in C programmieren willst, ist Pascal zum lernen sicherlich nicht verkehrt. Um Programmdesign zu üben und kleine nette Progrämmchen zu schreiben, würde ich heutzutage mit Python anfangen.

Aber mit Pascal anzufangen geht natürlich auch (ist meiner Meinung nach aber schwieriger)

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 24.03.2004 17:36:41

Falls es mir mit Pascal am Anfang doch zu schwierig/umständlich werden sollte kann ich ja einfach in Python reinschnuppern, ich möchte nur aus privatem Interesse ein bisschen Programmieren, habe also keinen Druck was bestimmtes zu können oder abzuliefern. Danke für deinen Hinweis.


MFG, David

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 24.03.2004 17:40:12

Gern geschehen.

Den Hauptgrund hatte ich ja vergessen (nur der Vollständigkeit halber, ich will hier niemanden Missionieren): Python ist eine "multi-paradigm" Sprache. Sie ist imperativ wie C, Objektorientiert wie Pascal,C++ und Funktional wie Haskell, Lisp, Scheme. Ein Programmieranfänger kann somit schon etwas "über den Tellerand hinauszuschauen"

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 24.03.2004 19:44:01

Hi,

nun, ich kenne Python nicht, aber wenn es alle Sprachstile in sich vereinigen soll, klingt das nicht so sehr einfach.
Da ich durchaus Pascal kann (war meine erste richtige Sprache nach BASIC) und auch gelegentlich mit Delphi (Object-Pascal unter Windofs) arbeiten muß, kann ich nur sagen, Pascal ist die optimale Einstiegssprache.
Pascal kommt mit guten Libs an, man kann also mit wenig Aufwand die Sprache lernen und durch den Einsatz der Libs auch gleich wirkliche brauchbare Software schreiben.

Von Pascal ist es nicht mehr weit zu C und von dort nicht mehr weit zu Java oder C++. Daher bietet sich IMHO Pascal wunderbar an, um die wunderbare Welt der Softwareentwicklung einzusteigen. Und wenn's ohnehin nur für ein bißchen "private Spielerei" sein soll, warum sich mit unnötigem Ballast quälen -- zumindest für den Anfang.

Schau Dir auch mal lazarus[1] an. Das ist ein Delphi-Clon für Linux. Damit erstellt man Ratz-Fatz eine graphische Oberfläche (z.Zt. gtk+-basiert), und kommt per Mausklick an die richtigen Stellen im Code. Somit ist auch die Programmierung (in) einer graphischen Oberfläche recht easy.

Ich finde, mit Pascal hast Du eine gute Wahl getroffen.

BTW, ich glaube, unter freepascal.org direkt findest Du auch einige Tuts - oder waren das nur Programmers Guides und References?

[1]: http://www.lazarus.freepascal.org
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 24.03.2004 19:59:32

Hi DavidJ,

Learning to program
Trotz des Englischen Titels auf Deutsch :)


Gruß

Dookie

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 24.03.2004 21:35:30

OK, danke auch für euren Input.
BTW, ich glaube, unter freepascal.org direkt findest Du auch einige Tuts - oder waren das nur Programmers Guides und References?
Ich habe von dort jedenfalls schon vor längerem eine Referenz und solche Sachen runter geladen.
Über Lazarus bin ich bei der Suche mit Google auch gestolpert, dachte mir aber es wäre besser wenn ich erst einmal nur mit einem mehr oder weniger einfachem Texteditor loslege. In sowas wie eine IDE oder dergleichen arbeitet man sich vermutlich besser ein wenn man schon etwas mit dem Programmieren zurecht kommt und die Compiler-Switches etc. kennt?!

Naja, jEdit habe ich mir dann 'mal zum Testen installiert und ansonsten gilt, dass es an Editoren unter GNU/Linux ja nicht mangelt :D

Learning to program
Trotz des Englischen Titels auf Deutsch
Ich habe mir das Tutorial vorsorglich runtergeladen :wink:


MFG, David

Benutzeravatar
marmeladebomber
Beiträge: 1002
Registriert: 09.11.2002 23:34:58
Wohnort: Österreich/Tirol

Beitrag von marmeladebomber » 24.03.2004 21:42:57

Pascal...
und das schönsteist du musst dich nicht mit Nullpointer, Endlosschleifen, falsche Derefferenzierungen, arrays ... ärgen.

Vielleicht habe ich deshalb immer Pascal vermieden..

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 25.03.2004 00:02:10

marmeladebomber hat geschrieben:Pascal...
und das schönsteist du musst dich nicht mit Nullpointer, Endlosschleifen, falsche Derefferenzierungen, arrays ... ärgen.
Auch das geht unter Pascal ;) Manchmal schneller, als einem lieb ist .... :(
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Programmieren mit FreePascal

Beitrag von weedy » 25.03.2004 14:21:12

DavidJ hat geschrieben:Hallo Debianer,

ich wollte mal wieder einen Einstieg in die Programmierung wagen und das in/mit FreePascal. Kennt jemand von euch brauchbare HowTos? Kann ruhig mit Hello World anfangen, wäre wahrscheinlich sogar besser. Das letzte mal das ich mit Programmierung zu tun hatte war in der Schule und das ist schon ein paar Jahre her.

Sonstige Tipps und Anregungen könnt ihr gerne anfügen :D


MFG, David
Also ich könnte dir neben Python auch Ruby
empfehlen, da es ähnlich mächtig ist und auch
geniale Features besitzt (am liebsten wäre mir eine
Mischung aus beiden), aber wenn du unbedingt
eine Pascalähnliche Syntax haben willst und gleich
von Anfang an wartbare Programme produzieren willst,
so sei dir Ada empfohlen (Packete: gnat, gnat-doc,
ada-reference-manual) allerdings ist der Overhead für
einen Anfänger duraus etwas zu viel. Oder wenn du
überhaupt erstmal mit Programmieren beginnen willst,
dann dei dir trotz aller Gegenstimmen Java empfohlen
(Packete j2sdk1.4, die Doku (JavaTM Platform 1.1.3
Core API) musst Du Dir mal bei java.sun.com runterziehen),
denn im ggs. zu C verliert man nicht so schnell den
Mut, wenn Fehler wegen Typunsicherheiten auftreten
oder ein fast nichtssagender Segmentationfault. Da
bekommt man in Java recht gute Fehlermeldungen, die
einem meist sofort weiterhelfen.
Ausserdem lernt man auch gleich die Vorteile einer
strengen Typisierung kennen; das fehlt mir in fast
allen Scriptsprachen. C ist zwar auch weitestgehend
streng typisiert, aber in Java ist es nicht möglich
einen Objekt auf eine andere Klasse/Struktur zu
casten, wie in C. Darüberhinaus gibt es nicht die
Pointerproblematik. Später wäre aber ein Erweitern
der Kenntnisse in Richtung C nicht falsch.

weedy.

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Re: Programmieren mit FreePascal

Beitrag von spiffi » 25.03.2004 15:26:00

weedy hat geschrieben:C ist zwar auch weitestgehend
streng typisiert, aber in Java ist es nicht möglich
einen Objekt auf eine andere Klasse/Struktur zu
casten, wie in C.
Das ist auch in Java möglich und fliegt Dir dann zur Laufzeit als Class Cast Exception um die Ohren.
No language can express every thought unambiguously, least of all this one. -- D. R. Hofstadter

Benutzeravatar
weedy
Beiträge: 585
Registriert: 02.11.2002 21:47:49
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Programmieren mit FreePascal

Beitrag von weedy » 25.03.2004 15:31:22

spiffi hat geschrieben:
weedy hat geschrieben:C ist zwar auch weitestgehend
streng typisiert, aber in Java ist es nicht möglich
einen Objekt auf eine andere Klasse/Struktur zu
casten, wie in C.
Das ist auch in Java möglich. Das fliegt Dir an zur Laufzeit als Class Cast Exception um die Ohren.
Genau davon rede ich doch. In C kommt aber an der
Stelle keine Fehlermeldung. Möglicherweise macht
es sich später indirekt als Folgefehler bemerkbar,
im schlimmsten Fall merkt mann einen Fehler erst
dann, wenn das Programm sehr weit fortgeschritten
ist und dann hat man keine Ahnung, wie der
zustande kommt. Ich meinte im wesentlichen die
Laufzeit, denn da bekommt man ja auch die recht
bequemen Backtraces, für die man in C erst bestimmte
Compileroptionen anwerfen muß und dann den gdb zu
invoken hat. Für einen Anfänger der Horror.

weedy.
Zuletzt geändert von weedy am 27.03.2004 05:07:52, insgesamt 1-mal geändert.

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 25.03.2004 15:41:32

Thnx für deinen Vorschlag, weedy. Bevor ich noch groß versuche heraus zu finden was den für mich am besten geeignet wäre versuche ich es lieber einfach mal mit Pascal ansonsten wird man von der Informationsflut dann einfach erschlagen und kommt nicht vorwärts.

Ada95 war tatsächlich die Sprache mit der ich schonmal anfangen wollte, ich habe dann aber nichts finden können was mir als Anfänger den Einstieg leichter gemacht hätte also ich meine Tutorials die an Anfänger gerichtet sind und sowas.


MFG, David

keyem
Beiträge: 303
Registriert: 23.08.2002 07:50:28
Wohnort: Berlin

Beitrag von keyem » 25.03.2004 16:42:48

DavidJ hat geschrieben: Ada95 war tatsächlich die Sprache mit der ich schonmal anfangen wollte, ich habe dann aber nichts finden können was mir als Anfänger den Einstieg leichter gemacht hätte also ich meine Tutorials die an Anfänger gerichtet sind und sowas.
MFG, David
Na, wenns weiter nichts ist, guckst Du hier (am Ende der Seite):
http://www.tfh-berlin.de/~grude/

Egal, welche Sprache Du Dir vorknöpfst: Viel Erfolg!

keyem

DavidJ
Beiträge: 767
Registriert: 31.05.2003 12:23:58

Beitrag von DavidJ » 25.03.2004 16:54:02

>Na, wenns weiter nichts ist, guckst Du hier (am Ende der Seite):
>http://www.tfh-berlin.de/~grude/

PDFs gespeichert und Bookmarks gemacht, werde ich sicher noch gebrauchen können.

>Egal, welche Sprache Du Dir vorknöpfst: Viel Erfolg!

Danke :)

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 25.03.2004 18:54:23

Hi,

ohne hier einen Flamewar von der Stange zu brechen -- aber ich kann es einfach nicht verstehen, warum die Leute so auf Java abfahren.
Java ist IMHO ziemlich unflexibel, hinkt mit der Entwicklung grundsätzlich hinterher, hat eine grauenhafte API, ist dermaßen unperformant bei einer scheuslichen Overhead-Leistung,.... soll ich fortfahren?

Zudem ist die "freie" Zukunft des doch nicht so freien Java IMHO auch nicht unbeingt gewährleistet, zumindest das Java, von dem quasi jeder spricht, nämlich die Sun und mitunter auch die IBM Version.
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 25.03.2004 19:40:18

Noch ein paar Punkte, die IMHO für Python sprechen:
Interpreter, d.H. du kannst kleine Codestückchen auch interaktiv im Interpeter testen, ohne jedesmal neu compilieren und linken zu müssen.
Sauberer Umgang mit Resourcen, auch wenn das Programm durch einen Fehler abbricht werden Speicher, Dateien und andere vom Programm belegte Resourcen automatisch freigegeben.
Sehr gutes Hilfesystem mit pydoc in der Console und auch im Browser.
Viele Anwendungen unter Linux stellen eine Pythonschnittstelle zur Verfügung, gnumeric, gimp, xchat um nur ein paar zu nennen. GDesklets und Superkaramba arbeiten mit Python.
Viele Internetseiten, auch deutsche findest Du zu Python, bei Pascal schauts da eher lau aus.


Gruß

Dookie

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 25.03.2004 19:44:18

Jetzt macht Ihr mich aber dermaßen neugierig auf Python, daß ich mir das doch direkt mal anschauen muß ;)
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
BeS
Moderator
Beiträge: 3238
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart

Beitrag von BeS » 25.03.2004 19:45:01

Hallo jogix,
sehe ich zu einem großen Teil ähnlich wie du.

Ich finde das Zitat von Stroustrup passt ganz gut, auch wenn er sicher nicht ganz unbefangen die Sache bewertet:
"Java isn't platform independent; it is a platform. Like Windows, it is a proprietary commercial platform. That is, you can write programs for Windows/Intel or Java/JVM, and in each case you are writing code for a platform owned by a single corporation and tweaked for the commercial benefit of that corporation."

@DavidJ: Zu Ada findet man wirklich nur sehr schwer Informationen. Als Buch ist der Barnes sicher das Standardwerk, ob er sich zum lernen eignet bin ich mir aber auch nicht so sicher.
Hier habe ich aber noch ein paar Ada95 links für dich:
Tutorials:
http://www.adapower.com/learn/adadistilled.html
http://www.iste.uni-stuttgart.de/ps/ada ... elace.html
http://www.informatik.uni-stuttgart.de/ ... /adanotes/
http://www.it.bton.ac.uk/staff/je/adacraft/
http://www.adahome.com/rm95/
Reference Manual: http://www.adahome.com/rm95/
Sonstiges:
http://www.adapower.com/
http://www.adahome.com/

EDIT: Wenn hier schon alle Werbung für Programmiersprachen machen, dann will ich auch mal was in die Runde werfen ;)
Ich kann jedem empfehlen sich scheme mal anzuschauen, ist wirklich eine tolle Programmiersprache.

Benutzeravatar
jogix
Beiträge: 776
Registriert: 05.10.2002 20:08:16
Wohnort: Lampertheim
Kontaktdaten:

Beitrag von jogix » 25.03.2004 20:22:30

Wobei der Bjarne da nicht ganz unrecht hat....
cheers,
Jochen
___________________________________________________
Testing can prove the presence of bugs, but not their absence. -- Dijkstra

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 25.03.2004 20:26:31

Und ich verstehe nicht die allgemeine Abneigung gegen Java :-)

Ich hab jahrelang in C++ entwickelt und in letzter Zeit auch immer mehr in Java. Klar, als Umsteiger fällt einem so einiges negativ auf. Aber mit der Zeit muß ich gestehen, das ich in Java schneller Programme entwickele als in C++. In C++ fang ich bei jedem Programm von vorne an, mir die Schrauben zu feilen, obwohl ich doch eigentlich ein Auto bauen will. In Java greif ich dazu einfach in die Kiste.

@BeS: Ja, auf der gleichen Seite sagt Stroustrup (auf die Komplexität von C++ angesprochen) auch sinngemäß, das Java halt noch sehr Jung ist, und eine der fortgeschrittenen Konzepte (Templates) auch noch kommen werden und die Sprache dann auch komplexer wird. Und siehe da, er hat Recht behalten.

Ergo: Die STL bei bei C++ ist sehr schön und es macht Spaß damit zu arbeiten. Aber in realen Anwendungen brauch ich halt heut nicht nur Container, Iteratoren und so weiter, sondern muß mit Threads umgehen, XML zparsen, HTTP,... sprechen. Für all dieses gibts bei C++ auch libs. Aber entweder sie sind nicht Opensource (und kostenlos) oder sie erfüllen immer nur einen Teilzweck und passen hinten und vorne nicht zusammen.
Schade eigentlich, denn ich hab sehr gerne in C++ geschrieben.

Achja, und für Java gibts einfach eine geniale IDE (eclipse)

Zum Thema: Ich würd würde für den Anfang ganz klar zu Java raten. Wenn Du eventuell später mal Deine Brötchen mit dem Programmieren verdienen willst, dann ist Pascal, tja wie soll ichs höflich sagen, ... ;-)
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Antworten