Freepascal-Thread


xyta

Active Member
Joined
Aug 28, 2009
Messages
886
program Hallo;
begin
writeln('Hallo Welt');
end.

1. Was ist Pascal?
Wikipedia.de said:
Die Programmiersprache Pascal (benannt nach Blaise Pascal) wurde von Niklaus Wirth an der ETH Zürich 1972 als Lehrsprache eingeführt, um die strukturierte Programmierung zu etablieren.

Pascal ist eine Weiterentwicklung von Algol 60.

Die Sprache wurde von Niklaus Wirth als Lehrsprache entwickelt. Sie wurde deshalb so einfach und strukturiert wie möglich gestaltet. Ihre große Verbreitung in der professionellen Programmierung fand sie als Borland/Turbo Pascal (Delphi) – gegenüber dem Ur-Pascal wesentlich erweiterte und verbesserte Versionen.

Pascal zeichnet sich durch eine strikte und einfach verständliche Syntax sowie durch den Verzicht auf kontextabhängige Interpretationen des Codes aus. Somit erlaubt Pascal im Vergleich zu Sprachen wie C und Fortran eine gute Lesbarkeit und, verglichen mit Fortran, auch eine bessere Unterstützung von strukturierter Programmierung.

Ein wichtiges Konzept, das Wirth zur Anwendung brachte, ist die starke Typisierung (engl. "strong typing"): Variablen sind bereits zur Übersetzungszeit einem bestimmten Datentyp zugeordnet, und dieser kann nicht nachträglich verändert werden. Typenstrenge bedeutet, dass Wertzuweisungen ausschließlich unter Variablen gleichen Typs erlaubt sind.
[...]
http://de.wikipedia.org/wiki/Pascal_(Programmiersprache)

2. Compiler und IDE
Zur plattformübergreifenden Open-Source-Programmierung empfiehlt sich vor allem der Freepascal-Compiler. Er wird benötigt, um den eingegebenen Quellcode in Maschinensprache zu übersetzen, also zu kompiiieren. Unter Windows werden so .EXE und auch .DLL-dateien erzeugt. Der Freepascal-Compiler kann auf der Seite http://www.freepascal.org heruntergeladen werden. Er ist auch in der Lage, Code für ARM-Plattformen zu erzeugen.
Freeascal.org said:
Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal compiler. It is available for different processors: Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM. The discontinued 1.0 version also supports the Motorola 680x0. The following operating systems are supported: Linux, FreeBSD, Mac OS X/Darwin, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS.

[...]

The language syntax has excellent compatibility with TP 7.0 as well as with most versions of Delphi (classes, rtti, exceptions, ansistrings, widestrings, interfaces). A Mac Pascal mode, largely compatible with Think Pascal and MetroWerks Pascal, is also available. Furthermore Free Pascal supports function overloading, operator overloading, global properties and several other extra features.

3. Getting started
Um das Programmieren mit Pascal zu erlernen, empfiehlt es sich, Tutorials durchzuarbeiten:
Dazu kann man die Entwicklungsumgebung FPC.EXE nutzen. Pascal-Text eingeben und dann auf Run klicken. Synthaxfehler (also wenn was falsch geschrieben ist) meldet der Compiler mit Zeilennummer und Position. Die aktuelle Position des Cursors lässt sich am unteren Rand des Fensters ablesen

http://www.lernnetz-sh.de/kmLinux/doc/Pascal-Tutorial/pade.htm
http://www.muenster.de/~m-frost/
http://www.wirthi.at/w/Pascal-Tutorial

Dann kann man sich auch mal dranmachen, verschiedene Algorithmen mit Pascal zu implementieren.

Der Klassiker wäre z.B. ein Bubblesort:
http://de.wikipedia.org/wiki/Bubblesort

oder auch andere:
http://de.wikipedia.org/wiki/Liste_von_Algorithmen
wobei die Sortieralgorithmen besonders zu empfehlen sind, da leicht zu verstehen..

Was man dann auch mal angehen könnte, wäre, einen RECORD-Satz oder eine Textdatei auf die Festplatte zu schreiben und zu lesen.

Dann wäre es noch sinnvoll, das Unit-Konzept verstanden zu haben und auch mal selbst eine kleine Unit kompiliert und benutzt zu haben. In diese Kategorie fällt seit Freepascal auch das Erstellen eigener DLL-Dateien unter Windows. Allerdings sind für solche Dinge die Änderungen im Quelltext gegenüber einem normalen Programm doch recht überschaubar...

