与 Peteris Krumins 的程序员访谈






4.67/5 (2投票s)
欢迎来到我们的 CodeProject 系列访谈,在本系列中,我们将与开发者探讨他们的背景、项目、兴趣和讨厌的事情。在这一期中,我们采访了 Browserling 和 Testling 的联合创始人 Peteris Krumins。
欢迎来到我们的 CodeProject 系列访谈,在本系列中,我们将与开发者探讨他们的背景、项目、兴趣和讨厌的事情。在这一期中,我们采访了 Browserling 和 Testling 的联合创始人 Peteris Krumins。
你是谁?
我叫 Peteris Krumins。我住在拉脱维亚的里加,我是 Browserling 和 Testling 的联合创始人。我还运营着流行的编程博客 catonmat.net。
您参与过哪些项目?
我参与过一百多个不同的项目。我倾向于将所有代码推送到 GitHub。您可以查看我的 GitHub 个人资料。我喜欢用十几种不同的语言编写代码。在 我的项目页面上,我有一个未整理的已完成项目列表。目前,我最大的两个项目是 Browserling 和 Testling。Browserling 允许您在 Internet Explorer 和其他浏览器中以交互方式进行跨浏览器网站测试。Testling 允许您在各种浏览器中运行自动 JavaScript 测试。
最近我也开始写书。到目前为止,我写了三本关于基本 Unix 工具的书 - Awk、Sed 和 Perl。我关于 Perl 的最新书籍目前正在由 No Starch Press 重新出版,将于今年十月上市。我正在创作的下一本书是关于 Bash。我免费在我的博客上发布所有书的章节。一旦我写完所有的章节,我就会将书整理好,并在我的博客上发布公告。人们可以选择购买整本书,也可以免费阅读。
我喜欢坚持计划和每日时间表。我的办公桌上总是有一张纸列出待办事项。这是一个最近的待办事项清单的例子。当我完成任务时,我会将其划掉。我还在我面前放着一个打印的日历,上面写着最重要的事项。这是来自2011 年 6 月的例子。在思考问题时,我也经常画草图。这是一个例子,展示了我 2007 年完成的其中一个 项目的思考过程。我从 2002 年开始使用这种方法,它对我非常有效。
您的开发环境是什么?
这是一张几年前的照片,展示了我的开发环境。我只使用台式电脑。我的工作站仍然运行 Windows XP。它是一台 2004 年的 3.2Ghz Pentium 4,拥有 2GB 内存。它可以完成工作。我使用两个共享屏幕和一个 Microsoft Natural 键盘。我不喜欢笔记本电脑,因为它们键盘太小,鼠标(触摸板)也难以使用。我还运行两个 Slackware Linux 服务器。一个作为文件服务器,另一个作为开发服务器。文件服务器运行 Samba,并映射到 Windows XP。我还有一堆服务器用于测试和实验。
我最喜欢的开发工具是 Visual Studio 2008。我用它来做大部分的 C 和 C++ 开发。没有什么能比得上 IntelliSense 和 MSDN 文档。我使用 vim 来编写 JavaScript、HTML、Python、Perl 和其他语言。我最喜欢的语言是 Perl,因为它非常简洁,我可以用它快速构建原型。我不喜欢框架,因为写一个相同事物的基本版本通常比学习如何使用框架更快。
您对哪些新工具、语言或框架感兴趣?
我目前没有玩任何新工具,因为我喜欢使用现有工具完成工作。新工具通常令人困惑,变化太快和/或过于实验性。我只会在新工具变老并存活下来后才采用它们。
您最讨厌的编码习惯是什么?
这取决于我使用的语言以及我工作的环境和上下文。例如,如果我从头开始编写 C 程序,我会坚持 the_following_naming_convention 命名约定,并使用 4 个空格作为制表符。但是,如果我为某个项目做出贡献,我将使用现有项目的命名约定和缩进风格,以便我的贡献被接受。如果我在 MCF 中编写 Windows 程序,我会坚持匈牙利命名法。如果我编写 Java,我主要使用 camelCase 等。
您是如何开始编程的?
我一次性非常快地学习了很多不同的语言。我同时学习了 Pascal、mIRC 脚本、HTML、JavaScript、C 和 Visual Basic。我在 2000 年 9 月 1 日获得了我的第一台电脑。它是一台 Celeron 400,拥有 256mb 内存,并运行 Windows 98。在此之前,我会在家里在纸上编写代码,然后在当地的一所大学进行尝试。我的一个朋友 Zombie 也帮助我学习编程和 Linux 很多。
开发者社区是如何影响您的编码的?
我不喜欢社区,一般来说。一旦你成为社区的一员,人们会将社区的所有哲学都分配给你。我喜欢做独立的个体。
您会给一位有前途的程序员什么建议?
完成任务,然后继续前进。