[fpc-pascal] Feature announcement: Dynamic array extensions
jonas at freepascal.org
Mon May 21 10:49:41 CEST 2018
On 21/05/18 01:36, Maciej Izak wrote:
> IMO potentially breaking compatibility is better than lock/prohibition
> for missing features in Delphi (or waiting for Delphi implementation).
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.
More information about the fpc-pascal