4. Spieleprogrammierung
Ein nettes Beispiel für ein in Pascal geschriebenes Spiel ist hier zu finden:
http://www.wieringsoftware.nl/mario/

Allerdings noch für DOS. Der Sourcecode läuft nicht auf Freepascal, aber man kann ihn sich für das uralte Turbo Pascal 5.5 runterladen, was inzwischen ebenfalls frei erhältlich ist.
Das Programm hat leider auch viel Assembler-Code. Dieser wird hauptsächlich für Ein- und Ausgabe sowie Sprites benutzt. Unter Windows werden mit den richtigen Hilfsmitteln genau diese Routinen nicht mehr notwendig sein. :D Das Interessante an dem Spiel ist auch vielmehr die dahinter stehende Logik.

Das Hilfsmittel, was die Spieleprogrammierung -plattformübergreifend- stark vereinfacht, ist die Simple Direct Media Layer-Bibliothek:

http://www.libsdl.org/
libsdl.org said:
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."

SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported.

SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, D, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl.

SDL is distributed under GNU LGPL version 2. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library.

Die SDL-Dateien kommen als Bibliotheken (unter Windows DLLs), welche in C geschrieben wurden. Sie

-vereinfachen den Zugriff auf bestimmte Hardwarefunktionen, gerade hinsichtlich Multimedia und Spiele, gegenüber dem Aufruf von Betriebssystemfunktionen

-Gestalten den Zugriff auf bestimmte Hardwarefunktonen (Tastaturabfrage etc.) für das zu entwickelnde Programm auf allen Betriebssystemen einheitlich.

Um diese Routinen aus Freepascal anspechen zu können, gibt es verschiedene Projekte:

State of the Art ist eigentlich das JEDI-SDL-Projekt, was verschiedene Units liefert um die SDL-Bibliotheken anzusprechen:
http://www.delphi-jedi.org/
http://sourceforge.net/projects/jedi-sdl/

Veraltet: http://sdl4fp.sourceforge.net/

Installationstipps gibt es hier:
http://www.lazarusforum.de/viewtopic.php?f=10&t=2457

Kleine Beispielprogramme werden bei JEDI-SDL bereits mitgeliefert. Die Endung der Beispiele ist allerdings .dpr, da sie für Delphi gedacht sind. Die meisten Beispiele lassen sich aber auch mit Freepascal ausführen, sofern sie keine Main-Unit besitzen.

Weitere tiefergehende Erklärungen und Tutorials für OpenGL und SDL finden sich hier:
http://wiki.delphigl.com/index.php/

Interessant sind die Einsteiger- Grundlagen und SDL-Tutorials.

Da das ganze plattformübergreifend läuft, sollte es eigentlich möglich sein, erste Schritte mit Pascal auf Windows zu lernen, und dann später ARM-Code für die Pandora zu programmieren.

-- Fr Feb 12, 2010 22:42 --

So, hab noch mehr zum Thema Spieleprogrammierung mit Freepascal:

1) Beispiel-Game "Sheepkiller" in 3D, mit nem Wikinger, der Schafe abmetzelt. Natürlich komplett Open Source.

http://www.lugato.net/thesheepkiller/

Wenn ich meine Pandora hab, wird als eine der ersten Handlungen mal versucht, dieses Game für die Pandora zu kompilieren... :)

2) Das Pascal Gamer Magazine
Pascal Gamer Magazine said:
Pascal Gamer Magazine is a free, online, downloadable (PDF) publication with a focus on game development and design with Pascal and Object Pascal development tools. It will have many great features for those interested in programming, level design, the commercial and independent game industry, news and highlights on Pascal tools technologies and other developers as well as the latest games made with our beloved tools.

Ein sehr informatives und hochwertig aufgemachtes Szene-Magazin, was sich jeder Interessierte im PDF-Format umsonst runterladen kann. Mit interessanten Interviews und Neuigkeiten, aber auch Anregungen zum praktischen Programmieren bezüglich der Spieleprogrammierung mit Pascal, Delphi und co. Auch Open Source und die Independent-Szene haben hier eine Plattform.

http://www.pascalgamer.com/

Erste Ausgabe von Juli 2009: Link

Ich hoffe sehr, dass noch viele Ausgaben folgen werden. :)
 
