优秀的程序员应该精通多少门语言?

优秀的程序员应该精通多少门语言?对于这个问题每个人的理解都不一样,但是从职场上来分析只精通一门C语言的人远远算不上程序员,别说一个C语言了,就算你只精通Java,精通C++,都算不上程序员,为啥?请继续往下看:

一、程序员要懂业务

会一门C语言意味着你可以按照C语言的语法写出一段代码来,但也仅仅是一段简单的代码。想让代码有灵魂,也就是能够解决实际中的一个问题或者满足客户实际的一个需求。试想,客户要求你做一个网络视频传输的模块,需要你理解视频从客户服务器到终端整个的交互流程才能写出这个系统,而你只会用scanf函数从键盘读取一个数据,再用printf函数把数据输出,这只能说明你C语言语法学的好,但是有什么用?帮助客户解决了什么问题?

二、程序员要懂算法

算法是程序的灵魂,程序员在写每一个C语言代码时都不知不觉用到了某种算法。最常见的一个就是人间识别算法。

也许你用C语言指针很溜,用C语言链表很顺手,用C语言二维数组更是不在话下,但是光会写这些就能识别出一张人脸吗?显然不可能。

算法就像一个印有规则的一张纸,你看着这张纸上的规则,利用你学到的C语言语法按照规则写代码,算法的灵魂就在代码中。

三、程序员要懂多个编程语言

给客户做业务,光懂一门编程语言远远不够。比如你懂Java,安卓开发很溜。但是你要在安卓手机上实现对视频截图,此时仅懂Java是不够的,这种涉及到视频处理的底层功能得借助于native方法,而native方法往往是通过C语言实现的。

如果要现身说法,小编作为一名程序员,中间学过C++,C和Java。唯一可以称得上精通的就是C语言了。之所以如此,当然也是有着鲜明的现实背景的。最主要的原因就在于我是一枚嵌入式软件工程师,是在MCU上写代码的,而C语言基本上就是嵌入式软件开发领域的王者,在MCU上很难看到其它编程语言的用武之地。

如果一个精通C语言的人都不能被称之为程序员,那么称职的程序员真就不多了,不是所有的程序员都是对某种编程语言都是精通的,能精通编程语言的人在编码界也是稀有动物般的存在。要精通一种编程语言,除了非常雄厚的编程基础之外,还需要现场实际解决问题的能力,一个问题普通的程序员也能解决,高手一样能够解决,但实际产生的效果是不一样的,高手解决问题想到的是框架方面东西,一旦解决可能类似的一个体系的问题都会得到解决。

很多时候做项目都是多个编程语言相辅相成,共同完成一个目标的。上面所说的还仅仅是程序员要学的很小的一部分,程序员要学的实在是太多,而且技术更新日新月异,要时刻保持一颗学习的心!

猜你喜欢

转载自blog.51cto.com/14214237/2395856