DHH David Heinemeier Hansson

Dhh David Heinemeier Hansson · 66,359 词 · 查看原文 ↗
技术与编程音乐与艺术商业与创业心理与人性AI 与机器学习
📋 章节目录
0:00 Episode highlight · 剧集亮点
1:21 Introduction · 介绍
2:32 Programming · 编程
19:57 JavaScript · JavaScript
30:16 Google Chrome and DOJ · 谷歌浏览器和司法部
38:03 Ruby programming language · Ruby 编程语言
45:14 Beautiful code · 漂亮的代码
1:03:15 Metaprogramming · 元编程
1:06:36 Dynamic typing · 动态类型
1:13:55 Scaling · 缩放
1:26:47 Future of programming · 编程的未来
1:44:18 Future of AI · 人工智能的未来
1:50:13 Vibe coding · 振动编码
1:58:45 Rails manifesto: Principles of a great programming language · Rails 宣言:优秀编程语言的原则
2:23:11 Why managers are useless · 为什么管理者没有用
2:32:32 Small teams · 小团队
2:38:39 Jeff Bezos · 杰夫·贝佐斯
2:53:57 Why meetings are toxic · 为什么会议有毒
3:01:43 Case against retirement · 反对退休的案例
3:09:00 Hard work · 努力工作
🔑 关键词
dondhhgoingrubyprogrammingcodeapplegotlanguagebettercarwebdidnrailssourceablesoftwaremoneywaysbusiness
💬 精彩语录
"Host of Lex Fridman Podcast. Research Scientist at MIT, working on human-AI interaction, robotics, and machine learning. View all posts by Lex Fridman →"
莱克斯·弗里德曼播客的主持人。麻省理工学院的研究科学家,致力于人机交互、机器人和机器学习。查看莱克斯·弗里德曼发表的所有帖子 →
— About Lex Fridman
🎙️ 完整对话(870 条)
Lex Fridman (00:01:21)
The following is a conversation with David Heinemeyer Hansen, also known as DHH. He is a legend in the programming and tech world, brilliant and insightful, sometimes controversial, and always fun to talk to. He’s the creator of Ruby on Rails, which is an influential web development framework behind many websites used by millions of people, including Shopify, GitHub, and Airbnb. He is the co-owner and CTO of 37signals that created Basecamp, HEY, and ONCE.
以下是与 David Heinemeyer Hansen(也称为 DHH)的对话。他是编程和技术界的传奇人物,才华横溢、富有洞察力,有时颇具争议,但交谈起来总是很有趣。他是 Ruby on Rails 的创建者,Ruby on Rails 是一个有影响力的 Web 开发框架,为数百万人使用的许多网站提供支持,包括 Shopify、GitHub 和 Airbnb。他是共同所有人
Lex Fridman (00:01:57)
He is a New York Times best-selling author together with his co-author, Jason Fried, of four books, Rework, Remote, Getting Real, and It Doesn’t Have To Be Crazy At Work. And on top of that, he’s also a race car driver, including being a class winner at the legendary twenty-four-hour Le Mans race. This is the Lex Fridman podcast. To support it, please check out our sponsors in the description and consider subscribing to this channel. And now, dear friends, here’s DHH.
他与杰森·弗里德 (Jason Fried) 合着了《返工》、《远程》、《变得真实》和《工作不必疯狂》四本书,成为《纽约时报》畅销书作家。最重要的是,他还是一名赛车手,包括在传奇的 24 小时勒芒比赛中获得组别冠军。这是莱克斯·弗里德曼播客。为了支持它,请查看说明中的赞助商和
Lex Fridman (00:02:32)
For someone who became a legendary programmer, you officially got into programming late in life, and I guess that’s because you tried to learn how to program a few times and you failed. So can you tell me the full story, the saga of your failures to learn programming? Was Commodore 64 involved? DHH
对于成为传奇程序员的人来说,您在晚年才正式进入编程领域,我想那是因为您尝试学习如何编程几次但失败了。那么你能告诉我完整的故事吗?你学习编程失败的传奇故事? Commodore 64 是否参与其中? DHH
Lex Fridman (00:02:53)
Commodore 64 was the inspiration. I really wanted a Commodore 64. That was the first computer I ever sat down in front. And the way I sat down in front of it was I was five years old and there was this one kid on my street who had a Commodore 64. No one else had a computer, so we were all the kids just getting over there and we were all playing Yie Ar Kung-Fu. I don’t know if you’ve ever seen that game. It was one of the original fighting games. It’s really a great game and I was playing that for the first time at five years old, and we were like seven kids sitting up in this one kid’s bedroom all taking our turn to play the game. And I just found that unbelievably interesting. And I begged and I begged and I begged my dad, “Could I get a computer?” And he finally comes home. He’s like, “I got you a computer.” I was like, yes, my own Commodore 64. And he pulls out this black, green and blue keyboard that’s an Amstrad 464. I was like, “Dad, what’s this?”
Commodore 64 就是灵感来源。我真的很想要一台 Commodore 64。那是我坐在前面的第一台计算机。当我坐在它前面时,我才五岁,街上有一个孩子拥有一台 Commodore 64。其他人没有电脑,所以我们都是刚到那里的孩子,我们都在玩一阿功夫。不知道你是否见过
Lex Fridman (00:03:53)
The disappointment. DHH
失望。 DHH
Lex Fridman (00:03:54)
This is not a Commodore 64. But it was a computer. So I got my first computer at essentially six years old, that Amstrad 464. And of course, the first thing I wanted to do, I wanted to play video games. And I think the computer, which he by the way had traded for a TV and a stereo recorder or something like that, came with two games. One was this Frogger game where you had to escape from underground. It was actually kind of dark, like this frog, you’re trying to get it out from underground. I was pretty bad at it. And I only had those two games and then I wanted more games. And one way to get more games when you’re a kid who doesn’t have a lot of money and can’t just buy a bunch of games is to type them in yourself. Back in ’84, ’85, magazines would literally print source code at the back of their magazines and you could just sit and type it in.
这不是 Commodore 64。但它是一台计算机。所以我在六岁的时候就得到了我的第一台电脑,那就是 Amstrad 464。当然,我想做的第一件事就是玩视频游戏。我认为他用这台电脑换了一台电视和一台立体声录音机或类似的东西,附带了两款游戏。其中之一是这款青蛙过河游戏,你必须从地下逃脱
Lex Fridman (00:04:46)
So I tried to do that and it would take like two hours to print this game into the Amstrad, and of course I’d make some spelling mistake along the way and something wouldn’t work and the whole thing… I wasn’t that good of English, I was born in Denmark. So I was really trying to get into it because I wanted all these games and I didn’t have the money to buy them. And I tried quite hard for quite a while to get into it, but it just never clicked. And then I discovered the magic of piracy, and after that I basically just took some time off from learning to program because well now suddenly I had access to all sorts of games. So that was the first attempt around six, seven years old. And what’s funny is I remember these fragments. I remember not understanding the purpose of a variable.
所以我尝试这样做,大约需要两个小时才能将这个游戏打印到 Amstrad 中,当然,我会在整个过程中犯一些拼写错误,有些东西不起作用,整个事情......我的英语不太好,我出生在丹麦。所以我真的很想参与其中,因为我想要所有这些游戏,但我没有钱购买它们。我很努力地尝试了很长时间
Lex Fridman (00:05:34)
If there’s a thing and you assign something, why would you assign another thing to it? So for some reason, I understood constants. Constants made sense to me, but variables didn’t. Then maybe I’m 11 to 12, I’ve gotten into the Amiga at this point. The Amiga, by the way, still perhaps my favorite computer of all time. I mean, this is one of those things where people get older and they’re like, oh, the music from the ’80s was amazing. To me, even as someone who loves computers and love new computers, the Amiga was this magical machine that was made by the same company that produced the Commodore 64 and I got the Amiga 500 I think in ’87.
如果有一个东西并且你分配了一些东西,为什么你要给它分配另一个东西呢?所以出于某种原因,我理解了常量。常量对我来说有意义,但变量没有。那么也许我是 11 岁到 12 岁,此时我已经进入了 Amiga。顺便说一句,Amiga 可能仍然是我一直以来最喜欢的计算机。我的意思是,这是人们变老的事情之一,他们会说,哦,
Lex Fridman (00:06:16)
Look at this sexy thing. That is a sexy machine right there. DHH
看看这个性感的东西。那是一台性感的机器。 DHH
Lex Fridman (00:06:19)
This is from an age by the way where computing wasn’t global in the same sense, that different territories had different computers that were popular. The Amiga was really popular in Europe, but it wasn’t very popular at all in the US as far as I understand. It wasn’t popular in Japan. There were just different machines. The Apple II was a big thing in the US. I’d never even heard of Apple in the ’80s in Copenhagen. But the Amiga 500 was the machine that brought me to want to try it again. And do you know what’s funny? The reason I wanted to try it again was I remembered the first time I tried to learn and then there was this programming language that was literally called EasyAMOS, like the easy version of AMOS. I’m like, if it’s easy AMOS, how hard can it be? I’ve got to be able to figure this out.
顺便说一下,这是一个计算并不是全球化的时代,不同的地区有不同的流行计算机。 Amiga 在欧洲非常受欢迎,但据我了解,它在美国一点也不受欢迎。它在日本并不流行。只是有不同的机器。 Apple II 在美国风靡一时。我什至从未听说过苹果公司
Lex Fridman (00:07:04)
And this time I tried harder. I got into conditionals, I got into loops, I got into all these things and still, I couldn’t do it. And on the second attempt, I really got to the point of maybe I’m not smart enough. Maybe it’s too much math. I like math in this sort of superficial way. I don’t like it in the deep way that some of my perhaps slightly nerdier friends did, who I had tremendous respect for, but I’m not that person. I’m not the math geek who’s going to figure it all out. So after that attempt with EasyAMOS and failing to even get… I don’t even think I completed one even very basic game. I thought, programming’s just not for me. I’m going to have to do something else. I still love computers. I still love video games.
而这一次我更加努力了。我陷入了条件语句,陷入了循环,陷入了所有这些事情,但我仍然做不到。在第二次尝试时,我真的意识到也许我不够聪明。也许数学太多了。我喜欢这种肤浅的数学。我不喜欢像我的一些可能有点书呆子的朋友那样的方式,我非常尊重他们
Lex Fridman (00:07:53)
I actually at that time had already begun making friends with people who knew how to program, who weren’t even programming EasyAMOS, they were programming with freaking Assembly. And I would sit down and just go, the moves and the memories and the copies, how do you even do this? I don’t even understand how you go from this to Amiga demos for example. That was the big thing with the Amiga. It had this wonderful demo scene in Europe. It’s this really interesting period of time in the Amiga’s history where you had all these programmers spread out mostly all over Europe who would compete on graphic competitions where you could probably bring one of these different-
事实上,我当时已经开始和那些知道如何编程的人交朋友,他们甚至没有编程 EasyAMOS,他们正在使用该死的 Assembly 进行编程。我会坐下来,然后走,移动、记忆和副本,你是怎么做到的?例如,我什至不明白你是如何从这里转到 Amiga 演示的。这就是 Amiga 的大事。它有
Lex Fridman (00:08:34)
On that thing? DHH
在那件事上? DHH
Lex Fridman (00:08:36)
On this thing. They would make these little almost like music videos, combining some MIDI music, combining some cool graphics, and they would do all of it in like 4K. Four kilobytes that is. Not four Ks of resolution. Four kilobytes of memory. And I just thought that was such a cool scene. This was obviously pre-internet. It was even pre-BBS, bulletin board systems, to some extent. It was you swap your demo software with someone else by sending them a disk in the mail, like the 3.5s. And I was enamored with that whole scene. I was enamored with what they were able to create and I just wanted to be a part of it even though I kind of didn’t have any skills to contribute. And that’s how I got into running BBSs.
就这件事而言。他们会制作这些几乎像音乐视频一样的小视频,结合一些 MIDI 音乐,结合一些很酷的图形,他们会以 4K 的方式完成所有这些。即四KB。分辨率不是四个 K。四KB内存。我只是觉得那真是一个很酷的场景。这显然是在互联网出现之前。在某种程度上,它甚至是前BBS、公告板系统。原来是你交换的
Lex Fridman (00:09:22)
I didn’t learn programming then and I wouldn’t learn programming until much later, until I was almost 20 years old. The bulletin board systems existed in this funny space where they were partly a service to the demo scenes allowing all these demo groups to distribute their amazing demos. And then it was also a place to trade piracy software, pirated software. And I ended up starting one of those when I was 14 years old in my tiny little bedroom in Copenhagen. I had my, at that point, Amiga 4000. I had three telephone lines coming in to my tiny room.
那时我没有学习编程,直到很久以后,直到我快20岁的时候我才学习编程。公告板系统存在于这个有趣的空间中,它们在一定程度上是为演示场景提供服务,允许所有这些演示小组分发他们令人惊叹的演示。然后它也是一个交易盗版软件、盗版软件的地方。我最终开始了其中的一个
Lex Fridman (00:09:59)
Nice. DHH
好的。 DHH
Lex Fridman (00:10:00)
Which is funny because again, I’m 14 years old. By the time I was installing my third line, you had to get someone from the telephone company to come do it. I get this guy and he’s just looking around, like what is this? Why the hell is a 14 year old having three phone lines into their tiny little bedroom? What’s going on here? Why are all these modems blinking red and black and making funny sounds?
这很有趣,因为我又14岁了。当我安装第三条线路时,你必须让电话公司的人来做这件事。我找到了这个人,他只是四处张望,这是什么?为什么一个 14 岁的孩子的小卧室里要插三根电话线?这是怎么回事?为什么所有这些调制解调器都闪烁红色和黑色并发出奇怪的声音
Lex Fridman (00:10:23)
Did your parents know? DHH
你父母知道吗? DHH
Lex Fridman (00:10:24)
They did and they didn’t. They knew I had the phone lines. They knew I had the computer. I don’t think they really understood that I was trading pirated software that was both illegal and whatever else was going on.
他们做到了,也没有做到。他们知道我有电话线。他们知道我有电脑。我认为他们并没有真正理解我正在交易盗版软件,这些软件既非法又发生了其他事情。
Lex Fridman (00:10:38)
Oh, we should probably say that in Europe, maybe you can comment on this, especially in Eastern Europe, but Europe in general, piracy I think was more acceptable than it was in the United States. I don’t know, maybe it’s just my upbringing- DHH
哦,我们可能应该说,在欧洲,也许你可以对此发表评论,特别是在东欧,但总的来说,欧洲,我认为盗版比在美国更容易被接受。我不知道,也许这只是我的成长经历-DHH
Lex Fridman (00:10:52)
Even that conversation wasn’t present. I never spoke to anyone growing up in Denmark-
Lex Fridman (00:10:56)
That piracy is wrong. DHH
Lex Fridman (00:10:57)
Who had any moral qualms whatsoever about piracy. It was just completely accepted that you’re a kid, you want a lot of games, you don’t have a lot of money. What do you do? You trade. Some people would occasionally buy a game. I mean, I once bought a Sega Master system and I bought one game because that was what I could afford. I got After Burner II, I don’t know if you’ve ever played that game. It’s a pretty bad implementation on the Sega Master System, but it was like 600 crowners.
Lex Fridman (00:11:28)
And I was making money at that time doing newspaper delivery. I had to do that for a month to afford one game. I liked video games way too much to wait a month just to get one game. So piracy was just the way you did it, and that was how I got into running this bulletin board system, being part of the demo scene, being part of the piracy scene to some extent. And then also at some point realizing, oh, you can actually also make money on this and this can fund buying more phone lines and buying more modems and buying more Amigas. Oh yeah, that was one of the demo parties. These were amazing things.
Lex Fridman (00:12:04)
What am I looking at? DHH
Lex Fridman (00:12:06)
Isn’t that amazing?
Lex Fridman (00:12:06)
Look at all those CRT monitors. DHH
Lex Fridman (00:12:08)
All these CRT monitors. Again, when I was 14, I don’t understand fully why my parents allowed this, but I traveled from Copenhagen, the capital of Denmark to [inaudible 00:12:20], this tiny little town in Jutland on the train with a bunch of dudes who were late teens, in their twenties. I’m 14 years old. I’m lugging my 14-inch CRT monitor with my computer in the back to go to the party. That was what it was called. That was the biggest demo scene party at that time and it was exactly as you see in that picture, thousands of people just lining up with their computers, programming demos all day long and trading these things back and forth.
Lex Fridman (00:12:48)
That’s kind of awesome. Not going to lie. It’s a little ridiculous. DHH
Lex Fridman (00:12:52)
It’s totally awesome, and I miss it in ways where the internet has connected people in some ways, but the connection you get from sitting right next to someone else who has their own CRT monitor, who’s lugged at halfway around the country to get there is truly special because it was also just this burst of creativity. You’re constantly running around, you’re constantly surrounded by people who are really good at what they could do, they’re really good at programming computers. It’s infectious. It was part of that pang I felt then going like, oh man, why can’t I figure this out? I mean, why can’t I even figure out EasyAMOS? It’s kind of frustrating.
查看原始文字稿 ↗
🔗 相关节目