Hallo!

Ich programmiere schon eine lange Zeit und sehr gerne mit Delphi / Turbo Pascal (Windows) oder halt Lazarus / FreePascal die sich auch für Linux kompilieren lassen.
Deshalb freue ich mich schon sehr auf und für die Pandora in meiner Lieblingssprache programmieren zu können. Derzeit erlerne ich OpenGL
(schreibe grade ein Populous3 remake [Multiplayer 3D Echtzeit Strategiespiel] in dem ich grade gelerntes einbringe, dürfte aber lange dauern bis was draus wird ^^).
Habe aber schon Gedanken darüber dieses Spiel für die Pandora umzuschreiben wozu ich auch noch Open GL ES lernen müsste..
aber bin davon eigentlich zu weit entfernt um darüber zu schreiben ;)

Leider aber kenne ich mich mit Linux noch nicht aus (hatte vor dies mit Erhalt der Pandora nachzuholen) und bräuchte definitiv Hilfe,
Free Pascal und gerne auch Lazarus auf der Pandora lauffähig zu bekommen.

Es gibt bereits Videos davon wie per Konsole auf dem Nokia N900 Pakete runtergeladen und installiert werden um FPC lauffähig zu bekommen.

Ich habe großes Interesse an selbiges auf der Pandora und würde mich sehr freuen wenn jemand Ahnung davon hat und vielleicht auch schon
Erfolge erzielt hat. Bitte schreibt was darüber wer auch immer damit zu tun hat :)
 
Ja, diese Einarbeitung in Multiplattformprogammierung und Crosscompiliererei mit FPC steht mir auch noch bevor... <_<

Anlaufstelle ist dieses Forum:
http://www.pascalgamedevelopment.com/forum/index.php?board=68.0

Folgende Threads sind interessant:

Pandora Cross Compile:
http://www.pascalgamedevelopment.com/forum/index.php?topic=6417.0

Beagleboard:
http://www.pascalgamedevelopment.com/forum/index.php?topic=5959.0

Frage zum Wiz:
http://www.pascalgamedevelopment.com/forum/index.php?topic=5918.0

Lowlevel GP2X:
http://www.pascalgamedevelopment.com/forum/index.php?topic=5618.0

FPC4GP2X-Toolkit:
http://www.pascalgamedevelopment.com/forum/index.php?topic=4985.0

Pandora:
http://www.pascalgamedevelopment.com/forum/index.php?topic=5257.0

GP2X&FPC
http://www.pascalgamedevelopment.com/forum/index.php?topic=4873.0

FPC4GP2X Allgemein:
http://www.pascalgamedevelopment.com/forum/index.php?topic=4432.0

FPC & SDL
http://www.pascalgamedevelopment.com/forum/index.php?topic=4197.0

GP2X development with freepascal and devkitGP2X:
http://www.pascalgamedevelopment.com/forum/index.php?topic=4438.0

OpenGL ES:
http://www.pascalgamedevelopment.com/forum/index.php?topic=6107.0


Irgendwie scheint noch keiner von den Leuten, die Ahnung von Pascal haben, seine Pandora bekommen zu haben... :-(
Mich erstaunt irgendwie eh, dass es keinen mehr zu geben scheint, der Pascal kennt, obwohl Pascal/Delphi jahrelang an Schulen, Berufsschulen und Unis gelehrt wurde. :confused:?? War anscheindend alles für die Katz. <_< Gut, bei den Amis versteh ich noch, dass die traditionell auf C und Basic setzen, aber bei den Europäern?? :confused::
 
Schön, da sind wir schonmal zwei und mehr :)


Habe grade deine Antwort mit den vielen Links gelesen, aber noch nicht richtig reingeschaut.
Da dir ebenso wie mir die Einarbeitung mit crosscompilen und FPC noch bevorsteht,
gehe ich erstmal davon aus dass in den Links nicht mehr steht als das was ich auch schon gefunden hatte..

So auf die Schnelle erkenne ich aber manches wieder, wie zum Beispiel
die lowlevel library für FreePascal und GP2X, meinte sogar dass dieses auch in diesem
Forum erwähnt wurde (Abteilung GP2X ^^)..

Aufjedemfall wollte ich denjenigen mal anschreiben, sollte ich selbst nicht zurechtkommen.
Ich vermute und erhoffe mir aber, dass es exakt so abläuft wie für das Nokia N900 :)


