In this episode we interview Barry Kelly who is one of the talented software engineers working on the Delphi compiler at Embarcadero’s CodeGear. We will discusses native code garbage collectors, generics, Anonymous methods and more.
- SmartInspect give away – Enter to win a free license
- Barry’s Blog
- Barry’s native code garbage collector for Delphi – Barry wrote this free conservative garbage collector for Win32 Delphi that he discusses in the podcast.
- Example of a value typed TStringList – We discussed this a bit during the podcast as an example pattern of how to fake garbage collector.
- CodeRage 2007 replay with Barry Kelly – Talking with David I about the Delphi compiler and working at CodeGear.
Standard Podcast [ 44:44 ] Play Now | Play in Popup | Download
10 replies on “3 – Barry Kelly”
Very good! Lots of interesting stuff in there 🙂
Keep ’em comin
Loved it! Very interesting insights into the inner workings of the compiler and the need for changes or additions to support the next generation language features.
I really really liked this podcast. And I hope he gets the chance to really clean up some of those delphi “features” that he talked about at the end. A deprecation model would probably help here. Maybe a compiler warning like “This feature will be removed in one of the next versions. Please consider replacing by X”.
Interesting episode. Let’s have Barry every other week 😉
I really enjoyed what Barry had to say and it was really interesting to hear from someone that deep into the product … the compiler. [No offense intended to the generally “more exposed” managers.] I learned a lot of interesting bits on not only the compiler but GC in Win32 [tremendous explanation] and all the additional items in the “if you had free rein” segment. I found it significant that, the way he responded, made it very easy to understand what it was he was talking about – even for me.
Adding links to his blog was an excellent idea. I had to stop scanning through the articles more often than not, scroll back the replay and listen to it again because I’d found something I really wanted to read. There’s a bunch of articles there on building a compiler that I’ll have to get back to – I did download the tutorial he referenced in his first on the series.
Brilliant, thanks to both of you.
A very interesting episode, I particularly enjoyed hearing from one of the engineers who wades through the compiler source every day and getting his views on GC and the future of the language! Even the highly technical bits were clearly explained too, which is unusual!
Excellent podcast. I think it is really great that Barry is blogging and making himself available for this type of thing. I hope this trend continues for Codegear staff and be more open about the product and its future.
Thinking (way) back to when Objects were first introduced, they could be created on the stack in the VAR section. iirc, the pointer was on the stack, the remainder was really on the heap. This had the advantage of not needing to call the destructor and ensured a hierarchy lifetime enforced by the procedure calls, relieving the programmer of the responsibility of checking object lifetimes in 90% of situations.
At some point this option was removed, forcing explicit constructor/destructor calls. Caused an outcry similar to the Unicode-triggered one we are experiencing now.
Do I understand correctly: the RECORD wrapping trick you mention an attempt to regain the (pseudo)stack allocation situation? Might be worth investigating.
Agree with all the others; excellent episode. Packed with info. And at the speed Barry talks, we’re getting real value per downloaded byte 🙂
Interesting: “Delphi was written with Delphi” is a myth? (sort of). The compiler is C. Only the IDE was written in Delphi; and I assume only up to D7, because from D2007, even the Win32-only IDE seems to be .NET?
Thanks, very informative podcast.
I have to say though, that Barry Kelly’s way to speak makes me nervous, he seems to be very stressed. Wow, I have a knot in my stomach after listing.
Anyway, thanks Barry, for the information.