Dan Mohl,一位红发程序员,也是微软F#的最有价值专家(MVP)。他的故事充满了对编程的热爱和对技术的不懈追求。本文将带了解Dan Mohl的编程旅程、他的工作、他的兴趣以及他对编程的看法。
Dan Mohl,居住在田纳西州的富兰克林,这里是纳什维尔的郊区。自8岁起就开始编程,并于1998年开始了他的专业编程生涯。他的日常是作为架构师,致力于各种平台和解决方案的开发。在业余时间,他活跃于开发社区,定期撰写博客,活跃于Twitter,为几个开源项目做贡献,参加各种用户组和会议,并为MSDN杂志撰写了一篇题为“编写F#/C# VSIX项目模板”的文章。
Dan Mohl为Visual Studio Gallery贡献了14个项目和项目模板,并向NuGet Gallery贡献了近一打的NuGet包。他创建这些模板和包的主要目的是减少利用F#强大功能的解决方案的初始化时间。这些模板也作为一个很好的学习工具。此外,他还为FsUnit和FSharpx等开源项目做出了不同程度的贡献。这些开源项目不断地重塑了他和许多其他人创建软件解决方案的方式,并经常推动整个软件开发的未来。
Dan Mohl使用多台机器(包括虚拟和物理)和开发环境。他的首选硬件是MacBook Pro,目前使用的是2.66 GHz Intel Core i7,配备8 GB内存。他运行VMware Fusion 4.0.1,其中有多个虚拟机运行不同版本的Windows操作系统(Windows XP、Windows 7、Windows Server 2008 R2、Windows 8开发者预览版)和不同版本的Visual Studio(VS2010 Professional、VS2010 Ultimate、VS2010 Shell、VS2011开发者预览版)。在Mac OS上,他偶尔使用MonoDevelop、MacVim和WebStorm。
他使用过很多编程语言,但目前最喜欢的是F#、C#、JavaScript、CoffeeScript和Erlang。他也喜欢探索框架和库。他使用过的一些包括ASP.NET MVC、jQuery、WPF、Silverlight、WCF、WP7和WIF。
自从Visual Studio 11开发者预览版发布以来,Dan Mohl大部分的业余时间都在探索F#3.0的新特性。F#的类型提供者机制非常有趣,它将改变数据的访问和操作方式。正如Don Syme在F# 3.0预览版公告中所说,“这为简化信息丰富的世界的编程奠定了基础。”他也花了很多时间与JavaScript及其相关工具/语言/框架一起工作。这个领域的最新进展确实令人惊叹。CoffeeScript和Node.js是他在这个类别中感兴趣的两个例子。
Dan Mohl最大的烦恼是不一致性。无论有多少人手在实现一个目标,最终的解决方案应该看起来像是单一头脑创造的。虽然他当然有自己喜欢的约定和标准,但在必要时牺牲这些偏好以实现一致性的目标是值得的。
至于他最喜欢的,这真的取决于语言和/或框架。他是约定优于配置的忠实粉丝,并且经常采用框架定义的默认约定。他发现这使得其他开发者能够更快地投入到项目中。他不反对创建自定义约定的想法;然而,这样做需要有令人信服的理由。
每种语言都倾向于有稍微不同的最佳实践、标准和约定。他喜欢寻找与特定语言相关的社区领袖,阅读他们的代码,并应用他们所规定的。通常,通过阅读他们的代码,他不仅对那种语言的最佳实践、标准和约定有所了解,而且对推动其他语言的最佳实践和/或标准改进的新想法也有所了解。
1985年,Dan Mohl的父母带回家了家庭的第一台电脑:一台IBM PC。除了其他东西,它还附带了一些绿色的屏幕游戏和几本大的说明书。他立即被这台设备迷住了,并开始学习BASIC,以便操纵源代码来修改这些游戏的高分。在小学,他有一位做过一些编程的老师。他慷慨地提出帮助他编写一些简单的Commodore 64游戏。他继续在高中玩电脑,并决定将编程作为职业追求。在他的大学前几年,他上了几门不同的语言课程,包括Pascal、COBOL、BAL和Visual Basic。1998年,他接受了第一份全职编程工作,编写汽车保险软件,使用QBasic。从那时起,就是Delphi、C#等等。