Talk:Pascal (programming language)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Former featured article candidatePascal (programming language) is a former featured article candidate. Please view the links under Article milestones below to see why the nomination failed. For older candidates, please check the archive.
Article milestones
DateProcessResult
March 1, 2008Featured article candidateNot promoted

A root article[edit]

I wanted to make explicit here, that this is a root article pertaining to original Pascal as designed by Niklaus Wirth. Thus the many dialects of Pascal are branched off as separate articles, which I think is proper, and has been the rule here for decades (and I appreciate that greatly). Please make sure that any modifications to it pertain to and are compatible with the original language Niklaus Wirth.

The standard for the language, ISO 7185, has been derided as a later version of the language. The basis for this claim (loosely) was the fact that many dialects branched from the language before the standard was issued in about 1983. I (personally) respect that opinion, but I would note that there is little net difference between the original (J&W) version of Pascal and ISO 7185, and, indeed, the examples on this page work under both versions of the language.

Thank you.

Scott Franco San Jose, CA. — Preceding unsigned comment added by Samiam95124 (talkcontribs) 23:57, 12 July 2023 (UTC)[reply]

The image contains terrible Pascal code[edit]

The indentation is odd and there are unnecessary begin/end pairs. It appears to be from a beginner programmer who has cut-and-pasted parts that work. It makes Pascal look more cryptic than it is. --Abandondero (talk) 23:09, 29 November 2022 (UTC)[reply]

I assume you were talking about the FPC IDE image. This is not Pascal, but a dialect of it. FPC is capable of using regular/Wirth Pascal, the image shown is not an example of it. I removed it. Samiam95124 (talk) 23:29, 12 July 2023 (UTC)[reply]

wrong, but understandable variant record example[edit]

The following example is understandable, but wrong:

TYPE
     TSystemTime = record
       Year, Month, DayOfWeek, Day : word;
       Hour, Minute, Second, MilliSecond: word;
     end;  
     TPerson = RECORD
        FirstName, Lastname: String;
        Birthdate: TSystemTime;
        Case isPregnant: Boolean of 
           true: (DateDue:TSystemTime);
           false: (isPlanningPregnancy: Boolean);
        END;

Person's sex is omitted, but pregnancy status is required even for men. Only women can be pregnant, is this a women record? also END for RECORD is missing. The following code is the union of male and female records, also female records have two variants for pregnant and not pregnant women:

TYPE
     TSex = (male, female) ;
     TSystemTime = record
       Year, Month, DayOfWeek, Day : word;
       Hour, Minute, Second, MilliSecond: word;
     end;  
     TPerson = Record
        FirstName, Lastname : String;
        Birthdate : TSystemTime;
        Case Sex : TSex of 
           female: Case isPregnant: Boolean of 
                      true: (DateDue:TSystemTime);
                      false: (isPlanningPregnancy: Boolean);
                   End {isPregnant Case};
           male: (hasVasectomy : Boolean);
        End {Sex Case} ;
     End {Record} ;

I did not change the example because I don't have a Pascal compiler to try it and many years have passed since the last time I wrote a program in Pascal. I am not sure it has a correct syntax. The second an maybe more important reason is because it is more complex than the original one. Another option is to rewrite the original example as follows:

TYPE
     TSystemTime = Record
       Year, Month, DayOfWeek, Day : word;
       Hour, Minute, Second, MilliSecond: word;
     end;  
     TWoman = Record
        FirstName, Lastname: String;
        Birthdate: TSystemTime;
        Case isPregnant: Boolean of 
           true: (DateDue:TSystemTime);
           false: (isPlanningPregnancy: Boolean);
        End {isPregnant case};
      End {TWoman Record};

Whichever option is taken, this example comes from another article, it should be changed in that page too. Of course not necessary identical each according to what is explained. — Preceding unsigned comment added by 2806:106E:B:400F:F9:F69F:2ED7:3753 (talk) 05:50, 4 September 2022 (UTC)[reply]

I've updated with a simpler, less potentially controversial, example. Chris Burrows (talk) 23:41, 6 September 2022 (UTC)[reply]
Just my opinion, but this is not the place to have off topic discussions about if men can or cannot get pregnant. Can we stick if the examples are or are not valid Pascal? Samiam95124 (talk) 23:31, 12 July 2023 (UTC)[reply]

BSD Pascal?[edit]

mention BSD Pascal or UICU Pascal ? 3MRB1 (talk) 21:12, 7 January 2024 (UTC)[reply]

Probably should, but I don't know anything about them.Bubba73 You talkin' to me? 23:10, 7 January 2024 (UTC)[reply]
@Bubba73
Thanks.Bubba73 You talkin' to me? 04:07, 9 January 2024 (UTC)[reply]
@Bubba73