一个程序员会什么技能才称得上是一个合格的程序员

2025-03-06 23:14:08
推荐回答(3个)
回答1:

何谓“合格的程序员”?如果是想凑合着当个程序员,这是每个人都能做到的。记得《数据结构》书中讲到过:程序=数据结构+算法。能熟练掌握数据结构和算法的实现方法、有着一套全面严谨的代码思路,然后再有点自己独特的艺术细胞,这样肯定是一个合格的程序员。但是说到这个“合格的程序员”并不是这样就完了,因为具体地说起来,没有一个人敢说自己已经成为了一个合格的程序员。“只局限于会编程序就够难的了。”程序员需要掌握的东西实在是太多了,大体分为软件和硬件,从程序员学习及实践的侧重点来分也就可分为偏软程序员和偏硬程序员。

偏软的程序员需要掌握的东西稍微简单些。最基础的应该了解所使用的编译系统(也就是通常所说的vc、bc...),以及其建立的运行环境(操作系统)。这些都还是基础,你的代码要想运行起来,可能有这些就够了。高级编译程序一般都是为方便程序员而设计的,很容易掌握;操作系统也好掌握,一般的程序员最起码应该了解的是使用系统提供的接口实现辅助管理进程、内存、文件、外设、用户接口等等功能。说到难点当然会出现,这也是考验程序员是否合格的时候了,比如编译环境更换升级、操作系统更换、32位升级64位,这些情况你的代码需要重新写还是只需重新编译一下就够了?以上说的都是一个基本合格的偏软程序员应该轻松应对的。但是有些情况的出现是对偏软程序员极限的考验。比如控制某些非标硬件(自己做的)、与其他系统的数据和指令通讯等等。其实这些对于一个偏硬程序员来说都是小菜。
偏硬的程序员活得都很辛苦。除了需要多多少少掌握一门高级语言之外,还要对硬件系统有全面的了解。说到全面,这就是硬件和软件的不同。也许在写与硬件没有牵扯太多的代码时,你可以偷工减料,有些平时用不上或者很少用的代码,若是算法复杂就干脆忽略或禁用这部分功能,但是硬件程序员可不会这样作的。硬件是实实在在的东西,而且是其程序运行的基础,哪个细节敢禁用掉?再谈硬件系统的组成也实在是太多了。从windows系统到linux系统、从32位计算机到64位桌面pc、从简单的pc机到智能设备、从8位单片机到32位的智能处理器、从最简单的8255芯片到8019芯片、从模拟信号到数字信号、从弱电到强电、从实验电路到开发板等等,这些都是一个合格的硬件程序员应该掌握的,就是一个简单的复位电路或者一个简单的元器件初始化状态字都是应该会写的,更有甚者拿着操作系统源代码,在上万行中找BUG。也就是说一个硬件程序员不光要掌握硬件系统,还要了解操作系统,更重要的是要知道怎样把程序运行在这个硬件系统和操作系统的统一体上。不过一般情况下没几个人能掌握到这么全面的程度。谈到偏硬程序员的工作,可以映射一个问题,为什么硬件更新比软件更新慢的多。答案很简单,因为对硬件系统的掌握是需要很夯实的基础,而且“谁愿意干谁干去”!
其实想想硬件、操作系统、编译程序要学的实在是太多了,所以也不要管什么偏软偏硬的无聊问题。需要做的很简单,找一个自己感兴趣的方向发展,能学到什么程度就学到什么程度,对自己太苛刻完全不是一个为了生活去学习的人该干的(走火入魔的人除外)。
说的太多,已经很无聊了!

回答2:

能自己制造病毒

用病毒攻击别人邮箱 最起码的

并无恶意 只是好玩 显示一下自己的能力

回答3:

现在全国范围内有一个计算机软件考试,简称软考,其中初级包括一个程序员
你可以查阅一下相关资料,这个考试比较权威,通过考试应该算是合格的,而且可以为各大公司企业所承认