> On Mar 8, 2018, at 4:00 PM, Maciej Izak <hnb.c...@gmail.com> wrote:
> 
> Small ad of mORMot (main author Arnaud Bouchez aka ab) :
> 
> with SynCommons module you have nice utils for such things:
> 
> procedure MyProc;
> var
>   list: TList; 
> begin
>   with TAutoFree.One(list, TList.Create) do
>   begin
>     list.Add(x);
>     { ... some other stuff with list here }
>   end;  // <-- here is called list.Free
> end;
> 
> There is also nice module AutoScope which uses management operators (!) by 
> Dmitriy Pomerantsev aka pda0:
> 
> https://github.com/pda0/AutoScope

This is a welcome improvement to the free'ing (like your example you showed) 
but ultimately we’re still trying to clean up the mess we made by using dynamic 
memory allocation in the first place. We’ve imposed a restriction on ourselves 
to allocate everything on the heap (even when we don’t really need it) and now 
we’re trying to mitigate that using even more tricks.

I know this is how it is and not likely to change I’m just pointing it out. At 
least we’re not Java or Swift but it’s too bad C++ beat Pascal pretty good on 
this front. If Pascal is going to have any standing in the modern landscape it 
should at least be fast and low-level otherwise it’s hard not justify using 
Java, C# or any other language that is reckless with memory allocation and 
inefficient with automatic garbage collection schemes.

Regards,
        Ryan Joseph

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to