与经验丰富的Rubyist配对:David A. Black访谈

与经验丰富的Rubyist配对:David A. Black访谈

戴维·布莱克(David A. Black)绝对是一位经验丰富的Rubyist。 他是The Well-Grounded Rubyist的作者,也是国际知名的软件开发人员,发言人和活动组织者。 他是Ruby标准库的撰稿人,并且是Ruby Central,Inc.的创始人之一。

在2U,我很幸运有机会与David一起工作,并称他为我。 我最近和他坐下来,以了解有关他的背景,他对Ruby社区所做的贡献以及了解有关他的一些鲜为人知的事实。

您是如何发现红宝石的?

2000年11月上旬,我在老书店Borders的计算机部分看过。那本Pickaxe书籍-Dave Thomas和Andy Hunt 编写的Ruby编程 -刚出版。 我在书架上看到它,并对这个“ Ruby”的东西感到好奇。 我把它从架子上拿下来,打开它,坠入爱河。

镐是关于Ruby的第一本英语书籍(日语中已经有很多书籍),而且日本以外的Ruby社区很小,因此可以通过英语邮件列表和论坛轻松地了解人们—我应该补充说,包括Matz在内的许多日本红宝石主义者定期参加。 记住,这是在Ruby on Rails之前的。 世界还没有敲我们的门! 尽管我想认为社区一直在欢迎新的Rubyists。

红宝石中您最喜欢的一些功能是什么?

听起来很老套,但我最喜欢的“功能”是社区。 我对它的迷恋不如从前,但是多年来,它一直是支持,友谊和灵感的重要来源。 至于语言功​​能,很难确定喜欢的语言,但我一直对Ruby对象的功能着迷,例如singleton类:每个对象(除少数例外)都从其类和模块祖先获得其功能,但可以还饰有它独特的行为。 对我来说,这件事意义深远。 我会留在那里。

您已经认识Matz很久了。 Matz有什么好故事吗?

我告诉你我的最爱。 早在1995年,我就为Linux Journal撰写过一篇文章。 一两年后,他们向我发送了日文版的期刊,其中包括我的文章。 现在快过去大概五到六年。 我正在与Matz聊天,那时我已经认识了几年。 “您是否撰写了有关HyperNews for Linux Journal的文章?” 他问我。 “是。” “我是这么认为的,”他说。 “我将其翻译成日语。”

因此,在我们真正会面之前的几年,我们在出版领域跨越了道路!

您的图书的新版本The Well-Grounded Rubyist即将面世 你能告诉我一下吗?

与经验丰富的Rubyist配对:David A. Black访谈

第三版将于7月份从曼宁出版社发行,我对此感到非常兴奋! 我这次是我的好朋友乔·利奥(Joe Leo)的合著者。 Joe是Def Method的创始人兼总裁,他正在努力使本书与Ruby 2.5保持一致。 我们期待着新的读者群-令人高兴的是,这本书已经有近9年的记录了,它将继续吸引新的Rubyists。

这本书是MEAP(人员早期访问计划)的一部分,这意味着您可以提前查看章节并提供反馈。

是什么使您辞去学术界的工作而投身于软件开发的?

这虽然是一场很好的风暴,但却是一场完美的理由风暴。 从十三岁起,我就一直在编程,至少是断断续续地业余爱好。 在我发现Ruby之后,它已经变成了半专业的追求:到2001年,我已经在Ruby世界中撰写书籍章节并组织会议。2005年,我与Manning Publications签订了第一本Ruby书籍Ruby的合同。 用于Rails 说到Rails,Rails于2004年发布这一事实从很多方面改变了Ruby的面貌,其中包括到2005年有可能对以Ruby为生充满信心。 那年秋天,我进行了为期一年的放假,这是迄今为止最好的时间,因为无论如何我都不打算教整个一年。 因此,在整个夏天,我做出了决定。 这是一个非常重大的决定; 我已经在大学教了13年,并且有任期。 但是Ruby的诱惑力很强!

