Perl 高手技巧、Perl 学校以及 Perl 出版的未来

Dave Cross,长期 Perl 用户、培训师和作者,最近发布了《Perl 高手技巧:最佳实践》,这是他从 Perl Hacks 博客 中精选的最好文章的汇编。他的出版社 Perl School 已出版六本电子书,其中包括我写的两本。
还有一本与此无关的书,由 chromatic、Damian Conway 和 Curtis “Ovid” Poe 合著的《Perl 高手技巧:编程、调试和生存技巧》,也是一本非常好的书,但与 Dave 的书完全独立。
什么是 Perl 高手技巧?你是什么时候开始写这个博客的?你最喜欢在上面发布什么内容?
Perl 高手技巧是我的 Perl 博客。我在这上面发布所有与 Perl 相关的文章。
我是在 2009 年 5 月开始写这个博客的。在此之前,Perl 社区的几乎每个人都在一个叫做 Use Perl 的网站上写博客。但那个网站开始显得有点过时,很多人在差不多同一时间将他们的博客迁移到了其他地方。这也并不奇怪,因为 blogs.perl.org 网站也是在同一年推出的。
我在网站上选择发布的内容的基本规则是“这是否与 Perl 有关?”但当我回顾网站的生命周期(我是在汇编这本书的时候回顾的)时,我发现文章的类型随着时间的推移而发生了变化。当我刚开始的时候,有很多“新闻式”的条目——“London.pm 将举行这些会议”、“我正在开设一个培训课程”等等。但后来我开始发布关于 Perl 社区或 Perl 的一些有趣技术方面的更长文章。
你是如何选择放到电子书中的内容的?你最喜欢哪些帖子?哪些帖子得到了最多的回复?
我基本上是在一个周末内阅读了整个网站。我忽略了所有的短篇文章和那些过时的话题性内容。然后我进行了第二次阅读,计划选取大约五十篇文章。我认为我最终选取了五十七篇。
有几篇技术文章我特别满意。例如,“点与 Perl” 解释了 Perl 的五个由点组成的运算符。你能说出它们的全名吗?好吧,严格来说,其中之一实际上不是一个运算符。而 “子例程与 ampersand” 是为了那些仍然坚持在子例程调用中使用 ampersand 的人而写的。它仔细解释了为什么很少需要(自从 Perl 5 发布以来就没有必要)。
还有 “CGI.pm 的长期消亡”,它调查了从 Perl 核心分发中移除 CGI.pm 将会产生的影响。我认为那里有一些不错的侦探工作。
得到最多回复的帖子是《你一定讨厌版本控制系统》。这个标题是从一家似乎没有人想为之工作的公司的 Perl 招聘广告中借用的。发布广告的人出现在评论中,试图解释他为什么写那样的话,但我不认为任何人被说服了。这是我唯一一次后悔不能在书中使用帖子的评论。
什么是 Perl 学校?你为什么创立它?第一本书是什么?
Perl School 是我在 2012 年开始使用的品牌,用于在伦敦举办的一些培训课程。我有一种理论,认为人们没有及时更新他们的 Perl 知识,许多雇主也不愿意投资于关于“只是脚本语言”的培训。因此,我认为,如果我在周末开设低成本培训课程,人们就会参加,伦敦的 Perl 知识水平就会提高。
我在一年前开设了这些课程,但后来暂停了。但我喜欢这个品牌,并知道将来还想再次使用它。
2015 年,我为 Udemy 编写了一篇 Perl 初学者教程。他们将其发布在网站上,我经常向人们推荐它。但几年后,我发现由于 CSS 升级,页面几乎无法阅读。我向他们指出这一点,经过一番讨论,他们告诉我,他们不会投资时间来修复它,但表示欢迎我在其他地方发布。
与此同时,我一直在尝试从 Markdown 构建电子书,并开发了今天仍在使用的管道。因此,第一本 Perl School 书籍是我实验性的电子书管道与一篇我想让尽可能多的人阅读的长篇文章的意外相遇。
它被称为 Perl Taster: Your First Two Hours With Perl。我是在 2017 年伦敦 Perl 工作坊之前发布的,并在那次工作坊的闪电演讲中宣布了它。我邀请其他人贡献书籍,并愿意帮助他们解决出版过程中的技术问题。约翰·戴维斯向我提出了后来成为 Selenium and Perl 的书籍,从此发展壮大。
你在英国提供低成本和免费 Perl 培训时的经历如何?
我在英国的所有级别都进行了 Perl 培训。五年前,我每年还会收到两三个来自对培训感兴趣的公司的咨询,但现在都已经停止了。我不记得最后一次有人问我是否为他们开设课程。
Perl School 课程一度很受欢迎。我会收到大约二十个人放弃他们的周六,支付少量费用来参加 Perl 培训。但一年后,兴趣开始减弱。我取消了最后一堂课,因为我没有足够的参与者使它变得有意义。
多年来,我一直在伦敦 Perl 工作坊中举办一个免费的一小时或两小时的课程。那些课程我总是能得到很好的出席率。但说实在的,那几乎是我现在在英国保证对 Perl 培训感兴趣的唯一地方。
你之前曾编写了 Data Munging with Perl(Manning 出版)和 Template Toolkit(O’Reilly & Associates,与 Andy Wardley 和 Darren Chamberlain 合著)这两本纸质书籍。与这些出版商相比,Perl School 的流程有何不同?
我想主要的不同之处在于,Perl School 的书籍涉及的过程要少得多。
在传统出版商那里,涉及许多部门。编辑会想知道手稿何时准备好,因为他们需要为技术审稿人和校对人员预订时间。他们还需要计划设计师,甚至需要在印刷机上安排印刷时间。所有这些都意味着作者需要制定一个计划来完成书籍的撰写,并坚持这个计划。
在电子书方面,结构要少得多。我主要依赖作者自行安排技术审稿人。我会做一点校对。而且我们(到目前为止)还没有使用任何设计师——这可能是诚实的反映。
所以我不会给作者压力要求他们完成手稿。当你准备好了,我会指导你将Markdown转换为电子书,并在亚马逊上发布。如果花费的时间比你预期的要长,那又如何呢?
在许多方面,我认为它与埃里克·里斯的《精益创业》理念有相似之处。我们规模小,但我们灵活。如果你带给我一本完成的书,我们很可能在一周或两周内就能将其放在亚马逊上。对于一个传统出版社来说,这需要几个月的时间。
你认为目前技术出版面临的最大挑战是什么?像Perl School这样的项目如何应对这些挑战?
传统出版是一个成本很高的行业。出版社需要赚很多钱才能在书上一本赚回成本。我不了解具体细节,但他们必须卖出一定数量的副本,才能使出版一本书变得有意义。反过来,这意味着他们很少冒险。对于技术出版社来说,这意味着只出版那些达到一定使用水平的技术的书。
人们也在购买更少的技术书籍。技术变化很快,许多书在到达书店之前就会过时。如果你想了解你最喜欢的技术的最新信息,那么你可能最好去开发者的网站。
对于像Perl School这样的出版社来说,经济状况不同。我们的成本要小得多,而且(如我之前提到的)我们能够更快地将书送到客户手中。
大型技术出版社在很大程度上已经放弃了Perl。他们根本看不到他们会达到销售水平,以证明出版一本新的Perl书的合理性。Perl School乐于承担这个风险——因为,对我们来说,这几乎是一个微不足道的风险。
你个人的阅读偏好是什么?你喜欢哪种设备,你需要多大尺寸的屏幕,哪种格式最适合你?
我真的喜欢一本真正的书。但它们占用太多空间,所以在过去五年中,我基本上完全停止了购买。我喜欢能够从我可以随身携带的设备上访问我的图书馆中的所有电子书部分。让我真正开心的一件事是,一个设备可以像我们所有人把CD转换成MP3一样,将我现有的纸质图书馆转换为电子书。
目前,我在8英寸的亚马逊Kindle Fire上阅读电子书。这比平装书略大,可以像一本书一样放入(大)口袋中。我还有一台10英寸的Pixel Slate,我经常在家用它来阅读。我非常依赖于亚马逊电子书生态系统,所以我更喜欢找到Mobi格式的书——但我可以使用Calibre,所以我愿意从其他格式转换。
我对那些承诺给我电子书然后却交付PDF的网站有些轻微的不满。PDF是为了在特定尺寸下阅读而设计的,如果你在较小的屏幕上阅读它们,要么太小以至于无法阅读,要么需要来回滚动很多。一个合适的电子书格式(如Mobi或ePub)将为任何屏幕尺寸和字体大小重新格式化页面。
一个人如何为Perl School写一本书?你认为哪些主题最有趣?
只需发送电子邮件到hello@perlschool.com提出你的建议。我会指导你完成书籍的撰写和发布在亚马逊上的技术方面——这实际上并不难。
我几乎会考虑任何与Perl相关的主题。我从未想过要出版关于Selenium或Cucumber的书,但John Davies写了它们,我出版了它们。而且它们似乎正在销售。
但是,有些书我想看到。我很乐意出版关于我们所有人使用的各种“现代Perl”工具的书——Moose、DBIx::Class、诸如此类的东西——以及Perl的所有流行Web框架。
我认为我最想看到的是我在心里称之为“现代核心Perl”的东西。它涵盖了从5.10版本以来的所有核心Perl语言的重要变化。基本上,它是一个基于所有perldelta
的教程。我多次考虑亲自编写它,但我实在没有时间。
标签
布莱恩·D·福伊
布莱恩·D·福伊是一位Perl培训师和作家,也是Perl.com的高级编辑。他是《精通Perl》、《Mojolicious Web Clients》、《Learning Perl Exercises》的作者,以及《Programming Perl》、《Learning Perl》、《Intermediate Perl》和《Effective Perl Programming》的合著者。
浏览他们的文章
反馈
这篇文章有问题吗?请在GitHub上打开一个issue或pull request来帮助我们。