怪怪 | Nothing, Everything

"有过一个发疯的时刻,有感觉的钢琴以为它是世界上仅有的一架钢琴,宇宙的全部和谐都发生在它身上." - 狄德罗
随笔 - 83, 文章 - 2, 评论 - 1656, 引用 - 38
数据加载中……

如何成为一个现代程序员: 使用你的CPU, 而不是内存

这两天看到不少.NET面试的帖子, 说实话, 那些问题中凡是涉及细节的, 我一概答不上来: 就算今天知道了明天肯定就忘; 事实上, 这些问题在我具体工作中全都处理过. 因为要算计的事太多, 没那个脑子记这些了. 不过我敢保证, 这些问题任何一个也不可能对我的工作造成哪怕一点点的阻碍, 因为在我的能力和理解力覆盖面之内.

尖酸刻薄的说, 我个人认为, 那些问题如果用来面试, 只能用来判断对方对工具(没错, 不只只有IDE是工具, 语言, 库, 都是工具而已)使用的程度, 这似乎和高级/架构, 根本挂不上钩.关键是我们在哪个层面工作. 现在的工作, 无论是程序员还是其他的, 哪怕卖保险的, 处理的信息量要远远超过以往; 所以比知道具体信息更关键的是, 如何快速获取并应用信息. 这个只能靠有意识的学习, 体会别人的思路.

比如原文中的兄弟说到: "道理很简单,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并不会被使用,此时CLR傻乎乎的给整个程序集都给Compile了,CLR不是傻疯了么"

这个就是个忒别好的方式. 只是那些道理不简单的, 要通过二阶和三阶的知识把他们变成简单的. 比如关于一些工具箱和框架的使用, 看似量很大, 那些红皮书一本700页还是少的. 但是说实话, 把10年的时间用来学习和实践十几本红皮书, 不如学学如何设计更合理, 收集一些不同流派程序员的风格, 练习一下猜测他们进行具体内部实现和设计外部接口使用方式时的心理.

在这些发散的地方有所收获之后, 就会发现, 配合现代IDE, 很多时候一些事情连帮助都不用看, 自然而然就能用得很好. 对于有疑惑的事情, 大不了写个小例子试验一下. 以我的经验, 这花不了多少时间, 忘了的东西(假设比较复杂), 第二遍再用的时候, 一般连例子都不用写, 一见到就能记起的差不多了.

很多事情说白了, 按照我以前的说法, 属于别人设定了这样, 你就得这么用的; 这些我一般不把它看作知识. 比如老赵对其中一个问题的答案: 由于Equals和==操作符都可以重载, 所以不确定. 但是假设C#不提供操作符重载, 这个问题的答案就不一样.

关键是思路, 比如还是这个Equals和==的问题. 你可以连C#提不提供操作符重载都不知道, 遇到这个问题, 首先应该想到的是: 我会不会遇到操作符重载的问题? 这个问题拿屁股想都知道, 会涉及到C#提不提供这个功能. 然后自然就会去查, 查这个事, 用不了5秒钟, 因为连网页和快照都不用打开, 一般瞅一眼搜索引擎出示的片段就知道了. 查到以后, 自然就知道该注意什么问题.

上面的最后一句话, 其实有待商榷. 因为是不是"自然就知道", 取决于你平时有没有收集哪些问题可能是由操作符重载引起的信息. 但是收集这些信息, 并不是要非常细化的, 而是留一个模糊的印象即可. 有了一个线索, 还可以再查嘛. 更多的是感觉: 由于脑子里记得东西少了, 不清晰了, 我们就要加强找感觉的能力. 比如, 我们碰到一个问题, 是由操作符重载引起的可能性为10%, 甚至1%, 我们必须有办法注意到这1%.

不放弃每一个可能的同时, 保证干活的效率, 这个技巧在于遍历: 但是被遍历的数组必须排序, 有优先级的排序; 这个数组中的元素, 则是你要问自己的问题. 如何排序, 看起来只能由具体的情况决定. 这个属于经验范畴, 只能求助于练习和撞墙了. 不过, 我相信, 记住大量的细节和情况, 照样可能因为这些细节犯错误. 有一个会想问题的大脑, 反而比一个面面俱到的记忆, 更加节约时间.

养成了在正确的时候提出正确的问题的习惯(这个动作消耗的时间肯定在0.1秒之内), 接下来就是猜测作者的意图了. 这个事情的关键在于, 我们广泛的观察在生活中, 人们一般如何解决问题. 当然既然干的是软件构件, 对程序设计领域, 更要广撒网的去获取样本: 你知道他们有几种可能方式设计, 并且能快速辨别出来, 自然就能使用的随心所欲.

