I guess the problem with dynarrays and openarrays (also as with overloaded functions wich are also very buggy for a long time) is the fact that FPC core team are old stylish programmers, and do not use these modern features themselves. Thus these features are "for users" and are not so solid. Instead you guys use pointers to arrays, getmem and other manually controlled "dynamic arrays" and other structures, but not actual pascal dynarrays. Same with openarrays and overloaded functions. I guess what you could do, strictly IMHO, is start using these features across the compiler code, so all your regression tests and other tests will constantly keep the dynarray features healthy.

It is also not possible to use new features in the compiler. The compiler needs to be able to be compiled with 1.0.x for bootstrapping.


Modern features like dynarrays and variants are for quick GUI/database applications perfect, but you don't want to use that kind of things in server daemons and programs that need to be run for a long time without downtime, because you don't have full control over things that happend.

At my job there is a rule in the coding standards that you shouldn't use malloc/getenvironmentvariable during the main processing, it is only allowed during startup because it is to slow. And for malloc there is the extra risk of memory leaks.

For the compiler compile speed is important (ppl want to compare it with Delphi). Things like dynamic arrays and ansistrings are simply too slow, because they require extra overhead for exception handling.


Peter



_______________________________________________ fpc-devel maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to