Auch ich verstehe nicht wie selten man von Delphi & Co im Vergleich zu C++ hört,
wo diese Sprache doch völlig gleichwertig mit C++ ist und wie ich finde, sogar einiege Vorteile mehr bietet..


Allerdings ist mir ein möglicher Grund aufgefallen als ich deinen Beitrag gelesen hatte -_-
SCHULE! Ja genau.. das muss der Grund sein warum Delphi / Turbo Pascal gerne gemieden zu werden scheinen XD
Dort wird doch alles falsch angegangen.. der ganze Spaß wird in Zwang und Langeweile umgewandelt..

Eine solche Sprache sollte man am besten selbst erlernen, entweder über Bücher, oder wie ich über Tutorials aus dem Internet ;)



Naja, ich warte noch auf meine 1. Batch Pandora mit der Bestellnummer 39**.. und welches Los hast du gezogen?
Mit Sicherheit noch davor :D Freu mich dass ich nicht der Erste und somit nicht alleine bin, der die Thematik anspricht ^^


EDIT: Argh, jetzt habt ihr mich angesteckt mit eurer Paranoia und hab meine Bestellnummer nur teilweise angegeben XD
müsste nurnoch mein Zitat von xyta geändert werden .. *PN schickt*
 
Einige der Post sind von mir, und ja, ich warte auf die Pandora :)

Was habe ich zur Zeit:
- Crosscompiler für GP2X und GP2X Wiz
- Ein einfaches Framework, basierend auf SDL und für den GP2X mit Hardware - Blitter - Support
- Nicht funktionierende OpenGL ES Unit auf dem GP2X Wiz

Ein mit dem Framework geschriebenes Spiel für Window, GP2X und GP2X Wiz ist unter http://www.seban.de/index.php/MTCMatch.html zu finden. Sobald ich die Pandora habe, werde ich das Framework portieren.

Gruß
Thomas
 
Hallo KidPaddle :)


Jaaaaaaa, genau dich wollte ich anschreiben sollte ich mit FPC und der Pandora nicht weiterkommen..
Du bist derjenige, dessen Post mich so glücklich gemacht hat (FPC auf GP2X = :D)

Glückwunsch zu deinen Erfolgen!
Klasse.. auch du wirst also eine Pandora erhalten und das Framework darauf protieren..

Danke dafür, ich hätte es sicher nicht geschafft :)
Fühle mich jetzt meiner Vorstellung auf der Pandora zu coden viiiiel näher ^^

Gruß Arthur.
 
KidPaddle said:
Einige der Post sind von mir, und ja, ich warte auf die Pandora :)
Kaworu said:
Naja, ich warte noch auf meine 1. Batch Pandora mit der Bestellnummer 39**.. und welches Los hast du gezogen?
Mit Sicherheit noch davor :D
Nö, hab 41**. :-(

Wahrscheinlich sind wir schlicht nicht nerdig genug, echte Nerds nehmen an solchen C-Wettbewerben Teil und müssen die Pandora natürlich als allererstes haben. ;)
Kidpaddle said:
Was habe ich zur Zeit:
- Crosscompiler für GP2X und GP2X Wiz
- Ein einfaches Framework, basierend auf SDL und für den GP2X mit Hardware - Blitter - Support
- Nicht funktionierende OpenGL ES Unit auf dem GP2X Wiz

Ein mit dem Framework geschriebenes Spiel für Window, GP2X und GP2X Wiz ist unter http://www.seban.de/index.php/MTCMatch.html zu finden. Sobald ich die Pandora habe, werde ich das Framework portieren.

Juhu, dann hoffe ich mal, dass du deine Pandora vor uns bekommst und nach Erhalt möglichst bald zu Tat schreitest! ;)
Und diese OpenGL ES-Unit bekommen wir bestimmt auch noch zum Laufen! :)
 
Jupp, bin vor euch, habe 29**. Da hab ich ja Glück gehabt, hätte sonst ja sofort loslegen müssen bei der Erwartungshaltung.

Thomas
 
Ach, das hört sich immer so tragisch an wenn man sowas schreibt und ein anderer liest ^^

Sollten wir es eilig haben sollten wir uns halt selbst dransetzen und lernen bis es klappt ;)
Ich freue mich einfach nur dass sich bereits jemand an etwas setzt zu dem ich noch garnichts weiß,
um direkt loslegen zu können ^^ Einfach sehr beruhigend nachdem Schock dass kaum die Rede von FPC war..

