世界上有两件事情,需要一辈子的努力。第一是学习,第二是锻炼。其实这本是说明一个问题:每个人在提高自己能力这件事情上,需要持续不断地努力。以最典型的例子来看,只有通过学习,程序员才能保证不断进步。一方面我们学习新的软件技术和更新速度极快的业界新名词;另外一方面,我们也需要不断加强基本技能的巩固。
在这样的前提下,“程序员的七种武器”这个选题就应运而生了。撇开众多软件开发人员的基本素质(学习能力、解决问题能力等)不谈,我们希望能够通过本期专题来让读者更加清晰地认识,如何才能成为一位具备基本技能的开发人员。
经过几轮不断的讨论,若干专家和编辑谨慎地选择了七种程序员的基本技能,它们是:
●
数组、字符串与哈希表● 正则表达式● 调试● 两门语言● 一个开发环境● SQL语言●
编写软件的思想
作为一位开发人员,可能对上述所有的技术都嗤之以鼻——这些都是最根本的软件开发技术,何以被称之为武器?然而,正是这些最根本的东西,成为了很多软件开发人员向更高层次迈进的绊脚石。在多次的沟通和讨论当中,许多软件技术专家感同身受。
1、数组、字符串与哈希表
任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。
2、正则表达式
在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。
3、调试
软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!
4、两门语言
任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执著。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。
5、一个开发环境
随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。
6、SQL语言
说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。
7、编写软件的思想
说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专著,能够让所有程序员常看常新的心法秘籍还是不多。
分享到:
相关推荐
一点小小的体会与程序员们分享 一点小小的体会与程序员们分享 一点小小的体会与程序员们分享 一点小小的体会与程序员们分享
程序员的七大武器
### 程序员的七种武器:立于不败之地的关键技能 在当今这个信息技术飞速发展的时代,作为一名程序员,要想在这个竞争激烈的环境中脱颖而出,就需要掌握一系列关键技能。本文根据给定的信息,将为您详细解析这些所谓...
"程序员必备的7种武器"概括了程序员在工作中最常使用且至关重要的技能,下面将对这些武器进行深入解析。 1. **正则表达式(Regular Expressions)**:正则表达式是一种强大的文本处理工具,用于匹配、查找、替换或...
以下是七个核心知识点,它们构成了软件员的七大武器: 1. **开发工具**:熟练掌握至少两到三种开发工具是程序员的基础。C/C++因其高效和灵活性成为系统级软件开发的首选,而JAVA则以其跨平台特性和与WEB的良好集成...
《七种武器:编程语言集锦》是一套全面探讨编程语言的综合性图书,套装共包含7本,专门针对编程爱好者和专业人士设计。这套书籍旨在帮助读者深入理解多种编程语言的特性和应用场景,提升编程技能,从而在软件开发...
程序猿七种武器之笑傲江湖系列(工具篇、数据库、操作系统、网络篇、工程篇、算法篇)
1. **程序员的七种武器** 这个概念可能指的是程序员在解决问题和提升技能时应具备的核心能力。这七种武器可能包括: - 学习能力:快速掌握新技术和框架的能力。 - 问题解决:分析问题,找到解决方案的技巧。 - ...
首先,"程序员的七种武器"通常指的是编程者必备的技能和素质,可能包括扎实的编程基础、良好的问题解决能力、持续学习的态度、团队协作精神、对新技术的敏感度、项目管理技巧以及优秀的沟通能力。这些都是在面试中...
说到j2ee开发工具,可谓...很多时候,为了做一个简单的小项目,我们Java程序员要准备一个工具箱,里面摆在各种各样、大大小小、产自世界各地的工具,然而我们怎么针对不同的项目使用什么样的工具呢?请下载后看了便知!
在写Mac程序员的十个武器之前,我决定先讲一个故事,关于Mac和爱情的。(你们不是问Mac和爱情有个鸟关系吗?)从前有一个孩子叫做小明,他不是高帅富,与高大上也毫无瓜葛,只有低调、无聊和内涵。他住在全国房价最贵的...
非常经典的程序员式的表达爱情的方式,是你哄女朋友开心的终极武器。在人们的印象中,程序员容易使人联想到宅男、沉闷、古板等等这些不好的词语。网上也流传着一个搞笑的说法:“嫁人就嫁程序员,钱多死得早。”多么...
【Mac程序员的十种武器】 在Mac平台上,程序员有许多高效的工作工具,这些“武器”能够提升开发者的生产力,让编程工作更加顺畅。以下是一些针对程序员的重要工具介绍: 1. **Alfred**: Alfred是一款强大的效率...
《Java经典书籍——程序员必备武器》 在编程领域,尤其是Java世界中,扎实的基础和实践经验是程序员成功的基石。本文将围绕Java程序员面试宝典中的重要知识点进行深入探讨,旨在帮助求职者更好地准备面试,提升技能...
这导致了他们在技能树上出现了一种不平衡的现象,即“重知识轻技术”。 首先,我们要理解“知识”与“技术”的区别。知识通常指的是理论基础、概念理解以及行业标准等,它们是程序员进行编程的基础。而“技术”则更...
2. **正则表达式**:正则表达式是进行字符串匹配和搜索的强大武器。工具箱内置的正则工具可以帮助程序员编写、测试和调试正则表达式,确保其正确性和效率。 3. **加密解密**:数据安全在任何项目中都至关重要。工具...
通过深入理解并掌握这七种“武器”,程序员可以更高效地利用应用服务器技术,提升软件架构的水平,进而推动整个软件工程学文化的发展。在现代IT环境中,应用服务器不仅是技术工具,更是企业级软件解决方案的基石,...