金色海洋工作室

——自然框架,自然而然,快速开发、快速修改!

 

写给在校大学生的几句话——不要浮躁要踏实

 

  以前就有大学里面学什么的讨论,还有30/35岁程序员的讨论。我觉得可以放在一起来说。一下是我的想法仅供参考。

 

  在大学里应该做什么?1、学习方法的掌握。2、学习基础知识。

 

  一、学习方法

  中国是填鸭式的教学,往往忽略的学习方法的培养,导致了被动学习,应付差事,甚至是厌学的情况。我觉得每个人都有适合自己的一套“学习方法”,越早的发现他、掌握他,对自己越有利。找到了之后可以更快、更好、更扎实的学习各种新知识!适合自己的学习方法,每个人都是不一样的,不能生搬硬套。应该尽快的找到,如果您到了大学还没有找到的话,那么就要抓住机会了。因为这是倒数第二次机会了。为什么不是最后一次?因为后面还有“社会大学”,不过在社会大学里面可是要残酷很多。

 

  这里的学习方式指的是什么呢?就是快速学习、掌握新知识的能力。我在上大学的时候,老教授对我说过,你们的这些教材(99年的时候,计算机、多媒体方面的)对于我们来说也是新的,我们也是第一次看到,但是我们却可以很快的理解、掌握,给你们讲出来。为什么?年纪远超30了,那就是因为他有适合自己的学习方法,可以快速的掌握新知识。我们没有找到适合自己的学习方法的时候,即使我们年轻,脑子好,也是比不上的。不过,如果我们找到了适合自己的学习方法呢?

 

  “学习方法”分为三个步骤:找到、实践、完善。

  1、找到适合自己的学习方法。

  如果您已经找到了,那么略过。如果您还没有找到,那么就要抓紧时间了。如今的社会,不会自主学习的人,真的是寸步难行的。至于如何找,我也说不好,全靠自己了。

 

  2、在实践中验证自己的方法。

  在大学里有很多的学科,有以前知识的延伸(比如数学、物理),有全新的知识(比如汇编、数据结构等)。这些都是最好的试金石。学好每一门学科,验证自己的方法是否正确,是否适合自己,还有哪些缺点。不仅要学会自己感兴趣的学科,还要学会自己不感兴趣的学科。在上一篇里我说我除了写代码能挣点钱,靠其他的方式就挣不到钱了,有人对我这句话感到遗憾。我为什么这么说呢?就是因为我没有掌握“学习我不感兴趣的学科的学习方法”。

 

  试想一下,如果你在大学里面,任何一个学科对你来说都不成问题,手到擒来。那么你以后到了工作岗位还有什么可担心的呢?大学里这么多的学科都轻松搞定的话,那么以后的事情就没有能够难得住你的了。

 

  3、不断完善。

  自己的学习方法是否适合、是否好用,只有自己才知道。发现问题,及时解决、完善。这个“大杀器”掌握好了,以后就是……嘿嘿。

 

  二、学习基础知识

  我觉得大学里的课程都是基础知识,就像在小学里学的“1+2=3”一样,平时在工作中可能体会不到,但是如果你不会的话……。大学里的课程都是有用的,虽然你觉得过时了,工作中用不到。这个就像开车一样,不知道汽车原理也能开始,但是知道了汽车原理之后可以更好的开车。遇到故障也不会一头雾水。

 

  就说计算机方面(其他的我也不会,呵呵),数学、汇编、计算机组成原理、数据结构、数据库原理、C++等都是很重要很基础的。不会汇编,IL怎么看?不知道计算机组成原理,怎么理解多用户、多线程?不知道数据结构,怎么优化数据库、设置合理的索引?不知道数据库原理,怎么设计出来高效合理的数据库(表结构)?

  当然了,你不知道这些似乎也可以写代码,但是你怎么和知道这些原理的程序员比?你只能感叹:30岁了就写不了代码了。

 

  关于新技术。

  如果你要追新技术的话,你永远都追不上。就好像你想让你的手机永远保持“时尚”,那么你至少要一年换一个手机。如果手机厂商不研究新机型、新功能,那么他们怎么生存呢?我的诺基亚6670已经用了3年多了,看样子再用3年也没有问题。一样的打电话,没有什么问题。为什么要追求新功能呢?有必要吗?有必要的话,那就换一个;如果没有必要的话,6670一样的打电话呀。

 

  出了新技术,并不意味着老技术就没有用武之地了。SQL Server2000不还是有很多地方在用吗?即使换了SQL Server2005/8,不还是用的以前的思想吗?

  .net4出来了又如何?.net1.1照样可以实现项目。

 

  换一个角度,如果您找到了适合自己的学习方法,那么出现了新技术有什么可怕的?用你的学习方法去搞定他!

 

  以前有人对我说过本科生的“强大”。本科生主要学习理论知识,可能刚到工作岗位的时候什么都不会,什么都需要老员工带,但是用不了几天就可以轻松掌握。在用一两个月就可以轻松超过。为什么呢?因为他们有自己的学习方法,并且知道工作原理。有适合自己的学习方法可以快速掌握如何应用/操作;因为知道原理,可以让他们运行的更合理、更高效。

 

  当然这是以前了(2000年以前),并不适合现在的本科生了。为什么?因为现在的都很浮躁,基础知识不牢固,混子日,混文凭。甚至没有找到适合自己的学习方法。

 

  等等,好像有点偏激了。好的还是有的,只是比较少了。

 

  

  关于爱情。

 

  我觉得谈恋爱、追女朋友属于人际交往的一部分。在大学里也是应该学习的。大学里的环境是和谐的,基本没有什么利益冲突。唯一练手的机会就是和女孩子打交道了吧,呵呵。很后悔,大学的时候没有抓住机会。

 

  有人说谈恋爱会影响学习,那是扯淡。那么是不是可以说毕业以后谈恋爱也会影响工作?顾得上家就顾不上上班?

  恋爱和学习固然是矛盾的,互相占用时间的。但是有了矛盾就躲避吗?以后怎么办?恋爱和工作也是矛盾的,结婚和事业也是矛盾的。

 

  逃是逃不掉的。越早面对,就有更多的时间处理好。

 

  如果在大学能够做到爱情、学业双丰收,那么你们就有实力憧憬以后美好的生活了。

 

 

  关于创业

 

  我的观点,先积累经验、积累资金、积累人脉。这些都准备充足了之后再去创业。二十二、三岁,正是年轻的时候,不要着急。不要认为自己很厉害,给别人打工就是被剥削,剩余价值就被无偿占有了,根本就不是那么回事。这个嘛,以后你自己创业就知道了。

 

