[fpc-pascal] Feature announcement: Dynamic array extensions

Jonas Maebe 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.


Jonas


More information about the fpc-pascal mailing list