`

优秀的程序员文章积累

 
阅读更多
 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。

  熟知数据库

  为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。

  对操作系统有一定的了解

  当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。

  懂得网络协议TCP/IP

  在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。

明白DCOM/CORBA/XML/WEB Services存在的意义

  随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。

  不要将软件工程与CMM分开

  现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。

  拥有强烈的好奇心

  什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
 
分享到:
评论

相关推荐

    uC/OS-II 初级程序员指南

    文章 uC/OS-II 初级程序员指南 本文面向首次接触 uC/OS-II的程序员,为他们介绍一下这个系统的一些基本特征和编程上的注意事项,并介绍几个值得了解的API。本文作者已经成功的将uC/OS- II移植到几种不同CPU之上。...

    优秀程序员必须知道的20个位运算技巧

    掌握简单的位运算技巧还是必要的,所以今天写这篇文章把我积累的一些位运算技巧分享给大家,这些技巧不会是如求“1的数目”的技巧,是最基本的一行位运算技巧

    30多年程序员生涯经验总结

    在我30多年的程序员生涯里,我学到了不少有用的东西。下面是我这些年积累的经验精华。我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高。

    程序员5个刷题网站-notes:这里是一个积累平时看到各种资源的地方!

    程序员5个刷题网站 资源札记 此repo不再更新,新地址请移步 此处将专门用于转载记录各种资源文章 资源转载 大前端 Javascript及相关 javascript秘密花园 CSS及相关 HTML5 解决方案、框架、库 Css预编译技术 构建方案...

    JSP程序员成长手册

    在本文章中使用精通、熟练、熟悉、了解标志你对某技术的掌握程度。 精通:能够掌握此技术的85%技术要点以上,使用此技术时间超过两年,并使用此技术成功实施5个以上的项目。能使用此技术优化性能或代码,做到最大...

    C 语言深度解剖 解开程序员面试笔试的秘密

    当然,关于 C 语言的这么多经验和心得的积累并非我一人之力。借用一句名言:我只 不过是站在巨人的肩膀上而已。给学生做培训的时候我参考得比较多的书有:Kernighan & Ritchie 的《The C Programming Language》;...

    ucos-Ⅱ 初级程序员指南

    本文面向首次接触uC/OS-II的程序员,为他们介绍一下这个系统的一些基本特征和编程上的注意事项,并介绍几个值得了解的API。本文作者已经成功的将uC/OS-II移植到几种不同CPU之上。包括EPSON S1C33和Sunplus unSP?等,...

    zhcms v1.0.zip

    因为BraveGuo以前是asp、php和net的程序员,所以在模板中引入了一些其他语言的优秀之处。 系统是由内容发布组成,其他的所有的功能都是以插件形式出现,可以随时开启和关闭。 全系统UTF-8化。可方便用于创建面向...

    测试你对技术的掌握度:JSP程序员成长之路

    文/bingo_ge 在本文章中使用精通、熟练、熟悉、了解标志你对某技术的掌握程度。 精通:能够掌握此技术的85%技术要点以上,使用此技术时间超过两年,并使用此技术成功实施5个以上的项目。能使用此技术优化性能或代码...

    Windows窗体之间的数据交互方法

    对于有经验的程序员来说不是什么高深的东西,而对于初学者来说这些基础的东西往往是一个问题,并且存在这种现象,往往比较复杂的东西他们会,要用什么了就去学什么,实际上并没有真正的去理解掌握它,基础不扎实,...

    Sail!企业网站管理系统简体中文版 v1.1.zip

    2年来,凭借Silence长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得Sail得到了很多公司和网站的认可,并且越来越多地被应用到大中型商业网站 主要功能: 单页、文章、产品、公告、留言、...

    利用python进行数据分析(Wes McKinney著,唐学韬等译)代码code

    《利用Python进行数据分析》适合刚刚接触Python的分析人员以及刚刚接触科学计算的Python程序员。将IPython这个交互式Shell作为你的首要开发环境。 WesMcKinney,资深数据分析专家,对各种Python库等都有深入研究,...

    XTCMS内容管理系统 v1.1.zip

    2年来,凭借Silence长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得XTCMS得到了很多公司和网站的认可,并且越来越多地被应用到大中型商业网站 主要功能: 单页、文章、产品、公告、留言、...

    开心农场java源码百度文库-wxgztj:推荐技术微信公众号

    「算法爱好者」专注分享算法相关文章、工具资源和算法题,帮程序员修炼内功。 技术最前线 微信号: TopITNews,「技术最前线」是伯乐头条的官方微信公众号,专注分享 IT 最新技术和业界动态。 互联网技术联盟 微信号:...

    Android手机开发(一)

    作为一个从其他平台装接过来的程序员,要从事Andoid平台系统开发,我的关于手机平台上积累的知识已经不能满足需要了,Android为我们带来了大量的新名词,Activity,Manifest,INTENT,Service,Binder,Dalvik虚拟机

    计算机专业主要学习哪些课程.docx

    毕业的程序员或者非科班的程序员可以看看下面的两篇文章,就当再复习学习一遍。 三、计算机编译原理 首先正式一个问题:编译原理并非随随便便就能入门的! 换言之,需要准备一些基础知识在学习。 编译原理的学习和...

    详解scrapy爬取赶集网简历数据实现下一页并保存至csv文件详细入门实例

    或许,在过去我们的积累还不够,没水平没脸在这么高大上的博客上发布文章。 还有一个原因我觉得是最普遍的,就是我们做一个事情然后不断解决问题直到成功,然后就不去管它了,我们已经从中吸取了知识,再用博客写一...

    webgl2-fundamentals:WebGL 2课程从基础开始

    这些课程试图证明这种简单性,并教授2D数学和3D数学的基础知识,以便读者希望可以更轻松地编写自己的WebGL程序,并理解其他程序员在简单WebGL之上积累的复杂性。 这项工作正在进行中。 随时贡献自己的力量。贡献...

Global site tag (gtag.js) - Google Analytics