今晚,继续就着 之前弄 stm8s003的flash例程时,发现st库里那些......该死的assert_param居然一点都没起到我想要的作用,不由继续火......
然而一顺往下纠结,最终才一点一点明白整个事情的关键是 我们很难找到一个合适的 断言失败时 的处理。
算了,这里先不谈这个细节,也许过后一两天,或许下一周周末,我会把它写在......还是写在这里吧。
我发现,我慢慢的开始不再把这种内容写到自己精心经营的板块,除非是例程,源码。
这也是个endless topic,暂时压下不说。
其实刚刚就着这个问题和一个比较无辜的工科妹子聊着,聊着聊着聊得很嗨。
虽然觉得她很无辜,但后来越扯越远。因为太晚了,我还是选择洗澡然后准备睡觉。
然而,和以往一样,这种强烈深入思考讨论过后,余震总是很厉害。
于是我突然想到来到这里,这个论坛的后花园,自己的版块里写一篇日志。
和平常生活一样。
我越来越希望并努力让自己更加沉默,不表达感情,个人感受。
写程序一样,前面说的,尽量不把这些描述性,叙述性的内容发到版块里,也是出于这种同样的考虑:
似乎在程序员的世界里,最有说服力的一句话就是 Linus说的那句“给我看代码。”
不管是为了越来越接近的三十而立的生活压力,还是自己的梦想。
我知道我现在需要越来越多的 代码 而不是埋怨,文字。
我本来什么都不想写,只是想整理一下今天做了什么事或者安排明天继续做点什么,或者洗完澡时,我决定弄弄github。
说实话,在没有实际使用之前,我没有打算让它取代我用的好好的svn,但对我来说,这是一个和世界上其他地区的程序员
交流的好途径。
我素不欣赏google在浏览器上的一些做法,但是,我对于google技术上的作风非常欣赏,比如今天无意了解到的Go语言。
——是的,我还是下意识,把github当成是google
即使到后来我知道github和google一毛钱关系都没有。
但是我对于这种广告方式,或者说这种互联网推广方式,我这个工业领域的程序员看来很长一段时间内还是很难接受。
也许当我30岁,或者34岁的时候也许就能理解了吧。
但是让我忍不住来写这篇已经越来越长的日志,最初的想法也许是
因为我刚刚和那个妹子的讨论里,考虑得最多的其实是
这个assert的问题,其实并不难,或者说难点不在怎么实现。
我现在就已经想到两三种方法实现。
关键是我为什么要这样做,或者说我这样做具有通用意义么?
如果没有,我为什么要做?
于是我很发散的联想到一句话
“安全,从来不只是一个技术问题”。
其实放宽来说都一样。
我们程序员会很下意识的从一开始就考虑如何实现。
只有停下来才会想想,为什么要这样做?
或者白熬了若干个夜晚以后,在褪去了学生的青涩和职场新人的稚气 以后,才慢慢学会告诉自己
在甩开膀子大干特干以前,先考虑一个 why的问题,而不是一下就沉浸在how的问题里。
从我个人狭隘的眼光来看,现在很多程序员,其实只不过是一个 能写程序的 工人。
而非一个真正的 具有 匠心 的 工匠。
比如你会从什么角度看待你做的产品
不管它是看起来很高端霸气上档次的 还带很炫很炫的彩屏的高档嵌入式系统
还是一个非常小的,甚至只有一个LED,连个按键都没有的微型简陋单片机系统。
你自己,作为开发者的你是否对它有足够的呵护?
是的,你没有听错,我说的是呵护,就像呵护我们未来或者已经拥有的自己的孩子一样。
我最近在村里吃饭的时间固定在一家咖啡厅里。
老板娘是个有品位,对咖啡,茶,酒,烟这些有研究有讲究的人。
她虽然时不时会被自己刚刚四个月的小孩哭闹弄得粗暴责骂相向,但是她和店外大街上那些外省女人对自己的小孩的那种粗生是严重不同的。
最明显的是每次我去吃饭看到她女儿的时候,她总是干干净净的。
但是那些在外面的小孩,却居然是满脸泥。
这不由让我想起我自己的妈妈。
应了那句话:每个人都有妈生,却不是每个人都有爹妈呵护。
扯的稍微有点远。
写程序,要点亮一个LED,要在显示屏上显示什么内容,或者是向远程系统输送什么诊断信息,这些事情做起来都不难。
难就难在,我们是否为它做了这些全方面的考虑。
你是把它当成那种一经卖出去就不管了,别人说有问题,你说,哦,那你重启吧
重启,重启!重启!!他妈的重启!我最讨厌的就是这种说道和程序故障解决问题。
淡定点。
是的,我说的就是,我们要像呵护我们柔软的孩子那样,呵护我们自己的代码,产品——
我也在考虑一个问题,这种呵护的成本不菲,就好比我们只有对自己的孩子才会这般付出,毕竟
这种呵护代价不菲,很难很难真的幼吾幼以及人之幼。
这样扯下去会没完没了。
不过我们可以很简单的举个例子。
某些科技含量比较高的产品,国产的和外国进口的价格可以相差十倍几十倍,但是仍然有人趋之若鹜。
无他,因为某些场合,真的是没办法必须用。
否则性能达不到。
在工业,医疗这种人命关天的场合,做得到 和 做的好 是差天共地。
并不如安卓,PC电脑软件这种大众消费领域。
因为我没有钱换一部nexus或者小米,所以我即使面对我2.0老版本的三星安卓手机破口大骂,我也只能忍受。
因为我们不会为了某个软件有诸如反应迟钝,不时出现很可恶的卡住,而特别地专门去研究,然后找一个最棒的,哪怕是付费的软件来替代......
我们的缺乏经济实力,我们的宽容
造成在这个领域,充斥着各种垃圾。
还有一个原因,在互联网,消费领域,充斥着一句很可能是巨大优点也是臭名昭著的观点:
不管好坏,先把它实现,先把它推向市场,推向用户,先占领市场再说。
比如腾讯动作迅速的游戏,应用山寨。
没有人会特别在意,一个更好体验,更棒的,但可能更昂贵的软件
——因此,作为开发者的我们,支付不起这么昂贵的成本。
因此,我们很难像呵护我们自己的孩子那样去呵护它。
奥登有一句话
“语言是一个人尽可夫的婊子,而我打算把它改造成纯贞的处女。”
在互联网,在消费电子,我们可以把上述 语言 这个主语 换成很多个名词然后都会非常贴切
比如 安卓。
对了,写到这里,我才想起,我最初其实引发我这一通感触的来由:
我是回想起我的第一份工作,是的,做的是游戏机,它自然就涉及 博弈。
当时我对我们老板 对 玩家和庄家 的非对等对待非常不满意。
他的逻辑是,处理程序时,不管怎么样,都绝对不能让庄家吃亏,也就是我们自己吃亏。
因此他在考虑如何处理异常的时候,优先选择牺牲玩家。
这让我非常不满意!
做事和做人是一样的。
我希望的是,尽可能妥善处理双方,但绝不该让玩家承担所有。
公平,和 尽心呵护 其实是类似的。
这就是我扯了一通想说的。