Artlav wrote:
onlyonemac wrote:
Name one current, mainstream project that uses Pascal.
Total Commander.
http://www.ghisler.com/"Windows-is-useless-without-it" kind of mainstream.
Good luck trying to satisfy me that something designed for Windows 3.1 and which has a webpage looking like it's from the 90s is really "current". Besides, that's just one against an almost infinite number of projects written in C, or another modern language such as Java. So you're going to have a hard time convincing anybody that Pascal is actually used in the field these days.
Artlav wrote:
onlyonemac wrote:
No, incoherencies in language structure and syntax. As in, in one context a particular thing should be written a particular way whereas in another context it should be written another way
For example (including why is it bad)?
I can't remember anything off the top of my head but I remember a good few examples in the Pascal programming book that I read, which I would post here if only my sight was still good enough for me to read said book.
Artlav wrote:
onlyonemac wrote:
without bothering to add extra bits of code to every function just to make it compatible with the rest of the world.
Hm?
A. What sort of code are you talking about? At worst you had to add stdcall or cdecl to the function declaration, AFAIK.
B. How does that matter for OS dev? Your OS, your rules (going back to the original *shudder*).
A. So? Having to add either "stdcall" or "cdecl" after EVERY function definition is a real pain in the @$$ and wouldn't be necessary if you used a more standard language, instead of trying to bend a non-conforming antiquated language to fit the modern world.
B. Your OS, your rules, but trying to do any low-level work in a language such as Pascal which has such a ridiculously high-level syntax that you can't really write decent system code in it (note that I said "DECENT system code") seems like a poor choice. And it is a major oversight in two ways: firstly if you later decide to write other parts of your OS in C, your existing codebase will be incompatible with it (unless you add "stdcall" or "cdecl" to every exported function, or "pascal" in front of every C function to specify Pascal calling style, neither of which is a very good idea) and secondly it will be impossible to port any standard libraries to your operating system, including such things as OpenGL, Cairo, etc. unless you add the correct calling directives to every function (see first part).
Artlav wrote:
You need at least a few modern features to make it a useful high-level language.
Exactly my point. And to add those "modern features" to an outdated language is going to require a significant amount of syntactical bloat which is what we get with e.g. specifying calling styles.