2012年2月29日

该不该限制程序员的语言?

该不该限制程序员的语言?当然,这里的程序员肯定不是 java 之于 hadoop,objective-c 之于 mac 的那种,而是像我一样,对于每天处理的任务,从 c/c++ 到 bash 几乎什么语言都能做到的那种。

前几天终于亲耳确认了是老大拍板要把团队内的脚本语言都统一成 python。作为团队一直在使用 perl 做主力脚本语言的我瞬间感觉胸闷。所以下面牢骚居多。

其实老大也明白,像 perl vs python 这样的传统圣战题材,是争论不出个所以然来的。之所以拍出这个决定,是为了减少团队的代码维护成本。这中间我隐隐约约嗅到了点 perl 代码难以维护的意思。

水母 perl 版主 flw 认为,代码维护难度的决定因素是写代码的人,而与语言关系不大。我补充认为,能写出无法维护的 perl 的人,写出来的 python 也靠谱不到哪儿去。

换一个角度,合格的程序员更应该对未知事物充满好奇。在 2009 年刚刚进入团队的时候,我对 perl 一无所知,当时反而是还写过一点 python。这些年下来,perl 沉淀为首选,其实经过了相当漫长的自然而合理的选择过程。与此同时,我也在维护着一部分 python 代码。两者各有其擅长的场景,通过数据而不是语言来耦合,我觉得这样最有效率。如果哪天出现一种在我的任务领域更有表达力的语言,我也一定乐于学习(请复习程序员的三大美德)。

所以当听到对于语言的强制规定时,我的第一反应是团队的人员要出问题。

以我不长不短的从业经历,还真碰到过一次强制规定语言的案例。那是刚工作不久。某元老级网游公司把原来外包给我们用 ruby 实现的支付系统用 c++ 重写了,也是号称为了降低维护成本。结果是以成本导向招进来的驾驭不了 ruby 的人也很难驾驭那个用 c++ 重写的系统。几年后这公司垮了。

这里可能还有屁股决定脑袋的问题。当领导的大概都喜欢整整齐齐的经济林,因为树苗可以批量供应,既便宜管理起来又方便。而在下面当树的,不想长成参天大树的恐怕不会是什么好种子,而经济林里大概很难长出参天大树来。

至于是经济林好,还是原始森林好,这又是个圣战潜力题材。怕是战不出结果的。


食君之禄,忠君之事。我目前正在用 python 重写以前的工具。不过我有两个愿望:第一个是但愿我的第一反应是错的;第二个是能把以前的 perl 代码开源出去。

2012年2月12日

更新换代

摩尔定律是一回事。家用 pc 的升级换代则是另一回事。

拿 cpu 来说,2006 年买的扣肉 e6300 即使不超频,算 superpi 比之 2011 年末火热的 apu 也不遑多让。2008 年买的 4850,放到现在仍然算是中高端。

所以升级换代的主要动力,其实是内存。即使不讨论 win7 是否吃掉了比 xp/vista 更多的内存(啊,伟大的安迪—比尔定律),在显示器从 2006 年的 1024x768 飙升到 2009 年的 1920x1080 之后,区区 2G 内存对于有些游戏也确实颇不够用了。 

于是,想添加点内存条,发现主板上只有两根插槽。而且现在主流的 ddr3 是白菜价,而过气的 ddr2 反贵上两倍半。倘若要换主板,则 cpu 十有八九也要连坐。

于是纠结了好几天,做了如下升级方案:
  • cpu:amd a6-3670k,799 大洋
  • 主板:映泰 TA75M+,549 大洋
  • 内存:G.SKILL DDR3 1600 4Gx2,309 大洋
  • OS:win7 64 coem,279 大洋
自己点评一下:
  • cpu 的游戏性能基本没变化(暂未超频),但好歹是 2 核变 4 核了。
  • apu 自带的显卡跟 4850 无法混合交火,目前完全用不上。但为了以后着想。等哪天这套 apu 配置淘汰了,塞到小机箱(所以特意选了块 mini 主板)里给老爸老妈或者自己当 htpc 用应该还不错。
  • 终于自己掏钱买了正版 windows(之前用实验室 VLK 的 win 2k3)。除了电影和音乐,机器里再没有盗版的东西了。
  • 64 位系统,大内存真心爽,游戏兼容性也不错。就是 windows 平台下原生的 64 位的软件还少了点。
  • 合计只要 1936 大洋。2k 预算 i5 配好点的板子不下来,更何况还包括一个 windows。
最后是升级后的吐槽:
  • ssd 坏了。之前不知道,反复装系统排除各种可能折腾了快一个星期,最后 jsmonitor 证实了。网上搜“ssd win7 corrupt”乌殃乌殃的。那些个算来算去说 ssd 寿命好几十年放心用的文章亏心不亏心?有时间琢磨琢磨有没有什么办法能废物利用。
  • win7 安装会自己搞个隐藏分区,这东西即隐晦又坑爹,看了 workaround ,我觉得智商被侮辱了。
  • windows 系列的打补丁方式一如既往的烂。某天上班前点了关机下班回来发现机器开了一天因为关机打到第四个补丁时卡住了。装个 sp1 要重启三次啊三次啊三次。
  • 国内的英雄无敌 6 的 DRM 无敌了:换硬件之前要在原系统里反激活,在新系统里重新激活。当然这事我是格式化了之后才知道的。在新系统上无法激活找客服的标准流程是 15 个工作日。消费者在 DRM 面前就是渣。网上搜“英雄无敌6 激活失败”也是乌殃乌殃的。这种游戏以后多少钱也不买了。
Photobucket