Aber ich erwarte nicht.. irgendwann wirds schon irgendwer rausbringen.. wir Pandorianer sind doch seeeeehr geduldige Menschen ;p
 
Der nächste Schritt wäre IMHO, bei ED Lobbyarbeit zu leisten, dass er uns ein eigenes Unterforum anlegt. :ph34r: Dann würden nämlich auch mehr Leute auf diese Möglichkeit aufmerksam werden. Oder was meint ihr? :confused:??

Was wäre besser, ihn mit PNs zu bearbeiten, oder im Vorschläge und Feedback-Forum einen Faden zu erstellen?

Mehr als die drei Threads des Fenix-Forums sollten wir mittelfristig doch wohl schon zusammen bekommen... :yes:
 
Auja, ein neues zu Hause ^^

Hatte heute sehr früh Morgens übrigens zufällig auch kurz das Thema FPC erwähnt.
Da habe ich Evildragon über ICQ gefragt ob er schonmal was zum Thema FPC und Pandora gehört oder gesehen
hätte: Nur wusste er leider nichts von.

Naja heute Morgen FPC über ICQ.. nun nochmal im Forum von uns 3en am besten auf allen Wegen,
und unser neues zu Hause ist garantiert ^^ Dann machen wir ne WG auf XD

Allerspätestens mit Erhalt der Pandora sollte das Haus stehen :)

Einfach nur grauenhaft der Eindruck wenn man im Forum alles andere nur nicht FPC vorfindet o_O
 
ja das pascal immernoch besteht ist doch was schönes, das problem warum es wohl immer mehr in vergessenheit gerät ist warscheinlich die tatsache das borland von Embarcadero Technologies übernommen wurde und mit der übername eine günstige/freie Version zu lehrzwecken nichtmehr oder nur schwer zu erhalten ist. und für eine original entwicklungsumgebung möchte ich nur ungern 900€ für privat ausgeben, wo sogar vorgängerversionen diesen preis tragen.
 
Ja da gibts wohl mehrere Gründe für den Niedergang von Delphi, Unicode-Probleme, hoher Preis, kein Multiplattform, kein 64-Bit... <_<

Wenigstens die letzten drei Probleme lassen sich mit Freepascal ja lösen, und nur dank FP kann man ja überhaupt Pascalprogramme für die Pandora oder den Wiz schreiben. :juhu:

Lazarus entwickelt sich auch immer weiter....

Im Profibereich dürfte der Zug aber langsam abgefahren sein, ausgenommen bei Altprojekten. :-(( Profis nehmen gern den Support von großen Firmen in Anspruch, und da schlägt (das vom TP- und Delphi-Mastermind entwickelte) C# mit guter Anbindung an das Windows und sonstige MS-Produkte (Datenbanken, Webserver) halt voll ein. RTFM

Allerdings gibt es C# nicht für die Pandora!

Und ich denke, das Pascal, gerade Freepascal immer noch Stärken hat, einsteigerfreundlich ist, und gut lesbarer Code dabei rauskommt.
C finde ich zum Teil einfach nur hässlich und seltsam... Z.b. dass es möglich ist, einer char- eine byte-Variable zuzuweisen ist irgendwie total unmöglich... :slap:
 
Hm.. nun gut dann lass es Geschichte sein und FPC als etwas völlig neues Eigenständiges akzeptieren :)
Lazarus baut ja auf den FPC auf.. Ist im Grunde eine IDE mit erweiterten Funktionen..

Haben sich beide sehr gut entwickelt und sind bereits für viele verschiedene Prozessorarchitekturen
verfügbar. Selbst für einen Gameboy und viele andere Konsolen. Und sowieso am coolsten: für den Amiga ^^
(gilt leider nur für eine ältere Version)


Delphi war meine erste Hochsprache die ich erlernte. C++ war mein nächstes Ziel..
Aus damaliger Sicht einmal weil es wesentlich verbreiteter war, und einmal weil der Code "cooler" wirkte..
zu meinen Anfängen fand ich es doof, dass selbst ein nicht-Programmierer verstand was ein Pascalcode bewirkte.
Und C++ war so chinesisch XD Gefällt mir aber weiterhin, nur dass es mir nicht mehr so wichtig ist,
für andere unverständlichen Code zu schreiben ;)


Habe mir dann ein dickes C++ Buch besorgt und bin bis irgendwo zwischen Seite 200 und 300 gekommen.
Abgebrochen habe ich es aus mehreren Gründen.. zum einen ist mir aufgefallen wie gleich
Delphi und C++ eigentlich sind.. ich sah keine Vorteile, sondern eher Nachteile.

Zum anderen aus anderen persönlichen Gründen.. hatte zuviele Interessen.. andere Dinge hatten
höhere Prioritäten.. Delphi machte einfach Spaß und so beschloss ich dabei zu bleiben ^^


Vielleicht hole ich C/C++ noch irgendwann in Zukunft nach, aber aus heutiger Sicht sehe ich keinen Bedarf dazu.
Stattdessen nehme ich jetzt die Themen FPC + SDL + Open GL / Open GL ES durch,
oder philosophiere halt weiter über das Leben ^^


Übrigens, habe bereits Evildragon von diesen Thread erzählt und dass wir uns ein Unterforum wünschen würden..
(Per MSN und nicht wie ich vorher geschrieben habe ICQ)
Ich vermute mal dass es ihm lieber wäre bis zur für die Pandora kompilierten Version von FPC abzuwarten.
Aufjedemfall schrieb er, dass er sich zum Thema umschauen wolle :)

Also ich sehe die Sonne aufgehen ^^
 
Kaworu said:
Ich vermute mal dass es ihm lieber wäre bis zur für die Pandora kompilierten Version von FPC abzuwarten.
Aufjedemfall schrieb er, dass er sich zum Thema umschauen wolle :)
Es gibt doch schon ein Freepascal-Game für den Wiz und damit ein Proof-of-Concept! :)

Generell sollten wir, bzw. strebe ich an, eine FP-Version für die Pandora umzustricken. So, dass es in der IDE einen Menüpunkt gibt "Target Angström for Pandora", und beim Compilen wird das fertige PND ausgespuckt. :juhu: Die Text-IDE hat sowas ja schon in Ansätzen. Wobei eine Fenster-IDE für den Desktop vermutlich besser wäre, wie Bloodshed Dev-pascal. Vielleicht bekommt man die ja inzwischen mit Lazarus auch für Linux kompiliert...Wobei Dev-Pascal ist GPL, FP ist LGPL... :confused:??

Am Ende sollte dann mindestens ein Install-Paket für eine Entwicklungsumgebung für Windows und noch mal ein kleines FP-PND rauskommen...
 
Ich benutze auch noch gerne Delphi für meine Projekte, zB für den Wandor Level-Editor.
Delphi bietet gegenüber C++ in meinen Augen den Vorteil, dass man sehr schnell ein gut aussehendes und funktionierendes Interface bekommt ohne großartig in die low-level Programmierung oder andere Frameworks/Libraries/etc. einsteigen zu müssen. Zudem werden viele, sehr gute Bibliotheken mitgeliefert, welche man sich bei C++ entweder zusammen suchen oder selber machen muss (zB SysUtils oder StrUtils). Oh, und der Borland Compiler und Debugger ist genial (aber teuer...) ;) .
Allerdings würde ich es nie für etwas anspruchsvolleres als ein kleines Tool (der Level-Editor ist das "größte" was ich bisher gemacht habe) benutzen, da meiner Meinung die Syntax totaler Mist ist (übersichtlicher als C++, aber anders als die meisten anderen Sprachen, incl VB, Java, etc., und viel mehr zu schreiben ;) ) und die hinter den Objekten versteckte Pointer-Programmierung (-Problematik) mehr Probleme verursacht als löst wenn man anspruchsvollere Probleme hat (hat sich schon mal jemand gefragt warum man ein "Objekt" mit newObject := TObject.Create; initialisieren muss...).

Naja, das soll jetzt hier keine Grundsatzdiskussion über die Sprache an sich werden, deswegen zurück zum Thema:
Mit FreePascal hab ich noch nie gearbeitet, aber ich kann mir vorstellen, dass es einfacher und zugänglicher ist als C++, welches einen doch ab und an erschlägt und in manche Falle laufen lässt.
Werd ich mir evtl für mein nächstes Projekt mal anschauen.
Ebenso wie Compilierung unter Linux mit Lazarus, wenn es so weit ist mach ich auch ein Tutorial dazu, sofern mir nicht jemand zuvor kommt ;)

