<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-18241482.post6389959278647293251..comments</id><updated>2009-04-04T12:11:11.393-07:00</updated><title type='text'>Comments on Programming and Debugging (in my Underhøøsen): Another Perl in the Wall</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://the-free-meme.blogspot.com/feeds/6389959278647293251/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html'/><author><name>The Free Meme</name><uri>http://www.blogger.com/profile/08287129746971472910</uri><email>cristi.vlasceanu@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18241482.post-5780721312402206995</id><published>2009-04-04T07:12:00.000-07:00</published><updated>2009-04-04T07:12:00.000-07:00</updated><title type='text'>Perl is the best scripting language for Text proce...</title><content type='html'>Perl is the best scripting language for Text processing and handle regex. I have posted few articles related to those at my blog&lt;BR/&gt;&lt;BR/&gt;&lt;A HREF="http://icfun.blogspot.com/search/label/perl" REL="nofollow"&gt;http://icfun.blogspot.com/search/label/perl&lt;/A&gt;&lt;BR/&gt;&lt;BR/&gt;Also Perl's Cpan has lots of support that I don't even need to think extra while developing project. I didn't find such help on other programming language except Java and .NET</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/5780721312402206995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/5780721312402206995'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238854320000#c5780721312402206995' title=''/><author><name>Wolf</name><uri>http://www.blogger.com/profile/17577123618506519393</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-5574959224436082666</id><published>2009-03-27T19:46:00.000-07:00</published><updated>2009-03-27T19:46:00.000-07:00</updated><title type='text'>Anonymous, I think that the best solution for the ...</title><content type='html'>Anonymous, I think that the best solution for the problem space that you are describing is to replace the memory allocator in the run-time libraries for that specific platform (this is the moral equivalent of providing your own version of malloc for a C/C++ application).&lt;BR/&gt;&lt;BR/&gt;This I have nothing against. My issue is with having the operator new overridden in select classes (or class hierarchies) resulting in an application where some objects live on the default, garbage-collected heap, but others are instantiated on a user-managed heap.&lt;BR/&gt;&lt;BR/&gt;Your use case is very clean and simple: you want all allocations to go through a game console specific allocator; this should not even be the game developer's concern, it should be handled by the  D implementation for that OS.&lt;BR/&gt;&lt;BR/&gt;I believe the Tango library system allows for pluggable allocation strategies, so that the GC mechanism can be bypassed, but I believe that it is an all-or-nothing deal in the sense that you can't have some classes use allocator A and some other allocator B. I'll have to refresh my memory on that topic.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/5574959224436082666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/5574959224436082666'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238208360000#c5574959224436082666' title=''/><author><name>The Free Meme</name><uri>http://www.blogger.com/profile/08287129746971472910</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05942387056293398693'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-8775418476452933990</id><published>2009-03-27T17:52:00.000-07:00</published><updated>2009-03-27T17:52:00.000-07:00</updated><title type='text'>It's not just performance, its also dealing with a...</title><content type='html'>It's not just performance, its also dealing with a small fixed amount of memory.&lt;BR/&gt;&lt;BR/&gt;For example, If your writing for a game console, you don't have the luxury of virtual memory, which means fragmenting the heap is a very serious concern, because if an allocation fails to due to fragmentation, the game crashes.&lt;BR/&gt;&lt;BR/&gt;If you can write your own heap, which you access through a custom allocator, you can allocate memory in fixed size blocks which, or use other strategies which, I'm not sure I can go into here, to avoid fragmentation.  You can also have multiple heaps with different block sizes for different types data.&lt;BR/&gt;&lt;BR/&gt;And yes, there is a performance benefit as well.  I haven't actually done much work with my company's memory allocation (other deciding what type to use for what I'm writing) but I've been told that the console OS's allocation can be quite slow.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/8775418476452933990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/8775418476452933990'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238201520000#c8775418476452933990' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-1218343622093809689</id><published>2009-03-26T22:16:00.000-07:00</published><updated>2009-03-26T22:16:00.000-07:00</updated><title type='text'>Anonymous, you may have a point and I would like t...</title><content type='html'>Anonymous, you may have a point and I would like to understand your argument better.&lt;BR/&gt;&lt;BR/&gt;Could you please expand on what motivates your need for a custom allocator? I presume it is performance; if so, do you have any numbers that show the impact of a specialized memory allocator over the default, built-in behavior?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/1218343622093809689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/1218343622093809689'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238130960000#c1218343622093809689' title=''/><author><name>The Free Meme</name><uri>http://www.blogger.com/profile/08287129746971472910</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05942387056293398693'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-3468182659249415525</id><published>2009-03-26T21:59:00.000-07:00</published><updated>2009-03-26T21:59:00.000-07:00</updated><title type='text'>I can't disagree with you more.  The more I deal w...</title><content type='html'>I can't disagree with you more.  The more I deal with C++, the more I want I want to use a language that makes things a little easier on me. &lt;BR/&gt;&lt;BR/&gt;I'm a game programmer, and I'm coming to the conclusion that C++ really isn't a great fit for the problem domain (although it definitely beats C.)&lt;BR/&gt;&lt;BR/&gt;D directly addresses most of the issues I have with C++ while letting me do the same tasks - tasks which require things like a custom allocator.&lt;BR/&gt;&lt;BR/&gt;C++ was never really meant to be a great applications language, its no wonder D is much better in that area, but I don't see a good reason *why* it can't be as flexible as C++.  If you made the argument that custom allocators some how were hurting other language features, then maybe I could see your point.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/3468182659249415525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/3468182659249415525'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238129940000#c3468182659249415525' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-4451558302112937386</id><published>2009-03-26T16:12:00.000-07:00</published><updated>2009-03-26T16:12:00.000-07:00</updated><title type='text'>Right, I figured as much; however, I was merely me...</title><content type='html'>Right, I figured as much; however, I was merely meaning associates in the friendly, or you 'know them', sort of the word, less the business sense of the word.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/4451558302112937386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/4451558302112937386'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238109120000#c4451558302112937386' title=''/><author><name>Alexander</name><uri>http://www.blogger.com/profile/05269018823666569680</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11400050770513321197'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-6575946719036049361</id><published>2009-03-26T14:23:00.000-07:00</published><updated>2009-03-26T14:23:00.000-07:00</updated><title type='text'>Thanks for supporting my views. For the record: I ...</title><content type='html'>Thanks for supporting my views. For the record: I do not work for Digitalmars, I do this project on my own in the after hours, so that I can learn more about the CLR and .NET</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/6575946719036049361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/6575946719036049361'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238102580000#c6575946719036049361' title=''/><author><name>The Free Meme</name><uri>http://www.blogger.com/profile/08287129746971472910</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05942387056293398693'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-18241482.post-8865425977924572516</id><published>2009-03-26T13:32:00.000-07:00</published><updated>2009-03-26T13:32:00.000-07:00</updated><title type='text'>I agree completely.  Use the right tool for the jo...</title><content type='html'>I agree completely.  Use the right tool for the job.  You don't mercilessly hack away at the tool until it does what you want it to, although effective in the short term, long term use can often yield unpredictable results.  That's the very reason new languages get created, the tool to do what they want, how they want, doesn't exist: so they make it a reality.&lt;BR/&gt;&lt;BR/&gt;When it comes down to it, interoperability between languages is probably one of the better solutions for this.  Where you want the power to leverage system level tasks, the suggestion towards a Systems D would be preferable, but when you're working on individual user applications, you'd want a better safety on the language, so you don't 'shoot yourself in the foot' on something a lot of people really use, and it breaking won't be system crippling.&lt;BR/&gt;&lt;BR/&gt;Interoperability comes into play when you need solutions to problems that need to play in both worlds, a managed or GC'ed architecture might be appropriate towards game development, but the engine and other aspects are better suited towards a language where you can leverage every inch you can muster.  In cases where libraries are used by both, a level between the two can be made where they can both exist, so one can talk to the other.&lt;BR/&gt;&lt;BR/&gt;It sounds like your associates at digital mars are forgetting one of the basics of programming: the perfect language doesn't exist, should it be so, we would all use it.  There's reasons for the different degrees of separation in languages.  Let's hope you can bring that to their eyes and prevent them from making an 'all in wonder' that is so convoluted, due to syntactical flair individual to describing each feature they decide would be cool, that no one uses it; thus, it becomes yet another language for the 'cool, but unwieldy' heap.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/8865425977924572516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18241482/6389959278647293251/comments/default/8865425977924572516'/><link rel='alternate' type='text/html' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html?showComment=1238099520000#c8865425977924572516' title=''/><author><name>Alexander</name><uri>http://www.blogger.com/profile/05269018823666569680</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11400050770513321197'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://the-free-meme.blogspot.com/2009/03/another-perl-in-wall.html' ref='tag:blogger.com,1999:blog-18241482.post-6389959278647293251' source='http://www.blogger.com/feeds/18241482/posts/default/6389959278647293251' type='text/html'/></entry></feed>