[fpc-pascal] Advanced Records - Why not available by default?

Jetcheng Chu jcchu at acm.org
Sun Jan 15 21:05:55 CET 2012


I’m not brave enough to predict what Pascal is going to look like in a
decade.  It’s true that features should not be added promiscuously, but
I don’t think Delphi is a fair target of blame.

Let’s again have a look at the table in
<http://edn.embarcadero.com/article/34324>.  Basically we can group
those features as follows.

1.  Catching up with other langauges: operator overloading.

    Operator overloading makes certain code more readable.

2.  Finer scoping and encapsulation: class-local types, variables,
    constants, and properties; “advanced” record syntax; STRICT
    visibilities; STATIC CLASS methods; class helpers; CLASS ABSTRACT;
    CLASS SEALED; and FINAL methods.

    These really are refinements of long-existed concepts, which cannot
    be elegantly reduced to pre-existing constructs.

3.  Misc: routine inlining; FOR–IN loops.

    The FOR–IN loop is the only thing that I personally find
    objectionable; that’s one in 17 (according to the table in the
    article).

There is no substantially new concepts.  None of them are difficult to
understand, certainly not requiring “months of learning”.  And if you
need some help, a simple Google query with “site:embarcadero.com” will
almost do the job.

I understand that for someone who’s been avoiding OOP in the past 20
years these new features may be annoying.  But in the meantime there are
people who grew up with object-oriented languages, and they might
welcome these changes.


On January 16, 2012, Jürgen Hestermann wrote:
> J.-c. Chu schrieb:
>> Frankly, every new feature will be a mere increase of complexity if you
>> reject learning about it.
> 
> So how should in your opinion (Object) Pascal look like in say 10 or 15
> years?
> If new "features" are added with the same speed as in the past, it would
> become
> a monster that only those who grew up with it (without gap) or who
> invest months
> of learning can control.. Every novice would surrender because the
> learning curve
> is so steep. It's no surprise that other scipting languages are so popular.
> In general they are much easier to learn.
> 
> Borland/Embacadero was the driving force behind all these changes and
> FPC had
> to follow if it wanted to stay compatible. But Borland added all these
> features
> just for one reason: They had to sell new versions of Delphi. Not the
> new users
> were the target but the existing (who should upgrade). The new ones are
> (were)
> coming anyway because they were forced to (by the existing users). But
> if one
> day FPC frees from Delphi then I hope that this annoying feature-creep
> stops.
> 
> 
> 
>> There is a listing, despite not up-to-date, of new language features
>> since Delphi 7, at <http://edn.embarcadero.com/article/34324>.  Not all
>> of them are currently implemented in FPC.  Could you point out which of
>> them is “nonsense” or “only saves some keystrokes”?
> 
> I may not be a standard user (but in the end, who is?) but I have never
> used
> (nor missed) any of the mentioned concepts, nor collections, nor objects
> nor
> classes nor whatever has been added in the last 20 years and I have never
> missed any of them. My programs are lightning fast and easy to understand.
> 
> The only thing that changed was that the number (and mightiness) of used
> libraries. But I can use them all with Pascal concepts that exist since
> Turbo Pascal.
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal

-- 
Jetcheng Chu
http://people.rerouted.org/jcchu



More information about the fpc-pascal mailing list