[fpc-pascal] Feature announcement: Dynamic array extensions

Maciej Izak hnb.code at gmail.com
Mon May 21 12:54:00 CEST 2018


2018-05-21 10:49 GMT+02:00 Jonas Maebe <jonas at freepascal.org>:

> Breaking backwards compatibility is one of the the worst things you can do
> in a programming language/compiler, and the primary concern when making
> changes to a language should always be to avoid this (except when you're
> developing a new language that's still in its infancy).
>
> Even if you design everything with that mindset, you know that you will
> still have to do it occasionally because you missed certain things or could
> not foresee them. Especially since no one cares to formally specify and
> analyse standards for Pascal anymore, so nothing gets vetted properly.
> Those cases are enough, there is no need to intentionally add more (even if
> only potential ones).
>
> Breaking backwards compatibility wastes time (both of the developer that
> has document the change and the users that have to adapt their —or worse,
> other people's— code), wastes energy on friction (users annoyed that their
> code no longer works, compiler developers annoyed that users didn't read
> the changelog, noise on fora/mailing lists, extra bug reports), and breaks
> the most fundamental expectation of using a high level language
> (unambiguous/formally correct code that used to compile/work should keep
> compiling/working; that's the whole point of using a high level language).
>
> Some of the above things can also happen if a particular feature is not
> available in a certain language mode, but that is bound to the nature of
> language modes: not all language modes provide the same features and/or
> features in the same way.


Generally I fully agree with that... Anyway Delphi mode/case is special.
AFAIK all significant Delphi compiler developers are lay off. The progress
for classic Delphi is almost dead and Delphi NEXTGEN totally breaks
backward compatibility.

We have interesting time : FPC Delphi mode with FPC RTL is more backward
compatible with Delphi than new Delphi :).

I don't like the totally prohibition for all new things in Delphi mode,
this is because not everyone is happy with ObjFPC and personally I prefer
more Delphi syntax (XE2 level/features) but I want to have new features too
(like fully working "Dynamic array extensions" without any prohibitions). I
like to use some elements from Oxygene dialect (which probably can not be
100% ported into FPC). I have many voices abut this from community and many
programmers agree with me.

The solution for keeping Delphi mode in right place and leave ObjFPC in FPC
core hands, is new mode : NewPascal.

This was discussed few years ago that I will be able to do new mode when I
will done few modeswitches, but now I am outside core team, situation is a
little complicated but I am more determined. :)

-- 
Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180521/85acca44/attachment.html>


More information about the fpc-pascal mailing list