有趣的是,在我离开教学的最初几年中,我几乎全部是通过培训谋生的。 我猜曾经是老师,总是老师。

您对结对编程有什么想法?

长话短说:这是产生良好代码的好方法,但我坚信这是产生良好代码的唯一方法。 专注于单独编程以及代码审查(总是!)可以产生出色的代码。 有时会带来配对不会带来的可能性。 当我独奏时,我的大脑工作方式有所不同,我不认为配对编程的存在是永久关闭我大脑那些部分的原因。

您对测试驱动开发有何想法?

这么说可能会惹上麻烦,但是我一直认为自己是以测试为中心的开发者,而不是测试驱动的开发者,至少如果测试驱动器被理解为严格意义上的测试优先。 我想要完整而透彻的测试范围,但是我不一定相信您编写的每一行代码都必须在其周围进行一次失败的测试。 如果您领先于测试,则需要早点赶上而不是迟到。 但是有时候,这可能只是我大脑的工作方式,在开始编写测试之前,我至少需要一些骨骼来充实自己。

但是,严格的测试优先开发可以以非常强大的方式清除蜘蛛网。 配对的“乒乓”风格(您编写了一个测试,让我通过了测试;我编写了下一个测试,等等)也许是我最喜欢的结对编程模式。

请注意,在编写任何代码之前,有时还要编写一整套测试。 当我们为Ruby编写scanf时,Hal Fulton和我做到了这一点,这是一个私有代码项目,已成为Ruby标准库的一部分。 只需尝试使用任何语言编写scanf,而无需进行大量测试,您就会对其中的原因有所了解!

你有博士学位 电影研究专业。 您是否在电影院中找到适用于软件的背景?

不是直接的,但是当我开始培训程序员时,我的教学经验肯定会有所帮助。 我的学术背景也意味着我以丰富的写作经验进入了这个新职业,其中包括一本单著书以及许多学术文章和书籍章节。 2U ,我深深地沉浸于在线教育的工程中,我的教授背景为这项工作增添了另一个趣味。

真正令人毛骨悚然的事情是第三版《 The Well-Grounded Rubyist》的合著者Joe Leo拥有纽约大学的电影研究硕士学位,而我是获得博士学位的那个系。 我们在学校不认识。 他来之前我还好!

关于编程行业,您想改变什么,为什么?

有很多事情,但我将集中讨论。 我阅读并听到了很多有关行业中的年龄歧视的信息。 我很幸运; 我从四十多岁开始从事编程和培训,但是对年龄的偏见没有任何问题。 但是我已经看到了足够的证据知道这是一个非常现实的问题。 我从来没有对自己的年龄保密过-我的生日和出生日期都在LinkedIn上-我只能希望雇用我的事实显然没有导致任何公司倒闭的事实可能会成为其他公司的榜样。未来。

您有没有想要的程序员?

我肯定有很多佩服。 由于某种原因,第一个想到这个问题的人是已故的伟大的吉姆·韦里奇。 他是一个灵感,是我见过的最慷慨的人,他拥有时间和专业知识。 他当然记得Rake,但从2000年到2014年过世去世,他还是Ruby世界中至关重要的一部分。

我将对这个问题的回答表示对Jim的敬意。 我非常想念他。

关于您的鲜为人知的事实是什么?

我不是什么大秘密,但很多人可能都不知道我是受过专业训练的大提琴手。 高中毕业后,我在苏格兰生活了两年,学习大提琴。 而且,奇怪的是,在玩了很多年之后,我现在又回到了它。 敬请关注!

纽约市的高级,主管或首席开发人员? 大步向前招聘 想升级您的技术团队吗? 看看我们怎么做 www.stridenyc.com

最初发布在 Stride Blog上 作者: 琳达·冈萨雷斯(Linda Gonzalez)

From: https://hackernoon.com/pairing-with-a-very-well-grounded-rubyist-interview-with-david-a-black-b8566cc3fe8f