Haltet ihr Pascal für eine sterbende Sprache?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
marcov
Beiträge: 1103
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von marcov »

Warf hat geschrieben:
Mathias hat geschrieben:Das finde ich auch Müll, ich binde nur etwas fremdes ein, wen es anders nicht geht. Was ich bei NET noch störend finde, ist die Nachinstalliererrei, wen ein kleines Tool NET braucht.
Und wie im Linux/Win Thread schon geschrieben, geht nicht ein einfaches "apt-get install NET".
Also auf Windows muss man .Net (zumindest 3.5) nicht nachinstallieren,
Auf Windows 8+ muss man .NET 3.5 nachinstallieren weil es mit .NET 4 kommt. Das kann einfach ueber Internet, und auch mit der CD, aber das letzte ist nicht sehr Durchsichtig und muss man sehr exakt Vorbereiten (mit Notizen), und nicht, wie uns, das erst im Feld herausfinden :cry:

Devstructor
Beiträge: 32
Registriert: Mi 7. Sep 2016, 18:27
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von Devstructor »

Warf hat geschrieben:Ich denke ich werde mich mal eingehend mit allen Debugger Features auseinandersetzen und dann eventuell hier ein Tutorial dazu schreiben, da ich glaube viele Anfänger wissen nicht wie man richtig debuggt. (Außerdem bin ich aktuell sehr von den Debuggerfeatures überrascht, ich finde grade viele neue die ich vorher noch nicht kannte/vermisst habe, ich hätte mir das Fenster überwachte ausdrücke Früher mal anschauen sollen :D
Zum Thema Debugging habe ich gerade eine Tutorial veröffentlicht. Ich hoffe, dass es hilft https://www.devstructor.com/index.php?page=19948

LG
Miguel :)
www.devstructor.com Devstructor.com - Lazarus Tutorials and more

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von itjump »

Also ich habe gerade in C# ein Programm geschrieben, das einen Thread erfordert. Von diesem Thread aus muss ich dann auf die GUI zugreifen, was als Unsicher gilt. Um das ganze sicher zu machen, brauche ich eine "delegate" Funktion, und das für jedes einzelne Element, auf das ich aus dem Thread heraus zugreife und das auch noch mehrfach, weil ich an unterschiedlichen Stellen im Code unterschiedliche Dinge machen will. Das ist sehr komplex, das geht in Pascal deutlich einfacher, mit dem Verweiß auf die Form

mschnell
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: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von mschnell »

??? In Delphi / Lazarus kannst Du aus einem Thread auch nur etwas auf die GUI schreiben, indem Du TTHread.Synchronize oder TThread.Queue benutzt. ???
-Michael

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von itjump »

mschnell hat geschrieben:??? In Delphi / Lazarus kannst Du aus einem Thread auch nur etwas auf die GUI schreiben, indem Du TTHread.Synchronize oder TThread.Queue benutzt. ???
-Michael
Es ging in Lazarus auch so. Der Compiler hat nur einige Fehlermeldungen geworfen, die ich aber ignoriert habe. Bei C# ist das ganze um einiges Komplexer, allerdings nutze ich momentan C#, da ich es für ein Schulprojekt nutzen muss. Allerdings muss ich sagen, das ich wenig mit GUI mache, mir in diesem Bezug aber Lazarus deutlich mehr gibt, als C#

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von Michl »

itjump hat geschrieben:Es ging in Lazarus auch so
Da wäre ich ganz vorsichtig. Das kann in 1000000 Fällen funktionieren und in einem nicht. So einen Bug später wieder zu finden, kann einem den letzten Nerv rauben (ich bin gebrandmarkt). Wenn man mit Threads arbeitet, sollte man wissen, wo Zugriffe z.B. mit Critical Sections geschützt oder Synchronize verwendet werden sollte (http://wiki.lazarus.freepascal.org/Mult ... n_Tutorial).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von itjump »

Michl hat geschrieben:
itjump hat geschrieben:Es ging in Lazarus auch so
Da wäre ich ganz vorsichtig. Das kann in 1000000 Fällen funktionieren und in einem nicht. So einen Bug später wieder zu finden, kann einem den letzten Nerv rauben (ich bin gebrandmarkt). Wenn man mit Threads arbeitet, sollte man wissen, wo Zugriffe z.B. mit Critical Sections geschützt oder Synchronize verwendet werden sollte (http://wiki.lazarus.freepascal.org/Mult ... n_Tutorial).
Ja, diese Erfahrung musste ich auch machen. Schon allein das schließen des Programms muss berücksichtigt werden, da ansonsten evtl. der Kind-Thread nicht richtig mit beendet wird. Da ist der Debugger von Visual Studio halt sehr konsequent und unterbricht dann das Programm einfach. Fakt ist, Threads sind ein Thema für sich, das nicht sehr einfach ist, allerdings möchte ich auch keinen Freeze meines Programms, nur weil das Programm am Arbeiten ist.
Übrigens, sterben wird Pascal wohl nie vollständig, genauso wenig wie C/C++. C# setzt ja auch an die Konzepte von Pascal recht gut an, was für mich als C-Programmierer teils echt nervig werden kann, wenn mir Dinge verboten werden, die ich in C einfach mache.

KenntKeinSchwein AG
Beiträge: 26
Registriert: So 4. Dez 2016, 13:35

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von KenntKeinSchwein AG »

itjump hat geschrieben:C# setzt ja auch an die Konzepte von Pascal recht gut an, was für mich als C-Programmierer teils echt nervig werden kann, wenn mir Dinge verboten werden, die ich in C einfach mache.
Was wird dir denn unter Pascal oder C# im Gegensatz zu C "verboten"?

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von itjump »

KenntKeinSchwein AG hat geschrieben:
itjump hat geschrieben:C# setzt ja auch an die Konzepte von Pascal recht gut an, was für mich als C-Programmierer teils echt nervig werden kann, wenn mir Dinge verboten werden, die ich in C einfach mache.
Was wird dir denn unter Pascal oder C# im Gegensatz zu C "verboten"?
Schaue es dir im Internet an, sonst müsste ich jetzt ein halbes Buch schreiben. Ein Beispiel wäre die Typsicherheit.

KenntKeinSchwein AG
Beiträge: 26
Registriert: So 4. Dez 2016, 13:35

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von KenntKeinSchwein AG »

itjump hat geschrieben:Schaue es dir im Internet an, sonst müsste ich jetzt ein halbes Buch schreiben. Ein Beispiel wäre die Typsicherheit.
Wenn du Quellen angibst gerne, außerdem ist Pascal extrem Typsicher was auch gut so ist.

itjump
Beiträge: 179
Registriert: Do 13. Okt 2016, 18:35
Wohnort: Winnenden

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von itjump »

KenntKeinSchwein AG hat geschrieben:
itjump hat geschrieben:Schaue es dir im Internet an, sonst müsste ich jetzt ein halbes Buch schreiben. Ein Beispiel wäre die Typsicherheit.
Wenn du Quellen angibst gerne, außerdem ist Pascal extrem Typsicher was auch gut so ist.
Die Typsicherheit von Pascal und C# streite ich nicht ab, jedoch ist die Freiheit von C/C++ diesbezüglich einfach perfekt für mich.
Der Compiler von C spuckt meist sehr wenige Fehlermeldungen und Warnungen aus, was ich persönlich als Vorteil sehe, denn das ist Freiheit. Allerdings sehe ich auch, das nicht alle Fehler im Code so schnell sehen, wie ich es teilweise schaffe. Selbst mein damals bester Freund hatte Probleme, Fehler im Code schnell zu finden, was allerdings nicht schlimm ist, da ich keinen Programmierer kenne, der das so schnell kann wie ich. Das liegt vermutlich an meinem Autismus, der dafür sorgt, das ich mich an kleinen Fehlern viel schneller störe, was wohl auch ein Grund dafür ist, das Autisten in der IT gern genommen werden, weil diese Menschen wohl am besten in der Fehlersuche sind, wenn Sie denn die entsprechenden Fähigkeiten gelehrt bekommen. Ich kann jetzt leider auch nur sagen, das ich persönlich C lieber mag (Ein Produkt meines Autismus, weil ich an Ritualen festhalte?) und mir jedes Sprachkonzept außer dem von C zuwider ist. Ich fühle mich nicht frei das zu tun was ich möchte, das ist bei Pascal und C# sehr schlimm, allerdings Programmiere ich dennoch in diesen Sprachen um meinen Horizont zu erweitern.
Dies alles ist natürlich sehr Subjektiv, es gibt allerdings Punkte, die in C erlaubt sind, die in Pascal verboten sind, was aber auch eine stärke für Pascal ist, da leichter nachvollziehbar. Ich habe das bei meinem ehemals besten Freund feststellen müssen, der konnte Pascal und hat die Ansätze von C/C++ nicht begreifen können, vermutlich weil diese wesentlich schwerer zu verstehen sind als die Ansätze für Pascal. Er war jetzt kein schlechter Programmierer, zumindest in Pascal kam schon einiges an guten Sachen, aber diesen Übergang zu C hat er halt leider nicht geschafft. Aus dieser Erfahrung schließe ich, das Pascal perfekt für Anfänger und/oder Menschen ist, die nur in ihrer Freizeit Programmieren, was auf jeden Fall heißt, das ich Pascal (Lazarus IDE) jedem nahe lege, der diese Anforderungen erfüllt.

KenntKeinSchwein AG
Beiträge: 26
Registriert: So 4. Dez 2016, 13:35

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von KenntKeinSchwein AG »

Ich z.B. finde Pascal eben aufgrund der strengen Art sehr gut. Und ja, Pascal ist auch perfekt für Einsteiger und Hobby-Entwickler. Aber eben auch im professionellen Bereich vertreten und geeignet.

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

Für mich ein Grund mehr, bewährte und gut programmierte Gratissoftware zu verwenden, wie z. B. die FPC-Lazarus-Kombo. Wenn ich keinen Service (oder schlimmer: Schadenersatz) krieg' für sehr viel Geld, ist es ökonomischer, keinen Service (oder schlimmer: Schadenersatz) um gar kein Geld zu kriegen. Und wenn teure Softwarebuden auf die Gratispatches verweisen: Tja, die krieg ich mit OOS auch, und zum selben Zeitpunkt: irgendwann. Also ...

Wie auch immer, Pascal hat für mich persönlich mehrere Vorteile, die es von solchen Dingern wie Zeh oder Java absetzen:

Pascal
Schneller Compiler. Pascal ist als Sprache für Einpass-Kompiler konzipiert: Einmal durch den Code und nicht zwei oder gar drei mal.
Schnelles Kompilat: Die Eigenschaft teilt es sich mit C, nicht aber mit Java, das in einen zu interpretierenden Bytecode übersetzt wird, was zur Laufzeoit geschieht und daher die Ausführung verlangsamt.
Man schreibt zwar viel Quellcode (lange Schlüsselwörter), aber dafür weiß auch der menschliche Leser, dass es sich beim Abschnitt nacj procedure um ein Unterprogramm ohne Rückgabe handelt. Darüber hinaus stehen in der Pascal-Syntax ja derartig essentielle Informationen dort, wo sie hin gehören: am Anfang. Bei C und Consorten (indonesische Inseln eingeschlossen) weiß der Compiler sehr oft erst beim 3. Syntaxelement, worum es sich handelt: int Foo sagt nichts darüber aus, ob es sich um eine Funktion oder eine Variable handelt, das sagt uns erst das ( oder das ; das zu folgen hat. Darüber hinaus erspart man sich ziemlich viele Kommentare, speziell, wenn man die Bezeichner gut gewählt hat. So etwas wie for Index := 0 to High( Zahlenfeld) do WriteLn( Zahlenfeld[ Index]); kommentiert sich fast selbst, und das ist die Ur-Pascal-Variante. (Eine modernere ist for Zahl in Zahlenfeld do WriteLn( Zahl), was der Intention des Heiligen Niklas sogar noch besser entspricht :) Da tut sich C sehr viel schwerer. (Aufgabe: das in C formulieren). Kurz gesagt: Obfuscated C ist keine Challenge, Obfuscated Pascal aber sehr wohl ;)

Lazarus
Schnell, bequem, einigermaßen übersichtlich und einsteigerfreundlich, und dank des verwendeten FPC ziemlich plattformübergreifend. was will man mehr?

Natürlich haben Firmen wie Sun kein Interesse daran, dass sich freie, besser funktionierende und eben auch platformübergreifende Softwareentwicklungsssyteme gegen ihren insulär benannten Brechdurchfall durchsetzen, deswegen wird da sicher auch kräftigst die Webetrommeln an den Unis gerührt, speziell bei den Professoren, die dann nun einmal Java verwenden, ihren Studenten die Verwendung vorschreiben, und weil die das dann können (und idealerweise nix anderes!) das in den Firmen einführen, die sich für die Lizenzen ausbrennen. So kann man Geld machen, aber fein ist das nicht.

C hat seine Meriten. Durch die inheränte Hardwarenähe ist es sicher besser für Treiber und Betriebssystme geeignet als Pascal. Es ist kein Wunder, dass für Linux C und ähnliches verwendet wurde und daher ein C-Compiler immer beiliegt. Aber große GUI-gestützte Anwendungen würde ich damit nicht programmieren. Das kann Pascal viel, viel besser, speziell, wenn man mit Lazarus als IDE arbeitet.

Antwort zum Topic
Nein. Es ist ein Nischenprodukt, das dieses Dasein nicht verdient hat, und die Sprache lebt wegen der oben beschriebenen Eigenschaft. Die Symbiose von FPC und Lazarus als Reprogammierung von Delphi (ursprünglich) hat da sicher geholfen, den Sprung in andere ÖkoBetriebssystem zu machen. Wir sollten die Werbetrommel rühren, und die Portabilität ist sicher ein Argument. Was helfen würde wäre, Smaprtphones als Zielplattformen einzuschließen.

(NB.: Die größte Softwarfirma der Welt, höre ich immer wieder, macht Werbung für Linux mittels der Qualität ihrer eigenen Produkte ... nu, das könnte man auch als Argument nehmen: Windoof gestorben? Einfach auf IrgendLinux 4.2 neu komilieren und fertig!)
Ceterum censeo computatores per Pascal docendos esse.

diogenes
Beiträge: 200
Registriert: So 11. Jul 2010, 18:39
OS, Lazarus, FPC: Linux
CPU-Target: 64 Bit
Wohnort: Wien
Kontaktdaten:

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von diogenes »

KenntKeinSchwein AG hat geschrieben:Ich z.B. finde Pascal eben aufgrund der strengen Art sehr gut. Und ja, Pascal ist auch perfekt für Einsteiger und Hobby-Entwickler. Aber eben auch im professionellen Bereich vertreten und geeignet.
Ja, ja, diese strenge Art ... C stammt von zwei Programmierern und ist das, was Programmierer wollen. Pascal stammt von einem Infomatiklehrer und ist das, was Programmierer brauchen ;)
Zuletzt geändert von diogenes am Sa 10. Dez 2016, 17:45, insgesamt 1-mal geändert.
Ceterum censeo computatores per Pascal docendos esse.

marcov
Beiträge: 1103
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Haltet ihr Pascal für eine sterbende Sprache?

Beitrag von marcov »

diogenes hat geschrieben:
KenntKeinSchwein AG hat geschrieben:Ich z.B. finde Pascal eben aufgrund der strengen Art sehr gut. Und ja, Pascal ist auch perfekt für Einsteiger und Hobby-Entwickler. Aber eben auch im professionellen Bereich vertreten und geeignet.
Ja, ja, diese strenge Art ... C stammt von zwei Programmierern und ist das, was Programmierer wollen.
Nein, nur wo sie in 1970 genügend Speicher für hatten. Und C's Popularität hat kaum etwas mit Spracheigenschaften zu machen. Meistens ist weil es, dank Unix in Operating systems die Standardwahl ist, und die Vielfalt an Compiler die dadurch entstehen ist.

Natürlich machen eine menge C Programmer sich selber glauben das es der bester Sprache ist, keiner will ja ein Konformist sein, und jeder sieht sich gern als ein Kodekünstler.

Antworten