九天雁翎的博客
如果你想在软件业获得成功,就使用你知道的最强大的语言,用它解决你知道的最难的问题,并且等待竞争对手的经理做出自甘平庸的选择。 -- Paul Graham

跨平台(iOS, Android)开发方案

很久以前的移动平台开发者很幸运, 因为他们只用关注一个平台(iOS)就够了, 现在随着Android越来越受到关注, 以前统一的平台又开始了分裂.
到目前为止, 我知道可能的, 能够使用一套代码跨平台开发app的方法有:

阅读全文....

卖水理论漫谈

最近看晓说, 其中一期提到了卖水理论, 觉得很有意思, 查了下资料, 然后想了想现在的互联网, 就此随便写一点东西吧.

什么是卖水理论

19世纪中叶, 17岁的小农夫亚默尔抱着发财的心理, 随着淘金的人流涌入加利福尼亚州. 山谷里水源奇缺, 寻找金矿的人最痛苦的就是没有水喝. 亚默尔认真思考一番, 觉得在这里也许卖水比挖金更能赚钱. 于是他放弃了找矿, 把手头的铁锨掉了个方向, 由挖掘黄金变为挖掘水渠, 他终于找到了清凉可口的水. 他把水装在桶里、壶里, 卖给淘金者. 结果, 在很短的时间里, 亚默尔卖水赚了不少钱, 成了一个富翁. 他的这种做法被后人推崇, 形成”卖水理论”.

阅读全文....

学习笔记: 哈佛大学公开课--构建动态网站

以前都是自己看书自学, 以前倒是也看过一些视频, 总觉得节奏太慢, 进度太慢, 看了一个多小时, 感觉还不如自己看书一个多小时, 所以也没有坚持看过, 这次决定尝试一下, 一方面因为最近一直在学习, 决定用公开课的视频学习来缓一下自己的节奏, 也当作休息.
另外一方面就是最近在家时间挺充裕的, 还考虑到过年的时候, 可能不一定能快节奏, 高效率的学习.
BTW: 因为是课程笔记, 所以其实有些无聊, 个人感觉有用的部分就是老师推荐的那些库和工具.

阅读全文....

在Unity3D中使用iPhone原生UI(Use iPhone Native UI in Unity3D)

众所周知, Unity中没有提供UI解决方案, 只能靠第三方的插件来完成. 比较著名的有NGUI等, 但是这种方案不仅需要额外付费(虽然不多), 并且类似NGUI的插件还不那么易用, 使用起来过于复杂.
这里我尝试使用iPhone的原生UI(Cocoa Touch)来作为Unity的UI. 这个听起来似乎很容易的事情, 其实却比我想象的要难的多的多. 主要原因就在于Unity根本就不是想让你这么用的, 3D引擎为了效率, 一般都需要比较专横的占用系统资源, 在本来速度有限的移动平台就更加需要这样了, 这样才能发挥出硬件的极限水平, 制作出更精良的游戏. 鉴于这个原因, 这种方法并不适于性能要求高的游戏.

阅读全文....

入门有余, 经典不足 -- 小评《C#入门经典》

鉴于C#程序设计语言这本Anders写的书就像是语言规格说明, 我推荐大家阅读C#入门经典(Beginning Visual C# 2010)入门. 说实话, 看到这本书的时候, 我稍微叹了口气, 起码比那本厚如砖头的JAVA编程思想要薄啊. 另外, 其实只需要阅读第一部分, 一共才390面. 就能大概的了解C#的全貌. 相对比C程序设计语言的200来面似乎要多, 但的确可以接受.

关于书本身, 因为我以前也只阅读了关于C#的那一部分, 所以仅对这一部分进行评价.

阅读全文....

C#特性杂谈

文中充满了各种C#与我会的语言的对比及吐槽, 希望介意者勿观… 当然, 鉴于太乱, 我怀疑有没有人能看完.

阅读全文....

多重继承不好的观点是错误的 -- 小评<松本行弘的程序世界>

首先得说, 一般某种语言的发明人写的关于自己语言的东西都是非常值得阅读的, 从别的牛人那里你也许能学会很多奇技淫巧, 但从语言发明人那里你能学到语言发明人本身设计的初衷, 以及设计时的一些抉择. 这种思路是独一无二, 绝无仅有的. 所以我在学习一个新语言时, 假如语言发明人有写书, 一定优先阅读.

阅读全文....

写递归函数的正确思维方法

递归是编程中一个相对难以理解但是却又很重要的概念. 对于从命令式语言开始学习编程的程序员天生对此有理解缺陷, 而对于从类似C++这种对函数式编程范式不友好的语言开始学习编程的程序员就更加如此了.(比如我自己) 碰巧(其实不巧)最近在读这本书(这本书国内没有引进, 网上只有巨贵的[亚马逊卖的原版](http://www.amazon.cn/gp/product/0133708756/ref=as_li_ss_tl?ie=UTF8&tag=jtianlinsblog-23&linkCode=as2&camp=536&creative=3132&creativeASIN=0133708756), 我读的是[网上的中文版](http://acl.readthedocs.org/en/latest/)), Paul Graham在书中讲述的如何写递归函数的部分, 让我印象深刻. 因为原书是讲Lisp的, 当然这个部分也是用Lisp作为例子描述的, 考虑到国内会看这本书的人太少, 能看懂Lisp的就更不多了, 我这里根据自己的理解, 重新整理一下. 最重要的是, 书中原来的例子太少, 太简单, 我自己提供了一些额外的, 并且更加复杂的例子. 以期对问题能有更好的理解.

阅读全文....

语言的界限就是一个人世界的界限

语言的界限就是一个人世界的界限	
-- 维特根斯坦

Ruby on Rails的世界

很多人会告诉你, 学习不同编程语言能够让你看到新的世界, 改变你思考的方式, 在程序员修炼之道中甚至会建议’每年至少学习一门新语言’, 也有Peter Norvig在十年学会编程中提出的那样, 学会至少半打语言. 我是比较赞同这种观点的.

阅读全文....

用Markdown + VimPress写博客

这次把CSDN的文章移过来的时候, 发生了格式混乱的不愉快体验. 虽然以前的那些文章有些很稚嫩, 早期的文章现在看来甚至很可笑, 但是, 这种记录还是很值得保留, 毕竟是成长的过程.
整理一些文章格式的时候, 还发现一个有趣的故事, 原来我现在这么喜欢Vim, 来自于当时刚到北京, 用一个巨老无比的笔记本, 图形界面几乎没法用, 所以才无奈之下真正的耐下心来学习Vim, 见买了个新显示器. 而这已经是我第3次开始尝试使用Vim了, 从那以后, 我几乎没有Vim就没法工作了.
闲话少说, 综上所述, 我决定好好的管理一下自己的博客, 虽然现在已经用上了自己可以控制的Wordpress, 但是谁知道将来会不会再发生忘记缴费, 数据被删的事情呢, 即使我用上了Wordpress的备份, 我还是需要给自己写的文章做一个自己的备份, 并且可以用Git来管理, 这个才叫真的备份, 连历史记录都备份了. 同时, 因为格式上的原因, 我决定用某种文本格式来保存我的文章, 当然, 我可不准备手写HTML, 这样才不会出现用Windows Live Write写博客那样的悲剧, 并且, 作为离线写博客的方式, 用Vim来处理文本就方便了, 不用再去找各个平台的啥离线工具.

阅读全文....