Diskussion:Pascal (Programmiersprache)
Füge neue Diskussionsthemen unten an:
Klicke auf , um ein neues Diskussionsthema zu beginnen.Fehler in der Seite
Bearbeiten(in C dagegen ist die Zuweisung möglich und das Ergebnis unvorhersehbar – bei den meisten Compilern wird abgerundet d. h. i=3)
das ist einfach falsch 7/2 = 3 in allen systemen und imho schon seit Anbeginn der rechnerzeit. Ich möchte das nicht ändern ohne 100% sicher zu sein, vll kann jemand einen compiler/system nennen wo das 4 gibt?
lesbarkeit
BearbeitenSomit erlaubt Pascal im Vergleich zu Sprachen wie C und Fortran eine gute Lesbarkeit
c und fortran erlauben sehr wohl gute lesbarkeit, der satz ist nicht im mindesten npov und imho totaler mist.
Es gibt keine Grundlage für die Behauptung "Der Satz an Kontrollstrukturen ist minimal.". Der minimale Satz an Kontrollstrukturen wäre ein "if" gefolgt von einem "goto", aber Pascal hat doch zahlreiche weitere Kontrollstrukturen. Mh 20:54, 22. Jun 2004 (CEST)
Vor einem "end" in pascal muss kein ";" stehen, daher habe ich diesen entfernt.DarkX2 9:43 1.Dezember 2004
Die erste Implementierung von Pascal fand auf der CDC Cyber 6000 der ETH Zürich statt - und nicht als UCSD-Pascal. Das kam später. m.W. wurde der erste Compiler versuchsweise in Fortran geschrieben - was aber mangels Erfolg eingestellt wurde. Erst eine Mini-Version in Assembler war dann erfolgreich, mit der konnte dann der erste Pascal Compiler in einem reduzierten Pascal geschrieben werden, der sich selbst übersetzen konnte. Auf http://www.moorecad.com/standardpascal/ansiiso.faq gibt´s mehr Information dazu.
Ich habe die Bemerkung, dass "in modernen IDEs ein READLN notwendig ist, damit man Output kriegt" wieder entfernt - mit dem Argument müsste man *JEDES* Hello-World Beispiel umschreiben. --Dr. Tux 21:25, 25. Jun 2005 (CEST)
Nun, wie man hier sieht gibt es zum Attribut gute (bzw. herausragende Lesbarkeit) auch subjektive Positionen fast selbstsprechend hier von einem der vermutlich "sein eigener Doktorvater ist". Jedenfalls wird in nahezu allen Lehrbüchern der Universitäten und Fachhochschulen beim Aufzeigen von Algorithmen eine Notation verwendet, die der Programmiersprache Pascal immens nahe steht. Was jetzt einzelne davon halten ist vielleicht nicht ganz so wichtig. Natürlich sind auch in anderen Sprachen Programme hoher Lesbarkeit möglich; in Pascal ist man aber zu dieser lesbaren Notation gezwungen, was schon eine charakterliche Eigenschaft von ihm ist.
Der Satz an Kontrollstrukturen ist übrigens minimal setzt man die Errungenschaften der "Strukturierten Programmierung" (das Schlagwort damals) voraus. Tut man dies nicht landet man bei Turing und Konstanten-, Projektions-, Entscheidungs- und Universalfunktion.
Dass vor einem end in Pascal kein ";" stehen muss, scheint manchen als große Errungenschaft zu erscheinen, aber ich denke, da es auch stehen darf, entspricht das mehr dem, was sozusagen hinter Pascal steckt. Könntet Ihr irgendwelche "tollen Entdeckungen" nicht aus diesem Artikel an irgendwelche anderen Orte verlagern??? --Thomas Stauß 17:02, 25. Okt. 2007 (CEST)
Das mit der sozialen Auswirkung (Lesbarkeit und so) ist ohne Quellenangabe wertlos. Ausserdem war Pascal bei weitem nicht die erste Sprache, die so eine Syntax verwendet hat.
Quellen für derart allgemeines zu finden dürfte nicht einfach sein, außer die Quelle der eigenen Erinnerung. Wie würdest denn Du das Schlagwort "Lesbarkeit" verdeutlichen? Welche Sprache verwendete denn nicht nur eine Pascal-ähnliche Syntax, sondern zwang den Benutzer zu ihr, welche erlaubte erstmal keine unstrukturierten Sprungbefehle mehr. Ich bin noch nicht so lange hier und habe den Eindruck, dass Dikussionen meist nur gelesen werden, wenn man wieder auf rückgängig klickt, also sei mir nicht böse. Hättest Du das hier auch gelesen, hätte ich rückgängig nicht gedrückt? --Thomas Stauß 10:43, 28. Okt. 2007 (CET)
Ja, hätte ich auch gelesen.
Tatsache ist: Das ist eine elektronische Enzyklopie, in der *NACHWEISBARE* Tatsachen enthalten sein sollen, wenn´s geht, mit Quellenangaben. Mir ist schon klar, dass das nicht immer durchzuhalten ist und auch nicht komplett für diesen Artikel gilt. Aber z.B. der Satz "Die Unersetzlichkeit der meisten Programmierer war damit zu Ende" ist vom Stil zu einer Enzyklopädie unpassend, pathetisch und nicht vernünftig belegbar. Warum nimmst Du den Absatz nicht weg und ersetzt ihn mit Hinweisen auf den Gebrauch Pascal-ähnlicher Syntax bei Algorithmen im universitären Bereich (hast Du ja in der Diskussion anklingen lassen)? *DAS* macht Sinn und ist ja relativ leicht mit Beispielen belegbar. --Dr. Tux 23:43, 28. Okt. 2007 (CET)
Ach ja, unstrukturierte Programmierung: ALGOL 68 hat die Blockstrukturen schon einiges früher eingeführt, und unstrukturierte Sprngbefehle, die hatte ja auch Pascal noch - man kam allerdings sehr gut ohne aus. --Dr. Tux 23:48, 28. Okt. 2007 (CET)
Lieber Dr. Tux, lassen wir mal "Struktur" beiseite. ALGOL 68, Dein Beispiel hat jeden Rückwartssprung einfach zugelassen. Pascal war die erste (Halb)-Programmiersprache (keine vollständige) , die Rückwärtsprünge nur an Schleifenanfänge zugelassen hat. "Unstrukturierte Sprungbefehle", was immer das genau sein mag, waren in Pascal zum erstenmal (nicht ganz, es gab Vorstufen unter N. Wirth) untersagt. In meinen Worten: es gab gar keine Sprungbefehle mehr. Es gab Prozedur und Funktionsaufrufe, dabei springt das Programm nur wenn Du (zu) tief reinsiehst. Und es gab div. Schleifenkonstrukte und Konditionalkonstrukte. Wo ich das Wort "springen" einfach auslassen würde aufgrund der Abstraktionsmöglichkeit,, die Pascal durchgängig erzwungen hat. --Thomas Stauß 11:00, 27. Aug. 2010 (CEST)
___________________________________________________________________________________________
Vorher kommt die "Annahme" dass Pascal-Programmierer Müslifresser sind ;-) ?
Kann man diesen Artikel read only setzen? Schön langsam ist eine Kindersperre notwendig ...
Nein, es würde mich wirklich gerne mal interessieren woher diese Behauptung mit den Müslifressern herrührt. Ich bin kein Programmierer aber interessiere mich sehr für diese Welt. Kommt es daher weil Niklaus Wirth aus der Schweiz kommt?
- Müslifresser? Kommt das in einer der vandalisierten Versionen vor? Wird wohl wie du vermutest eine "liebevolle" Umschreibung der Schweizer sein, da Nikolaus Wirth ja Schweizer ist und an der ETH Zürich Pascal entwickelt hat. Um es in einem Nebensatz erwähnt zu haben: ich hab beim letzten Revert vergessen, einen Kommentar dazu zu schreiben. Aber der nächste kommt bestimmt, da mach ich's dann dafür doppelt, versprochen. ;-) --Wirthi 23:03, 6. Dez 2005 (CET)
In einigen vandalisierten Versionen kam der Hinweis auf Ceralien verzehrende Programmierer. Das mag ein Verweis auf den schweizer Ursprung von Pascal sein, vielleicht kommt´s auch aus der Ecke "echte Programmierer ...", wo solche Dinge wie strong typing und run time checks als Weicheierein gelten. Whatever. Es nervt mich eher, dass irgendwelche Kids, die offensichtlich in irgend einer Schule (möglicherweise aufgrund massiven Unvermögens des Lehrenden) zum Pascalprogrammieren gezwungen werden, ihren Frust an diesem Artikel auslassen. Ich beobachte an die 50 Artikel, aber nur dieser hier wird mit einer derartigen Regelmässigkeit vandalisert. --Dr. Tux 23:47, 10. Dez 2005 (CET)
- Das mit den Müsli-Fressern (Quiche Eaters) geht auf den Text Real Programmers Don't Use Pascal (Übersetzung) von 1983 zurück. Der Text ist ironisch gemeint! --akf 13:11, 16. Apr 2006 (CEST)
- Nachtrag: Es handelt sich bei dem Text um eine Satire, die sich aber nicht etwa über Pascal lustig macht, sondern über die so genannten "echten Programmierer". Leider wird der Text aber auch immer wieder von nicht-Programmierern gelesen, welche das dann falsch verstehen. --akf 11:37, 19. Apr 2006 (CEST)
Mit Müslifressern sind Akademiker (bei denen damals eine gewisse stark alternative Lebensweise immer mehr Verbreitung fand) gemeint, was darauf anspielt, dass jegliche akademischen Errungenschaften zur Soft- und Hardwareerstellung von den Praktikern (und meist Autodidakten) stark angezweifelt wurden, bei Pascal wurde eben auch die geringere Verbindung des Programmierers mit seinem Quelltext, die Kollegen eine relativ schnelle Einarbeitung in den Algorithmus des Kreierenden ermöglichte, kritisiert, wenn auch eher "unter der Hand". Pascal kratzte ganz eindeutig am Thron eines manchen Entwicklers. Wie weitere Entwicklungen im späteren Software Engeneering auch.
--Thomas Stauß 17:02, 25. Okt. 2007 (CEST)
________________________________________________________________________
Ich bin mit dem Pascal Standard nicht vertraut, aber kommen Strings überhaupt darin vor, oder ist das nicht nur eine "Erfindung" von Turbo Pascal a.k.a Delphi? --Dr. Tux 11:23, 19. Dez 2005 (CET)
- Kenne auch nur Turbo Pascal und Delphi, aber irgendeine Möglichkeit zur Repräsentation von Zeichenketten sollte es in jeder Programmiersprache geben. Da die TP-Implementierung sowieso denkbar einfach ist (char-array mit bis zu 256 zeichen, wovon in der ersten aber die Länge der Zeichenkette gespeichert ist, daher 255 nutzbare Zeichen; keine Null-Terminierung) glaub ich fast dass es das auch in Standard-Pascal gibt. Wie könnte man In-/Output-Funktionen sonst Zeichenketten übergeben können? --Wirthi 11:45, 19. Dez 2005 (CET)
- Pascal hatte in seiner ursprünglichen Implementierung und Beschreibung (Pascal User Manual and Report) keine Strings im heutigen Verständnis. Die Verarbeitung von (statischen) Zeichenketten war rudementär über die im Artikel zitierten packed array of char möglich. Es gab jedoch keinerlei implementierte Operatoren, die z.B. eine Stringconcatination oder sowas wie left(), right(), mid() erlaubt hätten. Pascal war prinzipiell nicht zur Stringverarbeitung ausgelegt, jedoch konnte man mit einiger Mühe entsprechende Prozeduren implementieren. Das Konzept des packed array und die Typenstrenge von Pascal führten dabei zu Blüten. Wurde z.B. ein packed array [1 .. 10] of char vereinbart, so musste der Text auch stets 10 Zeichen umfassen: 'string ' und nicht etwa 'string'. - Pascal 6000 Rel. 4 war meine "Muttersprache", vor über 20 Jahren! -- Karlscharbert 23:14, 23. Dez 2005 (CET)
Na, gar nicht. :-) Klingt blöd, ist es auch, aber so war´s im Original-Pascal von N. Wirth. Man darf nicht vergessen: es war ja a) eine reine Schulungssprache (also eigentlich nicht komplett) und b) gab´s im damaligen vorherrschenden Batchbetrieb (mit Lochkarten, juhu!) nicht so viel Notwendigkeit für Stringoperationen. Wirth hat dann das packed array als Stringersatz eingeführt, vorzugsweise in 10er-Schritten zu verwenden: 10 Chars (6bit!) in einem Wort (60bit!!!). Jeder Pascal-Dialekt hatte da seine eigene Lösung, und der von Turbo-Pascal mit dem 1.Byte als Längenzähler war halt die Verbreitetste. Aber wie gesagt, ich weiss nicht, ob es diese Lösung in den Standard geschafft hat. --Dr. Tux 13:16, 19. Dez 2005 (CET)
Ich habe jetzt im Standard (http://www.moorecad.com/standardpascal/standards.html) nachgesehen: Wie ich vermutet habe, ist die Sache mit dem Längenbyte in Strings nicht Teil des Standards, sondern implementationsabhängig. Sollte man irgendwie reinbringen. --Dr. Tux 13:39, 19. Dez 2005 (CET)
Ich habe den Abschnitt "Unterschiede zu anderen Sprachen" (die offensichtlich alle C-Syntax haben müssen :-) ) in "Unterschiede zu C" umgearbeitet. Ist natürlch nicht komplett und ich bin mir gar nicht sicher, ob das auch die wichtigsten sind ... --Dr. Tux 00:08, 11. Jan 2006 (CET)
- Einiger der Beispiel sind aber auch nur für die früheren Versionen gültig. Das wird da nicht ganz klar. Gab es den Operant "/" anfangs wirklich nicht? Weil ich kenne ihn und habe ihn auch benutzt, allerdings war das auch eine bereits ältere Version...--StYxXx ⊗ 21:13, 11. Feb 2006 (CET)
Den Operand "/" gab es schon, aber nur für Real. Hab den Artikel ausgebessert. a / b war in Pascal immer möglich (a und b als Integer), aber das Ergebnis war dann Real. --Dr. Tux 22:40, 11. Feb 2006 (CET) ____________________________________________________________________________________________
Die Anmerkung, dass ausgerechnet die Software der Transrapid-Leitstelle in Pascal implementiert ist, finde ich ja besonders bemerkenswert. Entstand diese Anmerkung wohl vor oder nach dem Unglück...? Axel1963
Turbo Pascal
BearbeitenKann mir mal einer erklären warum Turbo Pascal bei den IDEs nicht aufgeführt ist? Dp99 19:28, 16. Mär. 2007 (CET)
Weil Turbo Pascal seit mehr als 10 Jahren von Borland nicht mehr weiterentwickelt wurde und auch mindestens so lange nicht mehr im Verkauf ist. Allerdings sollte man es aus historischen Gründen schon hineinnehmen. Aber das ist ja ein Wiki: Selbermachen!
_________________________________________________________________________
Zur "strikten Trennung zwischen Funktionen und Prozeduren - Unterschiede zu C": Es gibt zwar "procedure" und "function", aber zumindest in Turbo-Pascal (bzw. Borland-Pascal) ist es möglich auch Funktionen als Prozeduren aufzurufen, d.h. der Rückgabewert muss nicht entgegengenommen werden. Wie das in anderen Versionen ist, weis ich nicht, kann da jemand was zu sagen? Ansonsten sollte man (oder ich) den Abschnitt ändern. 84.188.243.33 04:17, 29. Mai 2007 (CEST)
Das ist eben nur ein Feature von Turbo Pascal. Der Pascal Standard lässt das nicht zu (ich kenne allerdings nur die ersten Standards bis 1985). Das ursprüngliche Konzept macht da einen definitiven Unterschied. --Dr. Tux 14:32, 29. Mai 2007 (CEST)
- Eine Idee dieses Konzepts ist, dass etwa Funktionen keinen Nebeneffekt haben (außer dem Zurückgeben des wertes), d.h. dass der übrige zustand des Programmes nicht verändert wird. Reine "getter" also. Ob das allerdings im Standard umgesetzt wurde, weiß ich leider nicht. In Turbo war der Unterschied zwischen Funktionen und Prozeduren jedenfalls ausradiert. --Wirthi ÆÐÞ 23:59, 2. Okt. 2007 (CEST)
Möglicherweise ist das eine Idee dahinter, aber durch globale Variablen umd VAR-Parameter (dia ja auch bei Funktionen erlaubt sind) wird diese Idee in Pascal ziemlich ausgetrickst. --Dr. Tux 00:37, 3. Okt. 2007 (CEST)
Oxford Pascal
BearbeitenWer weiß etwas über Oxford Pascal, dass auf Commodore-Systemen (CBM, C64) lief?
Kontrafaktische Wertungen
BearbeitenDer Artikel enthält reichlich Absurdes, z.B. die Behauptung, die Freigabe des Quellcodes von UCSD im Jahr 2006 habe zur Verbreitung der Sprache beigetragen. Auch daß durch Pascal das strukturierte Programmieren "eingeführt" worden sei, halte für leicht widerlegbar. Pascal ist auch keine Weiterentwicklung von Algol. Wirths Weiterentwicklung von Algol hieß ALGOL W. Daß Pascal programmtechnische Trickserei unnötig oder unmöglich gemacht hätte, wird durch die readln-Geschichte um Abschnitt "Hello world" eindrucksvoll widerlegt. Auch die Programmierung der Transrapid-Leittechnik in Pascal dürfte nach dem Unglück im Emsland kaum noch als vorbildlich vermittelbar sein. --Benutzer:Glasreiniger
Eigene Seite für den P4 Pascal-Compiler
BearbeitenDer P4 ist der Vorfahre vieler Pascal-Compiler (z.B. UCSD Pascal, um nur den wichtigsten zu nennen). Da viele Pascal-Compiler eigene Seiten haben, wundere ich mich, daß der P4 keine eigene Seite hat. Eine solche Seite würde auch die Möglichkeit bieten, etwas auf den inneren Aufbau eines Pascal-Compilers einzugehen. Qellen aus denen für so einen Artikel geschöpft werden kann, gibt es genug. Zum Beispiel gibt es das Buch Pascal Implementation: The P4 Compiler and Interpreter, by Steven Pemberton and Martin Daniels, Ellis Horwood, ISBN: 0-13-653-0311, Die Homepage eines der Buchautoren findet sich hier. Dort findet sich übrigens auch der komplette Inhalt des Buches. Auch andere Seiten im Internet gehen auf den P4 ein, z.B. hier. Ausserdem ist der Quellcode des P4 Public Domain und ebenfalls im Internet verfügbar. Daher sind, selbst wenn (natürlich kleine) Programmteile aus dem Source in den Artikel kopiert werden, keine Copyrightprobleme zu erwarten. Was haltet ihr davon? Georg Peter 16:16, 4. Jul. 2008 (CEST)
- Einen eigenen Artikel für einen speziellen Compiler halte ich persönlich für übertrieben. Die Informationen darüber sind aber sicherlich interessant, können aber wohl auch hier eingebaut werden, oder? --Wirthi ÆÐÞ 17:25, 4. Jul. 2008 (CEST)
- Es gibt folgende Artikel für spezielle Compiler: Turbo Pascal, Virtual Pascal, Free Pascal, GNU Pascal, UCSD Pascal, Component Pascal. Wie ich schon sagte: Ein P4 Artikel könnte den Aufbau eines Pascal-Compilers detaillierter behandeln. Wenn man anfängt das hier einzubauen, beginnt sicher jemand zu löschen, weil dies ein Artikel über eine Programmiersprache ist. Ausserdem ist Wikipedia kein Papierlexikon. Ich sehe keinen Grund Lemmas zu sparen. Auf der anderen Seite möchte ich damit nur anfangen, wenn Unterstützung dafür besteht. Ich arbeite nämlich nicht gerne für den Müllkübel. Georg Peter 18:47, 4. Jul. 2008 (CEST)
- Wow, wusste ich garnicht, dass die alle Artikel haben (hätte auch noch nie danach gesucht). Insofern "darf" ein P4-Compiler-Artikel sicherlich auch sein. Warum aber gerade in diesem die Struktur von Pascal-Compilern im Allgemeinen beschrieben werden soll, versteh ich nicht. Dafür gibt's den Artikel Compiler, da Pascal-Compiler keinen generell anderen Aufbau haben als andere Sprachen (oder?). Gegen eine Beschreibung des konkreten Compilers in seinem Artikel spricht natürlich nix. --Wirthi ÆÐÞ 19:11, 4. Jul. 2008 (CEST)
Was spricht gegen einen eigenen Artikel, wenn genügend Inhalt da ist? Der Pascal-Artikel ist ja ohnehin schon zu umfangreich, da würde ich nichts mehr zusätzlich hineintun. --Dr. Tux 22:37, 4. Jul. 2008 (CEST)
Erscheinungsjahr?
BearbeitenWorauf gründet sich eigentlich die Angabe des Erscheinungsjahres als "1972"?
Im Artikel zu Wirth steht, er hätte die Sprache von 1968-1972 entwickelt. en und fr geben das Erscheinungsjahr als 1970 an....
— ThomasO. 21:23, 5. Dez. 2009 (CET)
- Ohne die Publikationen genauer angesehen zu haben würde ich mit einer Gegenfrage antworten: wie definierst du "Erscheinungsjahr"? Bei einem Kinofilm ist das einfach: dann wenn er das erste mal (öffentlich) im Kino gezeigt wurde. Bei Pascal handelt es sich aber um ein Forschungsprojekt im Rahmen einer Universität. Das ist vermutlich nie "offiziell erschienen". Irgendwann gab es das erste Paper an einer Konferenz darüber; irgendwann durften die ersten Studenten an der ETH testweise in Pascal programmieren; irgendwann wurde dieser Pascal-Compiler zur Nutzung an anderen Universitäten veröffentlicht; irgenwann mussten alle ETH-Studenten in Pascal programmieren; irgendwann wurde der erste Artikel in einem Fachjournal geschrieben; irgendwann sprang der erste kommerzielle Anbieter auf den Zug auf ... welches nun? Im englischsprachigen Artikel ist das aber etwas genauer beschrieben: Erster funktionierender Compiler an der ETH 1970, Einführung als Schulsprache an der ETH und erste Portierung durch eine andere Universität 1972. --Wirthi ÆÐÞ 10:32, 6. Dez. 2009 (CET)
Apple/Mac
BearbeitenWarum findet sich kein Hinweis darauf, dass die früheren OS-Versionen des Macintosh in Pascal programmiert waren? Dass ein verbreitetes, kommerzielles OS nicht in C sondern in Pascal programmiert war, das ist doch eine Erwähnung wert, oder?--Kiu77 23:13, 9. Jul. 2010 (CEST)
Pascal hat faktisch keine Verbreitung
BearbeitenWenn man sich den Artikel so durchliest könnte man fast meinen jede zweite Anwendung sei in Pascal entwickelt und Pascal sei das ultimative Werkzeug um sichere Software zu entwickeln. Es ist empirisch überhaupt kein Problem nachzuweisen das Pascal überhaupt keine Bedeutung als kommerzielle Programmiersprache hat. Es wird in Open Source Software so gut wie nicht verwendet und in closed source Projekten fast nur dann wenn eine Vorgeschichte aus den 90er Jahren da ist. Die Anzahl der neu gestarteten Projekte mit Pascal oder Delphi sind verschwindend im Vergleich zu anderen Programmiersprachen. Bei den imperativen Universalprogrammiersprachen gibt es faktisch nur drei, die tatsächlich Bedeutung haben. Mit weitem Abstand voran C/C++, dann Java und C#/.NET. Im Bereich der Webentwicklung ist PHP dominant, ob PHP eine Universalprogrammiersprache ist bleibt fraglich. (nicht signierter Beitrag von 79.210.130.50 (Diskussion) 16:15, 17. Jul 2010 (CEST))
- Siehst du, und zeigt sich, das leider sehr oft von eigenen Erfahrungen auf die Allgemeinheit geschlossen wird. Ich kenne keinen mehr, der mit Pascal programmiert - also ist diese Srpache bedeutungslos. C/C++ liegt seit einigen Jahren schon hinter Java zurück und bis vor etwa 6-8 Jahren lag eine ganz andere Sprache noch vor C/C++: COBOL! Bis heute hat in der Banken und Finanzwelt COBOL extrem hohe Bedeutung - nur außerhalb halt nicht. Und da ct und Co davon nicht mehr berichten, verschwindet es aus dem Bewußtsein - dies bedeutet nicht, das sie bedeutungslos ist. PHP ist übrigens eine Universalsprache - bitte schau dir die entsprechende Definition einmal an. Pasqual wird sehr wohl eingesetzt - oftmal als Alternative zu ADA - in Bereichen, in denen Software einfach funktionieren muss. Dazu zählt vor allem die Kernsoftware medizinischer Geräte, Steuerungssysteme z.B. in der Waffentechnik und Hochverfügbarkeitssysteme im Bereich Energieversorgung. 79.212.239.53 00:09, 18. Jun. 2011 (CEST)
-> Akademische Lehrsprache (Programmiersprache) Schnelllöschung
Sorry,
aber in dem Artikel ist einiges schiefgegangen. Der Satz "Implementieren tut man Programme die in akademischen Lehrsprachen verfasst sind professionellerweise in der Programmiersprachenfamilie, die in der Softwareindustrie verbreitet ist" ist nicht nur sprachlich zweifelhaft sondern kaum verständlich, zumal die genannten Sprachen nicht unbedingt dem Stand der Technik entsprechen. Und wer käme auf die Idee, ein LISP-Programm nach C zu portieren? Was ist daran professionell? Darüber hinaus muss die Frage beantwortet werden, in wie weit das Konzept einer "akademischen Lehrsprache" überhaupt noch verbreitet ist. -- Oliver aus Bremen Sprich! 12:17, 24. Aug. 2010 (CEST)
Kontrollstrukturen (erl.)
Bearbeiten"Kontrollstruktur" ist eine weit verbreitete Übersetzung des englischen Begriffs "control structure", aber trotzdem ein Falscher Freund. Ich habe deshalb im Artikel "Kontrollstrukturen" durch die bessere deutsche Bezeichnung "Steuerkonstrukte" ersetzt. Siehe Kontrollstruktur. -- Gebu 02:59, 1. Aug. 2010 (CEST)
- Auch ein falscher Freund ist manchmal ein Freund - und Kontrollstruktur als Begriff etabliert, Steuerstrukturen selbst in der Fachwelt fast unbekannt. Bitte bei solchen Veränderung nicht immer nur die engstirnige Linguistenbrille aufbehalten - so kleinkariert gehen wirklich nur wir Deutschen mit unserer Sprache um 79.212.239.53 00:11, 18. Jun. 2011 (CEST)
Lehrsprache
BearbeitenEine Lehrsprache ist sicher eine Sprache die gelehrt wird. Weiß vielleicht jemand mehr darüber? --Thomas Stauß 12:08, 28. Aug. 2010 (CEST)
- Eine Lehrsprache ist eine Sprache die man in einer Universität/Schule als 1. Programmiersprache beigebracht bekommt. Sie dient zur Bekanntmachung typ. Begriffe und Techniken/Algorithmen in der Informatik.--178.24.70.200 17:49, 14. Sep. 2010 (CEST)
Mir hat jemand gesagt, dass Pascal als Lehrsprache ursprünglich dazu gedacht war, im damals zur Implementierung üblichen ALGOL, eine der wenigen Programmiersprachen zu dieser Zeit, Programme zu schreiben, die revolutionärerweise das gesamte Programmiererteam lesen und mit verhältnismäßig wenig Aufwand verstehen konnte. Beim Design von Pascal sei viel Wert auf "Lesbarkeit" und "Strukturiertheit", in den folgenden Dekaden weltweit verbreitete Schlagworte in der Softwareentwicklung, gelegt worden, wodurch bedeutend effizienteres Arbeiten möglich geworden sei. Braucht es dazu einen umfassenden Pascal-Compiler, der alle Funktionen umfasst oder reicht ein minimaler, der nur das Konzept vermittelt, also gewissermassen nur einen akademischen Sprachumfang hat? Und die mir wichtigere Frage: Wenn Pascal als akademische Lehrsprache solche Fortschritte brachte, gibt es dann weitere Lehrsprachen, akademische und nichtakademische, die die gegenwärtige und historische Art zu Programmieren geprägt haben? --Thomas Stauß (Diskussion) 13:29, 27. Jan. 2013 (CET)
Niklaus Wirth, von Beruf Elektro-Ingenieur, hat die Sprache "PASCAL" ursprünglich als "Lernsprache" für seine Studenten, um ihnen das Programmierem beizubringen, entwickelt und war dann vom Erfolg und der Beliebtheit seines Kindes selbst überrascht.
PASCAL (ich meine Turbo Pascal 6.0) hat bezüglich der Dateneingabe und Datenausgabe noch einige Schwachstellen, auch was die Kompatibilität einiger Datentypen betrifft, die den Amfänger verwirren.
PASCAL hat aber immer noch das Zeug, zu einer grundlegenden und weltweiten Programmiersprache zu werden, die bereits in der Grundschule - gleichwertig mit den Fremdsprachen Englisch und Französisch - den Schülern die Prinzipien der Logik und der lösungsorientierten Programmierung beibringt !
-- PietroRotibargo 22:13, 24. Feb. 2011 (CET)
Ganz ehrlich - wenn man jemandem modernes Programmieren beibringen will, dann ist Pascal nicht mehr geeignet, u.A. deshalb, weil es inzwischen im vergleich zu moderneren Sprachen wie z.B. Python schwerfällig ist und wesentliche Konzepte fehlen. In Python kann man objektorientiert, prozedural und funktional programmieren, und die Introspektion und einige andere Konzepte ermöglichen TDD auf einem Niveau, das Pascal nicht annähernd erreicht. Auch das Konzept, Blöcke mit begin und end zu markieren ist für die Grundschule (und im täglichen Gebrauch) eher störend, wenn man dasselbe in Python nur durch Einrücken erreicht. Wenn man sich mal den Pseudo-Code ansieht, der auf den Unis heutzutage geschrieben wird, sieht das aus wie Python, nicht wie Pascal. Lösungsorientierte Programmierung ist explorativ und verifizierbar, die Methodik dazu ist TDD, und das sollte man Kindern auch so beibringen. (nicht signierter Beitrag von 84.148.120.23 (Diskussion) 14:01, 13. Feb. 2011 (CET))
- Das wichtigste am Programmieren ist nicht die Sprache, sondern das lösungsorientierte algorithmische Denken. Das kann man in jeder Sprache lernen; je einfacher die Sprache ist, desto einfacher geht das Lernen. --Wirthi ÆÐÞ 14:04, 13. Feb. 2011 (CET)
Unterschiede zu C
BearbeitenWo ist der Unterschied zwischen dem ersten und dem letzten Punkt der Aufzählung der Unterschiede zu C? Beide sagen letztendlich aus, dass Pascal eine striktere Typentrennung kennt als C. Einer von beiden kann m. M. n. entfernt werden. (nicht signierter Beitrag von 91.89.188.37 (Diskussion) 14:20, 18. Jun. 2011 (CEST))
Geschichtliches
BearbeitenPascal ist heute etwas aus dem Bewusstsein verschwunden, aber ich kann mich noch an einige Details aus der Zeit erinnern wo es eine - in welcher Art auch immer - bekannte und mächtige Sprache war. Zuerst die Frage wie Pascal eine echte Programmiersprache wurde. So war es nie geplant, dass Pascal eine echte Programmiersprache werden sollte. Es war als eine reine Lehrsprache entwickelt worden. Da aber einige Studenten von Wirth letztendlich Programmierer wurden, haben sie das gelernte umgesetzt und Pascal Interpreter programmiert. Und plötzlich wurde aus einer Lehrsprache eine echte Programmiersprache. Der Rest ist Geschichte. Ein anderes Detail ist die zumindest zeitweise starke Verbreitung von Pascal, in welcher Art auch immer. Ignoriert man die Nischensprachen war C ein Standard für Profis, Basic wurde als Hobbysprache betrachtet und erlebte ihr Hoch lediglich bei MS Produkten, weil Gates hinter ihr stand. Pascal war das was übrig blieb. Für die, die nicht in C programmieren wollten und für die, die Basic als Hobbysprache betrachteten, blieb nur noch Pascal (meinetwegen Turbo Pascal) als einziges übrig. Eine Programmiersprache jenseits einer Hobbysprache, dafür nicht so komplex wie C. Verdrängt wurde sie weniger von C und C++, als von Microsofts Basic. Dann verlor Basic an Bedeutung. -Trallala2 (Diskussion) 10:14, 7. Nov. 2012 (CET)
Vieles falsch oder schlecht formuliert
BearbeitenHallo,
der Artikel enthält einige schlechte Formulierungen und Fehler. Insgesamt klingt er sehr subjektiv und als Werbung für Pascal gegenüber C/C++.
Hier die Punkte, die ich im einzelnen bemängele:
"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 den damaligen Versionen von Fortran, auch eine bessere Unterstützung von strukturierter Programmierung."
Was soll eine "kontextabhängige Interpretationen des Codes" sein? Ich finde im Internet nichts dazu. Ob die Syntax einfach und verständlich ist, ist wohl auch subjektiv. Ich würde den Abschnitt komplett streichen und im Abschnitt "Unterschiede zu C" hinzufügen:
"Pascal lehnt sich in seiner Syntax stärker als C an die englische Grammatik an. Beispielsweise werden Blöcke durch "begin" und "end" statt durch geschweifte Klammern gekennzeichnet und if-Bedingungen haben ein zusätzliches "then". Hierdurch ist Pascal einsteigerfreundlicher als C, verliert jedoch an Kompaktheit."
Abschnitt "Datentypen":
"In Pascal gibt es die einfachen Datentypen char, boolean, integer, real und ordinale Datentypen."
char, boolean und integer sind ordinale Datentypen.
Daher besser:
"In Pascal gibt es die einfachen Datentypen real und ordinale Datentypen (wie boolean, char oder integer)."
Abschnitt "Anweisungen":
Warum werden hier im ersten Satz willkürlich ein paar Anweisungen aufgezählt?
"Da Pascal der strukturierten Programmierung dient, soll das goto lediglich strukturerhöhend eingesetzt werden."
Das Wort "strukturerhöhend" klingt mir nach einer Wortneuschöpfung, die im anschließenden aufgelöst wird: "Als strukturerhöhendes goto werden Sprünge ans Ende von Prozeduren oder unmittelbar hinter Schleifenenden akzeptiert, sofern sich dadurch umfangreiche Konstruktionen schlecht lesbarer if-Anweisungen oder undurchschaubarer boolescher Ausdrucke vermeiden lassen."
Vielleicht besser die beiden Sätze zusammenfassen:
"Da die Verwendung von Sprunganweisungen als umstritten gilt, sollte das goto nur verwendet werden um direkt an das Ende von Schleifen oder Prozeduren zu springen."
Abschnitt "Nachteile":
Vielleicht besser in "Kritik" umbenennen und die Kritik von Brian Kernighan und Linus Torvalds einarbeiten.
Abschnitt "Unterschiede zu C":
"Sehr hohe Prozesssicherheit – Da Pascal sowie der Quasi-Standard Borland/Turbo-Pascal eine strikte Trennung unterschiedlicher Typen vorsehen und die Zuweisungskompatibilität von Ausdrücken beachten, kommen „versteckte/automatische“ Typumwandlungen, anders als in C, praktisch nicht vor. Insbesondere bei der Übergabe von Daten (z. B. aus externen Dateien, aber auch innerhalb des Programms) an Funktionen oder Prozeduren kann der Compiler schon beim Compilieren die Korrektheit der Typen kontrollieren (gleiches gilt für Array-Grenzen, Integer-Überlauf, Wrap-Around-Fehler, Stack-Überlauf u. ä., die in anderen Programmiersprachen wie z. B. C++ oder C häufig subtile und schwer zu lokalisierende (Laufzeit-)Fehler erzeugen)."
Was soll der Unterschied zwischen Stack-Überlauf und Array-Grenzen sein? Was zwischen Wrap-Around-Fehler und Integer-Überlauf?
Natürlich kann es auch bei Pascal zu Stack-Überläufen zur Laufzeit kommen, wenn eine Variable als Index verwendet wird. Der Compiler prüft lediglich bei konstantem Index, ob dieser innerhalb der Grenzen liegt.
Integer Überläufe gibt es bei Pascal auch genau wie bei C 32767 + 2 = -32767.
"Anders als C erlaubt Pascal die Deklarationen lokaler Funktionen bzw. Prozeduren, sog. „nested Functions“, was die Erweiterung des Sprachumfanges durch den Benutzer erheblich vereinfacht."
Lokale Funktion ist eine schlechte Übersetzung, da Funktionen mit "static" in C auch lokal sind, besser: verschachtelte Funktionen. Inwiefern soll die Erweiterung des Sprachumfangs dadurch vereinfacht werden?
Weiterhin würde ich noch hinzufügen, dass es in Pascal keine Zeigerarithmetik gibt.
Wenn es keine Einwände gibt, würde ich diese Änderungen einbauen.
Viele Grüße
--91.45.28.120 15:36, 30. Jun. 2013 (CEST)
- Moin,
- Kontextunabhängige Quelltextinterpretation ist plausibel, denk' nochmal nach.
- ordinale Datentypen ist tatsächlich verwirrend, gemeint sind geordnete Mengen
- es werden nicht willkürlich Anweisung aufgezählt, woran erkennst Du Willkür?
- Strukturerhöhung durch goto ist plausibel, vielleicht kann man das tatsächlich noch umformulieren, dass es auch für Nicht-Informatiker verständlich ist. Ich versteh's zumindest.
- Nachteile != Kritik, von daher lass mal lieber den Titel so
- zwischen den verschiedenen Überläufen sind gewaltige Unterschiede
- nein, auf keinen Fall "verschachtelte Funktion": in Pascal ist der scope anders definiert, darauf zielt die Übersetzung "lokal" ab
- --Kays (Diskussion) 23:44, 30. Jun. 2013 (CEST)
- Achso, der Werbevorwurf:
Und denkt dran Kinder, immer schön in Pascal programmieren!
--Kays (Diskussion) 23:46, 30. Jun. 2013 (CEST)
- Achso, der Werbevorwurf:
- Hallo,
- Kontextunabhängige Quelltextinterpretation ist plausibel, denk' nochmal nach.
- Habe dies noch nie als Merkmal einer Programmiersprache gehört. Google spuckt mir zu dem Suchbegriff nur Ergebnisse im Zusammenhang mit natürlichen Sprachen aus. Was soll es bedeuten? Oder Gegenfrage: Wann ist eine Programmiersprache kontextabhängig?
- es werden nicht willkürlich Anweisung aufgezählt, woran erkennst Du Willkür?
- Die Aufzählung ist nicht vollständig, sondern nur eine Auswahl. Was soll man damit anfangen?
- Strukturerhöhung durch goto ist plausibel, vielleicht kann man das tatsächlich noch umformulieren, dass es auch für Nicht-Informatiker verständlich ist. Ich versteh's zumindest.
- Ich verstehe die Erklärung des Begriffes auch. Aber warum erfindet man erst ein neues Wort um es zwei Sätze später zu erklären? Warum sagt man nicht direkt im ersten Satz was man meint?
- Nachteile != Kritik, von daher lass mal lieber den Titel so
- Sicherlich kann Kritik auch positiv sein, aber in allen Wikipedia-Artikeln, die ich bisher gelesen habe, wurden unter Kritik nur negative Kritiken zusammengefasst. Beispiele:
- http://de.wikipedia.org/wiki/Yahoo#Kritik
- http://de.wikipedia.org/wiki/Google#Kritik_an_Google
- http://de.wikipedia.org/wiki/Sozialismus#Kritik
- Auch der englische Artikel zu Pascal verwendet "Criticism":
- http://en.wikipedia.org/wiki/Pascal_%28programming_language%29#Criticism
- zwischen den verschiedenen Überläufen sind gewaltige Unterschiede
- Jedoch fängt Pacal weder Integerüberläufe noch Arrayüberläufe, sofern eine Variable als Index verwendet wird, zur Compilezeit ab (wie sollte es auch)
- nein, auf keinen Fall "verschachtelte Funktion": in Pascal ist der scope anders definiert, darauf zielt die Übersetzung "lokal" ab
- Warum nicht? Sie werden doch verschachtelt:
- Hallo,
program HalloWelt;
procedure foo;
procedure bar;
begin
writeln('Hallo Welt');
end;
begin
bar();
end;
begin
foo();
bar(); //Compiler Fehler, da bar nicht sichtbar
end.
- bar ist in foo geschachtelt und daher vom Programm nicht sichtbar. Der Begriff "verschachtelt" wird auch hier verwendet:
- http://info.baeumle-courth.eu/c02.html
- Und leo übersetzt "nested" auch mit verschachtelt.
- Außerdem ist die Behauptung in C gäbe es keine lokale Funktionen falsch. Funktionen mit "static" sind lokal.
- Viele Grüße --91.45.48.153 01:26, 2. Jul. 2013 (CEST)
Weitere Fehler
BearbeitenEs gibt keine nullterminierte Strings ist schlicht falsch, Stichwort pchar. Zeichenketten sind auf 256 Zeichen beschränkt, richtig wäre 255. Ein Byte für die Länge wird genutzt und dies kann auch 0 sein, zum. bis TP7. Keine verkürzten Ausdrücke wie in C(++i, i+=2): Richtiger es gibt diese: inc(i), inc(i, 2) nur eben nicht i*=2. Das Beispiel mit dem Transrapid, hier wird Concurrent Pascal eingesetzt was syntaktisch schon vom Standard Pascal unterscheidet.--178.24.30.121 09:22, 11. Mai 2014 (CEST)
- Ja, genial, 255 nutzbare string-Zeichen sind richtig. Wegen In/Dekrement: Ich hab' mal in meine Uralt-Pascal-Doku reingeschaut: Anscheinend hat der gute Herr Wirth keine derartigen inc()/dec() Prozeduren vorgeschrieben, ergo gehoert es nicht in den Pascal-Artikel. inc() und dec() kenne ich aus FPC. Im Standard-Pascal gibt's nur die Funktionen succ() und pred(), sodass dann wieder (mathemagisch korrektere) Ausdruecke wie x := succ(x); herauskaemen. Ich moechte den Punkt Zuweisungen im Artikel nicht unnoetig aufblaehen, da es a) unzaehlige andere Umschreibungsweisen gibt und b) es bereits deutlich wird, dass es einfach solche verkuerzte Schreibweisen nicht gibt (bzw. wir haben uns diese nachtraeglich selbst definiert). -- Kays (Diskussion) 15:21, 11. Mai 2014 (CEST)
- inc, dec sind im Übrigen seit TP4 dabei. Ein Kompromiss wäre das Beispiel auf *= zu beschränken, was auf jedenfall eindeutig und korrekt ist. Vielleicht kann man noch irgendwo den Begriff pchar unterbringen, Array of Char ist in der Literatur für nullterm. Strings unüblich. Zudem werde ich mal schauen ob ich eine Quelle für Transrapid und Concurrent Pascal finde. --178.24.30.121 19:03, 11. Mai 2014 (CEST)
- Ja, es gibt unzaehlige Dialekte, alle kochen ihre eigene Bruehe, da werde ich mich in diesem Artikel nur auf Standard-Pascal beschraenken. Und PChar ist da eben sicherlich auf alle Faelle erst spaeter aus C uebernommene Geschichte.
Wo steht was von wegen array of char sei ein nullterminierte string? vgla Zeichenkette#Intern
Du kannst doch auch selber Deine AEnderungen einarbeiten, nicht? -- Kays (Diskussion) 23:51, 11. Mai 2014 (CEST)
- Ja, es gibt unzaehlige Dialekte, alle kochen ihre eigene Bruehe, da werde ich mich in diesem Artikel nur auf Standard-Pascal beschraenken. Und PChar ist da eben sicherlich auf alle Faelle erst spaeter aus C uebernommene Geschichte.
- inc, dec sind im Übrigen seit TP4 dabei. Ein Kompromiss wäre das Beispiel auf *= zu beschränken, was auf jedenfall eindeutig und korrekt ist. Vielleicht kann man noch irgendwo den Begriff pchar unterbringen, Array of Char ist in der Literatur für nullterm. Strings unüblich. Zudem werde ich mal schauen ob ich eine Quelle für Transrapid und Concurrent Pascal finde. --178.24.30.121 19:03, 11. Mai 2014 (CEST)
Kommentare in den Codebeispielen
BearbeitenKann Pascal neuerdings //-Kommentare? Es sollte im Artikel erwähnt werden, die Kommentare in Pascal notiert werden und die Codeschnipsel dann auch diese Syntax nutzen. --RokerHRO (Diskussion) 15:22, 7. Nov. 2014 (CET)
- Nein, das Borland Pascal oder der Free Pascal-Dialekt je nach Modus aber Ja. Das gehoert aber nicht zu diesem Artikel, mach also weiterhin { kommentar } bzw (* kommentar *) -- Kays (T | C) 21:45, 7. Nov. 2014 (CET)
- Natürlich gehört es in den Artikel, wie Kommentare in Pascal gemacht werden. Und die Codeschnipsel sollten dann auch die Standard-Pascal-Syntax benutzen und keinen Dialekt. --RokerHRO (Diskussion) 16:59, 8. Nov. 2014 (CET)
- Ja klar, wie Kommentare in Pascal gemacht werden gehoert in den Artikel. Inwiefern aber verschiedene Pascal-Dialekte weitere Kommentarformen unterstuetzen, gehoert aber nicht zum Standard-Pascal. Meinetwegen kann man's aber trotzdem erwaehnen, da mir gerad' nur //-Einzeilerkommentare einfallen. -- Kays (T | C) 20:10, 8. Nov. 2014 (CET)
- Von den Dialekten rede ich auch gar nicht. Ich will Standard-Pascal im Artikel. --RokerHRO (Diskussion) 10:22, 9. Nov. 2014 (CET)
- Sehe ich auch so; die //-Kommentare sind kein Standard-Pascal; sondern ein Zugeständnis heutiger Dialekte. Kommentare in Code-Beispielen sollten hier ausschließlich mit (* oder { aufgeführt sein. Weil wir hier vom "Standard-Pascal" reden.
- A-pro-po: Was ist/war eigentlich die ursprüngliche Schreibweise? Das (* oder das { ? Oder waren beide von Anfang an als eine beider Möglichkeiten vorhanden? --Guenni60 (Diskussion) 18:39, 6. Feb. 2015 (CET)
- Eines meine Pascal-Lehrbuecher meint: Die (*-Schreibweise wurde "erfunden", da [damals] auf manchen Tastaturen keine {/} existierten. Man koennte daher _vermuten_, dass die geschweiften Klammern vorher da waren. -- Kays (T | C) 19:32, 6. Feb. 2015 (CET)
- Sehe ich auch so; die //-Kommentare sind kein Standard-Pascal; sondern ein Zugeständnis heutiger Dialekte. Kommentare in Code-Beispielen sollten hier ausschließlich mit (* oder { aufgeführt sein. Weil wir hier vom "Standard-Pascal" reden.
- Von den Dialekten rede ich auch gar nicht. Ich will Standard-Pascal im Artikel. --RokerHRO (Diskussion) 10:22, 9. Nov. 2014 (CET)
- Ja klar, wie Kommentare in Pascal gemacht werden gehoert in den Artikel. Inwiefern aber verschiedene Pascal-Dialekte weitere Kommentarformen unterstuetzen, gehoert aber nicht zum Standard-Pascal. Meinetwegen kann man's aber trotzdem erwaehnen, da mir gerad' nur //-Einzeilerkommentare einfallen. -- Kays (T | C) 20:10, 8. Nov. 2014 (CET)
- Natürlich gehört es in den Artikel, wie Kommentare in Pascal gemacht werden. Und die Codeschnipsel sollten dann auch die Standard-Pascal-Syntax benutzen und keinen Dialekt. --RokerHRO (Diskussion) 16:59, 8. Nov. 2014 (CET)
Vieles falsch oder schlecht formuliert - 2
BearbeitenHallo, im Text steht (im Abschnitt "Standards"):
"Selbst großen Compilern wie Delphi oder Free Pascal fehlen bis heute einige Elemente aus Standard Pascal ... "
Ich bin zwar mit dem Standard-Pascal nicht ganz so vertraut, aber ich programmiere sehr gerne in PASCAL (TP/FPC). Daher würde ich gerne wissen, welche Elemente das sein sollen?
Und weiter:
"... während Extended Pascal von kaum einem unterstützt wird. ... "
Auch das stimmt doch wohl so nicht!
Mit "Extended Pascal" ist doch wohl - wenn ich es recht sehe - die objekt-orientierte Erweiterung dieser Programmiersprache gemeint. (Oder irre ich mich da?)
Leider wird die durch "Extended Pascal" durchgeführte Erweiterung im Artikel nicht näher beschrieben. Dieser Begriff taucht plötzlich einfach auf.
Meines Erachtens wurde die mit "Extended Pascal" doch schon mit Turbo Pascal 6.0 eingeführt. Und mit einigen Ansätzen sogar schon mit Turbo Pascal 5.5 unterstützt. Möglicherweise fehlen da vielleicht einige.
Aber wenn ich da ganz daneben liegen sollte - vielleicht sollte man die Erweiterung des "Extended Pascal" erst einmal beschreiben?
Falls das nicht näher ausgeführt werden kann oder wird, dann wäre ich dafür, diesen Satz komplett zu streichen.
Aber jetzt warte ich erst einmal die Diskussion hierzu ab ...
Und zu "Prospero Pascal" kann ich wenig sagen - ich kenne diese Implementierung nicht. Auch die englische Wp-Seite über Pascal weist diese beiden Lücken auf.--Guenni60 (Diskussion) 21:18, 26. Jan. 2015 (CET)
- get(f), put(f), page(f) sind meines Wissens nach nicht im FPC implementiert oder zumindest nicht fuer den normalen Programmierer zugaenglich. Und man kann keine fd ueber den Programmkopf definieren: program(input, output, stderr, nochNeDatei); nochNeDatei gibt's nicht, da das ganze uebersprungen wird. -- Kays (T | C) 02:33, 27. Jan. 2015 (CET)
- Okay, nun noch 'mal langsam zum Mitschreiben: Ich nehme an, program(input, output, stderr, nochNeDatei); gehören zum Standard-Pascal.
- Und get(f), put(f) und page(f) gehören zum "Extended Pascal" - richtig?
- Dann sollte man das auch ganz klar so im Text sagen/schreiben.
- (Würde/wollte eigentlich einen Formulierungs-Vorschlag machen, mir fällt aber momentan keiner ein.) Jedenfalls vermisse ich program(input, output, stderr, nochNeDatei); nicht und eigentlich alle Implementierungen habe diese als überflüssig bzw. entbehrlich erachtet, da korrekte Datei-Zuordnungen damit so noch nicht möglich sind. (Siehe assign(f, "datname.dat");). Außerdem kenne ich kein Programm, daß kein input und output hat - oder? Zugegeben, die reale Implementierung mag sich hier ein wenig vom theoretischen Konzept entfernt haben, aber ich finde das okay so. Bei put(f), get(f) und page(f), so nehme ich an, handelt es sich um Datei-Operationen? Aber in welcher Pascal-Implementierung sind diese realisiert? Und um weitere Irrtümer oder Mißverständnisse zu beseitigen: Extended Pascal <> Objekt Pascal korrekt? (Sollte auch so im Text erwähnt sein.) --Guenni60 (Diskussion) 18:22, 6. Feb. 2015 (CET)
- Okay, nun noch 'mal langsam zum Mitschreiben: Ich nehme an, program(input, output, stderr, nochNeDatei); gehören zum Standard-Pascal.
Ist WITH eine Schleife?
BearbeitenIch wunderte mich gerade, dass die with Anweisung für Records als Schleife bezeichnet wird, soweit ich mich erinnere dient das doch nur dazu, leichter auf die Elemente eines Records zugreifen zu können:
program withtest;
type test = record
a: integer;
b: integer;
end;
var c: test;
begin
with c do
begin
a := 1;
b := 2;
end;
end.
(nicht signierter Beitrag von Dr. Slow Decay (Diskussion | Beiträge) 08:38, 11. Jan. 2016 (CET))
- Dito.
with
kennzeichnet keine Schleife. -- Kays (T | C) 11:45, 11. Jan. 2016 (CET)- Provisorisch ausgebessert, weitere Verbesserungen hat der Artikel auch nötig.. LG, --Mischa (Diskussion) 12:26, 11. Jan. 2016 (CET)
Gnu Pascal strebt vollständige Kompatibilität an
BearbeitenWie kann es das tun, wenn es wie einen Absatz weiter beschrieben nicht mehr weiterentwickelt wird? --Dr. Slow Decay (The Doctor is in, Rate the Doctor) 10:44, 15. Dez. 2017 (CET)
Einen Punkt vergessen? - Datentypen - Selbstdefinierte Datentypen - dort im letzten Satz
BearbeitenIm Abschnitt - Datentypen - Selbstdefinierte Datentypen - dort im letzten Satz: Im folgenden Beispiel wird ein neuer Typ mit dem Namen tByte definiert: tByte = 0.255 fehlt eventuell ein zweiter Punkt zwischen der 0 und der 255. Ich habe in einer Deklaration VAR tZehn: 1..10 probiert, das lief ohne Fehlermeldung durch. Als ich dann tZehn die Zahl 20 (tZehn:=20;) zugewiesen habe, kam eine range check error Warnung beim Kompilieren, wurde aber kompiliert, und der Wert 20 war danach in der Variable gespeichert und wurde auch ausgegeben (writeln(tZehn)). Wenn ich in der Deklarataion VAR tZehn: 1.10 kompilieren wollte, kam ein Fehler: error in type definition. Und es wurde nicht kompiliert. --16:24, 27. Apr. 2020 (CEST) (unvollständig signierter Beitrag von 77.183.110.113 (Diskussion) )
Ja, das war ein Fehler, hab's ausgebessert. --Dr. Tux (Diskussion) 12:36, 30. Apr. 2020 (CEST)