ps:

  可能您会说,我说的这些都太难了、太理想了,做不到。在大学里是很宽松的,有铁哥们帮你。以后在社会里,还能很容易的找到真心朋友吗?大学四年的生活浪费掉的话,那真的是很可惜。失去了就再也找不回来了。

 

 

再补充一个写代码的知识树

 

1、入门语言 —— C 或者basic。

C语言更严谨一些,但是不太“友好”。

 

BASIC(Beginners' All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者的全方位符式指令代码”,是一种设计给初学者使用的程序设计语言。

basic本身就是为了初学者量身定做的,所以入门是非常简单的,IDE做的也不错。C#的IDE是一直跟着VB的IDE的路子走的。

 

basic或者是VB6.0,更容易入门。但是由于其并不是非常的严谨,所以过分依赖会造成一些负面影响。

 

这一步是掌握什么是程序,代码运行了会怎么样?

顺序、循环、分支。写代码最最最基本的。我就不相信了,不知道这些的人能够学好面向对象。

 

2、汇编

如果我当初要是直接学习会变的话,可能就会放弃编程行业了,实在是太枯燥了。不过好在我是先学的basic,有了一点基础,知道一些“代码的思想”。用着以前的体会才能了解一点汇编的。

 

对于汇编,“知道”的程度就可以了。

这一步是对于cpu、寄存器等有所了解

 

3、C++/Pascal、计算机组成原理、数字电路、操作系统原理等。

这些是基础,以后的学科的基础。了解掌握。

 

4、数据结构。

各种算法、链表、堆栈、树、图。即枯燥又很有趣。如果您觉得这些很枯燥,那么可以考虑换行了。呵呵。

 

5、数据库原理。

数据结构的应用。

 

6、面向对象

我总觉得要先学会了面向过程,才能够学面向对象。当然了面向过程不能陷得太深,如果太深了,影响对面向对象的理解。

 

7、设计模式

如果您不会面向对象,那么建议您不要学习设计模式,纯粹是浪费时间。

掌握了面向对象之后才可以学习设计模式。因为设计模式是面向对象的灵活应用。

 

面向对象包括,封装、继承、多态、聚合、合成(组合)、依赖、接口、抽象基类。这些都不知道的话,如何理解设计模式?

 

如果这些都理解透了,并且会灵活应用,那么设计模式也就可以不用去学了。因为您已经会了,只要知道一下各种使用方式的“通用的叫法”是什么就可以了。

 

8、行业

b/s要掌握 html、css、javascript、http、xmlhttp、xml等,但是这些都不算什么了,小各科而已(前提是会了前面说的那些)。

c/s不熟悉,先不说了。

 

9、业务领域

比如网站、电子商务、OA、企业定制,企业的各种行业的特点。(思路有点乱,先不说了 )

 

10、新技术

这些都掌握了之后,其他的什么新技术,乱起八糟的东西了,也就没什么了不起的了。

 

 

 

 

 

 

 

 

 

posted on 2010-01-10 08:18 金色海洋(jyk)阳光男孩 阅读(3902) 评论(69) 编辑 收藏

评论

#1楼 2010-01-10 08:40 xiaotie      

顶一下  回复 引用 查看   

#2楼 2010-01-10 08:47 DiggingDeeply      

关于新技术我说两句,抛一下砖。
好像都有这么一个论调,对于新技术不要“追”。这个我不太赞同,新技术之所以能出现,就是因为对老的技术有所改进。且不论这个改进正确不正确,对于新技术我觉得应该有选择的追,而不是盲目追。

NET4确实已经beta2了,估计很快就会release。但是如果您还揪着NET1.1来实施项目,那么我想你的项目的开发效率和维护成本会加剧。不说别的,1.1里是没有泛型的,难道你自己来做个通用版本的List,或是用arraylist来objet一切。

你只有适度的追新,才能对技术的发展有个把握,而衡量出自己在技术发展洪流中的位置。找准自己的位置,很重要。技术人员也不是一个劲的只做项目,而不去研究技术。
 回复 引用 查看   

#3楼[楼主] 2010-01-10 09:01 金色海洋(jyk)      

@DiggingDeeply
你是用现在的眼光看过去的事物。

古代没有席梦思床,那古人就不睡觉了吗?

目的是舒服的睡觉,或者说是快速休息。席梦思只是一种工具,方法。


做项目的目的是什么?满足客户的需求。

有泛型可以满足需求,没有泛型就不行了吗?或者说维护就繁琐了吗?

人是聪明的,智慧的,尤其是中国人。各种高招有的是。

各种各样的提高开发效率的方式,各种各样的降低维护成本的高招都是有很多的。

只是他们不大愿意拿出来抖落。闷头挣大钱才是王道。

我会,你不会,我才能挣到更多的钱。那我的高招为什么要拿出来呢?

很古来的想法。呵呵。



 回复 引用 查看   

#4楼[楼主] 2010-01-10 09:05 金色海洋(jyk)      

新技术也只不过是对以前的方法的改进,

微软能改,我们为什么不能改?

当然了我们不可能想微软那样去改.net的底层,但是各种辅助手段还是可以用的呀。

就像那个故事,生产线上面出现空的香皂盒怎么办?拿个电风扇一吹,ok了。

老外的解决方法是什么呢?用光线判断是不是空盒,是的话,掉一个机械手臂,把空盒拿走。
 回复 引用 查看   

#5楼 2010-01-10 09:19 卡通一下      

什么是技术的高与低?

航天飞机的计算机控制系统,是几十年前设计的,用的是什么?不得而知!

而航天飞机的起飞与返回,全部是用计算机来控制,并且“只能成功不能失败”,绝对没有第二次。令人欣慰的是,它至今也没有出过差错。

大家仔细地想一想,航天飞机的机翼小、速度快,从太空无动力地、一次定点滑降成功,这说明了什么?

这种开发水平,不是很牛的吗?

如果你能认识到这些,那即使掌握了.net 4.0 你还自认很...吗?
 回复 引用 查看   

#6楼 2010-01-10 09:43 卡通一下      

就海洋的这句话“循序、循环、分支。写代码最最最基本的。”,我来说说if。(刚才大受刺激,呵呵)

if在开发中,恐怕是“太祖”级的语句了。至今,它仍然神气活现地出现在我们眼前。

即使你看它发呕,也无法回避!

“这是为什么呢?”,因为它代表一种方法,一种最基本的思维方法,就象数学中的“公理”一样。

也许某一天,我们用6维空间的认识,来开发软件,它才会“功成身退”了。

哈哈...
 回复 引用 查看   

#7楼 2010-01-10 09:46 Megacycled      

@卡通一下
那是因为每一个计算都经过反复的模拟试验,而新的方法正是在这些反复的试验中总结而来的。
 回复 引用 查看   

#8楼[楼主] 2010-01-10 09:47 金色海洋(jyk)      

我说看着这么别扭呢,写错字了

原来是我写错字了。“顺序、分支、循环”


 回复 引用 查看   

#9楼 2010-01-10 10:07 横刀天笑      

话要分两个方面说,对于在校学生肯定是基础为重,但也要时不时的了解业界前沿,比如熟悉一下.Net/Java现在到哪个版本了啊,每个版本有什么新特性啊等等,不要刻意追新,当然,我说的是针对在校学生(泛指初学者)。
而对于从业人员,花大力气夯实基础的时代已经过去了,现在不能容许你花大把大把的时间消耗在这些大部头基础上(这是我个人感觉,今年我花了很多力气在基础的巩固上,但常常感觉力不从心)。从业人员就是要时刻把握技术前进的命脉,如果.Net 4.0都出来了,你还在用.Net 1.x在开发,请给我一个理由,为什么要这样?如果是说学习曲线的问题,那是不思进取。如果你说客户要求就是只用.Net 1.x,就是不要.Net 4.0,那只有用.Net 1.x了(不知道是否存在这样的客户)。
当然,我们做软件是为了满足用户的需求,交付用户满意的产品是最终的目的,那在达到这个目的的前提下,我们为什么不能提高一下效率呢?

古代没有席梦思,为什么席梦思会出现,那是因为有人觉得古代的硬板床睡的不舒服,如是有创新人士搞了个席梦思。新技术(我说的是技术,排除那些厂家为了搞money而造出的概念)的出现是由它的原因的,就像佛家说的“前世因,今世果”。如果有两张床,一张席梦思,一张硬板床,你就是跑去睡硬板床(不排除有人喜欢硬板床),那我也就无话可说。
 回复 引用 查看   

#10楼 2010-01-10 10:09 卡通一下      

引用Megacycled:
@卡通一下
那是因为每一个计算都经过反复的模拟试验,而新的方法正是在这些反复的试验中总结而来的。

是啊!

微软将过去很多基本的东西都“包装”好,以简化我们的开发。目的是让我们能腾出更多的精力,去想技术之外的东西。

可惜很多的人并不领情,觉得象C、汇编这些“裸技术”,才更王道。
 回复 引用 查看   

#11楼 2010-01-10 10:13 横刀天笑      

引用金色海洋(jyk):
新技术也只不过是对以前的方法的改进,
微软能改,我们为什么不能改?
当然了我们不可能想微软那样去改.net的底层,但是各种辅助手段还是可以用的呀。
就像那个故事,生产线上面出现空的香皂盒怎么办?拿个电风扇一吹,ok了。
老外的解决方法是什么呢?用光线判断是不是空盒,是的话,掉一个机械手臂,把空盒拿走。


如果微软已经改了,我们为啥还要费尽心思自己改进?我们学一下,用一下,了解一下原理不就ok了。
还有,你举的那个例子,要从很多角色来看。从老板的角度、工程师的角度、企业的角度会得出不同的结论。
就我,从一个工程师的角度来看,老外的方法明显优于中国工厂的那个方法,如果出现半个肥皂的情况怎么办?当然第一个方法是很“敏捷”。
 回复 引用 查看   

#12楼 2010-01-10 10:14 卡通一下      

引用横刀天笑:
如果有两张床,一张席梦思,一张硬板床,你就是跑去睡硬板床(不排除有人喜欢硬板床),那我也就无话可说...

不是喜欢,是他“椎间盘突出”!

如果你得了这个病,那肯定也喜欢硬板床!

体育时要注意哟,哈哈...
 回复 引用 查看   

#13楼 2010-01-10 10:17 xiaotie      

@横刀天笑
现在手上这项目客户要求用VS2005写,可怜我代码里大量的 getter,setter,linq......
 回复 引用 查看   

#14楼 2010-01-10 10:19 卡通一下      

引用横刀天笑:
就我,从一个工程师的角度来看,老外的方法明显优于中国工厂的那个方法,如果出现半个肥皂的情况怎么办?当然第一个方法是很“敏捷”。

这个例子有些极端!

歼6已经从机械操作,发展到今天歼10的电传操作了。

那谁又能说机械操作,廉价、实用呢?
 回复 引用 查看   

#15楼 2010-01-10 10:23 xiaotie      

@卡通一下
C/C++确实更王道。几乎任何平台都可以跑,走遍天下的玩意,无拘无束。C#就不行了。俺很多C#核心代码都在用C/C++重写,因为不知道将来会用在什么平台上,不知道那个平台的内存多大CPU多强悍跑得动跑不动C#。C#要用这些功能的话,直接C++/CLI封装一下,很快的。
 回复 引用 查看   

#16楼 2010-01-10 10:25 横刀天笑      

@卡通一下
俺已经说了~~~从不同的人(角度)看这个问题,会得出不同的结论~~~
老板(不同的老板)的角度、企业利益的角度、等等~~
 回复 引用 查看   

#17楼 2010-01-10 10:27 横刀天笑      

引用xiaotie:
@横刀天笑
现在手上这项目客户要求用VS2005写,可怜我代码里大量的 getter,setter,linq......

完全理解,有的项目确实有升级的限制,特别是.Net 2.0升级到.Net 3.x,安装包急剧增大。但是.Net 1.x升级到.Net 2.0我觉得是自然而然的。
而且,你还是可以用VS2008开发,Target Platform为.Net 2.0,引用System.Core.dll,还是可以提高不少开发效率的,我就是这么干的~~~~
 回复 引用 查看   

#18楼 2010-01-10 10:30 xiaotie      

@横刀天笑
对方程序员用的是vs2005。
 回复 引用 查看   

#19楼 2010-01-10 10:30 横刀天笑      

很明显,后面的评论偏离了海洋写这篇文章的初衷~~~我闪~~~  回复 引用 查看   

#20楼 2010-01-10 10:35 DiggingDeeply      

@金色海洋(jyk)
为了挣钱,就不要搞技术了。
 回复 引用 查看   

#21楼 2010-01-10 10:38 zzub      

@DiggingDeeply
同意,新技术还是要看。我觉得楼主的意思应该是,比如你一直在做.net那么.net 4.0出来了,你应该去学,但是如果java出了1.7你就没有那个必要去跟风了
 回复 引用 查看   

#22楼 2010-01-10 10:45 金旭亮      

可以不追新,但至少要了解“新”,而且要能做出判断,应该在哪些“新”上花时间掌握它,并且能很快的应用“新”以提升现有工作的效率。
还有一些“新”体现了计算机理论和技术的最新成果,可能预示着未来的发展方向,更是值得追。
 回复 引用 查看   

#23楼 2010-01-10 10:45 卡通一下      

啊,横刀天笑说偏离了主题,那再回到楼主的文章中找点话题。

海洋说到了爱情,奇妙!

爱美之心,人皆有之,这是一种本能。但是,人多数时间是处于理性之中,本能往往隐藏的很深。

在我们的周围,多是能发现这样一类女性,她们长象一般,但非常地会说话,且说起话来又很是得体,让我们这些大老爷们非常地放松,又很是愉悦。

这也是一种美,这种美不是长在脸上,而是长在心中...
 回复 引用 查看   

#24楼 2010-01-10 10:47 卡通一下      

引用金旭亮:
可以不追新,但至少要了解“新”,而且要能做出判断,应该在哪些“新”上花时间掌握它,并且能很快的应用“新”以提升现有工作的效率。
还有一些“新”体现了计算机理论和技术的最新成果,可能预示着未来的发展方向,更是值得追。

金老师,能否问一下,您现在正关注着什么?
 回复 引用 查看   

#25楼 2010-01-10 10:49 DiggingDeeply      

中国是填鸭式的教学,往往忽略的学习方法的培养,导致了被动学习,应付差事,甚至是厌学的情况。我觉得每个人都有适合自己的一套“学习方法”,越早的发现他、掌握他,对自己越有利。找到了之后可以更快、更好、更扎实的学习各种新知识!适合自己的学习方法,每个人都是不一样的,不能生搬硬套。应该尽快的找到,如果您到了大学还没有找到的话,那么就要抓住机会了。因为这是倒数第二次机会了。为什么不是最后一次?因为后面还有“社会大学”,不过在社会大学里面可是要残酷很多。
===================================================
中国的教育你怎么就能推断是填鸭式的?填鸭式的有什么不好吗?难道这个社会上没有被填出来的社会精英吗?“师傅领进门,修行在个人”,难道是每个人在接受“中国式教育都是被动,厌学,应付”吗?
就算有好的学习方法,你怎么能确定这个方法适合你。OK,就当你说的,适合自己的方法。那你一开始上学的时候就能找到“适合自己的方法”吗?填鸭式的教育是没有办法的办法。那您说,中国的教育应该怎么来改革?这是您应该考虑的问题吗?
一个人连知识都掌握不了,你觉得他还能去总结出适合自己的方法论吗?
说的有点多,莫怪。
 回复 引用 查看   

#26楼 2010-01-10 11:00 卡通一下      

引用DiggingDeeply:
中国的教育你怎么就能推断是填鸭式的?填鸭式的有什么不好吗?难道这个社会上没有被填出来的社会精英吗?...

记得我上学时,就鼓励“启发式”的教学,可是至今也没有做的很好。

听长辈们说,从50年代我国就开始教育改革,都改了半个世纪了,也没有改好!

教育就象是一块“试验田”,无论谁主政,都要来这试验试验......

我们就是一茬、一茬地被“试验”出来的。

呵呵...;呜呜...
 回复 引用 查看   

#27楼[楼主] 2010-01-10 11:18 金色海洋(jyk)      

@横刀天笑
这个是给在校学生说的,其他人参考。

为什么要用 .Net 1.x?原因很简单,老项目再用,成熟的底层再用。项目时间紧,不敢换。没有学习的时间,当然这是从公司的角度来说的。既然.Net 1.x可以搞定项目,而且还很成熟。那么为什么要花成本升到.Net 2.0,甚至是.Net 4.0呢?

这是真实的案例,06、07年,.net2.0刚出来,公司已经有成熟的底层(基于.net1.x的),那么要不要换呢?如果换了,现在.net3.0出来且稳定了,要不要接着换?.net4.0成熟了之后要不要再接着换?

如果您是老板,您愿意花成本去追新吗?

没完没了的改底层,有经济效益吗?而为什么要改底层,并不是因为不能用了,而仅仅是微软出了.net n.x 。

 回复 引用 查看   

#28楼 2010-01-10 11:22 DiggingDeeply      

@金色海洋(jyk)
您是软件工程师,不是程序员。
 回复 引用 查看   

#29楼 2010-01-10 11:23 卡通一下      

引用金色海洋(jyk):
为什么要用 .Net 1.x?原因很简单,老......

这就象有人用筷子吃饭、有人用勺子吃饭、有人用手抓饭一样,非“常理”所能解释。

客随主便,顺其自然就好了。
 回复 引用 查看   

#30楼 2010-01-10 11:23 sober      

中国的教育大多都很形式,特别是研究生教育。本科生的话其实专心学好书本知识就足够了,上了研究生以为可以得到导师的指导,谁知道导师都是混个名,申报个项目的人,自己完全不懂技术。结果搞得中国的学术就只有个虚名,且不论一些比较专心于学术的老师,大部分的都是个包工头。学生能得到多少成就和导师基本没什么关系,那是学生自己的努力。我就是个研三的学生,这三年对中国的教育是绝望了。  回复 引用 查看   

#31楼[楼主] 2010-01-10 11:24 金色海洋(jyk)      

引用横刀天笑:

如果微软已经改了,我们为啥还要费尽心思自己改进?我们学一下,用一下,了解一下原理不就ok了。
还有,你举的那个例子,要从很多角色来看。从老板的角度、工程师的角度、企业的角度会得出不同的结论。
就我,从一个工程师的角度来看,老外的方法明显优于中国工厂的那个方法,如果出现半个肥皂的情况怎么办?当然第一个方法是很“敏捷”。

这个就有个先后的问题了,.net1.x从2000年开始一直延续到了2005年底。在这一段期间内的项目怎么办?发现不好维护、成本高,不想办法改进,等着微软出.net2.0吗?而.net2.0又很对不住大家,一直拖到了05年底,才姗姗来迟。

关于那个香皂的例子就不多讨论了。

 回复 引用 查看   

#32楼[楼主] 2010-01-10 11:36 金色海洋(jyk)      

@DiggingDeeply
我是针对个人来说的,说学习方法,适合自己的学习方法的重要性。

我不是在说教育,我更说不了教育。

要想活得好,就得自己想办法。

其实这一篇的思路,大部分来至与我和一位40多岁的母亲的对话。

她是很厉害的,厉害的地方在于把自己的儿子教育的很好。

这里的观点有一部分就是来自于她的教育方式和成果。

你能相信一位母亲支持自己的儿子在作业量很大的时候可以不完成作业吗?你能相信她支持在高中的时候就谈恋爱吗?请注意,我说的是“支持”。

结果呢?如果儿子没出气,那自然是反面教材。但是儿子很争气,学习好,工作能力好,人员也好。老师、学生都喜欢。

这位母亲问我,像这样的孩子,到了工作岗位能不着领导喜欢吗?


再次提醒,我不是说教育,也不是说教育改革。


 回复 引用 查看   

#33楼 2010-01-10 11:37 Ryan Gene      

楼主还是比较单纯的 :)  回复 引用 查看   

