重走青春路(之一):“Do more with less"

 

“我每天的生活过的一样,今天和昨天一样,昨天和今天一样,日复一日的,按部就班无所事事。我只要一闭上眼睛就能想到我未来十年的样子。这不是我想要的生活。” --《北京青年》

 

最近一部电视剧在热播,《北京青年》,几个青年人聚在一起,要告别熟悉的城市、熟悉的生活,重走青春路。

一些场景,虽不是“浴乎沂,风乎舞雩,咏而归”,却也是畅饮海聊,东西南北,真是快意青春啊。

想想大家,不管是Developer还是IT Pro,当每天一个人设计和编码的时候,不也是“日复一日”,做自己的积木游戏吗?

不过有时候也会有快乐时光,一伙人聚在一起,聊聊技术,脑袋激荡一下。

最近工作更多转向技术喽,这些也是我入道IT和软件圈子整天面对的,现在也算“重走青春路”了 。

 

七月,和伙伴在Redmond Campus针对他们的新一代技术平台做了一周多的ADR,同时邀请了产品组一些技术专家一起参加讨论和交流。

每天忙忙碌碌,一天下来只针对几个专题进行深入讨论,大家在一起分析scenario,讨论architecture,做demo,分享case,真个是不亦乐乎。

几天下来,大家看法和想法激烈碰撞,满地金星。事后收集起来,挺有收获。

有趣的是,其实很多争论都是围绕着“做什么”、“做不做”、“做多少”。毕竟,架构设计和代码开发没有完全“正确”的方案,更多只是“平衡”的结果。

 

说到“做多少Do more or do less”,其实大家更多想的是“Do more”。这次比较深的体会,可以归纳出有趣的三句话:


  • Do more with less

  • Do more from less

  • Do more upon less

 

先谈谈Do more with less吧。

这次碰到了Nikhil Kothari,大家好好聊了聊他的Script Sharp (S#)。这里就不普及S#了,看看下面的URL就知道了。

http://projects.nikhilk.net/ScriptSharp

几年前做产品时,大家碰到一个很大的挑战,开发完全浏览器版产品,技术选型上采用HTML + JavaScript,而JavaScript编码量大,调试困难,技术好手难找,不同人的代码风格和质量差别很大。相比之下,写C#的编码高手相对多点儿。

而至关重要的是,浏览器端关乎用户体验,有时候即使backend  server端的服务设计的再好、再灵活,最后极有可能折在UI上了。

当时试了很多路,例如代码规范、代码审查、基于UI Model生成JavaScript代码,等等。总的说来,就是how to write/generate more JavaScript codes with less efforts.

Nikhil的做法就是发挥C# developer的优势,将C#的UI代码转化成了JavaScript代码,而且将这一工具开源了,也被很多产品组应用了。跟Nikhil聊起性能对比,虽然无法有一个系统的方式,证明S#产生JavaScript代码的性能,但实践表明这些代码很多性能甚至超过原来手工编写的代码效率。

权且把这个story归纳为:Do more {codes} with less {effort}, with {Script Sharp (S#)}

而目前还在继续升级S#的Nikhil,正式工作在Azure产品组(之前在Bing产品组),S#算个副业吧。

Code to live? Live to code!很贴切!