这个地方主还要锻炼的是联想问题的能力. 因为一个具体领域的问题, 我们可能从来没见过; 但是它很可能和另一领域相似. 当然, 有的时候很可能一点点不相似, 就导致问题的解法集合产生非常大的差异, 怎么办呢? 再拔高一层, 继续收集不同的变化下, 解的集合如何变化的规律呗. 这个实际上是进行了更高阶的抽取.

关键的一个假设我们要有的是, 人都是相似的, 所以脑子和想法也是相似的. 哪怕性格迥异, 最多也就分成几类人, 最后对应的就是几类解法, 基本就是几类人对同一问题, 对应的构思不同. 所以第一件事就是找感觉: 我们现在使用的框架/工具箱的作者是个什么类型的人, 他的构思会是怎么样的? 然后找寻预期中特点, 验证答案; 最后我们确定的很可能是一个混合的风格, 但这没关系, 我们可以观察一下针对一个大问题下的不同子问题, 他做出的选择是什么, 自然就知道他是如何混合使用不同思路的, 为什么混合; 于是在各种场景下, 我们都能很快的找到问题的答案.

对于我来说, 相当关注的就是别人的程序设计风格, 越是刚进入一个领域, 就越在乎和我使用的框架/工具箱的风格保持统一. 哪怕这个风格和我的习惯抵触的很厉害. 因为只有你象他那样做, 你才能做到真正的象他那样想. 当然, 针对"C#是否提供操作符重载"这类问题, 我们要关注的不仅仅是程序设计风格, 更多的是语言设计的理念这些问题. 平时在自己的领域之外, 多关心一下这些问题, 我们不需要实现自己的语言, 也可以逐步的练就熟悉环境的能力. 比如, 一个以类为依托的语言, 提供的特性肯定是一篮子, 这些篮子里一般都会有什么, 这个概念就必须有.

在一个完全陌生的领域, 经过锻炼, 可以把这个Clone期(Clone的是人家身上那股子劲儿), 控制在半个月左右. 过了这半个月, 爱怎么写程序, 就可以怎么写了; 不过恐怕这时候咱们已经进入状态, 除非是特别费时的习惯, 其它的宁愿和咱们Clone的对象保持统一, 而不愿意再改了. 在这里需要注意的一个重点是: 也许你的问题, 和你所使用的框架和工具箱的设计及使用方式, 是格格不入的, 但确实这个第三方的东西又能大幅增加你的效率; 这时候你就要花点时间, 对你的大脑和具体实现做些Adpater了.

我觉得这样的学习和进步的方式, 最大的好处是, 同样的脑力, 获得了更多的东西; 同样的时间, 以"不知道"的方式, 就覆盖更多的内容. 不知道大家看过那些什么16kb展现一个带纹理的3D场景的DEMO没有? 其实道理是相似的, 只是如果3D游戏都那么优化, 反而要花费大量的时间和精力, 这是因为, 对于场景, 纹理, 这些东西, 变化太多, 无法归纳出一个或几个普遍的规律. 而我们人类做事的方式确是可以总结的: 除非是神经病, 否则对于一个人和一类问题来说, 做对的方式一共就那几种.

我们要看到, 人的特征是, 超频容易, 同时人的CPU组属于可编程的硬件, 而且比现在稍微具备类似功能的显卡要强得多: 我们可以针对各种各样的问题对我们的CPU进行优化, 提供捷径, 这就仿佛可以通过编程手段增加MMX/SSE/3DNOW!, 而且可以无限制的扩展. 但是我们的内存却极其有限, 而且我们的机箱太硬: 当然, 即使打开它, 也未必有内存插槽. 不过如果你要是一个过目不忘的家伙, 那么我应该在文章开头提示你点击右上角的x的; 现在只能对你表示强烈抱歉, 以及更多的嫉妒了.

说到底, 在你不可能用到什么重载的时候, 你就不需要关注它; 你只要知道它和它的一帮可能给你造成障碍或帮助的兄弟在那儿, 同时知道干掉它们或驱使它们的秘籍在哪儿得到, 也许还需要知道怎么去拿这个秘籍, 和使用秘籍的几种咒语. 但是, 就像我们设计软件的原则一样, 相比具体问题, 这些能力是可以大规模的重用的.

这就好比玩星际或者魔兽时, 速抄(谁理解这个词? 你们那习惯上怎么叫的?)的话, 当一局结束时, 一般来说一个地图上大多数地方是还是黑的. 当然, 如果是开分矿, 搞堆兵的主儿, 最后地图基本全亮了. 不过我们需要注意的是, 当你的单位不在一个已经探过的地方时, 那里还是罩着战争迷雾. 但这不要紧, 只要你会"探路". 很显然, 不会"探路"的人, 无论他掌握多少极其牛B的技巧, 也不可能赢.