#34楼 2010-01-10 11:38 卡通一下      

引用金色海洋(jyk):
这个就有个先后的问题了,.net1.x从2000年开始一直延续到了2005年底。在这一段期间内的项目怎么办?发现不好维护、成本高,不想办法改进,等着微软出.net2.0吗?而.net2.0又很对不住大家,一直拖到了05年底,才姗姗来迟。

我就碰到过,你把新技术讲得天大的好,可是客户就是固执地摇头!

我曾经维护过这样一个客户,他们的数据库一直是用SQL server 7.0,多年后我试图升级到SQL server 2000,可是他们却强硬的拒绝。说是这个系统已经可靠地运行了这么多年,如果因此出了问题,谁能负责?并质问我能担起这个责任吗?汗...

他们有他们的想法,没办法,要坚持,就别做。
 回复 引用 查看   

#35楼[楼主] 2010-01-10 11:39 金色海洋(jyk)      

引用DiggingDeeply:
@金色海洋(jyk)
您是软件工程师,不是程序员。


程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
http://baike.baidu.com/view/39175.htm




软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。

http://baike.baidu.com/view/45743.htm


我好像还是程序员。

 回复 引用 查看   

#36楼[楼主] 2010-01-10 11:44 金色海洋(jyk)      

@金旭亮
俺也姓金,五百年前是一家了。
在csdn上认识了您。
很高兴您能看我写的。csdn里的jyk,不知道您有没有印象,呵呵。

我们都算是过来人了,可以做出比较正确的判断,但是对于在校生来说,您觉得他们可以分清楚新技术,哪些是对的,哪些是厂家搞出来的噱头?

我觉得作为教师应该做好这方面的指导工作,呵呵。
 回复 引用 查看   

#37楼 2010-01-10 11:50 卡通一下      

引用金色海洋(jyk):
@金旭亮
俺也姓金,五百年前是一家了。

我们都算是过来人了,可以做出比较正确的判断,但是对于在校生来说,您觉得他们可以分清楚新技术,哪些是对的,哪些是厂家搞出来的噱头?

我觉得作为教师应该做好这方面的指导工作,呵呵。

哇噻!

金色海洋上升级金色的太阳!哈哈...

还是将“尾巴夹紧一些”,先了解一下金老师吧。
 回复 引用 查看   

#38楼 2010-01-10 11:51 卡通一下      

如果大家接触过军工系统就会感到,他们是“出奇地”固执,“不可理喻”地守旧。

因为,在军工系统中,“可靠性”才是最大的事情。
 回复 引用 查看   

#39楼 2010-01-10 12:00 xiao_p      

引用
你能相信一位母亲支持自己的儿子在作业量很大的时候可以不完成作业吗?你能相信她支持在高中的时候就谈恋爱吗?请注意,我说的是“支持”。


