如何学好编程—写给还在学校的学生.docxVIP

如何学好编程—写给还在学校的学生.docx

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何学好编程-写给还在学校的学生10月份一直在忙上一个项目,每天都淹没在一大堆英文文档里,不断的实验、总结,就是晚上回到家里还是在思考着一些解决方案。博客也就闲置了整整一个月,北京的冬天来了,也一直找不到写东西的心情。现在项目告一段落,也重新进入了学习探讨的状态,于是觉得该写点什么了。听一些学弟学妹在述说这学院发生的事情,回忆自己学习各种技术一路走来的各种迷惘,决定写下一些个人经验下来,算是给所有在校的大学生一点建议吧。记得在学校学得第一门语言是C++,饶有兴致的去写了不少代码,出了能在ACM竞赛中看到一点点效果之外,也不明白在现实社会中到底能用来干什么。后来又接触了Java和数据库,一般都会分组去做一些所谓的模拟项目,借书系统或者订餐系统之类的,开始发现能做出来的东西跟超市的收营系统有那么一点相似之处。再后来又接触了J2EE,开始做很多Web项目,这一下挖得可够深的,把学校不太重视的CSS/Javascript什么的一顿猛学……一直到现在,研究完BEA Tuxedo和BEA Weblogic之后,感触还是挺深的,回忆起来走了不少的弯路,但还算幸运的是以前打下的许多基础,都渐渐的在深入技术学习的过程中起到了关键作用!首先我非常理解刚进入大学就凭借不错的智商,迅速学习编程,能写得一手好代码的那些哥们,马上就希望通过做真实的项目把自己的代码转化成真实世界的应用这种想法。也许在某些老师的帮助下,确实还真做出了一些东西来。但其实这时候最大的误区就是根本还不知道计算机世界是多么的庞大,自己的理论体系是多么的残缺不全,坦白的说,如果没进大学前没有学习过计算机相关知识的话,1~2年内是不可能去理解自己写的程序是如何能在现实世界中发挥作用的。很多人曾经讨论过到底学习C好还是Java好?无数经典的回答无非都是一句话:各有所长!无论你从拿一种语言开始,当你真正深入到一定程度之后,你都会发现一种思想上的统一。现实社会上某些需求更适合C语言做,某些更适合Java做,如果暂时无法理解的话,就大概记住这么一句话吧:Java语言随着互联网一起诞生并壮大的。(不过千万不要认为自己理解这句话,如没有系统的整理过历史线索,又没经历过那个时代的,还是就简单的当作一句话记住吧)其实编程语言只是一种工具而已,在熟练操作这种工具前,不妨问问自己对计算机世界有多了解?比如可以尝试着回答以下这些问题:1、一台PC机不装任何系统的时候都包含了那些硬件和程序?当安装一个操作系统的时候,依次在PC机中加入了哪些程序?硬盘的组成结构是什么样的?可否在一块硬盘上放两个操作系统?硬盘启动又如何引导去启动哪一个操作系统呢?2、学校分配了IP给你,你通过这个IP是如何连接上互联网的?需要什么样的设备才能接入互联网?速度又如何?在互联网中,你的标识又是什么?有哪些访问限制,是否可以突破这些限值?如果你们寝室有使用路由,不防看看路由器设置里的DMZ、Upnp、Firewall、Broadcast这些设置都是干什么用的?3、等你安装了一个操作系统,大部分恐怕还是Windows吧,有没有想过这个OS如何控制你的硬件资源,这些硬件资源在OS里又转化成哪些指标。如果这个OS是这样构造文件系统的,那么另外一个OS又是否使用着另外一种思路去构造文件系统和控制硬件资源呢?其实以上的这些只是计算机知识体系的不同方面的小细节而已,但是笔者也是在工作第1年期间,分别在不同的时期才找到这些问题的答案,这些知识又对笔者深入学习编程和软件开发起到至关重要的作用。想想刚进大学啥也不顾埋头猛写程序而忽略了整个知识体系的行为,现在觉得满稚嫩的!接下来回到编程语言上吧,笔者在大三选择了Java深入学习的,后来接触了很多哥们,有在学校的成绩佼佼者,也有做了很多项目的所谓经验牛人,都声称是Java高手吧,似乎代码也写得非常好了。可是笔者却认为学好一门语言,比如Java吧,光靠写代码是远远不够的,许多辅助的能力和习惯最终才能帮助你真正成为一门语言的高手,笔者总结一共需要以下几点:1、大量的代码编写,这是基础,不必多说2、大量的代码阅读,源码阅读也好,前辈的代码阅读也好,不光读好的,还要读不好的3、计算机基础知识,比如SSL概念、NAT协议、编译原理、TCP/IP细节等等4、英文阅读和思考能力,这似乎是中国的程序员永远的痛啊5、不断的总结思考,观察分析能力,简而言之就是不断更新自己的理解,否定那些误区这些都是相辅相成的,至少笔者认为缺一不可。也许你用Java做了很多项目,其实一些规模还挺大,可你却说不清楚Java虚拟机的构造,工作原理,和内存回收机制;也许你做了很多网站,可你很可能说不出来Js的内存管理方式,HTTPS协议的内容和TCP/IP每次握手的步骤;也许你的代码经验越来越多,可是你却一直不知道数据库索引如何带来正面或负面的影响

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档