Daily downloads in decline

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 10 00:02:58 PDT 2015


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.


More information about the Digitalmars-d mailing list