这么干的多了是了,一看你就不经常接触这类话题。


蛮讨厌以过来人的身份对后人说事的,你走的路不过是自己的一种选择罢了,好也罢,坏也罢,都是自己的感受,人家当今的大学生可没有要求咱们给人家指点。

貌似很多现今的大学生在人生观世界观上比咱们80-85这代人强了不少,至少在个人理想的追求上。
 回复 引用 查看   

#40楼[楼主] 2010-01-10 12:10 金色海洋(jyk)      

我只是说点心里话罢了,对也罢,不对也罢。

听也好,不听也好,无所谓。

 回复 引用 查看   

#41楼 2010-01-10 12:15 卡通一下      

引用金色海洋(jyk):
我只是说点心里话罢了,对也罢,不对也罢。

听也好,不听也好,无所谓。


不要泄气,海洋的文笔越来越好了。

飘走,吃饭,用筷子...

哈哈!
 回复 引用 查看   

#42楼 2010-01-10 12:22 skyaspnet      

楼主写的很受启发, 感谢分享, 我也是在校学生,觉得基础最重要, 不过
"b/s要掌握 html、css、javascript、http、xmlhttp、xml等,但是这些都不算什么了,小各科而已(前提是会了前面说的那些)。"

这句还是不太赞同, css、javascript都不好学,特别是javascript,企业级的应用是相当复杂的,这两门技术要用好还是不容易的:)
 回复 引用 查看   

