[想了解一些生活常识方面的知识]1、常吃宵夜.会得胃癌. 因为胃得不到休息 2、一个星期只能吃四颗蛋.吃太多.对身体不好 3、鸡屁股含有致癌物, 不要吃较好 4、饭后吃水果是错误的观念. 应是饭前吃水果 5、女...+阅读
如何成为好的程序员? How To Become a good Programmer? 首先问你一个问题: 你们在学校都学些什么课程?问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。
用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的硬件,计算机架构里的知识对分析算法的性能(快慢等等)很有用。可以把计算机语言和开发工具比作文字,而把计算机科学的知识比做思想。只有思想,不会行文,不行;但是,行文流畅,思想空洞,也不行。大学的阶段正是打好基础,丰富思想的年代。
成为一名好的程序员,不是简单地通过学几门课程就能做到的。我个人认为成为一名好的程序员的要素有: 1。扎实的基础知识; 2。很强的解决问题的能力; 3。熟练的编程调试能力; 4。创新能力; 5。团队合作能力; 6。持续的自学能力; 7。好奇心 这些能力和品质(甚至可以说是习惯)都应该从大学阶段就着手培养,并且从身边的小事开始培养。
比如,很多中国的大学毕业生都缺乏编程和调试经验。学习C语言,考试过关就算学会了。课题项目中,只要程序能够编译,运行,并且输入输出满足要求就了事了。但是,写程序的时候是否想过如何把程序写得更加精炼,高效,高质量?对程序调试中出现的问题是否刨根问底知道原因,还是不求甚解搪塞过去算数?还有,很多中国的大学毕业生对于知识的掌握肤浅,机械,没有好奇心,不会刨根问底。
比如,学会了C++,有没有看过一个object在编译后,在汇编代码中是如何被初始化的?这个object的各个成员在内存中是如何放的?在一个成员函数被调用的时候编译器在汇编代码中加入了哪些额外的动作?虚函数的调用是如何实现的? 这些东西恐怕在编程语言或编译原理中都没有详细提到。但是,你是否有过好奇心去知道?最后,一些中国学生的大问题就是死记硬背,没有学到某种算法技术的根本原理,没有应变和创新的能力。
比如,有个问题是如何在不用额外内存的情况下把一棵树的同一层节点都连起来。很多学生都能够回答这是一个广度遍历的问题。但是,课本上说了广度遍历是一定要有额外数据结构辅助的(队列)。所以,不给额外内存怎么行?请看,课本上说的用队列的方法记住了,但是就是不知道为什么要用队列。如果深刻掌握了这个队列的作用,那么这个问题是很容易的。
举了这么多例子,我想说明的事,想成为一位好程序员(其实从事任何一个行业都是如此),重要的是要养成一个钻研,好奇,创新,动手,合作,不满足于填鸭,不满足于考试交差,不满足于表象的一种优秀的习惯。这不是学几门课能够一蹴而就的。当然,如果你的在校课程不能使你满足,我以及论坛上的朋友可能能够给你推荐一些书或科目。
我觉得要提高编程的能力,有一位良师很重要。这位良师可以是在编程方面比你走在前面的同学,也可以是学校里你帮他做项目的老师,也可以是校外公司里的老师或老板。很多东西在实际的项目中,有一位良师察看你的程序,帮你指出不足,手把手地指导你调试,会对你很有帮助。所以,当学会了书本上的基本知识以后,可以努力寻找一些有实用性的项目,借机在项目中找到高手指导。
这个项目可以在学校找,也可以到校外找。一开始不要计较报酬,甚至如果能够寻到高手指点,白干也行。 其次是读好的源代码。多读好的源代码就象多读好的文章,会有利于自己写作。能够读懂别人的代码也是一门硬功夫。将来很多项目中你不会重头做,而是在半途加入(一般文档又不很齐全),因此需要能够很快读懂别人代码和想法的能力。
再次是看一些编程方面的好书。Writing Solid Code是一本很经典的书。最近出的Writing Secure Code也不错。在你熟练掌握C以后,可以学一下C++并熟悉面向对象的程序设计思路。在掌握C++的基础上可以看一下Design Patterns。 看你要把编程学到多么专业。到一定程度,你会发现如果没有学过数据结构,算法原理,编译原理和操作系统,可能在某些方面会遇到一些障碍。
所以,如果有精力和条件的话,可以同时了解这些方面的知识。 最后,我要提醒你不要因为编程这一业余爱好而影响了你本专业的课程,除非你决定转行。对很多在校学生来说,本专业的成绩很重要,因为这个成绩可能会影响到将 来找工作,申请研究生院等等。英语也很重要。我读翻译的计算机书总觉得隔了一层,翻得不贴切。能够直接阅读英文资料更好。
计算机专业修炼和武侠小说中功夫修炼都是一样的: 金庸先生小说中提到高手习武包括内功和外功,其实这个道理在计算机专业同学中一样适用! 内功包括:基本心法和高级心法 基本心法需要每个习武者必须修炼,包括:数据结构、编译原理、计算机组成原理、高等数学、线性代数以及外语等。 高级心法根据个人需要定,比如:网络类需要学习包括TCP/IP原理等;软件工程需要学习包括软件工程的基础课程。 外功包...
延伸阅读:
财务相关知识包括哪些一、财务基础知识六大要素 六大要素为资产、负债、所有者权益、收入、费用、利润。此六者构成了企业财务的全部。前三者为企业资产数据,后三者为企业经营数据,关系具体如下: 1...
财务基础知识有哪些财务基础知识包括的内容很多,如果你想去了解有关财务基础的知识,请你去了解下面的“那么多什么是?????”也许你会收益!祝你好运! 对于初次踏上会计岗位的人来说,基础知识的重要性不言...
会计财务基本知识都有什么财务知识入门,即使你不做会计,即使你没有财务基础,但是你不可能与财务绝缘。我们生活身边的点点滴滴都离不开财务知识,你知道人们嘴里常说的“营改增”是怎么回事吗?你知道个人所...
你要掌握哪些财务知识?你要掌握哪些财务知识每一个企业管理者无不希望企业蓬勃发展,经济的发展将是企业发展的最基本前提。作为优秀的企业管理者‚了解一些常用的财务知识是非常必要的。传统会计中使用的资金来源和资金...
容易混淆的财务基本知识有哪些1、账面价值、账面余额和账面净值 账面价值是指某科目(通常是资产类科目)的账面余额减去相关备抵项目后的净额。 账面余额是指某科目的账面实际余额,不扣除作为该科目备抵的项...
会计培训应掌握哪些方面的知识毕业生应获得以下几方面的知识和能力: 1.掌握管理学、经济学和会计学的基本理论、基本知识; 2.掌握会计学的定性、定量分析方法; 3.具有较强的语言与文字表达、人际沟通、信息...
知识竞答紧急防火常识一、日常防火的常识 日常防火,防范于未然最重要。养成良好的生活习惯,掌握防火、用火安全常识,是最好的防范: 1.养成良好习惯,不要随意乱仍未熄灭的烟头和火种,不能在酒后、疲劳状...
怎么写交通安全知识手抄报很多手抄报的样子,可以做参详。而且办手抄报并不难。下面是怎样办手抄报的步骤:怎样进行手抄报的设计与制作,大体上可以从这三个方面来阐述: 一、美化与设计的步骤; 二、报头、插...
安全知识手抄报制作我有: 一、行走须知 1、行人须在人行道内行走,没有人行道的要靠路边行走; 2、行人不准在车行道 上追逐、猛跑,不准在车辆临近时突然猛拐横穿; 3、不准在道 路上扒车、追车,不准强...