Holywar: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Holywar
| Old | New | Line | |
|---|---|---|---|
| 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 |
