编程语言应用

首页 » 常识 » 问答 » 一个程序员,需要掌握几门编程语言比较合适
TUhjnbcbe - 2024/5/17 16:59:00

一个程序员的职业生涯,如果只掌握一门编程语言,往往是要被其他同行看不起的。虽然我比较不赞同这种看法,但是我的内心很诚实,行动表明,我也喜欢学一门“第二语言”。

虽然我学习了“第二语言”,但不代表我就赞同程序员要学习多门编程语言的这种说法。有人会问:“既然你不认同,为什么要学第二门编程语言呢?”。

其实道理很简单,那就是我不想和别人分享我的“私活”!这话又从何说起呢?其实说起来很简单,容许我先介绍解释一下!

我是一名CSharp程序员,有的时候会有一些人私下找我给他们做项目。但是,我是后端程序员,可别人找你做“私活”的时候,往往要求你帮他们把前后端都给做了。

所谓“私活”就是程序员利用业余时间帮别人写代码赚取第二收入的工作,也就是程序员的兼职。

此时,如果你想要接下这个“私活”的单子,要么你就得找会前端的人跟你“组队”,要么你就得前后端都会!很多项目很简单,可能就几百上千的佣金。此时如果你找人“组队”就很不划算了。

所以,我为了不让别人跟我分享“私活”的佣金,就把前端相关的编程语言也给学了。其实,这跟好学无关,其实就是“自私”。

但是,如果抛开“私活”不谈,程序员到底需要掌握几门语言合适呢?我的答案是——最多三门!这得从国内的编程环境说起!

其实,很多程序员都认为,程序员就应该跟我们看到的那些大公司程序员一样,各司其职。一个好的研发团队应当有产品经理、研发经理、程序员、测试、运维、实施......,再大一点的公司分工更加的细。

但是,这个世界并不是由大的单位组成的,而是由一个个小的单位组成的,换言之,大公司只占了国内软件、互联网公司的一小部分。其实,绝大部分的小的软件或者互联网公司的研发团队分工其实没有那么明确。

比如我所了解的绝大部分的小的软件或者互联网公司,他们都会要求程序员前后端都会。因为程序员工资本来就高,一个人能干多个事情,会给公司节约很多用人成本。所以,当一个程序员在小公司里被要求前后点都会,也就不奇怪了!

如此说来,程序员可能至少要会两门编程语言,分别是后端的编程语言以及前端的编程语言。

比如我是个CSharp后端程序员,我不光会CSharp,还会前端三样(HTML、CSS、JavaScript)。

有人会说:“你这不是四门吗?”。

其实前端三样是伴生关系,会任何一样不会另外两样,会被人笑话的。所以,往往程序员会将这三种编程语言归为一类。

此时,如果你没有额外的追求,到这里也就足够了。但是前面说了,程序员需要掌握的编程语言数量最多三门。那么,上面说的道理,多出一门又是什么意思呢?

其实道理还是小公司的道理!前后端一个程序员去做,是为了节省公司的人力成本。但是,公司可能不仅仅只是将前后端合并来节省人力成本,也有可能会将不同编程语言的后端交给一个人去做。

比如说,我曾经任职的一家公司的主要开发语言是CSharp和Java。因为CSharp和Java两种编程语言之间有很多共性,所以我们公司很多程序员在两种语言之间可以自由切换。于是就造就了我们公司很多程序员掌握了两门后端编程语言、一门前端编程语言!

如此说来,编程语言会得多岂不是越好?非也!

掌握过多的编程语言无疑会分散程序员对一门编程语言的专业度!也会分散程序员的精力!

这其实就跟金庸小说里,周伯通的“双手互搏术”道理是一样的。一般来说,常人无法做到两手同时画圆,更别说一手画圆,一手画方了!分散精力的后果,就是对于工作不够专注,很容易出岔子!

我更不建议程序员在初期就去学习多门编程语言!因为程序员在初期主要的发展方向其实就是巩固自己的编程能力,以及获取更多的编程经验。此时,如果涉足的编程语言多了,无疑会对自己的成长产生添加额外的负担。

即使是周伯通,“双手互搏术”也不是一天两天练成的!所以,我的建议是,如果你是一个初入职场的程序员,最好还是专心提升自己的编程能力,等待个两三年,当你能够不依靠别人就可以去实现你想要实现的大部分软件功能的时候,你再去尝试去学习第二、第三门编程语言!

1
查看完整版本: 一个程序员,需要掌握几门编程语言比较合适