Dr. Drang 的程序员访谈






4.92/5 (4投票s)
欢迎来到我们的 CodeProject 系列访谈,我们与开发者们聊聊他们的背景、项目、兴趣和讨厌的事情。在这次访谈中,我们与 Dr. Drang 交流,他是一位咨询工程师,主要撰写关于脚本编写和疲劳分析的博客。
欢迎来到我们的 CodeProject 系列访谈,我们与开发者们聊聊他们的背景、项目、兴趣和讨厌的事情。在这次访谈中,我们与 Dr. Drang 交流,他是一位咨询工程师,主要撰写关于脚本编写和疲劳分析的博客。
你是谁?
我的网名是 Dr. Drang,我在 leancrew.com 博客上撰写关于脚本编写、工程以及其他偶尔出现的主题。 在现实生活中,我是一名工程师(土木和机械),大部分时间都在研究事物损坏的原因。
您做什么?
我最大的编码项目是有限元和疲劳分析程序,我编写这些程序是为了解决失效分析中的特定问题。 它们不是商业化的,也不是为了让除我以外的任何人使用而编写的。 我公开提供的脚本大多是帮助我更有效地使用计算机的小程序。 它们要么发布在我的博客上,要么发布在我的 GitHub 仓库中。
您的开发环境是什么?
我从 1997 年到 2005 年使用 Linux,但从那时起就一直是 Mac 用户。 我在工作场所使用 iMac,在家中使用 MacBook Air——在每种情况下都是相当普通的设置。 我主要在 BBEdit 中编写 Python 代码,偶尔在 AppleScript 编辑器中编写 AppleScript。 我的主要调试工具是 打印语句 ——它适用于每种语言。
您对哪些新工具、语言或框架感兴趣?
最近我花了很多时间在 SciPy、NumPy 和 matplotlib 上,它们是 Python 的数值和绘图模块。 几年前我停止使用 Perl 编程时,我选择 Python 而不是 Ruby 是因为 SciPy,但直到去年我才真正开始使用它。
我花了不少时间摆弄 Twitter 和 Flickr 的 API,但我不希望再做太多了——我对已经构建的 小 工具 非常满意。
您最讨厌的编码习惯是什么?
我认为这是一种代沟,但看到用面向对象风格编写的短程序让我感到困扰。 不使用对象库——这完全有道理——但为一个 50 行的脚本设置类似乎很荒谬。 这让我觉得程序员遵循一些“良好的编程实践”清单,而不是考虑要解决的问题。
我喜欢用两个空格进行缩进,这违反了一些 PEP,但我不在乎。 四个空格对我来说太大了。 我喜欢 camelCase,但仅仅是因为我发现下划线非常难看。 如果只允许在 Lisp 和 Scheme 以外的语言中使用连字符就好了。
您是如何开始编程的?
像我这个年龄的大多数工程师一样,我从大学里的 Fortran 课程开始编程。 一叠打孔卡提交给 IBM 360 的后代,半小时后返回一叠输出(通常是语法错误消息)。 令人惊讶的是,我们完成了任何事情。
大四时,我选修了一门 Pascal 课程作为技术选修课,它真的让我大开眼界,了解了编程的全部意义。 教授非常强调数据结构以及编写执行易于描述的事情的过程和函数。 后来,当我用 Forth 编程时,将程序的逻辑分解成具有良好名称的小块变得更加重要。
近年来,我已经逐渐放弃了这种高度结构化的方法,但那是因为我现在编写的语言更具表现力,并且处于更高的层次。 在极少数情况下,当我确实发现自己处于较低的水平进行编写时,例如在最近用 Lisp 完成的日历计算中,我确实会回到使用许多短函数的风格。
开发者社区是如何影响您的编码的?
因为我不是专业的程序员,所以我不认为自己是开发者社区的一员,但是能够立即访问其他人编写的如此多的代码——主要是比我更好的程序员——对于改进我的脚本有很大的帮助。
在过去的几年里,Stack Exchange 站点已经成为我最喜欢的资源之一,因为围绕代码的讨论。 编程通常是关于做出选择,而了解不同选择背后的原因很有启发性。
如果我不提我博客上的评论者,我会感到失职,他们发现了我的错误,指出了更好的库,有时让我沿着完全不同的思路思考。
您会对一个新兴的程序员提供什么建议?
你不需要我的建议。 当我在学校时,我认为获得计算机科学学位是愚蠢的,因为每个人很快都会编程,并且不需要“程序员”。 我在那件事上有点失算。