On 10/06/2015 7:35 p.m., Iain Buclaw via Digitalmars-d wrote:
On 10 June 2015 at 09:11, Rikki Cattermole via Digitalmars-d
<digitalmars-d@puremagic.com <mailto: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. :-)

Thanks, I just wish we weren't in the current situation hardware wise.

Reply via email to