当然, 和"探路"相似和同样必要的技能还有很多, 这里只是拿它做一个代表符号. 我们需要注意到一个现象: 相比一个知道如何造奇美拉或大核的人, 一个在C&C中会"探路"的家伙, 经常玩个几天, 还没有记住各种数据, 就可以开始狂菜前者了. 不要和我说Grrrr或者谁谁数据记得也很熟: 毕竟, 他们需要处理的细节是有限的, 在这方面吃亏不值得; 而生活和软件构件工作中则不是. 这又是一个如何进行选择和交换的问题, 处理这个问题的能力, 是基础之中基础.

当然, 并不是所有的问题, 是会"探路"或者一些其它基本技巧就可以解决的. 分辨一个知识属于哪个范畴, 又是一个话题了. 这个话题更没有想好, 这篇文章已经够长了, 放以后, 或者大家讨论一下吧. 另外, 如果大家觉得我说的话没份量, 也可以看看真正的大师怎么说的(不是原话): 在Stroustrup的访谈和其它一些人的发言中也曾经提到, 不要去关注细节, 而是关注更高层面. 当你真正的理解了问题, 做出了正确的决定和设计, 细节自然而然的会"Fall into place".

当然我不赞成人人都采用这样的方法提高能力: 如果所有人都等着用到的时候再查, 恐怕每一个人都什么也查不到, 最后就便宜出版社了^^. 嗯, 这篇文章只是随便说说. 其实关于怎样成为一个现代程序员, 至少也能写出一本700页的红皮书. 谁要是有兴趣共同创作, 或者帮助这个话题联系出版赚钱等适宜, 不妨联系我, 嘿嘿.

P.S. 文中很多能力, 其实可以用在生活中的, 比如设身处地的体会和Clone别人, 泡妞就用得着. 先Clone这个MM的风格(就是把自己模拟成这个MM啦), 当你采取行动时, 就可以更准确的预估她各种反应的概率, 于是你就可以选择较为正确的那个方式. 当然, 我不赞成这样去谈对象, 尤其是谈婚论嫁的对象; 关于这个话题, 其实我也可以写几篇文章, 不过想想还是忍了吧, 有损形象.... =)

posted on 2008-03-01 06:05 怪怪 阅读(9347) 评论(60)  编辑 收藏

评论

#1楼    回复  引用  查看    

这么长,MARK一个先,今天还上班呢:P
2008-03-01 08:01 | RongCha_040      

#2楼    回复  引用  查看    

狠有道理。我要给自己装个双核CPU,等我回家把自己脑袋打开试试。但会不会有精神分裂症状
2008-03-01 08:23 | 李战      

#3楼    回复  引用  查看    

先看了前一部分。
招聘,如果是刚毕业的学生的话,只能考一些基础知识,基本功能,因为大多数还都没有工作经验。

如果是工作一年以上的成手的话,那就要看他的思想了,就是看编程能力、设计能力,不能再考基本知识了。

2008-03-01 08:31 | 金色海洋(jyk)      

#4楼    回复  引用  查看    

看完了, 貌似没什么感觉,我就是这么学习的。 但是感觉很自己很无知。

#5楼    回复  引用  查看    

@金色海洋(jyk)
兄弟你是一厢情愿,设计能力怎么考?让你来我们公司帮我们将系统框架设计好,如果绝对好的话,我们会录用你。你觉得如何?否则我怎么知道你的设计能力。解决问题的能力就是靠一点一滴积累起来的,笔试面试就如考试,考察的是积累,可能有失公允,但却是考察能力素质的唯一可行的手段。
兄弟们都认为做过几年了,要考察设计能力,编程思想,这样才有深度,可设计和思想大多是没有标准答案的,孔孟和老庄你说他们谁对谁错。而且老话就说不扫一室,何以扫天下。大楼地基都不好,何谈能成摩天,静下心来真正的学一些知识,掌握一些为人处世的方法,在以后面试或者笔试的时候才能有很好的发挥,因为这个叫知识沉淀。否则光靠对人家夸夸奇谈对以前项目的忽悠,人家是不会完全信任的。现在好单位都防京油子。可你说你不是京油子,但怎么证明你不是是个问题
2008-03-01 09:05 | jillzhang      

#6楼    回复  引用  查看    

不如用winhex写一个可执行文件了

哈哈
2008-03-01 09:08 | coderlee      

#7楼    回复  引用  查看    

@coderlee
如果你真能这样做,恐怕也就到了能编解码个文件格式出来。这个和编解码文件的要求不相上下。
2008-03-01 09:10 | jillzhang      

#8楼    回复  引用  查看    

脑袋里的 CPU?真还是有的。
其实脑袋里还有显卡和声卡。带纹理的场景渲染也是可以的说。声音么,可以是单声道/立体声,还可以自动谱曲。
其实还可以在脑袋里用搜索引擎,不过我只在梦里用过。还真查出来东西了。
2008-03-01 09:31 | 随风流月      

