[OS] Lazarus, Delphi unter Linux & Windows
lima-city → Forum → Programmiersprachen → Delphi & Pascal
code
compiler
frage
http
kollege
kreuzung
laufen
machen
operativen teil
parallel port
plattform
programm
programmiersprache
raten
sagen
spiel
verarbeitung
verwenden
windows
zugriff
-
In der Schule habe ich Pascal mehr für einen Scherz, als für eine
\"echte\" Programmiersprache gehalten. Mehr eine kreuzung aus Basic und C, aber als ich Lazarus gefunden habe (und unter Linux gleich zu laufen gebracht) war ich erstaunt, wie einfach man damit Programmieren kann.
Code-Vervollständigung und das Vorschlagen von Eigenschaften ist schon integriert. Einzig das die Linux \"bin\" 14MB gross ist, verwundert bei einem \"Hello World\" Programm, aber es läuft *freu*
Das tolle scheint zu sein, dass der Code für Linux und Windows ziemlich Identisch ist. Diesen Vorteil hat man bei .NET / Mono nicht, wie ich gemerkt habe. Daher meine Frage:
Programmiert hier wer mit der Sprache und kann mir darüber noch irgendwas sagen bzw. Tipps geben, Tuts oder sonstigen Kram?
Ich denke, dass sie für Einsteiger ganz gut geeignet ist, wenn man vorher halt schon etwas mit Pascal gespielt hat ;)
MfG
ErasmuZ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also: Lazarus ist eigentlich nur die IDE, die auf den FreePascal-Compiler aufsetzt. Das Ziel von FreePascal (und somit auch Lazarus) ist es meines Wissens, so weit wie möglich Sourcecode-kompatibel zu Delphi zu sein.
Da es FreePascal für mehrere Plattformen gibt, ist es recht leicht, selbst plattformübergreifende Programme zu schreiben: Du mußt nur strikt trennen, welche Teile deines Codes platformabhängig, und welche unabhängig sind. Mit den entsprechenden Compiler-Switches kannst du dann den Code \"entkoppeln\". Das Dateihandling beispielsweise wäre pf-abhängig, die Verarbeitung der Datei (Werte einlesen, damit rechnen, ...) pf-unabhängig.
Du hast dann also keinen Managed Code wie bei .NET (und/oder Mono), sondern echte Binaries. Du kannst also im Optimalfall den Code unter Windows öffnen und zu einer EXE kompilieren, und den selben, unveränderten Source unter Linux öffnen und zu einer .bin kompilieren!!
hth -
Ich hab damals nur schlechte erfahrungen mit Lazarus gemacht. Gut damals hatte ich noch Windoofs aber trotzdem. So gut wie sämtliche Delphi-libs haben nicht funktioniert und ich konnte nicht einmal farbige bilder einfügen :). Hab damals also schnell zum \"richtigen\" Delphi gewechselt.
Wenn ich fragen hatte konnte ich mich immer an folgende 3 Adressen wenden:
1. Burgi
2. http://www.delphipraxis.net/
3. http://www.delphi-treff.de/
Da ich ein Bücherfan bin hatte ich mir auch das Buch \"Jetzt lerne ich Delphi\" gekauft ( http://www.amazon.de/Jetzt-lerne-Delphi-Thomas-Binzinger/dp/3827267633 )
welches ich aber nicht weiterempfehlen würde. Ich glaube das \"Delphi-Kochbuch\" ist besser.
MfG Ketchup
Beitrag geändert: 29.5.2008 12:38:26 von ketchupfleck -
Ich habe vor ein paar Jahren eine Zeit lang Delphi programmiert und ab und an schreibe ich ein kleines Tool für die Firma bei der ich arbeite, aber nichts weltbewegendes. Ich mag Lazarus überhaupt nicht, ich hatte es einmal unter OS X per X11 laufen, aber die Komponenten liefen eher schlecht als recht. Ein Kollege hat Delphi (weiß nicht welche Version) mal auf Debian per Wine zum laufen gebracht. Der Weg zur Platformunabhängigkeit ist meiner Meinung nach immer noch Java und nicht Lazarus, da es wie Burgi schon sagte FreePascal zum kompilieren verwendet und dieses (noch) nicht 100%ig vollwertig ist.
http://dsdt.info hat mir damals beim lernen von Pascal geholfen. -
Scheint wirklich etwas zusammen-gefrickelt zu sein, wenn man mal so versucht was damit zu machen.
Für einfache Anwendungen ist es aber recht praktisch, da es auf jedem Windows ohne jegliche Runtimes oder sonstwas läuft. Selbiges gilt für Linux.
Da braucht man kein .Net-Framework, VB Runtimes oder WXGTK oder Mono...
Insofern praktisch, nur leider ist die Harware-Zugriffs-Seite sehr beschränkt. Es fängt schon mit dem Zugriff auf den Parallel-Port an :(
Folglich eignet es sich wohl nur für Programme, die vielleicht was Ausrechnen oder kleine Klick oder Rate-Spiele...
Aber eben diese Unabhängigkeit zu Frameworks und Librarys macht es, wie ich finde, recht interessant für kleine Dinge ;) -
Insofern praktisch, nur leider ist die Harware-Zugriffs-Seite sehr beschränkt. Es fängt schon mit dem Zugriff auf den Parallel-Port an :(
Folglich eignet es sich wohl nur für Programme, die vielleicht was Ausrechnen oder kleine Klick oder Rate-Spiele...
Aber eben diese Unabhängigkeit zu Frameworks und Librarys macht es, wie ich finde, recht interessant für kleine Dinge ;)
Das ist genau das, was ich versucht habe zu erklären. Du könntest den \"operativen\" Teil für sämtliche Plattformen verwenden, den Rest könntest du über Compiler-Switches dann lösen. Dort könntest du dann den Zugriff auf den Hardware-Abtraction-Layer von Windows über die dazugehörige API angehen, bzw. weiß ich es nicht, wie das dann unter Linux funktioniert. Wird es aber sicherlich entsprechende Units dazu geben, die den Zugriff auf die API von Linux erlauben.
Ich werd\' mich aber sicherlich mal in nächster Zeit (im Winter?? ) damit beschäftigen, horcht sich alles recht interessant an! -
Du hast schon recht, aber die compilierten Programme laufen ja auch auf einer Runtime. Unter Unix läuft Lazarus ja auch nur unter X11 oder etwas ähnlichem und folgend die Programme, die man damit erstellt. Ohne ein Framework, das dahinter steht, wird man niemals seine Programme für alle gängigen Betriebssysteme compilieren können ohne dass man es umschreiben muss. Jedes OS hat eigene APIs, daher wird man diese immer emulieren müssen oder auf eine selbständige runtime zurückgreifen müssen, die es für möglichst viele Platformen gibt (Bsp. JVM). Darum finde ich Java dafür geschickt, da laufen die Programme (ohne besondere Systemzugriffe) eigentlich überall. Es hat zwar den Nachteil, dass die JVM erst den Code zur Laufzeit ausführen muss, aber Emulatoren sind auch nicht gerade das Schnellste. Ich habe einmal versucht, ein Delphi-Projekt in Lazarus für andere OS zu compilieren, hat aber auch nur mit lästigem umschreiben geklappt. Ich denke, es müsste reichen, wenn man sich auf seine Zielgruppe bezieht und da ist eben Windows immer noch am weitesten verbreitet. Ansonsten muss der Anwender eben einen Emulator verwenden.
-
Gab es nicht auch ein kommerzielles \"Linuxdelphi\" direkt von Borland? Das Lazarus nicht das Allerbeste ist haben wir ja nun festgestellt aber vllt. hat ja jemand Erfahrungen mit dem kommerziellen Compiler gemacht.
By the way: Java ist nicht die einzige plattformunabhängige, mächtige Programmiersprache ;) -
Du meinst sicher Kylix. Noch nichts damit gemacht, aber ich denke, mann muss schon einiges Umschreiben, vor allem auf die Units (Systemunits) bezogen, da Linux ja andere API-Funktionen bereitstellt als Windows. Zudem wird das (so weit ich informiert bin) nicht mehr weiter entwickelt.
ketchupfleck schrieb:
By the way: Java ist nicht die einzige plattformunabhängige, mächtige Programmiersprache ;)
Deshalb sage ich ja auch immer \"zum Beispiel Java\" ;)
Beitrag geändert: 29.5.2008 14:57:58 von trueweb -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage