"Just in case"与"Just in time"

| 暂无评论 | 暂无引用通告
  • Currently 4.4/5
  • 1
  • 2
  • 3
  • 4
  • 5
Rating: 4.4/5 (5 votes cast)

作者:John D. Cook (数学教授,程序员,顾问)

当你面向未来(Just in case)时,你会学些什么?当你面对现实需求(Just in time)时,你会学些什么?

一般情况下,你在学校学到的东西是为将来准备(Just in case)的。而当你找到工作,(在实际工作中,)需要的时候,你会“即时(Just in time)”学到更多的东西。

当你在“即时”情况下学习时,你的动机会非常强烈。根本没有必要想你是否要用到了学过的东西,因为在这个时候,应用为先啦。但是,你不可能只有在需 要时才去马上学习每一样东西,你必须有所准备。就是说,在你实际意识到这一切之前,就要在自己的大脑中建立起相关模式或者模型。

几年前,有人告诉我,他从来不学代数,因为没有用。然而,(我想告诉你的是,)我不仅学习了代数,而且一直在用它。学过它且最终能用到,应该算是件幸运的事。但这并不是幸运不幸运的事,反而是因为我学过,才知道了它的用途所在。

“Just in case”与“Just in time”之间的区别就好比训练与尝试(0trying之间的区别一样。仅仅非常努力,你不可能跑完马拉松。第一个努力尝试这样做的人已经死了。你需要训 练。你不能(想当然地)认为,事前什么都不做,你就能跑完26英里的赛程。

软件开发人员宁愿等到需要时再学习。这是因为实在是有太多不需要的东西。你不可能了解每一个操作系统,每一个编程语言,每一个库文件中的每一个细 节。在实际工作前,你只能记住一些共性的的内容。即便是能够抽象地学习了“所有”的相关知识,如果不从事实际产品的开发,你仍旧需要十多年的年时间才能真 正的深入到专业中去。更何况,信息技术的生命周期很短,因此,预先了解太多将来根本用不上的东西是不值得的。

另一方面,即便只是“即时”学习一些具体知识。(技术的)有效性、可用性也是需要事先了解的。如果你连版本控制系统是什么都不知道,就别说“我现在 要学习各种版本控制系统”。实际上,你需要事先奠定一个广泛的(知识)基础。你也许可以“即时”学习编程接口(API),但在现实中,区分哪些需要事先学 习或者什么时候学习,真的存在着灰色地带。

来源:The Endeavour

暂无引用通告

发送引用通告网址: http://wavebehind.org/cgi-bin/mt/mt-tb.cgi/86
如果您想引用这篇文章到您的Blog,请复制上面的链接,放置到您发表文章时的相应界面中。

发表评论

关于此文章

此文章由 allen 发表于 2010年3月10日 19:48

此Blog上的上一篇文章好奇心

此Blog上的下一篇文章如何吸引并保留"Y一代"

首页归档页可以看到最新的文章和所有文章。