Markus Gerwinski wrote:
I think, a verbatim Delphi compatibility of GPC is _not_ a good idea, especially regarding its tendency to C resemblance, which was the trigger of this thread. In my experience, the Delphi tendence of imitating C leads to nothing but making Delphi a _less_ powerful language. (E.g. the Delphi _styleguide_ -- not even the compiler itself -- tells you to put every class definition into a file of its own, thus yielding lots of cross-reference errors whenever two classes have to know each other. A "true Delphi developer" will rather implement dozens of f*cking workarounds than break with this C-style rule.)
Really? I'd rather forbid external declarations of things defined in other Pascal source files as well as circular unit references (no people, don't worry, I won't do it, I just say I'd rather ;-) than to encourage them.
Delphi compatibility of GPC should be restricted to the effort to provide all mechanisms Delphi is capable of, but not necessarily with the same syntax. E.g. there should be an exception handling mechanism with try..except..finally clauses, but they needn't exactly look like their equivalent in Delphi.
I agree that we should have EH sometime, and as long as there are no problems (such as ambiguities, inconsistencies, ugliness ;-), other compatibility requirements), we should probably use the same syntax.
I'm more concerned about those features that add no new capabilities, but just more syntactical variations or unnecessary complexity ...
Prof. A Olowofoyeku (The African Chief) wrote:
On 24 Nov 2002, 13:02:36 Martin Liddle wrote:
This is free software. The people doing the work are free to do whatever they want.
That is merely to state the obvious - but it is a sad day when this is considered an appropriate response to a question about whether and to what extent a certain feature should be added to GNU software. I didn't think that GNU was about the dictatorship of the maintainers. I doubt that Frank himself would consider the statement: "I do the work, so I can do anything I please" to be sound reasoning or an appropriate response.
I've discussed some planned changes here, and I plan to continue so. However, I find it disappointing when sometimes discussions about the actual (de-)merits of a feature are stifled in favour of "[my favourite compiler] does it so and so" or "the standard doesn't have it".
I personally want a language that is powerful and easy to use (in my taste, of course ;-). The standards go a long way to that aim, but they don't cover everything (especially in lower-level areas), and make some things more complicated than necessary. The same goes for other dialects, except that the areas are different (low-level usually covered better, but higher-level often worse) and the percentage of good vs. bad features might vary ...
My consequence is neither to ignore the standards, nor to restrict myself to them (or any other given dialect), but to support the standards, but also better (IMHO) alternatives, and to use the latter in my Pascal programs, so they remain clear and portable etc. (which is, in the end, my main goal).
So when I implement some compatibility features (including some dubious standard features like "mixed comments"), I do so only for completeness and will likely never use them myself. Therefore, obviously, my motivation is not as high as with more important (IMHO) features, especially if they are difficult to implement or cause more problems (such as syntax ambiguities). Of course, I won't stop anyone from doing it themselves (if they find ways to solve the problems and/or invest the necessary effort) ...
Besides, when implementing a new feature, there's often a choice of doing it well and efficiently, or just to barely satisfy the compatiblity requirements with an easy implementation, or whether to add a warning that the feature is stupid and should be used only for backwards-compatiblity etc. We've done such things, especially with some BP features (added warnings, put them in the System unit, etc.). Sometimes a discussion about a feature can also give me an idea about how to judge it in these regards (e.g., someone might come up with an application that makes a feature look really useful which I wasn't aware of).
Personally I have been happy with Frank's priorities.
So have I - and so have (one must assume) most people on this list. That does not dispense with the need sometimes to discuss (and agree or disagree on) important issues. If an issue is important to one person, then it is important and discussion thereon should not be stifled because it irritates, bores, or disinterests others.
I agree, but I also apply this to discussions about more general issues such as how to value a certain dialect (Delphi in this case) in general. If noone else is interested in this question, fine, but I don't want to be forbidden to even question Borland's eternal wisdom. ;-)
For the record, Delphi compatibility would be of some minor interest to us.
This is what I was asking about. And this is the response that answers that question. It is clear that there is little desire here for Delphi compatibility. So be it. At least we now have a clear idea on how people feel about it (presumably those who are silent are not interested). So we can forget about Delphi compatibility, and life can go on. Frank, you're now officially "off the hook", and you can concentrate your efforts on features that people do want ;-).
I guess this also signals doom for my "Delphi compatibility" units, which can perhaps quietly disappear. This is not necessarily a bad thing, because I have long been dubious as to whether anyone other than me is using them. I still intend of course to continue to develop them for my own purposes, so those who are interested in them will be able to get updates.
This is no big surprise to me, as those who (think they) need Delphi compatibility urgently are probably using other compilers now. I suppose it will require a rather big one-time effort to get it started to a partly usable state. Then others might get interested, and it can slowly improve.
I think that's also how BP support started. Peter needed it (at that time, around 1995) for his projects, so he made the effort and implemented some of the most important things in one go. Later, when they were tested and improved some more, others (like me) joined and helped with the "fine-tuning".
For Delphi, I currently don't see anyone with the necessary motivation to do the initial step. (Neither me -- I don't really have the motivation because I probably won't use much of it myself, also there are a number of other things I rather do instead that will probably be more useful, I think.) Of course, this may change at any time, so a decision not to implement something now, is not a final decision to do it never.
Frank