On 10 June 2015 at 09:02, deadalnix via Digitalmars-d < digitalmars-d@puremagic.com> wrote:
> On Wednesday, 10 June 2015 at 04:55:43 UTC, Rikki Cattermole wrote: > >> I think that a lot of the people asking for a 2.067 LDC are just users >>> of D, and (I am including myself in this group) a lot of those people >>> don't know the first thing about LLVM or good complier design in >>> general. While it may seem dishonest for people to ask for these things >>> and not help, keep in mind that the vast majority of programmers are not >>> even able to help. >>> >> >> I for one would love to help. But I barely understand X86. Not to mention >> having to get a setup going ext. Not really worth it right now for me. >> >> Although I'd rather work on SDC instead of LDC. Primarily because well >> it's so shinyyyyyy. >> >> I would be happy to write a book to teach compiler development from >> everything from basic x86 encoding to complex optimization strategies. If >> only I knew it and yes I know they exist just wrong method for teaching it >> IMO. >> > > Lately, I've been listening to a playlist of interview, presentations and > other thing involving Elon Musk. The playlist is hours long and I'm > listening to it while doing other things. > > After selling paypal, Musk wanted to use part of his money to revive the > desire to explore space. What he plan to do is to send a plant on Mars, a > very symbolic stunt that would, he hopes, renew the interest in space > exploration, maybe increase NASA funding or whatnot. > > Thing is, he doesn't know about space that much. He has a physic major > working on batteries, and then went to have a payment processing company. > So he could have said, like you guys, "well I don't know much about > space/compiler let's wait for others to make things happen". But nope, he > went to talk to space specialists, engineer and scientists, and then, went > got in touch with some Russian to buy refurbished ICBM in order to start > experimenting. > > One of the notable thing is how amazed people are that he went to buy ICBM > from the russian. Well guess what, that is one of the cheapest thing that > can go into space, so if you want to make something happen, that is an > excellent starting point. > > I can continue the story with myself (because everyone knows I compare to > Elon in so many ways, and he is greatly inspired by my vision and > capability to make things happen). Recently I got to a point on SDC where > working on the GC became an important item. Thing is, I know about compiler > not memory allocator. Having low level knowledge of how the CPU operate > does not provide me wisdom about what kind of algorithm and datastructure > will behave nicely on a typical wokload. > > So I went to read tcmalloc source code, jemalloc source code, libc's > malloc, I read a ton of paper about various allocators, and went after > Jason Evan - one of the great perk of working for Facebook is to have all > these amazing people who can make you feel like an idiot because they know > so much more than you do - as to get as much of the "why" as possible. the > code told me the "what/how" but that is not sufficient to get a good grasp > of the matter at hand. > > Making things happen is not about waiting for the wisdom to fall from the > sky to deliver you the deep and arcane knowledge of compiler/memory > management/rocketry . It is about learning enough to get started, and then > start do do thing while continuing to learn more. > > To get back on point, yes some task in LDC or SDC (or DMD, or GDC) require > some good knowledge of compiler stuff. Obviously, these are compiler, and > I'd add D compiler, which involve a certain level of complexity. But let's > be honest, a good chunk of the work is not guru level compiler arcane. Most > of the work is actually dumb shit that just need to be done like it is for > all other software. > > +1 The current 'arcane' job being done in my camp is encapulating related codegen routines under a single umbrella.