articles/pascal.md: update

This commit is contained in:
tocariimaa 2025-02-17 00:14:14 -03:00
parent a4ac0b084d
commit b85f719ae9

View file

@ -2,14 +2,19 @@
Pascal is a procedural programming language created by [Niklaus Wirth](niklaus_wirth.md) in 1970.
Pascal was a popular choice for microcomputers in the 70's and 80's, even more popular than [C](c.md) initially (C was still quite an UNIX-only language)
due to its simple design, which allowed fast simple single-pass compilers.
due to its simple design, which allowed fast simple single-pass compilers. Later on in the mid-80s and early-90s Pascal began
losing its dominance to C, mainly because of the influence of [OSes](os.md) of that time, which were all written in C.
In its "vanilla" form, Pascal is not any more complex than C, aside from having features that C doesn't have,
such as range types, nested procedures, sets, etc.
such as range types, nested procedures, sets, builtin tagged unions, etc.
Pascal has an ISO standard: ISO 7185. Since the Pascal described in said standard is quite useless for practical programming,
most compilers are for an extended superset of Pascal.
## Compilers
- [FPC](https://www.freepascal.org/) (Free Pascal Compiler): currently the most popular Pascal compiler with wide support
for different OSes and architectures, libre software.
- [GNU Pascal](https://www.gnu-pascal.de/gpc/h-index.html): frontend for [GCC](gcc.md), abandoned.
- Turbo Pascal: old compiler for [DOS](dos.md) systems, proprietary.
- Delphi: proprietary, adds [OOP](oop.md) [bloat](bloat.md) and [exception](exception.md) handling.
@ -35,6 +40,9 @@ begin
Exit(n * n);
end;
```
## Identifiers
Pascal is case-insensitive, so `WriteLn`, `writeLn`, `writeln` and `wRiTeLn` are the same
identifiers.
## Examples
### Hello world
@ -91,3 +99,4 @@ flaws described in the article has been fixed by modern Pascal compilers. <https
## See also
- [Oberon](oberon.md)
- [PL/0](pl0.md)