#43楼 2010-01-10 12:23 金旭亮      

@卡通一下

引用卡通一下:
引用金旭亮:
可以不追新,但至少要了解“新”,而且要能做出判断,应该在哪些“新”上花时间掌握它,并且能很快的应用“新”以提升现有工作的效率。
还有一些“新”体现了计算机理论和技术的最新成果,可能预示着未来的发展方向,更是值得追。

金老师,能否问一下,您现在正关注着什么?

个人觉得:.NET4.0中新加入的“并行计算”和“云计算”值得关注。  回复 引用 查看   

#44楼 2010-01-10 12:25 forhells      

引用DiggingDeeply:
中国是填鸭式的教学,往往忽略的学习方法的培养,导致了被动学习,应付差事,甚至是厌学的情况。我觉得每个人都有适合自己的一套“学习方法”,越早的发现他、掌握他,对自己越有利。找到了之后可以更快、更好、更扎实的学习各种新知识!适合自己的学习方法,每个人都是不一样的,不能生搬硬套。应该尽快的找到,如果您到了大学还没有找到的话,那么就要抓住机会了。因为这是倒数第二次机会了。为什么不是最后一次?因为后面还有“社会大学”,不过在社会大学里面可是要残酷很多。
===================================================
中国的教育你怎么就...

填鸭式的有什么不好吗
填鸭式非常好,真的,他们不总结,不填鸭,我不知道怎么去总结,学习的时候,进展很慢,有了填鸭式,我的学习速度好快,不过,学新东西真的不行。要有人做总结,才快。
就算有好的学习方法,你怎么能确定这个方法适合你。
不合适你的方法,你会定义为好的学习方法,你又从什么标准来判断它是好的学习方法。。。。。。
填鸭式的教育是没有办法的办法。
以前是因材施教。现在是填鸭式,一桶水倒下去,管你接不接受的了。你失败了,于是是你的问题。这样也叫教育的话,我也去做老师去。靠。  回复 引用 查看   

#45楼 2010-01-10 12:33 forhells      

一个人连知识都掌握不了,你觉得他还能去总结出适合自己的方法论吗?
一个人方法不对,知识他掌握不了。比如说我们有一些人上课睡觉,下课玩耍,考试一样厉害。我可以用他们的这种方法吗?肯定不行。就像写程序一样,他可以自己慢慢改进自己的方法嘛。难道,所有人都用同一种方法的。。。。。。
 回复 引用 查看   

#46楼 2010-01-10 12:38 LindyBoy      

看的不累,还比较舒服。  回复 引用 查看   

#47楼 2010-01-10 13:04 卡通一下      

引用金旭亮:
个人觉得:.NET4.0中新加入的“并行计算”和“云计算”值得关注。

啊,是这样,谢谢!
 回复 引用 查看   

#48楼 2010-01-10 13:20 Jeffrey Zhao      

引用卡通一下:
引用金色海洋(jyk):
@金旭亮
俺也姓金,五百年前是一家了。

我们都算是过来人了,可以做出比较正确的判断,但是对于在校生来说,您觉得他们可以分清楚新技术,哪些是对的,哪些是厂家搞出来的噱头?

我觉得作为教师应该做好这方面的指导工作,呵呵。

哇噻!

金色海洋上升级金色的太阳!哈哈...

还是将“尾巴夹紧一些”,先了解一下金老师吧。

你是如何了解金老师的啊,上次我都以为你是他的同事了,给点方法吧?  回复 引用 查看   

#49楼 2010-01-10 13:21 WizardWu      


写企业 erp, crm, scm 的,学好:
财会、沟通技巧、特定产业的know-how
最重要。
 回复 引用 查看   

#50楼 2010-01-10 13:32 卡通一下      

引用Jeffrey Zhao:
你是如何了解金老师的啊,上次我都以为你是他的同事了,给点方法吧?

你误会了,我确实不认识金老师!

我知道金老师,是因为前些年买了一本书,附带一张光盘。内容是金老师与另外两个人的座谈,给我留下了深刻的印象。
 回复 引用 查看   

#51楼 2010-01-10 13:36 小猪凯      

不费力就能得到的就是年龄了.  回复 引用 查看   

#52楼 2010-01-10 14:07 xiaotie      

商人好  回复 引用 查看   

#53楼 2010-01-10 15:27 Mr.d      

不知道计算机组成原理,怎么理解多用户、多线程?

这个应该没啥关系吧,应该对应着操作系统吧,弱弱的问一下下。

哈哈,我的入门语言Qbasic,高中用了3年,期期考试,都是什么程序改错,写程序运行结果,编程,好怀念呀
 回复 引用 查看   

#54楼 2010-01-10 15:52 陈梓瀚(vczh)      

新技术如同语言的语法。一门语言,譬如说.net 1.1时代的C#没有泛型,实现其什么东西有时候会很别扭,维护起来还麻烦,你就会感到“烦”,然后降低生产力,最后情绪反感,无疾而终。

反而新的语言或者新的改进,譬如.net 4.0时代的C#,已经对你在什么地方觉得烦有所察觉了然后设计除了新的语言,你写起什么东西就会很顺畅,维护起来比以前好很多,“烦”就会大量减少,提高生产力,提高生产积极性,项目高质量提交。

所以语法和库是非常重要的(当然并不是全部,各位不要扣字眼)。合适的语言对于合适的目标有积极的促进作用。所以【在学好基础知识的基础上】,要大量实践,尝试各种设计方法、语言、类库,写几个好玩的好用的程序,写几个非常难写有没有用无所谓的程序。各种经验结合起来,以后对付一个项目,就会有充分的知识储备了。

当然这需要大量的时间,所以平时游戏少玩,写成程序算了。为什么语言和库重要,因为这直接影响到我们的心理和情绪。
 回复 引用 查看   

#55楼 2010-01-10 15:53 陈梓瀚(vczh)      

当然如果各位老大们觉得自己写程序的时候的情绪,跟自己的产出完全无关的,那么就忽略我上面说的话。  回复 引用 查看   

#56楼 2010-01-10 16:57 我写的不是代码 是寂寞      

不经历一些历练的人,是很难踏实的。  回复 引用 查看   

#57楼 2010-01-10 18:51 Cat Chen      

看到文章列举了如此之多的知识点,感觉文章本身还是浮躁了,不够踏实。所有这些知识点不过是浮云,脚踏实地,你应该能感觉到你实际踩着的是什么。  回复 引用 查看   

#58楼 2010-01-10 23:10 横刀天笑      

引用金色海洋(jyk):
@横刀天笑
这个是给在校学生说的,其他人参考。
为什么要用 .Net 1.x?原因很简单,老项目再用,成熟的底层再用。项目时间紧,不敢换。没有学习的时间,当然这是从公司的角度来说的。既然.Net 1.x可以搞定项目,而且还很成熟。那么为什么要花成本升到.Net 2.0,甚至是.Net 4.0呢?
这是真实的案例,06、07年,.net2.0刚出来,公司已经有成熟的底层(基于.net1.x的),那么要不要换呢?如果换了,现在.net3.0出来且稳定了,要不要接着换?.net4.0成熟了之后要不要再接着换?
如果您是老板,您愿意花成本去追新吗?
没完没了的改底层,有经济效益吗?而为什么要改底层,并不是因为不能用了,而仅仅是微软出了.net n.x 。

对于这个话题分三种情况:
第一:超级固执客户,就像评论里有位说的,军工里面的应用(实际上这是个悲哀,为什么国内不重视创新,人人都怕负担责任,你创新了,出问题谁负责?人人都是这种观点,当然故意阻拦创新。),对于这部分客户还是不惹了算了。
第二:不是那么固执,我们是不是可以想办法引导客户?
第三:对于,海洋你举出的例子,我觉得完全不是理由,我们公司在石油行业混了14年,基本上针对所有问题都有成熟的代码库,但是公司还是一路升级到vs2008了。新的技术出来了,公司里有人研究,然后给大家讲,如果想在项目里采用这种技术,你就要说服大家,一般是做一张演示PPT,大家坐在一起,你自夸一番,“说服上司”,如果你“有理”,好,整个团队都会升级。如果你没有任何说服的理由,那么就放弃,等你找出好的理由再说。公司内部的问题,都不是什么问题,那只是借口。  回复 引用 查看   