#9楼    回复  引用  查看    

同意楼主的观点。

人的记忆是有限的,在解决问题的时候,能提出多种解决方案是很重要的,至于实现的细节,完全可以去查。

但是面试的时候几乎不可能去考察这种思想,谁知道你提出的众多解决方案中,有哪些是你真正理解的(哪怕细节不清楚),而又有哪些是直接看别人的总结,快速背下来的。
2008-03-01 09:33 | Rainy      

#10楼    回复  引用  查看    

标题很不错:)
2008-03-01 09:46 | lyskyly [未注册用户]

#11楼    回复  引用  查看    

知识的积累也很重要
2008-03-01 10:03 | 小兵a [未注册用户]

#12楼    回复  引用  查看    

而是留一个模糊的印象即可. 有了一个线索, 还可以再查

确实如此
2008-03-01 10:08 | Tristan(Guozhijian)      

#13楼    回复  引用  查看    

抽象来说,人脑也是有内存和硬盘的,楼主的意思是内存中应该多装算法,少装文档帮助。
2008-03-01 10:16 | 梁逸晨      

#14楼    回复  引用  查看    

看得不是很懂,思维太发散了……大概理解为,engineering的common sense是必须要有的。至于engineering,则是十分讲求经验的事情,你天天做自然就有common sense,这就和日常生活的很多事情一样。你在中国长期居住,把你扔去美国你也会发现生活中的common sense不适用了。
2008-03-01 10:20 | Cat Chen      

#15楼    回复  引用  查看    

层次不同,角度也不一样,何必言必相击。
2008-03-01 10:26 | 布尔      

#16楼    回复  引用  查看    

以人为本

#17楼    回复  引用  查看    

我也很为开发中的2/8规律而烦恼。日用的就那20%。但现面试时,老拿一些函数说事。我说这函数查查MSDN不就很清楚了么。再不明白就Google。甚至还会问一些HTML Tag的属性。晕啊!那些出面试题的考官,难道就不知道RM是有限的么?郁闷。
2008-03-01 10:52 | JackMa      

#18楼    回复  引用  查看    

还是应该各取所需,毕竟时间精力很有限,
有些不经常的问题遇到后在去msdn也没有什么大不了,时间问题而已

对于新手去面试当然希望遇到基础的东西,如果以往有工作经验的当然应该深入的去了解一些底层的东西,至于设计能力,这应该是综合能力,要做好应该不容易,许多老资格做程序的不敢说自己这方面很强,没有十年的功力应该也不会有人说精通吧
2008-03-01 11:17 | JustYxY [未注册用户]

#19楼    回复  引用  查看    

好长的文章啊……确实站得比较高,总结下是不是:触类旁通,把握大局呢?
2008-03-01 11:36 | Dflying Chen      

#20楼    回复  引用  查看    

先不考虑如何考核的手段或方式。
作为程序员先要定位清楚自己面对的软件开发中的的层次,对设计方面缺乏那么就要在代码设计上,多记忆住些东西,常用的方式方法。这样对实际开发质量和速度都有很大的帮助。这样的层次的程序员设计架构的事情一般是落不到你头上,基本都由公司的高手设计了。因此这个层次确实需要大“内存”。

而大多刚毕业的都处于这样的层次,考察他们记忆了多少东西和基础的理解。这样是有必要的。

而对于工作了很长时间,已经发展到对设计和架构方面的东西进行处理的时候,那么这个时候可能这样的程序员就不再需要消耗太多“内存”在具体的代码上。确实是应该多使用“CPU”去理解吸收别人设计的精华,这些不是从代码量上积累出来的,而是在理解程度上深入与否的问题。 这个时候“CPU”才是瓶颈。他能否改进有多少提升空间是最重要的。
2008-03-01 11:41 | tianhu      

#21楼    回复  引用  查看    

多多益善
2008-03-01 11:57 | xdp      

#22楼    回复  引用  查看    

从长远看,从理论看,这样错,明显是对的,我也一直这样认为.

但最近也认识到,从实际看,开始的时候恐怕更重要的是要进到一个圈子,融入进去,显得更重要,当然了,这只是针对99%的人,因为99%的人是依赖与其他人与环境的影响的,独立思考和应对的能力显得不足。
2008-03-01 12:35 | 坏人      

#23楼    回复  引用  查看    

关键还是看个人的觉悟吧, 要认清自己所处的位置,认识到事物的本质,明白自己真正想要的或者需要的是什么。
似乎很多人都误入歧途,泥足深陷,不能自拨,更可恶的是不自知。

很多时候感觉程序设计是一门富有哲理的艺术
2008-03-01 12:57 | zzz [未注册用户]

