Menu
Sign In Search Podcasts Libraries Charts People & Topics Add Podcast API Blog Pricing

Ryan Peterman

๐Ÿ‘ค Speaker
1027 total appearances

Appearances Over Time

Podcast Appearances

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And one of the things they look at is, especially R has an especially tricky thing, which is, unlike Python, R is also a lazily evaluated language, where the arguments to functions are not evaluated before you start the function body.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

They wait until the function kicks off, and they just are passed as promised objects.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And what they look at is they look at, well, how often are these promises could have been eagerly evaluated?

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And how often is the overhead of these promises worth it?

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And their conclusion is 70%, or maybe more.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

Maybe it's 90%.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

I forget the numbers.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

You basically have no reason you needed to do this.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

Almost never do you need this.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

But you actually pay an enormous overhead cost for having agreed to do this.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And a good example, let's say in Python also,

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

In Python, you can manipulate the symbol table using functions in the inspect module.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And so what that means is you can never be sure of what something's bound to.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

You always have to be afraid and check.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And just sort of general, the lack of invariance, that's what makes a language fast.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

It's like you have lots of invariance.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

What makes your language slow is you have lots of stuff you might have to go confirm at runtime.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

And R is just incredibly pervasively like this.

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

Really what drove me nuts was there were just a ton of people

The Peterman Pod
MSL Eng Director: Promo Hacking, Industry Shifts, Regrets | John Myles White

fundamentally wanted to be professors or postdocs and were in a PhD program.