Sign in Join
Wiki copytemporary

Holywar: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Holywar

OldNewLine
1+The page is dedicated to list all possible pros (mostly) and cons of Pascal language (all kinds of pascal included).
2+
3+Pascal has something of a stigma as an "educational, and therefore weak" language, but it has nothing in common with a real life.
4+
5+If you're Pascal developer being involved into a next flame about Pascal language, you're encouraged to use the page.
6+
7+## Why do we use Pascal
8+
9+(if you don't use (Object) Pascal, please don't edit the section)
10+
11+Often programmers are free to choose their tools, especially then coding as a hobby (rather than for their living). Lots of Pascal programmers choose the language because of:
12+
13+- modern Object Pascal is simply one of the most productive languages and it can be used for almost everything.
14+ - [[Projects using Lazarus]]
15+ - [Applications Build With Delphi](https://delphi.wikia.com/wiki/Good_Quality_Applications_Built_With_Delphi)
16+- well structured modular language
17+- safe and clean syntax, great for team work
18+- fast compile-time
19+- Object Pascal have really nice oop/interfaces implementation
20+
21+## Q&A
22+
23+Q: Why there're so many limitations on what expressions i can use in "for" and "while" operators?
24+
25+A: to force you to create maintainable and readable code
26+
27+Q: Pascal doesn't allow to specify complex types without intermediate types. I.e. "an array of pointers to a function that accepts 2 ints and returns a pointer to function that returns a float" \<c\> float (*(*a\[10\])(int, int))() \</c\>
28+
29+A: Has it any advantage to define no intermediate type?
30+
31+``` pascal
32+type
33+ TFloatRetFunc = function : single;
34+ TSomeArray = array [0..9] of function (a, b: Integer): TFloatRetFunc;
35+```
36+
37+## Advantages over C/C++
38+
39+- no preprocessor (better code reading and understanding);
40+- no hardly readable and poorly debugged STL;
41+- compiler built-in string-type (string ShortString, AnsiString, WideString). As well as still available to use PChar;
42+
43+## see also
44+
45+- [[Why use Pascal]]
46+
47+---
48+*From the Free Pascal wiki, page "Holywar", as it stood on 2020-07-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
49+Category: Promotion

Back to history