#24楼    回复  引用  查看    

我觉得博主说得很有道理,我们应该记住在哪里可以解决什么样的问题,而不是去记每个问题解决的细节.
只是这样做的话考官如何鉴定面试者的水平,这是个问题.
2008-03-01 13:46 | Jinjian [未注册用户]

#25楼    回复  引用  查看    

最近发现一些红皮书都到1500、1600页了,无比可怕!
2008-03-01 14:17 | Jeffrey Zhao      

#26楼    回复  引用  查看    

--引用--------------------------------------------------
JackMa: 我也很为开发中的2/8规律而烦恼。日用的就那20%。但现面试时,老拿一些函数说事。我说这函数查查MSDN不就很清楚了么。再不明白就Google。甚至还会问一些HTML Tag的属性。晕啊!那些出面试题的考官,难道就不知道RM是有限的么?郁闷。
--------------------------------------------------------
不过一些基础的还是要知道的,比如List、Dictionary、HashSet等容器类的用法……呵呵。
2008-03-01 14:21 | Jeffrey Zhao      

#27楼    回复  引用  查看    

哈哈。蛮有意思的,我一般也是记不住东西的。还是编程思想和解决问题的能力重要吧。
2008-03-01 15:09 | ∈鱼杆      

#28楼    回复  引用  查看    

学习一下博主的思想。
2008-03-01 15:18 | MaxFree      

#29楼    回复  引用  查看    

怪怪可以多搞一些这样Progmatic Programmer般的东西,呵呵。
2008-03-01 16:53 | Jeffrey Zhao      

#30楼 [楼主]   回复  引用  查看    

@梁逸晨
你说的这个我觉得一句顶我好多句, 没有算法CPU只能空转嘛. 不过如果这样类比的话, 我们可以把网络, MSDN, 当作我们的硬盘, 因为查找速度慢.

@jillzhang
在现实中确实存在这样的矛盾, 不过呢, 存在这样的矛盾, 就存在着新的方式和新的市场. 包括计算机学科教育和面试招聘两个方面. 其实既然IT还要继续发展一阵子, 真正需要受教育的绝不仅仅是程序员.

比如, 就像你说的, 你必须给我做一个设计, 或者完成一部分工作我才录用, 限制在一个月的工作量; 如果所有的公司都采取这样的做法, 被招的人也没辙不是? 但是这里有一个问题是很残酷的, 这个人面试不成还好, 这个人比面试官还强, 甚至比公司技术骨干还强, 怎么办?

用第三方公司招聘, 能解决这里头的暗箱, 但是就更残酷了.现在国外还有这样的做法: A/B/C淘汰下来的, D/E/F可能用的着, 所以这些公司在人才这方面可以结成联盟, 共同招聘.

其实这一块市场很大, 有很多可能的创新和机会. 不知道有没有兄弟感兴趣, 呵呵.

@C#码农.SUMMER 鬼魅胡笳
不能着急. 我的经验是, 这种方式, 在初期要付出加倍的努力. 其实很多时候我们宁愿按照传统的学习方式来, 也有传统的学习方式操作简单, 目标明确的原因.

@坏人
我比较头痛这个, 人的精力是有限的, 用于在圈子里混, 其它时间就少了; 但是不混, 咱就真得有贫困数学家的品格了.

@大家
这么多人, 借机会问问, 有对为了移动设备软件市场感兴趣的没? 最近换了个S60 3.0的手机, 什么Google Earth啊之类全都一应俱全, 正好我又是GPRS包月, 高速CPU和网络带来的功能(尤其是后者, 但必须前者配合)上的提升真是太赞了.

这是我一直都看好的市场, 一直以来没太关心, 是因为我觉得还需要些时日才会对我们的饭碗产生影响. 但是现在我知道, 我低估了发展的速度. 对于移动设备的单机和网络应用, 现在就是美国互联网的95年, 甚至已经过去了.

今天谁进入这个市场, 当先烈的概率比前些年小的多; 而5年10年后, 就是不混成丁磊, 可能也年薪100W了外加股票期权了.

我手头还有一些东西必须结束, 否则对我的心态影响很不好. 不过总的来说, 我打算逐渐开始做准备转战这个市场了.

不光是看在钱的面子上, 而是这个地方空白那么多, 又缺乏垄断, 这是最好最好的环境. 据说Nokia对Symbian开发者的支持怎么也有MSDN的一半了; 还有WM/WinCE虽然不开源, 也是开放平台; Android也是一个linux手机真正开放的信号(想想moto的linux吧).