Hat sich schon mal jemand mit SDL oder OpenGL für Delphi/Pascal auseinander gesetzt, bzw Erfahrungen gesammlt?
http://wiki.delphigl.com/index.php/Hauptseite
http://www.delphigl.com/

foxblock out
 
Grundsatzdiskussionen zu Pascal und C gibt es eh mehr als zu genüge..
Beides hat seine Vor und Nachteile.. Ich denke das ist einfach nur gewöhnungssache.

Ich hab schon viele Projekte unter Delphi geschrieben und komme mit allem sehr gut klar.
Am liebsten nutze ich ohnehin möglichst eigene Bausteine, als die vorhandenen..
Warum du die Pointermethoden kritisierst will mir nicht einleuchten.. es gibt für jedes Problem
eine einfache Lösung.. ich finds super mit Pointern unter Delphi zu arbeiten ^^

Mein größtes Projekt soll das "Populous 3 - The Beginning" -Remake werden.. (OpenGL) und es sieht für den Anfang schon mal sehr gut aus ^^
(3D Kugellandschaftsdarstellung + mehrere Tausend sich bewegende Objekte bei hoher FPS ^^, nur grafisch bin ich ne Niete ;)
SDL habe ich zwar noch nicht genutzt in meinem Projekt, allerdings schon von Anfang an auf Umstellung vorbereitet.

Und alles hauptsächlich dank.... genau deinem Link ^^

Durch http://www.delphigl.com/ weiß ich das meiste dass ich über OpenGL gelernt habe. Tolle Seite +++
 
Hi foxblock!
Hast du denn schon deine Pandora bekommen?
foxblock said:
da meiner Meinung die Syntax totaler Mist ist (übersichtlicher als C++, aber anders als die meisten anderen Sprachen, incl VB, Java, etc., und viel mehr zu schreiben ;) ) und die hinter den Objekten versteckte Pointer-Programmierung (-Problematik) mehr Probleme verursacht als löst wenn man anspruchsvollere Probleme hat (hat sich schon mal jemand gefragt warum man ein "Objekt" mit newObject := TObject.Create; initialisieren muss...).
Naja, Ansichtssache... Vom Sythax orientiert sich Java an C, weil beides "Ami-Sprachen" sind und C über Jahrzehnte an US-Unis gelehrt wurde... Man wollte den C-lern den Umstieg erleichtern. :) ADA, Zonnon oder Modula-2 orientieren sich ja eher an Pascal.
Durch die 'US-Dominanz' sind Windows und Unix/Linux in C geschrieben, und du hast unter diesen Betriebssystemen immer das Problem dass du dich bei Funktionsaufrufen ihnen anpassen musst... <_< Deswegen die versteckten Pointer, und deswegen sieht z.B. SDL-Pascal nicht gerade hübsch und pascallig aus. Unter einem Pascal-Betriebssystem (MacOS 1.0) würde der meiste Mist wahrscheinlich entfallen... :confused::
Mit FreePascal hab ich noch nie gearbeitet, aber ich kann mir vorstellen, dass es einfacher und zugänglicher ist als C++, welches einen doch ab und an erschlägt und in manche Falle laufen lässt.
Werd ich mir evtl für mein nächstes Projekt mal anschauen.
Ebenso wie Compilierung unter Linux mit Lazarus, wenn es so weit ist mach ich auch ein Tutorial dazu, sofern mir nicht jemand zuvor kommt ;)
Gerade beim klassichen Pascal finde ich es vor allem für Einsteiger einen Vorteil, dass man mit dem PROGRAM-Block einen definierten Startpunkt hat, im gegensatz zu irgendwelchen Main-Methoden. Man verliert damit eventuell ein Stück Flexibilität, allerdings kann man die Funktionsweise eines Programms wirklich auf einer Bildschirmseite nachvollziehen. Zusammen mit dem Synthax ist so ein einfacheres Programm fast selbsterklärend. :)
Es wäre schon mal super, wenn du mit Tutorials anfangen könntest...
Langfristig schwebt mir wie gesagt, tatsächlich vor, eine spezielle Pandora-Distribution zusammenzustellen. Klick auf Setup-Programm installiert sie in Windows, Klick auf "Compile for Pandora" in der IDE spuckt die fertige PND aus... :juhu: So ein bisschen die Richtung GLBasic... Dazu muss man halt eine IDE modden und Binaries zusammenpacken.
Hat sich schon mal jemand mit SDL oder OpenGL für Delphi/Pascal auseinander gesetzt, bzw Erfahrungen gesammlt?
Angefangen hab ich mal mich einzulesen und die bei FP mitgelieferten SDL-Demos auf dem PC auszuführen. Ein Problem dürfte wahrscheinlich sein, dass wir es auf der Pandora mit OpenGL ES zu tun haben...
 
