Warum Pascal?
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Warum Pascal?
Da wollte ich doch auch eine sinnvolle "Verteidigung" der Pascal'schen Sprache vorbringen, aber irgendwie gibts alle meine Argumente schon in den Beiträgen meiner Vorredner/Vorposter.
Also: Übersichtlich, kompiliert schnell wegen ppu usw und besitzt viel deskriptivere Fehlermeldungen als andere Compiler.
Stimme ich vollkommen zu.
MFG
Komoluna
Also: Übersichtlich, kompiliert schnell wegen ppu usw und besitzt viel deskriptivere Fehlermeldungen als andere Compiler.
Stimme ich vollkommen zu.
MFG
Komoluna
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Warum Pascal?
Nö. Eine Variante von FPC kann Java-Byte-Code / Dalvic-Word-Code erzeugen, der dann Prozessor-unabhängig auf Android läuft.Mathias hat geschrieben:Nur ist man bei Android auf diesen Schrott angewiesen.
(Hab ich noch nicht ausprobiert.)
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Warum Lazarus ?
Um die originale Frage "Warum Pascal?" zuerweitern:
Lazarus und Delphi bedeuten ja nicht nur "Pascal", sondern
- Objekt-Orientiertes Programmieren
- Event-Orientiertes Programmieren
- RAD
Und bei Lazarus:
- Architektur-Unabhängigkeit
- Plattform-Unabhängigkeit
Diese Punkte sollten in diesem Zusammenhang vielleicht auch diskutiert werden
Objekt-Orientiertes Programmieren:
Das ist für nicht ganz kleine Programmteile unumgänglich, um dicht die Übersicht zu verlieren Macht C++ auch gut. Pascal hat kann keine multiple Inheritance, was manchmal bemängelt wird, aber multiple Inheritance führt auch leicht zu Verwirrung.
Event-Orientiertes Programmieren:
(aller UserCode wird in "Events") ausgeführt, die von der Infrastruktur zu den passenden Zeitpunkten aufgerufen)
Hierdurch ist in vielen Fällen eine Thread-Programmierung nicht notwendig, was die Übersichtlichkeit sehr steigert. Wenn man aber Threads braucht (z.B. in high-performance Anwendungen) ist manchmal im Weg, dass man im Mainthread anders (eben Event-Orientiert) arbeiten muss als in de n"Worker-Threads .
Lazarus und Delphi sind in dieser Kategorie vermutlich unschlagbar. Ich glaube, ADA bietet da auch etwas.
RAD:
("Rapid Application Development": Mischen der "Business-Logic" Codes mit Code, der zum User-Interface gehört)
Das ist zwar zum Programm-Erstellen und Debuggen toll, aber nicht wirklich "professionell" und führt leicht zu Problemen, wenn die Projekte wachsen und - vor allem - sich in verschiedene Variante weiterentwickeln. Heute ist RAD nicht mehr besonders angesagt und die meisten Systeme favorisieren anders Arbeiten .
Architektur (CPU) - Unabhängigkeit:
Gut bei Lazarus, Schlecht bei Delphi, optimal bei C und allen Sprachen, die auf "Engines" laufen (C#, Java, Python, PHP, ...)
Plattform (OS) - Unabhängigkeit
Gut bei Lazarus, Schlecht bei Delphi, optimal bei C und allen Sprachen, die auf "Engines" laufen (C#, Java, Python, PHP, ...)
-Michael
Lazarus und Delphi bedeuten ja nicht nur "Pascal", sondern
- Objekt-Orientiertes Programmieren
- Event-Orientiertes Programmieren
- RAD
Und bei Lazarus:
- Architektur-Unabhängigkeit
- Plattform-Unabhängigkeit
Diese Punkte sollten in diesem Zusammenhang vielleicht auch diskutiert werden
Objekt-Orientiertes Programmieren:
Das ist für nicht ganz kleine Programmteile unumgänglich, um dicht die Übersicht zu verlieren Macht C++ auch gut. Pascal hat kann keine multiple Inheritance, was manchmal bemängelt wird, aber multiple Inheritance führt auch leicht zu Verwirrung.
Event-Orientiertes Programmieren:
(aller UserCode wird in "Events") ausgeführt, die von der Infrastruktur zu den passenden Zeitpunkten aufgerufen)
Hierdurch ist in vielen Fällen eine Thread-Programmierung nicht notwendig, was die Übersichtlichkeit sehr steigert. Wenn man aber Threads braucht (z.B. in high-performance Anwendungen) ist manchmal im Weg, dass man im Mainthread anders (eben Event-Orientiert) arbeiten muss als in de n"Worker-Threads .
Lazarus und Delphi sind in dieser Kategorie vermutlich unschlagbar. Ich glaube, ADA bietet da auch etwas.
RAD:
("Rapid Application Development": Mischen der "Business-Logic" Codes mit Code, der zum User-Interface gehört)
Das ist zwar zum Programm-Erstellen und Debuggen toll, aber nicht wirklich "professionell" und führt leicht zu Problemen, wenn die Projekte wachsen und - vor allem - sich in verschiedene Variante weiterentwickeln. Heute ist RAD nicht mehr besonders angesagt und die meisten Systeme favorisieren anders Arbeiten .
Architektur (CPU) - Unabhängigkeit:
Gut bei Lazarus, Schlecht bei Delphi, optimal bei C und allen Sprachen, die auf "Engines" laufen (C#, Java, Python, PHP, ...)
Plattform (OS) - Unabhängigkeit
Gut bei Lazarus, Schlecht bei Delphi, optimal bei C und allen Sprachen, die auf "Engines" laufen (C#, Java, Python, PHP, ...)
-Michael
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Warum Lazarus ?
Man kann sehr wohl auch mit RAD perfekt User-Interface und Programm-Logik trennen. Stichworte dazu sind z.B. TDataModule und die DB- und In-Prozess MSEifi Komponenten von MSEide+MSEgui.mschnell hat geschrieben: RAD:
("Rapid Application Development": Mischen der "Business-Logic" Codes mit Code, der zum User-Interface gehört)
Das ist zwar zum Programm-Erstellen und Debuggen toll, aber nicht wirklich "professionell" und führt leicht zu Problemen, wenn die Projekte wachsen und - vor allem - sich in verschiedene Variante weiterentwickeln. Heute ist RAD nicht mehr besonders angesagt und die meisten Systeme favorisieren anders Arbeiten .
-
- Beiträge: 6915
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Warum Pascal?
Dann sieht es für fpc/Lazarus recht gut aus, da wird momentan immer weiter entwickelt.Was sich nicht weiterentwickelt ist recht schnell Schrott von Gestern, es sei denn es ist schon Vollkommen...
Ich bin kein Freund von Java, aber an diesem Punkt muss ich es trotzdem loben, wenn man mit Eclipse ein Java-Programm schreibt, dann wird währen des Schreibens in der IDE schon angezeigt, wen man einen Syntax-Fehler macht.In der heutigen Zeit braucht man Sprachen, die aufgrund ihrer Struktur und Syntax und mit Hilfe vom Compiler, der während der Kompilierung einige Tests macht,
Wer weiss, vielleicht wird eines Tages, die Lazarus auch können.

Da bin ich auch gespannt.Bin mal gespannt wie sich die Sprache in 10 bis 20 Jahren verbreitet hat, falls das überhaupt passiert.
Wen man 20 Jahre zurück denkt, hat sich einiges positives, wie auch negatives getan.
Turbo-Pascal hat zB. mit Lazarus einen sehr guten Nachfolger bekommen.
C/C++, da hat sich irgendwie nicht viel bewegt.
Dafür ist etwas neues gekommen, Java, das nach meiner Meinung mit seinem Bit-Code wider zurück ins GW-BASIC Zeitalter gegangen ist.
Java und GW-BASIC ist in Grunde genau das gleiche, beide brauchen eine Laufzeitumgebung, das sie ihren Bit-Code interpretieren können und somit sehr viel CPU-Power verschwenden.
Das einzige, die IDE ist besser geworden.
Was die Android-Entwickler gedacht haben, das sie in ihren Geräten so eine Schrott verbauen, auf dem alles auf Java basierst.
Ich könnte mir vorstellen, das dies ARM-Geräte richtig schnell wären, wen sie nativen Code bekämen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Warum Lazarus ?
Man kann. Tut aber keiner beim Start der Arbeit an einem Projekt. Und später ist dann der Aufwand zu hoch.mse hat geschrieben:Man kann sehr wohl auch mit RAD perfekt User-Interface und Programm-Logik trennen.
Unser Lieblings-Themamse hat geschrieben:MSEifi Komponenten

Scheint in der Tat eine ideale Brücke zwischen "RAD" (in dem von mir verwendeten Sinn) und "professioneller" Projekt-Gestaltung zu sein.
Die Idee hat leider bei den Lazarus-Architekten keine Freunde

-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Warum Pascal?
Leider teilweise mit chaotischen Folgen (z.B. die Übernahme der denkbar schlechten Implementierung von (Uni-) code aware Strings us Delphi).Mathias hat geschrieben:Dann sieht es für fpc/Lazarus recht gut aus, da wird momentan immer weiter entwickelt.
-Michael
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Warum Pascal?
Was ich gut finde. C ist bestens geeignet für Projekte, bei denen man - aus welchen Gründen auch immer - sehr genau definieren will, was die Maschine nachher tun soll, aber auch nicht so genau, dass man alles in Assembler schreiben müsste. Und daran hat sich nicht viel geändert.Mathias hat geschrieben:C/C++, da hat sich irgendwie nicht viel bewegt.
Neben Java sind auch andere Framework-basierende Sprachen hochgekommen. Im Desktop-Bereich scheinen mir C# und Python ziemlich interessant (wobei - soweit ich weiß - Python sowohl voll (Text-) interpretativ ausgeführt werden kann, als auch das eigene und ebenfalls (als "IronPython" das C# (CIL) Framework benutzen kann und via CIL auch voll kompiliert werden kann). Soweit ich weiß wächst die Python Gemeinde kräftig. Mit "QPython" soll Python auch "mobil" auf Android zu benutzen sein.Mathias hat geschrieben:Dafür ist etwas neues gekommen...
Auch für "Rich Web Applications" scheint Python geeignet: -> http://www.lazarusforum.de/posting.php? ... 55&p=85726
Noch bin ich mit Delphi und Lazarus ganz glücklich (mit mse wäre ich vermutlich glücklicher nur leider zu faul zum Umstieg). Aber Python erscheint mir mittelfristig sehr interessant.
-Michael
-
- Beiträge: 56
- Registriert: So 24. Jan 2016, 18:31
- OS, Lazarus, FPC: Windows(10,8.1,7), Archlinux, Debian
- CPU-Target: 64Bit + 32Bit
- Wohnort: Winnenden
- Kontaktdaten:
Re: Warum Pascal?
Python ist halt mit einer C kombination sehr mächtig. Und mit TKinter hat man ein GUI Framework, das wirklich einfach zu händeln ist und das auch Plattform unabhängig ist. Das Merkwürdige ist nur, das Python nicht gerne von Leuten verwendet wird, die C mögen, das ja die Klammern fehlen. Die Klammern sind da aber nicht nötig, da man über Einrückungen arbeitet, was den Code sehr strukturiert werden lässt. Ich Persönlich habe noch nicht viel mit Python gemacht, aber die Syntax kann ich und ich nutze den Liveinterpreter manchmal als Taschenrechner oder zum Testen kleinerer Anwendungen. Der Vorteil gegenüber Java ist, das es halt die sauber Strukturierte Sprache ist und Sie ist schneller, vor allen wenn man die .py Datei in eine exe umwandelt, was natürlich nur unter Windows geht. Unter Linux und Unix ist Python sehr viel schneller, da es dort meist besser Implementiert worden ist. Außer bei Ubuntu und seinen Kindern, da läuft teils so einiges schief.
Wissen ist Macht und ich weis, das ich nichts weis
-
- Beiträge: 2119
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Warum Pascal?
Doch klar allein wenn man den Unterschied zwischen C++11 und C++98 ansieht, das sind mittlerweile zwei komplett verschiedene Sprachen.Mathias hat geschrieben:C/C++, da hat sich irgendwie nicht viel bewegt.
Pascal kann genausogut maschinennah arbeiten, der Hauptvorteil an C ist dass man relativ wenig code braucht, und der GCC einfach ziemlich gut optimiert.Was ich gut finde. C ist bestens geeignet für Projekte, bei denen man - aus welchen Gründen auch immer - sehr genau definieren will, was die Maschine nachher tun soll, aber auch nicht so genau, dass man alles in Assembler schreiben müsste. Und daran hat sich nicht viel geändert.
-
- Beiträge: 6915
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Warum Pascal?
Dann kann man genau so gut direkt in Java schreiben.mschnell hat geschrieben:Nö. Eine Variante von FPC kann Java-Byte-Code / Dalvic-Word-Code erzeugen, der dann Prozessor-unabhängig auf Android läuft.Mathias hat geschrieben:Nur ist man bei Android auf diesen Schrott angewiesen.
(Hab ich noch nicht ausprobiert.)
-Michael
Der Java-Byte-Code, ist welches der grösste Bremsklotz auf Android ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot