<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 10 June 2015 at 09:11, Rikki Cattermole via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 10/06/2015 7:02 p.m., deadalnix wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Wednesday, 10 June 2015 at 04:55:43 UTC, Rikki Cattermole wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think that a lot of the people asking for a 2.067 LDC are just users<br>
of D, and (I am including myself in this group) a lot of those people<br>
don't know the first thing about LLVM or good complier design in<br>
general. While it may seem dishonest for people to ask for these things<br>
and not help, keep in mind that the vast majority of programmers are not<br>
even able to help.<br>
</blockquote>
<br>
I for one would love to help. But I barely understand X86. Not to<br>
mention having to get a setup going ext. Not really worth it right now<br>
for me.<br>
<br>
Although I'd rather work on SDC instead of LDC. Primarily because well<br>
it's so shinyyyyyy.<br>
<br>
I would be happy to write a book to teach compiler development from<br>
everything from basic x86 encoding to complex optimization strategies.<br>
If only I knew it and yes I know they exist just wrong method for<br>
teaching it IMO.<br>
</blockquote>
<br>
Lately, I've been listening to a playlist of interview, presentations<br>
and other thing involving Elon Musk. The playlist is hours long and I'm<br>
listening to it while doing other things.<br>
<br>
After selling paypal, Musk wanted to use part of his money to revive the<br>
desire to explore space. What he plan to do is to send a plant on Mars,<br>
a very symbolic stunt that would, he hopes, renew the interest in space<br>
exploration, maybe increase NASA funding or whatnot.<br>
<br>
Thing is, he doesn't know about space that much. He has a physic major<br>
working on batteries, and then went to have a payment processing<br>
company. So he could have said, like you guys, "well I don't know much<br>
about space/compiler let's wait for others to make things happen". But<br>
nope, he went to talk to space specialists, engineer and scientists, and<br>
then, went got in touch with some Russian to buy refurbished ICBM in<br>
order to start experimenting.<br>
<br>
One of the notable thing is how amazed people are that he went to buy<br>
ICBM from the russian. Well guess what, that is one of the cheapest<br>
thing that can go into space, so if you want to make something happen,<br>
that is an excellent starting point.<br>
<br>
I can continue the story with myself (because everyone knows I compare<br>
to Elon in so many ways, and he is greatly inspired by my vision and<br>
capability to make things happen). Recently I got to a point on SDC<br>
where working on the GC became an important item. Thing is, I know about<br>
compiler not memory allocator. Having low level knowledge of how the CPU<br>
operate does not provide me wisdom about what kind of algorithm and<br>
datastructure will behave nicely on a typical wokload.<br>
<br>
So I went to read tcmalloc source code, jemalloc source code, libc's<br>
malloc, I read a ton of paper about various allocators, and went after<br>
Jason Evan - one of the great perk of working for Facebook is to have<br>
all these amazing people who can make you feel like an idiot because<br>
they know so much more than you do - as to get as much of the "why" as<br>
possible. the code told me the "what/how" but that is not sufficient to<br>
get a good grasp of the matter at hand.<br>
<br>
Making things happen is not about waiting for the wisdom to fall from<br>
the sky to deliver you the deep and arcane knowledge of compiler/memory<br>
management/rocketry . It is about learning enough to get started, and<br>
then start do do thing while continuing to learn more.<br>
<br>
To get back on point, yes some task in LDC or SDC (or DMD, or GDC)<br>
require some good knowledge of compiler stuff. Obviously, these are<br>
compiler, and I'd add D compiler, which involve a certain level of<br>
complexity. But let's be honest, a good chunk of the work is not guru<br>
level compiler arcane. Most of the work is actually dumb shit that just<br>
need to be done like it is for all other software.<br>
<br>
You don't wait to know how to paint like Rembrandt to start painting.<br>
Because that will never happen. You just paint dumb shit again and<br>
again, trying to make the new shit a bit less shitty than the old shit.<br>
You do that while studying Rembrandt's techniques. And, after thousand<br>
of painting, you finally get there.<br>
</blockquote>
<br></div></div>
I'm well aware.<br>
I've been hammering out over long term to learn the underlying technologies.<br>
For example writing a PE-COFF linker.<br>
<br>
My experience is well ugh lets just say, if something seems hard and almost impossible maybe something isn't quite right.<br>
<br>
Unfortunately I'm in a war of attrition trying to learn x86 and friends. And its a long one!<br>
</blockquote></div><br></div><div class="gmail_extra">Good luck with that. :-)<br><br></div></div>