人生的路很长
总是有沟沟坎坎
难免会起起落落
如果刚上路就嫌弃你
那么会在一路上不离不弃
与你一起到终点吗
走着走着
有自行车经过
原来可以骑车的
为什么要走
走着走着
有汽车经过
原来可以开车的
为什么要走
其实
只是不想和你一起走而已
// 补充
这篇在草稿箱里躺了好久好久,终于想起来点了发布
Salesforce, Javascript, PHP and Others
人生的路很长
总是有沟沟坎坎
难免会起起落落
如果刚上路就嫌弃你
那么会在一路上不离不弃
与你一起到终点吗
走着走着
有自行车经过
原来可以骑车的
为什么要走
走着走着
有汽车经过
原来可以开车的
为什么要走
其实
只是不想和你一起走而已
// 补充
这篇在草稿箱里躺了好久好久,终于想起来点了发布
王家卫大导演的作品《花样年华》,《2046》,《重庆森林》等作品,教育了当时年少的我,什么叫逼格。
我没有花样年华,只能品味别人的花样年华。
今天在网易云音乐上听到了梁朝伟用普通话唱的《花样年华》,倒是别有一番味道。
经人指引,
读到了一首三行诗。
螃蟹在剥我的壳,笔记本在写我。
漫天的我落在枫叶上雪花上。
而你在想我。
读第一遍的时候并没有什么感觉,
而再读一遍的时候,却给我带来巨大的冲击与共鸣。
当一切都是反着的时候,你才会想我。
简直就是我的真实人生写照。
//补充1
据说这三行诗是抄袭的,我也看到了被抄袭的原文。怎么说呢,我还是喜欢这一版。
最新在搜歌的时候,
无意间搜出了关栋天先生的《道》。
对的,歌词就是老子的道可道,非常道,
再配上略微诡异的音调,倒是非常符合我的口味。
被凡尘所扰的同学可以尝试下。
‘这个世界上,已经有人在宇宙漫步,星空是他们最后的坟墓。相比之下,你那点考试升职亲子关系家庭问题就像屎壳郎找不到合适的粪球一样卑微。’
——刘慈欣《球状闪电》
人生不只有苟且,还有诗与远方。
——高晓松
鲸鲨是一个不同以往的项目。
因为我有一个很大的构思。
对于初学者,熟练者与精通者而言,需要不同的训练方式。
初学者更加侧重于基础知识的重复记忆。
熟练者需要掌握更多的技巧与经验,即俗称的语感。
而精通者需要的,则是可以模拟母语者的思考方式与跟上语言的最新发展。
鲸鲨的范围是在高等熟练者与精通者之间。
入门的方式有无数种,精通的方式呢?
鲸鲨的所有内容组织只根据一个核心:情境。
没有情境的语言是毫无意义的。
教科书里会有文章,有对话,去刻意的编撰不同的情境。
但写在书上的场景,人物,说话方式,从被写下来的那一刻起就已经落后了。
语言是根据人的需求,动态发展与变化的。
可以被精确记录的语言,是已经没有人使用的语言。
得益于信息时代的互联网,
我们可以方便的收集到最新鲜的语言。
鲸鲨应该去找到每一个情境,与每一个情境下最适合的语言组织方式。
并且时刻保持最新状态。
然后用来考验学习者,
告诉学习者。
从点滴做起,实现这幅蓝图。
关于如何阅读代码,原来早有好多工具已经诞生。
其思想与我之前构想的也差不太多。
在一个不崇尚技术与效率的圈子里呆久了,
早已看不见世界的真实样子罢。
最近在push三个project。
一个是一直在进行的神秘项目,目前的关键字为“snoopy”。不宜多讲。
一个是之前提到过的JWMA,野心很大,但很难实现,且必须实现,为了她。
一个是一个简单的ios应用,非常简单,但我非常想做,用swift做。
阅读代码的工具想试试understand,试玩写评测
与其说阅读代码如同读书,不如说如读棋谱
从小阅读计算机编程书籍,
大师们就教育我,
写代码如同写书,
代码是写给人看的,
不是写给机器看的,
所以一定要保证有优良的可读性。
具体的来说就是要做到:
遵守命名规范;
清晰的注释;
最大限度的代码复用。
最好呢,
还有要有完善的文档。
但是,书与程序还有有些不同。
不同的地方在于程序是非空间线性结构。
对于书来讲,
我无论从哪开始翻起,内容都是连续的。
尽管对于一些情节紧凑的小说来讲,
可能从中间开始看,仍然不明所以,
但不影响叙事的线性顺序。
从物理空间的角度看,作者一定是希望读者从上到下,从左到右,从前一页到后一页的顺序来阅读。
而代码不是这样子。
假如我们将一个系统的代码全部打印出来。
连怎么排序都是个问题。
最简单粗放的方式就是按照文件名排列(排序A)。
如果我们按照读书的方式来阅读排序A的结果,
除了超人之外很难能读懂这个系统到底要做什么。
(可以设想下排在前几本的程序会是什么,按这个顺序读代码会是一场灾难)
对于书来讲,最开始一定会是目录和前言。
那我们作一个代码文件的或者函数的目录,并且索引出来。
然后写一个介绍系统功能的前言(排序A改)。
这样可以通过类似于翻新华字典的方式,
来阅读我们的代码。
但我们还是不知道该从何读起。(先找到MAIN()是个明智的做法,但有些时候并没有Main)
一个故事,一定有一个开头,
一个代码,一定有一个入口。
代码的内容的组织方式与故事不同。
代码在物理空间上不是线性的,
而是在时间上线性。
从代码的入口开始,可能下一行的内容要跳到别的代码里,
然后再跳进另一本代码里,
然后出现了一个分支,
再次进入另一本代码
。。。。。。。。
终于在翻了大半本书之后,
跳回了第一页。
然后下一行,
再次跳遍了大半本书。
内容之间只有前后,
没有绝对的下一页一定和这一页相关,
甚至下一行与这一行的相关。
其实,如果看过棋谱的话,就会知道,
代码的这种特性,
与棋谱很像。
棋谱,
有两种记法。
一种是按照着棋的顺序,以纯文字描述。
如象棋棋谱中的 马五平七,车三进四。
一种是绘成图,然后每一着上写着步数。
读者自行按照图中的数字脑补在不同时点棋盘上的样子。
当然,代码是无法如同第二种技法那样具象化的。
所以,阅读代码的最好的方式并不是按照文件和上下文的物理顺序来读,
而是按照时间顺序来组织。
以后可以做个工具以静态分析的方式将程序的调用顺序列出来,
以达到debug单步执行的效果。
最近脑袋中一直在不断的盘旋着很多的想法。
其中一个就是科普。
科普什么呢?
计算机世界总是显得对行外人很不友好。
虽然有一些计算机科学的概念已经深入到普罗大众,
比如副本,重启之类,
但很多基本原理还是不被行外人所知。
相比于经济学与心理学等热门学科的普及率,
计算机科学还是相当自说自话,空中之楼阁。
所以我打算以好莱坞常用的手段—–拟人的方式,
将计算科学的一些基础概念与原理描写出来。
会是个很大工程。
也许写的也不会很吸引人,
但我还是会尽力一试的。
想法诞生于一部美国动画片,
讲的是一个药丸与免疫细胞战胜致命病毒,拯救男主角的故事。
但是名字想不起来了,等想起来之后再更新。