消费市场的另一个优点是, 咱们能够维持小型的, 高效的, 赚钱的工作组, 就像id Software那样; 不用看老板和客户的脸色, 一切都由咱们的软件/小屏幕互联网应用是不是真的实际解决问题; 我们是人, 平时也有很多"要是有个XX就方便了" 的想法. 而且, 如果我们能在新的战场上改变用户习惯, 我们甚至能反过来改变传统软件/互联网的使用习惯. MS也好, IBM也好, 大型互联网公司的霸权主义也好, 再也不是铁板一块.

我们只要切身的去感受, 去创造就可以.
2008-03-01 17:03 | 怪怪      

#31楼 [楼主]   回复  引用  查看    

@Jeffrey Zhao
倒. 我表达的太混乱, 不适合长期的写文章吧? 抛砖引玉罢了.
2008-03-01 17:05 | 怪怪      

#32楼    回复  引用  查看    

智能终端的市场,前年就开始关注了。
可惜没有硬件方面的专业知识,感觉没有头绪。
托朋友搞了一些MOTOR,NOKIA的单片机和电路板的说明书看了看。
感觉完全是两个领域,不说文档全部是英文的,关那些指令啊,Flash,缓冲区就够琢磨的。完全想自主研发,感觉太难。

另外,现在的硬件发展太快,智能终端的配置说不定过若干年就和现在的PC机差不多了。
2008-03-01 18:23 | 刘荣华! [未注册用户]

#33楼 [楼主]   回复  引用  查看    

@刘荣华!
..., 你真行. 我可没志气搞硬件, 最多就是玩玩飞思卡尔, 三星他们这些公司提供的解决方案和开发板.

我指的是软件. 现在这个环境, 比前年成熟多了, 咱根本不用管那个. 会用C/C++/.NET/Java中任何一种都可以, 现在甚至都支持Python了.

关键是低端机的价格, 我买的手机现在不过1000多, 可能很快几百块钱就能购买智能机了; 而我买第一台6600的时候, 花了4000多. 所以性能倒不能做乐观估计, 因为耗电量/成本这些制约太大.

但总而言之, 现在不开始, 等再过几年, 就好比咱们现在去做网站了. 机会不是没有, 但空间小很多, 阻力大很多~, 要知道, 技术问题咱们这些技术人员一扎堆, 总能合计出来, 但其它问题(人的问题钱的问题市场的问题), 就是韦尔奇或嘎子也不见得有100%的把握.
2008-03-01 19:00 | 怪怪      

#34楼    回复  引用  查看    

有搞头。
不过我到没你这么乐观。
终端现在应该具有的功能,基本上都有了。上网,聊天,视频电话,GPRS,收发邮件,手机网络游戏。
不过,如果能有新的能符合消费者的娱乐和消费心态的商业形式,就另当别论了。
再者,有利的条件就是目前市场上提供终端软件服务的公司还不多。这是先机。有资金,有技术是可以一搏的。
2008-03-01 19:17 | 刘荣华! [未注册用户]

#35楼 [楼主]   回复  引用  查看    

呵呵, 那些说实在的, 都只是旧东西在新领域的投影, 关键还是开拓思路.

不过就说这些旧玩意, 也不是完全没搞头. 比如上网吧, Linux手机, 到目前都是封闭的->马上就开始有开放的了; Symbian上刨除操作系统占用以后, 内存空闲太少, 又不支持swap file, 拿Webkit核心的浏览器看个天涯都死机; Windows Mobile倒是不了解, 为啥总是这么个尴尬位置.

比如说上网这个方面在S60上的市场吧. 如果先做一套类似于swap files的架构(为了推出其它软件时可以重用), 然后拿Webkit for S60作一些修改, 就可以更稳定更好的支持上网了. 当然, 那么点内存还是拮据, 提高可能有限, 问题是, 现在Nokia和SE带的浏览器在操作界面上也有很大提高空间啊.

firefox mobile一直也没出来, 为啥? 大家都说firefox好, 其实firefox电脑版看天涯都经常死机, Opera也经常停止响应. 可基于Webkit的Safari就很好. 依我看, 没什么别的借口, 就是firefox的程序员们太屎. 说实在的, 我现在明白了, 过去把一些公司和组织的程序员水平看的太高了.

在移动这个领域, 至少客户端方面, 技术积累会占更大的比重, 因为体积/能耗/成本被限制在一定范围内, 就注定了需要更多的技巧. 谁先积累, 虽说不一定是多大优势, 但也要比现在互联网上拼流量, 强得多.

我的想法是没啥可怕的, 本来就是船小好掉头的事情, 我觉得对咱们大多数技术人员, 不自信才是问题所在; 在一个空白相对广阔的行当里积累下去, 总有成功的一天.

当然了追求稳定生活的, 就另说了, 性格不同嘛 :)
2008-03-02 00:48 | 怪怪      

#36楼    回复  引用  查看    

我也很看好楼主说的移动开发的方向,前一段时间就开始下定决心往这块方向转了。
2008-03-02 10:54 | 路缘      

