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

David Heinemeier Hansson (DHH)

๐Ÿ‘ค Speaker
4269 total appearances

Appearances Over Time

Podcast Appearances

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

You take a generic language like Ruby and you tailor it to a certain domain, like describing relationships in a database at a object level.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

And this is one of those early examples where you can do user has many comments, belongs underscore two space colon account.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Now you've set up a one-to-one relationship before we had a one-to-many relationship.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Rails is rife with all these kinds of domain-specific languages where...

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

And sometimes it doesn't even look like Ruby.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

You can't identify Ruby keywords.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

You can just identify what looks like keywords in its own programming language.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Now, again, I know that Lisp and others also do this stuff.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

They just do it with the maximum amount of line noise that can ever be crammed into a...

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Programming language, and Ruby does it at a level where you cannot tell my metaprogramming from Matz's keywords and with zero line noise.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

I've actually never written any real Lisp myself.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Because I have two eyes and I can look at code and my aesthetic sensibilities forbid me to even go much further, which is a limitation, I know.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

I should actually dive into Lisp because I found that I've learned a lot just diving into, maybe I'm insulting Lisp again here, but the past of programming languages.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

With Smalltalk, for example, I think Smalltalk is a incredible experiment that also worked, but isn't suitable for today's programming environments.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

It's the essence of what makes Ruby Ruby.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

This is why I don't fully understand when people call for Ruby to add static typing.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Because to me, it's the bedrock of what this is.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

Why would you want to turn one of the most beautiful languages into something far uglier?

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

This is one of my primary objections to Ruby.

Lex Fridman Podcast
#474 โ€“ DHH: Future of Programming, AI, Ruby on Rails, Productivity & Parenting

static typing it's not just that it limits you in certain ways it makes metaprogramming harder i write a bunch of metaprogramming i've seen what it takes to do metaprogramming in typescript that was actually one of the things that just really sent me on a tear of getting meta or getting typescript out of some of the projects that i'm involved with we pulled typescript out of um