Kaworu said:
Grundsatzdiskussionen zu Pascal und C gibt es eh mehr als zu genüge..
Warum du die Pointermethoden kritisierst will mir nicht einleuchten.. es gibt für jedes Problem
eine einfache Lösung.. ich finds super mit Pointern unter Delphi zu arbeiten ^^
Naja, wie gesagt es ist alles gut bis man etwas tiefer gräbt.
Mein Problem ist, wenn ich eine Variable newObject vom Typ TClass hab, dann ist das für mich ein Objekt, allerdings muss ich es mit Pointer-Syntax initialisieren: newObject := TClass.Create; (ein wahres Objekt wäre schon initialisiert).
Das mein ich mit "versteckter" Pointer-Syntax, da es erstmal so aussieht als hätte man ein Objekt, man hat aber eigentlich einen Pointer. Wenn man das ganze dann noch mit der "richtigen" Pointer-Syntax ^,@, etc. kombiniert wirds irgendwann haarig. Für Einsteiger ist das super einfach, wenn man sich einmal gewöhnt hat (man hat nix mit der "richtigen" Pointer-Programmierung zu tun, welche meist schwieriger und fehleranfälliger ist), aber vor allem für Leute die von oder auf C++ umsteigen ist das, gelinde ausgedrückt, seltsam.
Ist meine Meinung, magst du anders sehen ;), deswegen brauch man das auch nicht unbedingt in diesem Thread diskutieren ;)

@xyta: Ich hab meine Pandora leider noch nicht bekommen, das dauert wohl noch was (Ende Batch 1), ich kenn aber Leute die für mich, meine Programme auf einer Pandora testen können :-3 (cross-compiler hab ich glücklicherweise schon eingerichtet)
Daher hab ich mich jetzt selber aber auch noch nicht mit Lazarus (bin Windows user und kein großer Linux-Fan), werd ich dann vor und nach Ankunft der Pandora machen.
Auf die Tutorials müsst ihr dann so lange leider noch warten.

An einer IDE mit einfachem Set-up und Cross-Compiler wäre ich auch sehr interessiert, das ist auch etwas was auf gp32x.com für C++ gerade gebastelt wird - super für Einsteiger und Faule. ;)

OpenGL ES hat schon so manchen Strich durch die Rechnung gemacht... aber es bleibt ja immer noch SDL, welches für den 2D-Einsatz vollkommen ausreichen sollte.
Mich würde mal die Performance von SDL, bzw OpenGL unter Pascal interessieren, sonst sollte da zu C++ (außer der Syntax) ja kaum Unterscheid sein, sind schliesslich die gleichen Funtionen.

BTW, bestände Interesse an kommentierten Utility-Units für Delphi/Pascal?. Ich hab ein paar mit Funktionen, die sich über die Jahre angesammelt haben, u.A. eine Punkt-Klasse, welche die Standard TPoint Klasse ersetzt und mit Operatoren erweitert (man kann ja von Haus aus keine zwei TPoint addieren). Ist sicherlich ganz nützlich für Spiele, zwar schnell selber gemacht, aber viel doofe Schreib-Arbeit (ist aber evtl schon bei FreePascal dabei...).
Ich würde die dann bei Interesse etwas reinigen und iwo hochladen, die meisten Funktionen sollten sowohl mit Delphi als auch mit Pascal funktionieren (müssten evtl für FreePascal angepasst werden).

foxblock out
 
Wenn hier schon mal die Freepascaller zusammen sind:

Ich habe vor, unser Projekt "gwX" (http://goldenwipf.de) auch für die Pandora zu portieren. Da ich aber keine Pandora habe und auch noch keine bestellt habe, wäre es cool, wenn wir noch einen Pandora-Experten in FPC-Sachen ins Team aufnehmen könnten.

Freu mich schon auf Rückmeldungen :)
 
Back
Top