#37楼    回复  引用  查看    

我想这又是一个鱼与渔的关系
天下的鱼种上万上亿,让我都抓一遍不现实,就是尽量抓也会精疲力尽,还未必是有用的
可是渔就那么几种,要么钓、要么摸、要么用渔网、要么用鱼叉,最不行还有丧尽天良的电鱼。
如果这几种方法练就了几种,当需要什么鱼时就下手,不需要的时候就练渔,这样才会事半功倍
2008-03-02 11:27 | floodpeak      

#38楼    回复  引用  查看    

那些个面试题也就算了。重要的是当你进去之后,人家明知道你有点设计方面的能力,但人家就是不给你机会。为啥啊?经验啊。我就是这样的情况。那些个老家伙做了四五年了,做完项目了。我既然连个抽象,继承都看不到。但人家也憋着把项目做了。老板还夸人家做的好。那些个老家伙啥分析能力都没有。项目一开始,就搞数据库。建的第一张表就是t_user,建的一个字段就是id.
说实话我当时都看不下去了。这是做了四五年的人该有的能力吗?

我一般不在乎公司的职务,基本每天晚上都会看书,不看书就不自在。也看了不少书了。我觉得写程序就是个兴趣问题。有兴趣了啥都好办。说说买书这档子事,凡是跟特定语言相关的书不买。凡是国内的书不买,凡是书名有“精通”、“精要”只要带精的不买,凡是封面太好看的(大红大紫的)不买,凡是教科书的不买。
告诉你正真的牛人都读些啥书,他们读的都不是计算机的书。

再说个事,前段时间有一朋友出差,见到一人,那人能看懂二进制。朋友一回来就跟我吹。我说这有什么了不起的,咱都不在一个”世界“,他牛不牛还是个问题呢?
2008-03-02 12:46 | bmrxntfj      

#39楼    回复  引用  查看    

楼上的有"恋书癖"??
2008-03-02 13:57 | Leem      

#40楼    回复  引用  查看    

大家都是这么想的也不见得能改变社会现状,甚至有人去买面试宝典来应对这些情况……
不能说那种面试一无是处,不过确实没什么用……
但要换一种方式,该是如何呢?也许就是这个问题让大家 延续那种传统的方法……
记忆力在发展中国家确实很重要……遗憾我没有好的记忆力……汗

#41楼    回复  引用  查看    

你精力不行了,怎么记不住东西!
2008-03-02 20:50 | fuck [未注册用户]

#42楼    回复  引用  查看    

大多数人都是一介书生,或者是傻乎乎就知道围着计算机转的封闭在自己世界的木瓜,以为工作就是编写几行代码那些事,追求着奇技淫巧,看不起别人总认为别人就是酒囊饭袋,多读点其他方面的书,多年长几岁感悟点人生再说吧
2008-03-02 22:35 | 路人丁 [未注册用户]

#43楼    回复  引用  查看    

Mark
2008-03-03 08:45 | BlackCat      

#44楼    回复  引用  查看    

@bmrxntfj
明显有众人皆醉我独醒的态度了,再不注意,早晚成个愤青。这样往往令仇者快,亲者痛。建议您还是好好调整一下吧。您目前估计看什么事务都不会顺眼,另外你一口一个老家伙的,更不知道尊师重道,长期有这种的心态,自己必然吃亏。
2008-03-03 09:06 | jillzhang      

#45楼    回复  引用  查看    

“度”很重要
2008-03-03 11:22 | 夕颜 [未注册用户]

#46楼    回复  引用  查看    

确实度很重要。凡事都要有个度。
2008-03-03 13:35 | Achilles.NET(李智)      

#47楼    回复  引用  查看    

--引用--------------------------------------------------
bmrxntfj: 那些个面试题也就算了。重要的是当你进去之后,人家明知道你有点设计方面的能力,但人家就是不给你机会。为啥啊?经验啊。我就是这样的情况。那些个老家伙做了四五年了,做完项目了。我既然连个抽象,继承都看不到。但人家也憋着把项目做了。老板还夸人家做的好。那些个老家伙啥分析能力都没有。项目一开始,就搞数据库。建的第一张表就是t_user,建的一个字段就是id.
说实话我当时都看不下去了。这是做了四五年的人该有的能力吗?

我一般不在乎公司的职务,基本每天晚上都会看书,不看书就不自在。也看了不少书了。我觉得写程序就是个兴趣问题。有兴趣了啥都好办。说说买书这档子事,凡是跟特定语言相关的书不买。凡是国内的书不买,凡是书名有“精通”、“精要”只要带精的不买,凡是封面太好看的(大红大紫的)不买,凡是教科书的不买。
告诉你正真的牛人都读些啥书,他们读的都不是计算机的书。

