几个月前,一个同事问我,应该如何选择编程语言,或者有没有什么固定的选择模式,当时我便打算写点什么。上周在硅谷开会,这我是第一次跟“hack3rs”的创业狂以及技术狂们打交道。我学会了很多前所未闻的脏话,也有所得–即便是追求精简的初创企业也倾向于把问题过份复杂化。
将真正领悟精简精神的人甄别出来并不困难。谷歌,Facebook以及Akamai的程师们的讲座魅力十足。他们从一个更宏观的角度思考和解决问题。这跟公司的财力,规模没有关系,他们特意剪除细枝末节,以便将注意力集中在问题的根本。
我自己也曾一味要求手下考虑使用高级编程语言甚至全面向对象语言,我发现许多的新时代初创企业也还没领悟其精髓。他们用Javascript、Python和Ruby编程,却不明白为什么要用这些语言。
不可否认,把循环写得紧凑或者避免使用模板固有其道理。但如果这是你选择一门编程语言的唯一理由,那么你就大错特错了。日常工作中,与其用基于深度优化的向量化C++语言构建的多核并行异步map-reduce架构去做一个卷积离散傅立叶变换(correlation-DFT),我宁愿用BASIC来做一个快速傅立叶变换(FFT)。
将真正领悟精简精神的人甄别出来并不困难。谷歌,Facebook以及Akamai的程师们的讲座魅力十足。他们从一个更宏观的角度思考和解决问题。这跟公司的财力,规模没有关系,他们特意剪除细枝末节,以便将注意力集中在问题的根本。
我自己也曾一味要求手下考虑使用高级编程语言甚至全面向对象语言,我发现许多的新时代初创企业也还没领悟其精髓。他们用Javascript、Python和Ruby编程,却不明白为什么要用这些语言。
不可否认,把循环写得紧凑或者避免使用模板固有其道理。但如果这是你选择一门编程语言的唯一理由,那么你就大错特错了。日常工作中,与其用基于深度优化的向量化C++语言构建的多核并行异步map-reduce架构去做一个卷积离散傅立叶变换(correlation-DFT),我宁愿用BASIC来做一个快速傅立叶变换(FFT)。