I've been playing with golang recently and although you can't strictly stop it 
garbage collecting you can compile with a flag which produces the output of the 
escape analysis. Anything that doesn't escape gets stored on the stack. Things 
that might are stored in the heap. 
I often compile with the flag and see if there is a way to use the stack rather 
than the heap in what I am doing. In hope that the heap will get hit less. 
Perhaps the other gc languages have a similar feature that isn't being used as 
much as it might? 

Matthew Melton
m...@mjmworks.co.uk

---- Gravis wrote ----

>> > Contrary to what most "modern" programmers would like to promote, I
>> > do not believe for one second that mandatorily garbage collected,
>> > bounded languages create better code design.
>>
>> I honestly can't see all this failing around of code written in
>> Python, Perl or Ruby :)
>
>garbage collection is actually a compounding issue, meaning that while
>it may not be a problem for programs that are only active for a few
>minutes before terminating, it is a problem for programs that are high
>intensity or run indefinitely.  it's typical (just ask an admin) for
>internally developed server side Java business database applications
>to require they be restarted daily because the devs cant figure out
>why they are "running out" of memory and it's easier just to have it
>restarted.  if they were developing in perl, python or any other
>number of GC languages, it would still be an issue.  while it /can/ be
>used properly, garbage collection is more of a hassle than it's worth.
>--Gravis
>
>
>On Mon, Mar 2, 2015 at 4:26 AM, KatolaZ <kato...@freaknet.org> wrote:
>> On Mon, Mar 02, 2015 at 02:59:40AM -0600, T.J. Duchene wrote:
>>
>> [cut]
>>
>>>
>>> Contrary to what most "modern" programmers would like to promote, I
>>> do not believe for one second that mandatorily garbage collected,
>>> bounded languages create better code design.  I would subscribe to
>>> precisely the reverse, actually.  If there is a flaw in the
>>> collector or the bound check, you have an extremely hard to fix
>>> problem that affects virtually everything.  You are also
>>> continuously wasting resources on overhead  for features that can
>>> fail without warning.  Even if you set that aside, the reality is
>>> that you are investing in all of that wasted overhead for vanishing
>>> returns. At no time are those features a 100% effective solution to
>>> the problems they were intended to solve, and they create entirely
>>> new ones.  So what good are they, really?
>>>
>>> Any code that does not work reliably isn't worth much.
>>>
>>
>> I honestly can't see all this failing around of code written in
>> Python, Perl or Ruby :) Bad code is bad code in C, C++, Perl, Python,
>> LISP, or whatever other language you can think of, and bad code will
>> either get better or die. IMHO the evil is not in any specific
>> language, but in the way you use it.
>>
>> Concerning "performance", well it is not always the most important
>> thing. I personally use C a lot for simulations and scientific
>> calculations, but I would never do data analysis and postprocessing in
>> C, since it would require every time a few days just to have a running
>> thing to be used only once or twice, while I can do the same task in
>> Python with 10 minutes coding and a few minutes more processing. In
>> that case, *my* time and *my* performance is more important than the
>> time it takes to the machine to crunch a few million numbers :)
>>
>> While I totally agree about the necessity to teach "good programming
>> practices" to young coders, I am convinced that there is no such thing
>> as the "perfect" language. It's just a matter of taste. And if you are
>> a good coder you will write good code in asm, C, Perl, Python or
>> Erlang. If you are not, then your code will be crap anyway :)
>>
>> HND
>>
>> KatolaZ
>>
>> --
>> [ Enzo Nicosia aka KatolaZ --- GLUG Catania -- Freaknet Medialab ]
>> [ me [at] katolaz.homeunix.net -- http://katolaz.homeunix.net -- ]
>> [ GNU/Linux User:#325780/ICQ UIN: #258332181/GPG key ID 0B5F062F ]
>> [ Fingerprint: 8E59 D6AA 445E FDB4 A153 3D5A 5F20 B3AE 0B5F 062F ]
>> _______________________________________________
>> Dng mailing list
>> Dng@lists.dyne.org
>> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
>_______________________________________________
>Dng mailing list
>Dng@lists.dyne.org
>https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to