Per popular demand, here are Adam D Ruppe's presentation slides

Adam D. Ruppe via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri May 23 16:32:09 PDT 2014


You can see some margin notes I added this morning about stuff I 
was thinking about saying to fill time!

For example, being willing to experiment helps with speed, like 
Walter said. It also applies here: disassemblies might be scary 
the first time, but if you dive into it and see about toying with 
it, just tinker, guess and check your way to better benchmarks... 
you'll probably find success before too long.

And the key point with the "just try it gnashing of teeth" note 
is that you really don't have much to lose! Except time perhaps, 
but once you've done it a few times you'll be able to find 
shortcuts. And besides put a time limit on yourself to make sure 
you don't waste your whole life and you'll be ok.

LOL up top I called myself a "web/dynamic god". See what I said 
about my ego? I praise me even in notes to self!

Up top, I made a note to self after Don's talk, where he talked 
about getting serious with industrial use. Well, I say back to 
fun... but at the same time, knowing the whole library is useful. 
Not only is it good to know the underlying stack when 
abstractions start leaking, but there's actually practical 
applications to playing with the runtime:

1) Special performance or size requirements (Sociomantic, I think 
Mike Parker did that for some games too, or embedded stuff)

2) Organization-wide lint kind of stuff. You can use a custom 
object.d for RTInfo for example to do checks and not worry about 
third-party integration so much because you are only interested 
in "works for me" without the hassle of redistribution.

3) Running D in places like a platform that only has a C compiler 
or maybe converting to JavaScript (that's how I started this, it 
was dtojs forked off Daniel Murphy's D->C converter that first 
got me playing without the runtime) might find use of these 
functions being implemented differently or ignored.


So while I still tend to say half the stuff I mentioned there is 
useless info, the general idea of being willing to play with it 
might not be - you never know when one of these random ideas will 
work out.


* * *

Two other margin notes that came up during the conference: Walter 
mentioned UFCS with the first argument as the "this" thing.... 
but when you do a method on a struct, the this reference is 
actually passed as a (hidden) last argument! So I just lol'd a 
bit at it not being quite so uniform.


The other one is moving the language to object.d. For example, 
some of the chatter after Don's talk was about size_t being 
unsigned. So annoying! I think it would be kinda nice if that 
could actually be redefined somehow. I've also talked before 
about how it might be cool to to "alias int = __int;" to use 
builtin ints or "int = RangedChecked!(0, 100);" to make the int 
type behave differently in the case of that custom runtime.

To my surprise though, I ran out of time and even had to cut some 
questions short :( Oh well, y'all can always find me here.



PS sorry I had to run out early today during the lightning talks! 
My ride back to the airport was already there, they wanted to 
avoid rush hour traffic.


More information about the Digitalmars-d-announce mailing list