On 10 June 2015 at 09:11, Rikki Cattermole via Digitalmars-d < digitalmars-d@puremagic.com> wrote:
> On 10/06/2015 7:02 p.m., deadalnix 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. >> >> You don't wait to know how to paint like Rembrandt to start painting. >> Because that will never happen. You just paint dumb shit again and >> again, trying to make the new shit a bit less shitty than the old shit. >> You do that while studying Rembrandt's techniques. And, after thousand >> of painting, you finally get there. >> > > I'm well aware. > I've been hammering out over long term to learn the underlying > technologies. > For example writing a PE-COFF linker. > > My experience is well ugh lets just say, if something seems hard and > almost impossible maybe something isn't quite right. > > Unfortunately I'm in a war of attrition trying to learn x86 and friends. > And its a long one! > Good luck with that. :-)