articles/pascal.md: update
This commit is contained in:
parent
a4ac0b084d
commit
b85f719ae9
1 changed files with 11 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue