Hello World
Spiga

我们到底该怎么学技术?如何成为一个优秀的技术人员?

2007-10-29 18:47 by 老赵, 22235 visits

看了不要迷失在技术的海洋中,深表同意。在后来的评论中大家也表达了自己的看法。让我觉得很有意思的是,大家的观点惊人地一致——几乎没有反对的声音。

不过从经验上来看,意见太统一也不一定是一件好事。我有时也会小人之心地想,表示赞同的朋友们是真与LoveCherry的想法一致,还是仅仅因为自己以前对待技术随波逐流不堪所累,现在把这篇文章作为救命稻草看待,追求自身的心理平衡呢?LoveCherry写这篇文章,是基于他对于技术和思想的深度。如果我们没有达到这样的程度,是否会误解他的意思,得到的仅仅是一种心理安慰,却失去了更多东西呢?

我们到底该如何学习技术?或者说,如何成为一个优秀的技术人员?

扎实的基础

如果要成为一个优秀的技术人员——我并没有说是“开发人员”,比如也包括“测试人员”吧——一定需要扎实的基础。什么叫做扎实的基础呢?其实就是我们大学所学的课程——离散数学、算法与数据结构、操作系统、计算机体系结构、网络、编译原理等等。现在它们经常被视为“没有用”,但是我认为这些都是一个优秀技术人员成长和前进的基础。不知道大家有没有过这样的感觉:某天早上一醒来,发现对于最近接触的事物有了新一层的认识,似乎什么都不会了,却好像什么都理解了——就像张无忌练太极剑,不求剑招,只求剑意。我曾经有过两次这样的感觉,真可谓豁然开朗。其实我想,这就是所谓的“突破瓶颈”。而引起“量变到质变”的关键,可能就是您忽视的那些课程,那些一进大学就被“灌输”的知识。

在面试时我经常听到这样的话:“我的理论和基础不行,但是我让我写代码是没有问题的。”这样看来,基础真的没有用吗?我并不这样认为,因为……

  • 如果您不了算法和数据结构,又如何从.NET Framework(甚至包括Power Collections,在这里我强烈推荐这个组件)琳琅满目的数据结构中做出最适合目前需求的选择呢?
  • 如果您不了解操作系统,又如何能深入Windows系统,写好.NET Framework程序,或者在postmortem环境中做调试呢?
  • 如果您不了解计算机体系结构,又如何能在Multi-CPU(Multi-Core)时代写出真正高效的应用程序呢?
  • 如果……

因为我们不光要写代码,而且要写好的代码,因此我们必须强调基础。很多时候技术人员之间能力的高低,很可能就会取决于这写基础。有朋友告诉我,这些计算机科学的基础的意义不仅仅在于知识本身,它们还能够让人的思维更符合计算机科学的发展和变革——这可能说的有点远大,但是我基本上同意这个看法。如果说得简单一些,它们让您的思维方式更适合这个行业——试想,如果您知道了计算机/程序/框架/系统是怎么想的,他们还能够为难你吗?

举一个例子,微软有着大量高素质的技术人员,他们是微软惊人生产力的源泉。因此微软能够在Vista和Office开发完成之后将大量牛人派去作Windows Live产品研发。在我们很多技术人员看来,Vista是操作系统,Windows Live是Web,两者大相径庭。但是微软就是能够有大量的技术人员作此类迁移。再举一个例子,当年Google挖角Microsoft许多技术人员,难道他们跳槽去Google继续作微软产品的研发吗?正是因为那些技术人员有着扎实的基础能力,因此就能够在各种类型的技术之间游刃有余,即使它们“表面”上看来差距有多大。

表面?这两个字放在这里是什么意思?因为这就是我想说的就是……

技术之间的关系

其实《不》一文的中心思想,就是不要随波逐流,不要迷失在技术的汪洋之中。我很同意,但是我也想补充一点我的看法。

在《不》文的评论中,我看到了一段话,其主要意思就是:“如果一个技术不会用到,就不要去学它。当要用的时候再去学”。首先表明我的观点:我不同意。这里我想举一个例子:

我是今年1月份加入目前的公司的,公司的技术团队当时使用.NET Framework 1.1进行应用开发。是时由于业务的原因需要开发一个平台以及其他一些应用,我在时在技术部门内部强烈建议将新系统使用.NET Framework 2.0 + 3.0的方式进行构建。我的理由是:“使用.NET Framework 2.0构建新平台在基础设施上不会增加任何成本,但是在功能和性能上都会有提高。而.NET Framework 3.0,尤其是WCF,是微软提供的新组件,也即将成为微软平台上通信的标准。”领导同意了我的建议,并希望我带领新的团队进行新平台的开发。过程中的细节就不一一道来了,现在回头看来过程虽有波折,但是倒也收到了较好的效果。我们经常会发现有技术人员会抱怨技术发展地太快,但是就拿我之前的例子来说,在2007年还在使用2001年出现的东西,却忽视2004年就已经成熟的技术,这究竟是技术发展的太快,还是我们没有根本没有去跟进技术呢?

我想答案很明显是后者,这其实就是“如果一个技术不会用到,就不要去学它。当要用的时候再去学”。我们不会(或者很难)因为不断钻研老技术而领会新技术,掌握新技术是需要我们主动去追求的。如果一个人不追求,他就难以发展。如果人人不追求,那么整个技术团队就难以发展。不过我认为,其实只要怀着“把项目做的更好”的想法,追求新的技术和实践(例如重构、TDD)是自然而然的事情。

不论您是普通开发人员、技术经理抑或是架构师,我想您都不能止步不前。有人说,领导不愿意使用新技术,我们没有办法——那么设法说服他们。如果他们不能给出让您满意的理由,如果您觉得他们妨碍了您的发展,那么可以选择离开。我想有追求的您一定不会在找工作的问题上遇到太多麻烦。:)

似乎话题有些偏了,我们回到正体。新技术那么多,我们到底该怎么学呢?我这里想说的就是,新技术并非洪水猛兽。在一定程度上,我们完全可以驾驭它们。

我们来想一下,新技术是怎么来的?新技术并不是某些公司的牛人们拍脑袋出来的,新技术也是发展过来的。发展需要时间,发展是一个过程。例如C# 3.0由2.0发展而来,CLR 2由CLR 1发展而来。根据我的经验,如果一个技术人员能够较好地掌握.NET Framework 1.1,他几乎能够轻而易举地过渡到.NET Framework 2.0。他之需要了解一下新特性,找一些资料比较一下前后两者的改变即可。我们并没有创造技术,我们只是在跟进。为什么总有人能够在技术出现不久就写出大量文章或书籍来进行推广呢?这就是值得我们思考的地方。

举个例子,如果要从.NET 2.0升级到3.5(我不懂VB,用VB的朋友抱歉了),其实您只需要了解……

  • ListView控件:一个控件而已。
  • 集成了ASP.NET AJAX:不是新东西了。
  • Linq To XML:一套新的语法用于解析和构建XML。
  • Linq To Object:枚举,只是枚举。
  • Linq To Sql:可以视作简单的一套ORM,动态生成SQL语句。
  • Lambda Expression:即使没有接触过LISP(很幸运,我大学课程中有Functional Programming这门课:)),我想如果您了解编译原理的话,对此也应该不陌生了。
  • ……

真的不多。其实我觉得,跟进每个人各自领域的技术并非不可能的事情。我一再提到这么一句话:一个优秀的技术人员,他的知识架构应该成倒T字形,有着扎实的底盘,并且成为某个领域的专家。

我们究竟该如何学习基础呢?

扎实。我认为,这是关键。

  • 您有扎实的基础吗?这是成为优秀技术人员知识储备。
  • 您对于每项掌握的知识或技能都学的扎实吗?这是您前进过程中的助手。
  • 您有扎实的学习目标和计划吗?这是您在技术汪洋中的指南针。

我的文章写完了。

我很理想,我也在努力。:)

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

135 条回复

  1. neoragex2002
    *.*.*.*
    链接

    neoragex2002 2007-10-29 19:02:00

    是新技术就一定要学么?
    舍弃一门新技术会让自己贬值么?
    学了一门新技术就一定增值么?
    有了基础真的就有了一切么?
    如果人与人之间没有差异,那么还有价值么?
    .........

    呵呵,太多的问题。归结到底,那就是

    1. 你必须干什么
    2. 你最想干什么
    3. 你能(不能)干什么
    4. 别人不能干什么,你却能

    想清楚了,就是牛人。一念地狱,一念天堂。

  2. Justin
    *.*.*.*
    链接

    Justin 2007-10-29 19:07:00

    先占个位置

  3. 老赵
    admin
    链接

    老赵 2007-10-29 19:09:00

    @neoragex2002
    学新技术的目标是提高生产力和竞争力,想清楚便是,呵呵。

  4. Enzo
    *.*.*.*
    链接

    Enzo 2007-10-29 19:37:00

    只有懂得基础 才有能力写出好代码好程序.
    不然真的是IT民工而已

  5. lovecherry
    *.*.*.*
    链接

    lovecherry 2007-10-29 19:40:00

    @neoragex2002
    一念成佛,一念成魔,哈哈

  6. lovecherry
    *.*.*.*
    链接

    lovecherry 2007-10-29 19:44:00

    如果基础好或者说内功扎实的话学习新的技术是非常快的。
    拥有好的基础就好像拥有了快艇,很快就能到达新技术的岛屿。
    所以其实我真正想表达的不是“如果一个技术不会用到,就不要去学它。当要用的时候再去学”,而是在你已经追逐技术非常疲劳的时候可以考虑再强化一下基础(当然对新技术的了解不可少),而不是没有目的得一个一个尝试新技术,整天非常劳累,还在不断叹息新技术太多来不及学习。
    如果基础好的话会发现真正接触一个看似很复杂的新技术不是这么困难,而且还会比别人总结到更多的东西。

  7. 没剑
    *.*.*.*
    链接

    没剑 2007-10-29 19:45:00

    其实我自己迷茫的只是:这样的路还可以走多久,可以走多远?
    。。。
    今天真的好累,心情又不好,看到这篇文章不禁更加的迷茫
    难道技术还没有终点?

  8. 老赵
    admin
    链接

    老赵 2007-10-29 19:47:00

    @没剑
    技术肯定没有终点的,但是不用迷茫。:)

  9. 老赵
    admin
    链接

    老赵 2007-10-29 19:47:00

    @lovecherry
    你自然不是这个意思,我是说某个评论说的是“如果一个技术不会用到,就不要去学它。当要用的时候再去学”。:)

  10. 壁虎
    *.*.*.*
    链接

    壁虎 2007-10-29 19:48:00

    LZ这么说,想想也是对的。
    但是我就是跟不上发展的脚步,可能是我这个人太没进取心了。
    所以我还是向着一个方向去的好,至少在这一个方面我还是比较懂点,
    其他的。。。了解好了,如果需要,我就花一个星期时间学会用它,2个月时间去理解它。

  11. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-29 20:05:00

    如果您不了算法和数据结构,又如何从.NET Framework(甚至包括Power Collections,在这里我强烈推荐这个组件)琳琅满目的数据结构中做出最适合目前需求的选择呢?
    如果您不了解操作系统,又如何能深入Windows系统,写好.NET Framework程序,或者在postmortem环境中做调试呢?(什么叫做postmortem debugging呢?就是熊力大哥常做的事情。)
    如果您不了解计算机体系结构,又如何能在Multi-CPU(Multi-Core)时代写出真正高效的应用程序呢?
    如果……



    兄弟你写这因为和如果都搭边嘛??????????

  12. 老赵
    admin
    链接

    老赵 2007-10-29 20:13:00

    @koenemy
    呵呵,自然搭边啊。

  13. 老赵
    admin
    链接

    老赵 2007-10-29 20:14:00

    @壁虎
    所以要设法降低前进的成本,比如多交流,呵呵……

  14. 蔡晓冰
    *.*.*.*
    链接

    蔡晓冰 2007-10-29 20:42:00

    赵哥说的好啊!可现在知识更新的太快。我们也要有选择的学习。想什么都通太难 了。

  15. 曲滨*銘龘鶽
    *.*.*.*
    链接

    曲滨*銘龘鶽 2007-10-29 20:45:00

    学习一门技术一般都是有一个大前提条件

    如果大前题不满足、硬学很容易反伤的 有可能在也不想学了

    技术是储备的,和“书到用时方恨少”是一个道理、到底应该怎样储备
    那就没什么定论了,这其中有很多不定性因素。

    其实与其见什么学什么还不如、比如十种技术在哪里、先总体的看看在找到两个钻研(人的精力是有限的)

    剩下的就是如何运用的技巧了,技术如何运用的技巧可要比如何学习更高高深很多了。

    就像做菜一样作料都是一样的,好不好吃就取决于技巧了。

  16. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-29 21:29:00

    如果您不了算法和数据结构,和framework有啥关系。算法这一词不知道是哪个大仙白话出来的,,让c#程序员了解数据结构,哪不和让彪哥治口吃一样嘛。用得着嘛。
    如果您不了解操作系统,又如何能深入Windows系统,写好.NET Framework程序
    托管哪玩意和操作系统不挨边呀
    在有多核哪玩意和硬件还隔一层操作系统吧。

    文笔挺好,整点正经事。。哈哈哈。。


  17. saucer[未注册用户]
    *.*.*.*
    链接

    saucer[未注册用户] 2007-10-29 21:40:00

    基本同意Jeffrey的观点

    还要指出的一点是,研究/学习当前工作中用不上的技术(不光是新技术,还有别的社区的技术,譬如Java社区的)的好处是,除了能让自己跟上技术的潮流外,还能对当前所用的技术有新的认识。譬如,很多人都是从ASP转到ASP.NET来的,如果你再回去做ASP,你的ASP编程是否还会象以前那样呢?

  18. 老赵
    admin
    链接

    老赵 2007-10-29 21:49:00

    @koenemy
    的确,操作系统和托管代码之间还隔了CLR,但是您可以看看.NET多线程方面的文章,您就知道为什么用.NET也需要了解操作系统了。我推荐您看一下MSDN Magazine里Jeffrey Richter的Concurrent Affairs专栏,以及这些文章所相关的内容。:)

  19. 老赵
    admin
    链接

    老赵 2007-10-29 21:51:00

    @koenemy
    还有就是算法和数据结构,您难道认为C#程序员不应该了解数据结构吗?其实.NET Framework中的各种集合类型,以及Power Collections中的那些,还是需要了解数据结构才能真正明白它们存在的价值以及该如何使用——当然,您也可以仅看它们的描述,呵呵。

  20. Edison.Feng
    *.*.*.*
    链接

    Edison.Feng 2007-10-29 22:05:00

    哈哈,我也是这么想D...

  21. 昊子
    *.*.*.*
    链接

    昊子 2007-10-29 22:05:00

    我们到底该怎么学技术?如何成为一个优秀的技术人员?

    开发人员只需要学开发要用的技术
    架构师要尝试新技术并选择出适合项目的进行组合

    屁股决定大脑

  22. Edison.Feng
    *.*.*.*
    链接

    Edison.Feng 2007-10-29 22:08:00

    钻研自己感兴趣的技术(昨天D/今天D/明天D)是很有意思的娱乐

  23. Cat Chen
    *.*.*.*
    链接

    Cat Chen 2007-10-29 22:14:00

    从经济学的角度来说,我们应该把时间和精力投资到可持续发展的技术上,投资到回报率高的技术上,而不是一些仅存在短期回报的技术上,更不是一些看起来很酷但没有多少回报的技术上。汗……我也不知道自己在说什么。

  24. 老赵
    admin
    链接

    老赵 2007-10-29 22:15:00

    @昊子
    开发人员也有水平高低之分,例如微软的开发人员肯定不是只需要学开发用的技术就可以了。虽然屁股决定大脑,但是大脑不变,屁股怎么能变呢?呵呵。

  25. 老赵
    admin
    链接

    老赵 2007-10-29 22:16:00

    @Cat Chen
    听懂你在说什么可以就可以了,呵呵。

  26. Cat Chen
    *.*.*.*
    链接

    Cat Chen 2007-10-29 22:31:00

    @koenemy
    就说最时髦的多核,哪些OS允许同一个进程内的多个线程分布在多个CPU运行?哪些OS同一进程内的线程只能在一个CPU上按时间片轮换?如果这都不知道,如何把多个CPU的效率使用起来?难道多线程就是?你还不知道那多个线程是否都挤在一个CPU上等各自的时间片呢。

  27. Anthan
    *.*.*.*
    链接

    Anthan 2007-10-29 22:49:00

    也许对于大多数人来说技术只是谋生的手段或者敲门砖而已
    不过只要需要它,就要把它学好,用好

  28. zsbfree[未注册用户]
    *.*.*.*
    链接

    zsbfree[未注册用户] 2007-10-29 23:02:00

    牛逼的人学多点,一般人学少点,不是每个人都能成为牛人。

  29. 老赵
    admin
    链接

    老赵 2007-10-29 23:03:00

    @Cat Chen
    不过在这个方面,.net framework似乎还欠缺一些,有些还必须借助win api。

  30. neoragex2002
    *.*.*.*
    链接

    neoragex2002 2007-10-29 23:16:00

    @jeffreyzhao
    yes:)

    @lovecherry
    呵呵,比偶那个还要工整,8错!

    @cat chen
    貌似线程/CPU亲缘性的问题早在win32 api时代就以IOCP+thread pool的形式提出来了。至于多核,请关注OpenMP。另,最近gcc有大动作,支持了parallelmode,即一个支持多核并行处理的C++ STL算法实现;slashdot上还有人提出要用GPU shader来以并行方式暴力破解密码......

    欧....跑题了,八卦打住.....搞方法学的各位请继续。

  31. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-30 00:11:00

    你还不知道那多个线程是否都挤在一个CPU上等各自的时间片呢??这个我也知道,你还知道啥,讲讲课。framework里为啥有system.io.file还有system.io.fileinfo这两个类。咋还有静态类这个怪物呢,来给我讲讲,,其实多线程这玩意就是相当相当基础的东西了。。大家不是都会嘛。

    就事论事,不要人身攻击。老K说话难听,但相当有一腚的道理呀。
    集合和数据结构有啥关系,封装到framework这块,东西在屎堆的哪放着,有必要关心不,大概知道不是放在显卡上就行了,知道这些不是技术牛了,要的是解决问题的能力
    在有算法,大侠们,啥是算法????白话一下,让我学习一下。

    楼主这几个因为啥地我想是口误了。。

    学学基础的东西吧,别跟风了,太浮了。

    能把我的问题讲清楚不,整不明白,等我下回给你讲。哈哈哈。。

    最近的状态相当差,整得我胡思乱想的。这个世界太疯狂了。去年最搞笑的公机下蛋了,头两年呢又穿马甲了,,在往前呢,,程序员搞不着对像,都面向对像了。哈哈哈哈

  32. 老赵
    admin
    链接

    老赵 2007-10-30 01:15:00

    @koenemy
    呵呵,要不还是您给我讲讲吧。:)

  33. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-30 01:29:00

    @Jeffrey Zhao
    拷,还在线呀,,也夜班咋地。

  34. 老赵
    admin
    链接

    老赵 2007-10-30 01:41:00

    @koenemy
    我每天一般3点睡。:)

  35. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-30 01:45:00

    @Jeffrey Zhao
    一般我是四点多下班。

    小孩看着挺嫩,,上学呢吧。

  36. 老赵
    admin
    链接

    老赵 2007-10-30 02:20:00

    @koenemy
    活,一直听人说我老,还是第一次听到说我年轻。
    哈哈,不错不错,睡觉去也。

  37. koenemy
    *.*.*.*
    链接

    koenemy 2007-10-30 02:24:00

    我今年高二,你多大了

  38. AndyHai
    *.*.*.*
    链接

    AndyHai 2007-10-30 08:23:00

    @koenemy
    哈,原来如此

  39. #过客[未注册用户]
    *.*.*.*
    链接

    #过客[未注册用户] 2007-10-30 08:46:00

    楼主说的不如大家回去再重新读书好了,剖开MS.Net,然后根据基础,再造出个China.Net,有基础才有一切嘛

  40. craboYang
    *.*.*.*
    链接

    craboYang 2007-10-30 08:56:00

    公司采用 技术架构team + 生产线 就很好的处理了技术要进步,生产力要发展的问题了。 我们的核心架构每季度新增特性,每年度新版本发布。 当然,新项目采用新架构, 旧项目继续用旧的呗。

    程序员水平高,就逐步提高到架构工作。

  41. Clark Zheng
    *.*.*.*
    链接

    Clark Zheng 2007-10-30 09:10:00

    文笔不错,意图不错,技术不错,人品不错

  42. Ming Yeh[未注册用户]
    *.*.*.*
    链接

    Ming Yeh[未注册用户] 2007-10-30 09:15:00

    我个人觉得不仅仅是技术方面的学习,如何有效的与人交流,对于成为一个优秀的技术人员,同样也是非常重要的。毕竟技术都是需要为人服务的,如何运用现有的技术,快速、低成本的完成客户的需求,才是我们的最终目的。
    而且良好的沟通能力,对于我们未来的职业生涯,也是有所裨益的。

  43. Anders Cui
    *.*.*.*
    链接

    Anders Cui 2007-10-30 09:17:00

    深表赞同!

    万变不离其宗
    编程的宗要也许就是Jeffrey文中所说的基础

  44. flyingchen
    *.*.*.*
    链接

    flyingchen 2007-10-30 09:28:00

    一声叹息!

  45. 老赵
    admin
    链接

    老赵 2007-10-30 09:38:00

    @#过客
    大学中的课本再翻出来看看是很有必要的,而且事实上面试微软等公司,过来人的建议也是如此。

  46. willshaw918[未注册用户]
    *.*.*.*
    链接

    willshaw918[未注册用户] 2007-10-30 09:39:00

    一只正在从迷途的路上返回的狼,努力把大学学的算法和数据结构弄回来,谢谢指点.

  47. 老赵
    admin
    链接

    老赵 2007-10-30 09:39:00

    @Anders Cui
    :)

  48. 老赵
    admin
    链接

    老赵 2007-10-30 09:39:00

    @Ming Yeh
    先作人,再作技术人员,最后作程序员,呵呵。

  49. 老赵
    admin
    链接

    老赵 2007-10-30 09:40:00

    @flyingchen
    叹息啥?

  50. 淡泊江湖
    *.*.*.*
    链接

    淡泊江湖 2007-10-30 09:48:00

    1.首先,花了早上老板的20分钟时间,看了LoveCherry的《不要迷失在技术的海洋中》和Jeffrey Zhao的《我们到底该怎么学技术?如何成为一个优秀的技术人员?》,希望亲爱的老板:请不要介意,其实我也是在思考如何提高自己,为公司做出应有的贡献。:)
    2.文章中罗列出一系列观点,来不及一一深入的思考,简单总结一点:如何学习?如何生活?突然,联系到高中的校训:“学会学习,学会生活”。06年为了学习,忽略了生活;07年为了生活,忽略了学习。现在正在协调两者的关系。
    3.不想说,某某IT公司的公司总裁,积劳成疾,英年早逝;也不想说,某某著名软件公司的IT精英,趴倒在加班的电脑桌旁;……
    我最后,只想说一点,个人英雄主义的时代已过去了,现代软件业,乃至现代企业、社会的发展趋势,是讲究通力合作。在这点上,我没有太多资格说话,尽管我们一直强调沟通和合作,但是我们做得怎么样?至少我认为自己做得很不够,让我近乎“悲观”地看到我们和IT技术领先的国家,差距将越来越大,大量的高额利润被其攫取,别人吃肉,我们只能喝汤;但是,既然有这么多有识之士开始思考这个问题,也让我们看到希望所在。
    4.《(你)不要迷失在技术的海洋中》,LoveCherry侧重个人方面,《我们到底该怎么学技术?如何成为一个优秀的技术人员(团队)?》Jeffrey Zhao涉及到团队;大家设想,一个优秀的团队来进行技术分工,技术分享,大家会不会学习地很愉快,生活地很幸福?
    5.以上评论,略显仓促,如有不妥,欢迎斧正!

  51. 1-2-3
    *.*.*.*
    链接

    1-2-3 2007-10-30 11:04:00

    能让俺这么没耐心的人把这么长的一篇详细看完,足见楼主写作能力之强^_^

    要有扎实的基础以及知识应该是倒T字形,这一点我非常赞同。

    因为你在学习一个东西的时候并不能知道它以后就一定能派上什么用场。比如苹果之父乔布斯在大学时完全凭兴趣学习了书法课程,10年之后,当他设计第一款Macintosh电脑的时候,这些书法功底就派上了用场,完成了第一台可以排出好看版式的电脑。所以我觉得学习的时候切忌太过功利,总想着“学这个能赚到钱,学那个可以夸夸其谈”,我觉得为兴趣而学习比较好一点。

    但是我们仍然想以最高的效率学习,这样才能以最小的代价超过所有人。

    我想这不仅是我的,也是许多人的愿望。不过我感觉这句话本身就有些说不通。因为走弯路往往是一笔宝贵的财富。例如有一个中国的科学家(名字忘记了)小的时候因家境贫寒而辍学,他就自己自学。加法、减法甚至乘法(就是加法的简便计算嘛)都理解了,就是除法理解不了。后来,他经过几年的思考,终于想通了:除法就是“碰巧”呀,例如9除以4,先拿3来碰,三个四比9大,就再拿2来碰。虽然他学习除法比常人慢了几年的时间,但是却得到了更为感性、更为深入的理解,同时也增强了自信。

  52. 老赵
    admin
    链接

    老赵 2007-10-30 11:36:00

    @1-2-3
    没错,所以有的时候也会有点矛盾。
    是走弯路好?还是不走弯路好?这个“度”该怎么把握阿?

  53. 秋天叶落
    *.*.*.*
    链接

    秋天叶落 2007-10-30 11:47:00

    我就是基础在太差了 总是迷茫 感觉什么也会,什么也不会,不知道自己该学什么
    很多东西理解不了

  54. Anytao
    *.*.*.*
    链接

    Anytao 2007-10-30 13:00:00

    确实如此,老赵的建议至少可以给浮躁的学习气氛调整一下更准确的方向,倒T字形的知识结构之说,尤为重要。有好的基础,有好的方向,走的面会更宽广。:-)

  55. Anytao
    *.*.*.*
    链接

    Anytao 2007-10-30 13:03:00

    @秋天叶落
    不知道怎么学的时候,正是需要一点一滴沉下心来理解的时候,一个点一个点,其实并不多,关键是每个点不要花重复的时间。很多时候我们都是浪费在不断重复的探索中,其原因是从第一次就没有深入其中,所以次次边缘其外。
    :-)

  56. 水温快客
    *.*.*.*
    链接

    水温快客 2007-10-30 13:10:00

    呵呵,停留在表面,当然只能开发现表面的东西,你的知识面越深,你开发的东西也就越有深度.
    但是有一些东西也不一定真的要那么深得却了解的,因为每个人的精力都是有限的
    比如asp.net库函数,他也是一个类的集合,他是微软预先为我们写的,我们只要去调用就行了,但是我们同样可以自己写出他们,而不用调用他们,但我想没有人再愿意花那个时间.
    但是我们要知道识他们也只是预先写的类而已,那么他们对于我们来说也就没有那么神密了,是吧?

  57. 1-2-3
    *.*.*.*
    链接

    1-2-3 2007-10-30 13:57:00

    @Jeffrey Zhao
    > 是走弯路好?还是不走弯路好?这个“度”该怎么把握阿?
    这个问题太难了啊,因为俺现在虽然已经努力学习、工作了5年,但是仍然感觉自己就像一个初学者。想来想去,应该是“不需要故意走弯路,但也不要害怕走弯路”吧。联系文中的观点,我想了这么几条:
      1. 打好基础。就像文中说的,数学、算法、计算机体系结构,这些知识似乎跟你的日常工作(在页面上放几个控件,写几个SQL语句)关系不大。但是如果你缺乏这些知识,你就只能在页面上放几个控件,写几个SQL语句。当你想作更多的事情的时候,它们就成了瓶颈——所以不如趁年轻时突破这些瓶颈。我就是这么想的,而且已经看了8个月的《算法导论》。不过不好意思的是,我8个月才看了100多页,因为里面需要的数学知识我全忘了(其实上学的时候压根就没深入地思考过,都是背题应付考试的)。
      2. 跟着兴趣走。发现感兴趣的书,就立即买来读,管它是不是会有用。大家可以看看这篇苹果之父乔布斯在斯坦福大学毕业典礼上的演讲。当然,这个时间要合理分配,不然容易被炒鱿鱼^_^
      3. 适度的独立思考。就是那句经典的“思而不学则罔,学而不思则殆”。大部分书里的内容都是结论性的,并不会过多地介绍思考或解决问题的过程。然而这个过程有时并不复杂,如果你能自己独立的做一遍就会对问题有更深的理解,同时可以增强自信。所以经常性地抛开书本独立思考解决问题的方法然后再和书上的观点进行对比往往能收获惊喜。
      4. 注意对思考方法的培养。思考的能力并不仅仅取决于IQ,它是一种可以不断提高的技术!所以应该主动地练习思考的技术,这方面可以看温伯格和爱德华.德.波诺的书。
      5. 培养写作能力。记得《程序员》里有一篇文章说“只有能说会写才能当领导,如果你不提高写作能力,就一辈子没出息。”提高写作能力的最有效方法是什么?写博客呀!而且一定要在博客园里写(这句是给dudu看的^_^).而且当你把心中的东西写出来的时候,会发现对它已经有了更深、更清晰的理解。
      6. 不断的挑战。这是最重要的一条。只有不断的挑战才能激发你对问题不断的思考和最大的学习动力。只有不断的挑战才能让你进入快速成长的循环。公司里最稀缺的资源是什么?是最具挑战性的工作机会。领导能给你的最好的东西是什么?不是2000元奖金,而是更有挑战性的工作。当然,挑战性的工作既然是最稀缺的资源自然不会总是给你,当没有挑战性的工作的时候,可以自己给自己设一些挑战,例如读一本很难的书,或是尽全力写一篇博文等等,都可以。

  58. Zhuang miao
    *.*.*.*
    链接

    Zhuang miao 2007-10-30 14:17:00

    不崇拜高深的技术人员!只崇拜马云,带领技术人员创造事业!想想吧,学技术是为了啥??还不是为了有钱?!
    有头脑才能有钱~
    哈哈哈哈哈~~~

  59. 老赵
    admin
    链接

    老赵 2007-10-30 14:22:00

    @Zhuang miao
    你看到了表面而已,呵呵。
    其实我老板对我说,马云的手下包括很多技术人员也非常有钱,不比马云差多少。而且他们自由,想去哪里度假都可以。马云就不行,日程排得很满,又不能乱动,媒体都盯着呢。
    表面的光环有时候也是累赘。

  60. 怪怪
    *.*.*.*
    链接

    怪怪 2007-10-30 14:34:00

    大体上支持, 细节有些有待商榷.

    比如有些东西, 你从这个角度看是基础, 从另一个角度看就成了具体知识. 所以还要在抽象出一层判断能力, 才能准确的做出把时间投资到哪些东西上去的决定.

  61. 怪怪
    *.*.*.*
    链接

    怪怪 2007-10-30 14:35:00

    @Zhuang miao
    光有钱有屁用. 有钱为的是什么先想清楚, 才能更好的安排挣钱的人生.

  62. 老赵
    admin
    链接

    老赵 2007-10-30 14:46:00

    @怪怪
    赫赫,比较赞同。

  63. Cat Chen
    *.*.*.*
    链接

    Cat Chen 2007-10-30 16:07:00

    @koenemy
    今天在CSDN社区看到一个问题,“高分求vs2005中如何遍例treeview的所有节点”,我要晕倒了……我们说算法和数据结构,不是说很深奥的那些,不一定要能解决ACM/ICPC竞赛题的,但最基础的什么数组、树、图总应该知道吧,深度优先和广度优先便利应该都会用吧,各种搜索方法的有些总应该有点概念吧。可能你误会了,以为我们说的是很深厚的算法设计能力,虽然那也有用,但其实你会发现身边很多人连一般的基础也没有。

  64. 小寒
    *.*.*.*
    链接

    小寒 2007-10-30 17:16:00

    程序员天生对技术就有一种执着
    问题是现在到底有几个程序员
    大家基本都是为了生活而工作
    这就决定了什么有利润就做什么,老板不会在乎程序员的追求
    现在的编程人员就像工厂里的工人,
    基本上只会操作机器,重复性的作同样的东西
    根本已经丢失了一个程序员的激情和目标
    也许这有些悲观,但不得不承认这些都是普遍的现实。。。

  65. 老赵
    admin
    链接

    老赵 2007-10-30 17:21:00

    @小寒
    所以我很希望大家都不要把激情和目标丢失,其实这样会生活地更好。

  66. winnerzone
    *.*.*.*
    链接

    winnerzone 2007-10-30 17:24:00

    哈哈经典,喜欢老赵的话.说的很有道理.
    "我们经常会发现有技术人员会抱怨技术发展地太快"
    这句经典.不过我从来没有抱怨过,与其去抱怨还不如去学习,毕竟多学点对自己没有坏处.

  67. 韩现龙
    *.*.*.*
    链接

    韩现龙 2007-10-30 18:28:00

    老赵,你不地道!
    我给你发邮件去问你如何测试的问题你咋不给俺回答??呜呜。看不起人。。。

  68. 随风流月
    *.*.*.*
    链接

    随风流月 2007-10-30 18:38:00

    咱水平不够。不敢和高手论这些东西。底层的东西自然是要掌握的。各位接着讨论,咱该干啥干啥去。这一期结束再回头补基础。但是,咱没资料啊。。

  69. 老赵
    admin
    链接

    老赵 2007-10-30 19:47:00

    @韩现龙
    不好意思我似乎没有收到……

  70. 老赵
    admin
    链接

    老赵 2007-10-30 19:48:00

    @随风流月
    呵呵,现在哪会没有资料啊。

  71. [阿毅][未注册用户]
    *.*.*.*
    链接

    [阿毅][未注册用户] 2007-10-30 22:20:00

    如果可以的话,我愿举双手双脚表示对博主观点的赞同。
    最烦那些“基础无用论”。
    学贵能触类旁通,要想做到这点,基础学科差的话是不可能的。
    我相信大多数人都有过这样的经历:某天突然对某一问题或者理论“开窍”,而那第一道曙光往往和最基础的有关。
    曾以为深入数据结构和api并无助于加强对OO的认识,但事实上,因为对这些看似无关的东西理解的加深,让我更快的明白OO的目的以及如果更为恰到好处的OO。
    当然,我们并不能像数学研究者那样把这些基础也当成必备工具。

  72. Zhuang miao
    *.*.*.*
    链接

    Zhuang miao 2007-10-30 23:45:00

    @Jeffrey Zhao
    恩,做技术的确也能做到很牛,很有钱,象盖茨那样,又有技术又懂管理,我的意思是说,有的时候我们可能发现自己在一些时候或许真的没有办法通过掌握高深技术达到某种生活理想的时候,是否需要考虑换种方式实现梦想呢?貌似我扯的有些跑题,呵呵~不过都是看你的这篇文章产生的一些感想,貌似话题跑到了人生理想的实现上去了~嘿嘿~

    有的时候真的感觉自己在做技术这方面真的赶不上您老赵了!虽然我还比你年轻~但感觉自己真的追不上你啊!哈哈!所以换种头脑!或许以后改行?呵呵!

  73. Zhuang miao
    *.*.*.*
    链接

    Zhuang miao 2007-10-30 23:48:00

    @怪怪
    钱没屁用?那没钱自己有屁用?!

  74. 老赵
    admin
    链接

    老赵 2007-10-30 23:58:00

    @韩现龙
    嗯……Team Suite里的Test工具我没有用过,如果它是传统的Load Test工具可能的确不支持目前的AJAX应用(不过我相信它的功能不止那么多)。
    如果要对AJAX应用作压力测试,我想还是直接模拟Request比较好,这个我也不知道是否有自动测试的工具来协助。
    // 您的问题我删除了,因为太宽,把布局搞坏了。:)

  75. turingbook[未注册用户]
    *.*.*.*
    链接

    turingbook[未注册用户] 2007-10-31 01:30:00

    好文章!

    你是哪个学校的,居然开FP的课程?牛啊

  76. Zhuang miao
    *.*.*.*
    链接

    Zhuang miao 2007-10-31 01:51:00

    @turingbook
    呵呵,这牛人复旦的

  77. Enjoymylifee[未注册用户]
    *.*.*.*
    链接

    Enjoymylifee[未注册用户] 2007-10-31 09:23:00

    呵呵,变帅了哇!

  78. Ray   Zhang[未注册用户]
    *.*.*.*
    链接

    Ray Zhang[未注册用户] 2007-10-31 12:16:00

    @Jeffrey Zhao
    支持兄弟:)!

  79. 巫云
    *.*.*.*
    链接

    巫云 2007-10-31 12:56:00

    咋把胡子刮了?

  80. 老赵
    admin
    链接

    老赵 2007-10-31 13:18:00

    @巫云
    小白脸好啊——不过我是大白脸。

  81. 袁永福
    *.*.*.*
    链接

    袁永福 2007-10-31 16:58:00

    楼主的那个"倒T"可以换成"金字塔",都表示"坚实的基础和锋锐的头脑",根据我的个人观点,坚实的基础,丰富的经验和锋锐的头脑是高手的主要特征.

  82. 杨正祎
    *.*.*.*
    链接

    杨正祎 2007-10-31 19:04:00

    我很赞同。因为就如web标准设计。它并不仅仅是xhmtl+css那么简单。为了优化页面效率,你同样需要了解一些通信协议方面的知识。为了知道为什么ie和ff显示不同,你也需要知道ie的诡异解析模式。如果一些基础的东西没有较为深入的理解,那么你将陷入“碰到一个问题解决一个问题,然后有碰到问题”的泥藻。
    很惭愧。我的一些基础学科学的并不是很好。

  83. 何慧成[未注册用户]
    *.*.*.*
    链接

    何慧成[未注册用户] 2007-10-31 22:49:00

    大学快毕业了,你说的一些基础课都上过,都是马虎过来的.一方面社会有传言大学的东西没用,另一方面没有实践的话,确实也很难了解到这些东西的用处在哪.

  84. 老赵
    admin
    链接

    老赵 2007-10-31 23:53:00

    @何慧成
    企业抱怨毕业生不好,不是因为他们学了大学里没有用的东西,而是因为学好的人实在太少了。“大学的东西没有用”,大部分原因是没有学好。

  85. 三千.℡
    *.*.*.*
    链接

    三千.℡ 2007-11-01 12:03:00

    一方面大家都要应付工作,所以"应用"性的技术要熟,先混口饭吃,如果基础不好已成事实了,那就有空的时候回过头来补补基础是对的.

    另外我喜欢一些比较偏门的技术.哈哈.



  86. 念时
    *.*.*.*
    链接

    念时 2007-11-01 15:37:00

    我想《不要迷失在技术的海洋中》的作者的意思并不是让大家不重视技术,而是告诉大家不要只重视技术,一个真正优秀的软件开发人员或工程师应该是一个综合型人才。

  87. 老赵
    admin
    链接

    老赵 2007-11-01 15:53:00

    @念时
    我知道LoveCherry不是让我们不重视技术,呵呵。

  88. xiaofeixia[未注册用户]
    *.*.*.*
    链接

    xiaofeixia[未注册用户] 2007-11-01 15:55:00

    软件开发是一项工程,是工程就有合作分工,中国企业在这方面太差劲。就如哥们你和lovecherry一样学那么多又能精通什么呢?简历上写满还不如别人一个数据库调优专家,xml专家的一句话有作用。如果我们每个人都能专注一方面那么生活也不用那么累。学的东西自己而然会进入底层。就好比学英语你在中国学和在美国学能是一个效率吗?你还是你,为什么差别那么大呢,因为你用了学学了用。而且你时时刻刻在想着。如果你学一项技术能学了用用了学,天天想着只用一二年保证在中国你在一般的公司在这个方向是顶级的牛人。

  89. 老赵
    admin
    链接

    老赵 2007-11-01 16:00:00

    @xiaofeixia
    有泛有专,并不是泛而不专,泛和专都是需要的。
    我不知道我精通什么,我不知道什么程度算是精通。但是我可以保证我比我遇到过的大多数简历上写的“精通”的人的那方面技术来的“精通”。

  90. Enzo
    *.*.*.*
    链接

    Enzo 2007-11-02 19:10:00

    @xiaofeixia
    数据库 和xml 比较特别
    而像开发技术是不断更新的必须不断学,同时又项目需要又必须学自己所未接触的 所以想LZ 说的有泛有专,是治学方向,也是工作的需要

  91. 蛙蛙池塘
    *.*.*.*
    链接

    蛙蛙池塘 2007-11-03 15:41:00

    唉,真项目你们,有空在这里停下来思考,哥们最近连博客园也顾不上看了,

  92. ljj77[未注册用户]
    *.*.*.*
    链接

    ljj77[未注册用户] 2007-11-05 15:34:00

    同意88楼xiaofeixia的意见。

    本人认为大部分程序员就是混口饭吃,学东西还是顺其自然好,以工作为导向占大多数。很多时候根本没时间没精力,而且学得越好,机会越少,找到高薪的机会也越少,多数都是代码工人。得承认,利益是人们行动的趋动力。

    《不要迷失在技术的海洋中》和本文最好只是建议,一定要学什么东西,与现代小孩从小要学唐诗和钢琴有什么区别?会让人失去兴趣,是否学了这些才是好的程序员么?在实际中挖掘,找出自己感兴趣的基础,也是途径之一。

    实际上,程序员一开始一定要学那么多么?发展到后来,一定会是机器是工具,它应该适应人的脑袋,而不是人适应它,不能本末倒置,花费了很多时间,而浪费了程序员多数聪明的大脑寻找其它快乐的机会,死在自己的专业上了。真是可惜,本人看到太多不愉快的同行,为什么我们不拿来这些时间精力多陪陪家人呢?一辈子那么短,在中国做程序员和在外国做是不同的。

    尽可能快找到问题的解决方案,良好的客户沟能,迅速的反应,全面的测试,这些也能更重要些,以趋势来说。

  93. 老赵
    admin
    链接

    老赵 2007-11-05 17:01:00

    @ljj77
    为什么学的越好,找到高薪的机会就越少呢?如果要情愿做代码工人,那么无法达到高薪,也是正常的。尽快找到问题解决方案等,也是程序员的能力体现,“代码工人”可以做得到吗?

  94. 老赵
    admin
    链接

    老赵 2007-11-05 17:02:00

    @ljj77
    还有一些“发展到后来”之类的话,我总是很不愿意听到,首先不论这个命题正确与否,“展望”这种东西,2、30年后的样子,和现在该怎么做,有关系吗?

  95. ljj77[未注册用户]
    *.*.*.*
    链接

    ljj77[未注册用户] 2007-11-05 17:51:00

    1.在这里是这样的,大多数公司都是找代码工人的。

    这是两点,应断开,后面比较偏重于好的程序员。

    2.展望当是在发展中啊,比如Ruby,不是希望做到这样吗?

  96. ljj77[未注册用户]
    *.*.*.*
    链接

    ljj77[未注册用户] 2007-11-05 17:55:00

    1.我指的“这里”是指我工作的地方,是这样的情况。

    如果能自己开公司,当然没有这些顾虑了。

    “尽快找到问题解决方案等,也是程序员的能力体现...”这些是就是指个人认为好的程序员是这样,并不偏重一定要做到楼主建议的事。

    --怕说不清,再写了一遍:)

  97. 老赵
    admin
    链接

    老赵 2007-11-05 18:27:00

    @ljj77
    Ruby也是几年前的东西,其实我觉得如果不是rails,ruby还不会受人关注——这是时代和机遇的问题。

  98. 老赵
    admin
    链接

    老赵 2007-11-05 18:28:00

    @ljj77
    但是不做到这些,如何能够够快够好地做到这些呢?这就是我的意思,呵呵。

  99. 坐断东南 笑煞之!!
    *.*.*.*
    链接

    坐断东南 笑煞之!! 2007-11-05 23:34:00


    真的要停下来思考一下了

  100. ljj77[未注册用户]
    *.*.*.*
    链接

    ljj77[未注册用户] 2007-11-06 09:43:00

    To楼主

    根据二八原则,费劲的东西总会有有心人去弄的,倡导也没多大用,楼主总结自己的想法是无可厚非。蛇有蛇道,猫有猫道,各安天命了。

    本人所待的沿海城市,身边越来越多有经验干练的同行不是在转行,就是准备回老家,他们多是优秀在行内多年的老手,但那有什么用,胳膊拧不过大腿,死了那么多脑细胞,只能勉力糊口...既惋惜又觉不值,不过,还是要提倡吧,不能因噎废食,见笑了。

  101. 老赵
    admin
    链接

    老赵 2007-11-06 09:55:00

    @ljj77
    那么是地方差异吧,其实只要是优秀的人才,在大城市中足以达到小康了,呵呵。他们就没有想过换个环境发展,一定要转行吗?

  102. ljj77[未注册用户]
    *.*.*.*
    链接

    ljj77[未注册用户] 2007-11-06 11:04:00

    小康?太好笑了,怎么可能?在深圳,有些还不错的单位小leader,不过六千大元,试用还才80%。当然是有些不错,数量太少了。年经越大,开支也大,付出与收获不成比例。难道楼主没有同行告知吗?

  103. 老赵
    admin
    链接

    老赵 2007-11-06 11:24:00

    @ljj77
    我当然也在观察,也有心里的一杆秤。不过我觉得付出和收获还是成比例的——或者说是能够争取成比例的。如果您再多观察下的话,IT业的薪资已经属于较高了,各行各业都不容易做,市场是平衡的,呵呵。
    还有就是,心态啊心态。:)

  104. 墨林[未注册用户]
    *.*.*.*
    链接

    墨林[未注册用户] 2007-11-06 12:34:00

    一个问题竟然这么多人不同的想法,有意思。仁者见仁,智者见智呀。

  105. keyzjj[未注册用户]
    *.*.*.*
    链接

    keyzjj[未注册用户] 2007-11-09 16:12:00

    我个人认为:
    编程最基本最该研究的就是数据结构,编译原理,操作系统等基本的课程,都学精了没啥可能.哎~~~~因为他跟日常的编程有直接关系,举个很简单的例子(知道啥意思就行了,别跟我研究每个字啥意思啊~),10+10 = 20 如果没学过数学,一样没问题能算出来,把手指头脚指头加起来就知道了,但不是最好的方法.就像没学过基础知识,同样一个程序的实现就会用比较笨的办法解决.再比如1000X1000=1000000 如果没学过数学,那可就不一定能算出来了,手脚指头不够用了 又没耐心肯定没戏,就像开发人机对战的游戏(AI)一样,没学过的只会用1大堆的if去判断各种情况(能不能做出来还未知呢),但学过的人就会知道什么是传说中的搜索(最简单的极大极小,α-β等呗).学过基础东西和没学过的编代码思想肯定是不一样的~
    现在不都号称面向对象开发么,设计模式咋也都被的滚瓜烂熟了,为什么要看,不还是因为他是程序设计的基础么.那编代码的基础就是上面说的那些了.该怎么成为优秀的技术人呢,各有各的想法,谁也不服那就走着瞧呗.
    要就为混口饭吃,对编程没啥兴趣的话,我觉得还是多研究新技术哇,喷的多点,好工作也就好找点拉.
    哎 还是C高手才是真高手呀~~~

  106. 老赵
    admin
    链接

    老赵 2007-11-09 16:59:00

    @keyzjj
    为啥C高手才是真正的高手呢?工作在不同抽象层面而已。

  107. keyzjj[未注册用户]
    *.*.*.*
    链接

    keyzjj[未注册用户] 2007-11-09 17:27:00

    赵老师啊,我相当喜欢你了 我不说了嘛 知道啥意思就行了,别跟我研究每个字啥意思啊~
    我那意思不就是说C开发都得要考虑.net不用嘛,都是现成的,所以好多人都不研究基本东西,都是拿来主义么,但C开发要不琢磨琢磨基础东西 好象不怎么行吧

  108. 老赵
    admin
    链接

    老赵 2007-11-09 17:33:00

    @keyzjj
    呵呵。:)

  109. keyzjj[未注册用户]
    *.*.*.*
    链接

    keyzjj[未注册用户] 2007-11-09 17:54:00

    看了koenemy说的话闹心啊.我举个简单代码例子说说传说中的算法
    求1+2+3+4+5
    1:int result=0;
    for(int i = 1 ; i <= 5 ; i++)
    {
    result += i;
    }
    2:int result = aa(0);
    private int aa(int i)
    {
    if (i == 5)
    return i;
    return i += aa(i + 1);
    }
    2种方法都实现了 1+2+3+4+5 但哪种方法好啊,一个循环 一个递归,执行根本看不出来哪个快 哪个慢, 但要学过编译原理和数据结构呢,编译器是如何把咱高级语言编的代码转换为机器指令呢 数据结构的递归的优缺点就知道哪个快哪个慢了,还整什么基础东西没用等等
    这就是传说中日常软件开发用的基本东西,光写个helloworld程序 那是用不找考虑.不说拉,该研究赵老师的ASP.NET AJAX深入浅出系列课程了

  110. Zhuang miao
    *.*.*.*
    链接

    Zhuang miao 2007-11-10 10:05:00

    @keyzjj
    呵呵,学过数学的都知道用等差数列的公式求更快。。。。

  111. about:blank[未注册用户]
    *.*.*.*
    链接

    about:blank[未注册用户] 2007-11-14 19:58:00

    [Quote]
    我是今年1月份加入目前的公司的,公司的技术团队当时使用.NET Framework 1.1进行应用开发。是时由于业务的原因需要开发一个平台以及其他一些应用,我在时在技术部门内部强烈建议将新系统使用.NET Framework 2.0 + 3.0的方式进行构建。我的理由是:“使用.NET Framework 2.0构建新平台在基础设施上不会增加任何成本,但是在功能和性能上都会有提高。而.NET Framework 3.0,尤其是WCF,是微软提供的新组件,也即将成为微软平台上通信的标准。”
    [Quote]

    对楼主如何领导团队迁移到cutting edge tech上很感兴趣,有空给我们讲讲过程吧:)

  112. 無尽海
    *.*.*.*
    链接

    無尽海 2007-11-21 10:57:00

    我是个学生
    一般的大学上这方面的课
    都是十分枯燥的
    什么c++,什么面向对象编程,数据结构
    老师都在照书念.....连个实例都没有过

  113. coldwind[未注册用户]
    *.*.*.*
    链接

    coldwind[未注册用户] 2007-12-04 21:17:00

    写了2年的代码,很多时间总是觉得自己的知识不够用,学了VB,看了C#,又忙着去学其他的,反正就没停过,比读书时可用功多了.两篇文章都看过,我个人觉得学习是很重要的,不断的学习才能进步,还有,赵老师说的基础,我个人也认为相当的重要,没有基础你怎么去更好的联系内部结构,写出更漂亮的代码!金字塔型的知识是我们很多人都缺少的,不是说都要精,至少也要了解吧`我还是很同意这一点的,不过我觉得又些只需要了解,没必要花很多的时间去深究,毕竟我们还要工作,还有很多的东西要去学!!生活还是很现实的!真的用到了至少你了解,不会弄的莫不着头脑,到时候再去细看,这样应该比较可取吧!

  114. herowzx
    *.*.*.*
    链接

    herowzx 2008-01-17 16:37:00

    1:同意楼主说的,基础很重要.
    2:如果不能把技术变成产品变成金钱,技术就是垃圾.因为我们没有拥有核心的技术,
    我们只是掌握外国的技术,有本事自己写个操作系统,自己写个编程语言.所以大家
    应该把核心放在产品分析上,而不是成天研究算法,数据结构.我见过许多产品代码
    很烂,但是人家能卖出好价钱.不要和我说:钱不重要呀?

  115. 长见识了,还需要多学习一下阿[未注册用户…
    *.*.*.*
    链接

    长见识了,还需要多学习一下阿[未注册用户] 2008-01-30 01:21:00

    基础很重要.

  116. 辰子[未注册用户]
    *.*.*.*
    链接

    辰子[未注册用户] 2008-05-24 04:02:00

    看了也蛮有感想的,虽然我并不是专业人士但基本的还是懂的,知识不管是哪块的必定在某种情况下某种时间肯定有一定的交集,不能说现在没用的,学的就等于浪费。

  117. 刘佳
    *.*.*.*
    链接

    刘佳 2008-08-21 18:58:00

    楼主的那个"倒T"可以换成"金字塔",都表示"坚实的基础和锋锐的头脑",根据我的个人观点,坚实的基础,丰富的经验和锋锐的头脑是高手的主要特征.

  118. NoText
    *.*.*.*
    链接

    NoText 2008-09-12 15:48:00

    第一个问题,找一本自己想学的书,按照里面的例子动手做一次。
    第二个问题,正所谓十年磨一剑,坚持学习十年之后,你再回头看,原来自己已经成为优秀了。

  119. 寻找突破点
    *.*.*.*
    链接

    寻找突破点 2008-09-16 13:42:00

    我同意一楼朋友说的:
    1, 你必须干什么
    2. 你最想干什么
    3. 你能(不能)干什么
    4. 别人不能干什么,你却能
    想清楚了,就是牛人。一念地狱,一念天堂。
    顺便我在加几条:
    对自己今后的人生,自己到底要怎么活!
    至少我的认为就是:
    以为我要比别人活得更好,所以我得不断的努力
    我不想对自己的人生就这么平淡的拜倒。。。。。
    所以有了这么一个明确的目标,有了这个动力。现实就会不断的驱动我
    去学习新东西,搞清楚任何对我今后有帮助的东西。基础,研究,思考,坚持.....

  120. 杭州装修公司[未注册用户]
    *.*.*.*
    链接

    杭州装修公司[未注册用户] 2008-12-02 14:48:00

    ged

  121. sendhlj[未注册用户]
    *.*.*.*
    链接

    sendhlj[未注册用户] 2008-12-15 07:36:00

    很好啊!

  122. cgagoal[未注册用户]
    *.*.*.*
    链接

    cgagoal[未注册用户] 2008-12-27 12:14:00

    ”如果您知道了计算机/程序/框架/系统是怎么想的,他们还能够为难你吗?“

    非常赞同这句话,个人认为,程序员的任务不是炫耀自己的技术,而是用最快的方法找到最好的解决方案,而数据结构,算法,操作系统,计算机组成原理这些基础课(基础是基础,但并不简单)是我们找到最好解决方案的必备的知识,因为它们解释了计算机的运行机制,计算机的目标是为人类服务,而程序员如果越多的了解计算机内部运行机制,自然让计算机工作的效率和效果也是越高了。

  123. small world
    *.*.*.*
    链接

    small world 2009-03-20 01:35:00

    写这么多,不容易!!呵呵

  124. 老赵
    admin
    链接

    老赵 2009-03-20 01:47:00

    --引用--------------------------------------------------
    small world: 写这么多,不容易!!呵呵
    --------------------------------------------------------
    客气

  125. ddda
    *.*.*.*
    链接

    ddda 2009-03-23 15:04:00

    学习了

  126. Jim Chen[未注册用户]
    *.*.*.*
    链接

    Jim Chen[未注册用户] 2009-04-03 15:26:00

    老赵,能不能公开一下你的时间表呀,我总觉得像你这样有成就的人总能把时间安排的好好的。你看,你总是研究技术到凌晨,早上还有猛男肌肉锻炼,还要抽时间看非技术的大部头,还有公司的工作。。。 老赵真不简单

  127. axers
    *.*.*.*
    链接

    axers 2009-04-03 16:45:00

    我觉得技术更新快对于刚进入软件行业的人来说是一种压力,而对于已工作了3年以上的人来说大多都是一种欣慰,学习探索新事物总是一件快乐的事,习惯了后你会想“.net 4.0正式版怎么还不出来?”呵呵 (研究使用asp.net MVC中) :)

  128. winterboy[未注册用户]
    *.*.*.*
    链接

    winterboy[未注册用户] 2009-04-06 21:56:00

    @keyzjj
    咱们绝大部分不是做底层开发的,如果你真要去追究茴香豆的“茴”有几种写法的话,建议你用TC去开发一套OA

  129. TMSC1
    *.*.*.*
    链接

    TMSC1 2009-04-29 22:54:00

    各位高人的回答都令小弟大开眼界、受益匪浅,佩服

    技术就象是武侠小说里面那些美好的剧情,我们都是为生活甚至生存而掌握技术,从古至今,恒久不变。残酷的现实会千方百计阻止我们追求技术的真谛,在很多时候,我们不得不向现实低头

  130. 走 肖  龙神[未注册用户]
    *.*.*.*
    链接

    走 肖 龙神[未注册用户] 2009-05-20 10:47:00

    我觉得你应该把贯穿全文的技术一词 换为技法 体会思辨一下他们的区别

  131. 走 肖  龙之神[未注册用户]
    *.*.*.*
    链接

    走 肖 龙之神[未注册用户] 2009-05-20 12:05:00

    一个人的努力是绝对不够的 你应该多找一些 潜质甚至超过你的正人君子 君子是无私的 朴素的 是广大的 是积极的 是高瞻远瞩的 是静的 是 perspective

    拥有 “苟日新 日日新” 的强大的精神革性(扬弃能力) 我们的民族性格之悬殊实在太大 自古就有 君子大人 小人之辨 中国要想崛起 君子必须首先会首并联合崛起 程序员的职业在这个时代实在是再适合我们君子不过了 但这个行业的教育实在是令人堪忧 物欲横流的时代 有几人能保留纯净的热血 像隋唐文中子王通那样 为民族经济文化复兴 深悟实修 集大成于一身 教育群贤 甘居人后 希望这样的人能够尽早出现 我们的贡献也是为他的成长奠定基础 古之圣贤英雄们的精神没有死 中华民族就必然再度崛起 引领世界

  132. vaik
    116.24.93.*
    链接

    vaik 2011-04-28 15:07:54

    又看了一遍此文,感觉还是基础要扎实。

  133. wowdd1
    183.37.58.*
    链接

    wowdd1 2011-05-31 21:45:55

    思维很严谨 技术派

  134. surmise
    222.87.226.*
    链接

    surmise 2011-10-03 03:57:33

    有一种最可贵的东西,叫做“时间”。

    如果“时间无限”,那么.........

    如何快速的掌握“应该掌握”的东西,这才是教育与学习的关键。

    记起一句话:“只有偏执狂才能够生存”。

  135. ureygo
    222.190.107.*
    链接

    ureygo 2012-05-07 15:38:21

    经历了几次失败面试,又看到这篇文章,终于认识到了基础的重要性,感觉是区分普通码工和真正开发者的依据之一。 大部分人总是这样,经历了失败才会觉得重要。今年就是我的基础年,坚信如我以前学数学物理一样,基础融会贯通后, 很多表面困难的问题变成水到渠成。

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我