#59楼 2010-01-10 23:50 韦恩卑鄙 alias:v-zhewg      

引用金色海洋(jyk):
引用横刀天笑:

如果微软已经改了,我们为啥还要费尽心思自己改进?我们学一下,用一下,了解一下原理不就ok了。
还有,你举的那个例子,要从很多角色来看。从老板的角度、工程师的角度、企业的角度会得出不同的结论。
就我,从一个工程师的角度来看,老外的方法明显优于中国工厂的那个方法,如果出现半个肥皂的情况怎么办?当然第一个方法是很“敏捷”。

这个就有个先后的问题了,.net1.x从2000年开始一直延续到了2005年底。在这一段期间内的项目怎么办?发现不好维护、成本高,不想办法改进,等着微软出.net2.0吗?而.net2.0又很对不住大家,一直拖到了05年底,才姗姗来迟。

关于那个香皂的例子就不多讨论了。


很多公司是因为1.1的运行效率太糟烂了才进行1.1到2.0的升级的

有些东西不知是新旧的问题 1.1的盲目实施 曾经导致很多项目直接失败了。  回复 引用 查看   

#60楼 2010-01-10 23:53 韦恩卑鄙 alias:v-zhewg      

浮躁的学习不一定有坏处
但是要留有自我沉淀的余地。

那我自身的例子来说 我完全是从vb6开始追新 可以说我在两年前一点面向对象都不懂

但是前面几年追新的过程每一分每一秒 都是我这两年沉淀知识的宝贵资源。

所以弯路真的不要走么? 我不这么想。如果你精力够用 不妨走一些弯路来锻炼自己的思维 增长一下自己的见识
 回复 引用 查看   

#61楼 2010-01-10 23:56 韦恩卑鄙 alias:v-zhewg      

@横刀天笑
你们这叫健康发展的团队 我喜欢
 回复 引用 查看   

#62楼 2010-01-11 06:21 Jacky Chyi      

大学生 一定要学会自学!!这个自学可不是每天晚上去看老师明天要讲的课程这么简单..这是初中生高中生该干的事情..大学生最不会的就是自学 所以导致 毕业之后什么都不会!  回复 引用 查看   

#63楼[楼主] 2010-01-11 07:49 金色海洋(jyk)      

引用横刀天笑:
新的技术出来了,公司里有人研究,然后给大家讲,如果想在项目里采用这种技术,你就要说服大家,一般是做一张演示PPT,大家坐在一起,你自夸一番,“说服上司”,如果你“有理”,好,整个团队都会升级。如果你没有任何说服的理由,那么就放弃,等你找出好的理由再说。


你自己不是都说了吗,为什么要升级呀——“有理”,能够说服大家。
为什么不升级呀——“没有任何说服的理由”。

你自己都没有说,因为出来新版本就一定要升级。

关键在于能不能带来好处,而不是微软一出新版本,我们就一定要升级。  回复 引用 查看   

#64楼 2010-01-11 09:58 Kevin Zou      

非常同意楼主关于新技术的一些想法。语言和技术都是工具,LINQ又怎样,范型又如何,没有这些的.net1.1依然有很多优美的系统  回复 引用 查看   

#65楼 2010-01-11 09:59 Kevin Zou      

不是否认新技术,而是要更侧重于问题域本身,真正在了解这些的时候,再挑选合适的或被迫迁就的工具来实现  回复 引用 查看   

#66楼 2010-01-11 10:35 空杯楠      

海洋兄,我转载你的文章到社区了,且注明出处,你可以点击查看http://space.cnblogs.com/group/topic/35634/
:)
 回复 引用 查看   

#67楼 2010-01-11 10:40 卡通一下      

说服客户使用新技术?

客户会说计算机系统在他们那只是辅助系统,够用、廉价就好!

希望他们考虑今后长远?

客户会调侃我们,说今后人人都揣着iPhone,那时计算机都要卖废品了。

 回复 引用 查看   

#68楼 2010-01-14 03:51       

说到.net1.x 升级到.net 4.x的问题。lz的观点也是对的。

.net2.0有范型
.net 3.x有linq,
.net4.x 有并行计算

我正好是.net2.0开始接触,所以直接上2.0。没有1.x的问题。

不过现在面对3.x,4也会排斥。因为想linq、并行计算之类的我都用不上,而且很多我自己已经有成熟的架构了。感觉没有什么必要升级。

如果微软说.net5.0的性能比.net 2.0提高10倍,说不定我会考虑升级。
 回复 引用 查看   

#69楼 2010-08-28 00:45 绿浪滚滚      

海洋是真咱大学生的良师益友啊!谢谢指点,海洋讲得蛮有道理的,你讲的我体会到了一些,有些比如本科生的学习方法和能力方面的分析真是让我感悟到蛮多,我想这也是为什么要上大学的原因吧,我身边的蛮多同学都觉得上大学没啥意思,他们因该看看你的文章了。
下面引用你的话,我下去再好好感悟下
——————
如果你在大学里面,任何一个学科对你来说都不成问题,手到擒来。那么你以后到了工作岗位还有什么可担心的呢?
——————
我感觉下学期我的所有学科我都有勇气去攻克了……
 回复 引用 查看   

导航

统计

公告



昵称:金色海洋(jyk)阳光男孩
园龄:5年5个月
荣誉:推荐博客
粉丝:365
关注:130

随笔分类(337)

最新评论