再说个事,前段时间有一朋友出差,见到一人,那人能看懂二进制。朋友一回来就跟我吹。我说这有什么了不起的,咱都不在一个”世界“,他牛不牛还是个问题呢?
--------------------------------------------------------

需要收敛一些了~~
2008-03-03 13:37 | Achilles.NET(李智)      

#48楼    回复  引用  查看    

很有道理.但并不是人人都理解.更多的hr是以纸为准.
2008-03-03 16:25 | DotNet菜园      

#49楼    回复  引用  查看    

呃?天涯?看来楼主也经常去,好像天涯服务器也比较有问题哈.俺网络有问题的时候,上新浪啥的都很好,但是天涯经常打不开.但是看在线用户也才1xW而已...
2008-03-03 16:51 | airwolf2026      

#50楼 [楼主]   回复  引用  查看    

我去天涯不太多,主要是这次艳照门,多上了一点...

不止是硬件,估计他们的程序应该巨烂。 而且比如,"只看LZ"这样的功能,MOP和天涯自己的WAP版都有,就是不在Web版上增加,很显然就是为了流量和逼你看回帖,也许谁看见不顺眼的说不准大家就开骂了,造成一种天涯很热闹的错觉。

这样的手段,没意思。
2008-03-03 21:08 | 怪怪      

#51楼    回复  引用  查看    

听君一席话,胜读N多书!
相信楼主也是看了N多书,想了N多次,才有了这些令人警醒的体悟。
强烈支持楼主继续发扬这种风格!

2008-03-03 22:48 | Thinking.Net [未注册用户]

#52楼    回复  引用  查看    

也许该多问些脑筋急转弯。要求必须得同时答俩答案,答出3个的为优秀。答案比较有创意和幽默的为非常优秀。
其实要在短短几小时里就判断一个人是否适合公司是很难的。我的领导是不懂技术的,他面试的方法就是不断问一些让人很难回答的问题,比如如果发现两个人是同学,就会分别问他俩“你和他相比谁学习好?”等等,然后凭感觉招人。
2008-03-04 08:19 | 1-2-3      

#53楼    回复  引用  查看    

42樓的仁兄厲害。。
最近也有感悟。。。就和你的感覺一樣。。
終於明白了一些真正的東西。
2008-03-04 16:38 | 小白(TWO) [未注册用户]

#54楼    回复  引用  查看    

有一个会想问题的大脑, 反而比一个面面俱到的记忆, 更加节约时间.

我很欣赏这句话。
2008-03-08 19:44 | sq [未注册用户]

#55楼    回复  引用  查看    

赞同楼主的观点,不过在有限的内存里面放的什么东西,这一点也很重要,光有CPU也是不行的。任何人都不可能在所有的方向走很远,但至少要知道什么时候去什么方向寻找答案,CPU决定了你能走多快,但内存里的东西决定了你能否走对方向。
2008-03-12 10:49 | 羽 客      

#56楼    回复  引用  查看    

不知楼主今年贵庚,有此想法的人不多,但没这种想法的人肯定会被淘汰,虽然现在还不至于。我感觉我们的CPU硬件是没什么改变的了,要改软件,不断优化我们的操作系统充分处理并行作业是我们发展最快的手段,至于提高我们的内存么,我感觉即使通过训练象笔记本2G就不错了,毕竟空间限制,除非有恐龙的头那么大。
关于上面提到的发展方向,我感觉如果要做,就要立即做大量市场调查,细节计算,尤其经济方面。高科技是绝对有市场的,但不要忘记,个人实力始终无法与大公司相比,所以肯定要有自己的很创新,很有市场的成熟构思,不然肯定要被泼冷水的,反正我认为如果象你这样比较有想法的人如果自己感觉有%40的把握就可以赌一把了,事实也是这样,很多创业人都并没有想到自己今天的地步,只是抓住了当时的市场发展的时机,自然被带大了,不进则退啊,而且个人的精力,毅力,市场运营能力,洞察力也是必须考虑的因素,缺一不可,细节决定成败,反正是支持你啦!
2008-03-22 23:10 | 借过 [未注册用户]

#57楼    回复  引用  查看    

效率应该是第一位的, 但是内存的增大可能节省时间提高另外的"效率"
2008-03-25 14:46 | Everett [未注册用户]

#58楼    回复  引用  查看    

感觉招聘笔试题很bt,没什么意义
2008-05-27 10:33 | solunar66      

#59楼    回复  引用  查看    

速抄(谁理解这个词? 你们那习惯上怎么叫的?)


专业术语叫rush
2008-06-02 21:37 | xh [未注册用户]

#60楼    回复  引用  查看    

强帖留名
2008-07-07 19:14 | NSnaiL      

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-01 07:46 编辑过
 
另存  打印
最新IT新闻: