生活知识百科

一名程序员是不是要学会多种编程语言?

2023-08-08 14:10:32 条浏览

我前段时间进了一家公司实习,公司里有很多老牌程序员,大部分都是大牛级别的。

我有空就和他们交流,也了解到了他们的共同特点:

会多种语言编程,但只精通一种语言才是最厉害的程序员。

会的多确实不如只精通于一门。

当然了,肯定有会的多精通多的,但这样的顶尖人才寥寥无几,反而半吊子却是异常的多,投入的精力是人家的数倍乃至数十倍,收到的回报还不到专注于一门的十分之一。

用老程序员的话来说,“你这就是在走弯路。”




程序员学习多种编程语言是必然的,比如web开发你就要学会后台开发语言(比如:Java,php,python等的一种),然后你要会编写一些前端代码(如:html,css,js,jquery等等)

程序员只是一个身份,一个运用编程语言完成特殊仼务的人,随着程序生涯不断深入,你须要用到多种编程语言帮你完成一项工作任务,每种编程语言都有其善长的领域特性,你处理的业务复杂了自然而然就会用到多种编程语言了。




初级程序员在乎的是能不能多学点语言。中级在乎的是能不能学到很多语言的框架知识。高级不叫程序员了,他们是工程师,语言的掌握他们很可能只需要一两个月的时间,他们立足于架构,设计等领域




谢邀。若要混迹于编码界,应当掌握多程编程语言。

1.若要查看是否与时俱进,或选择开发语言,可参考TIOBE排行榜。

TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)进行计算。该排行反映某种语言的热门程度。

2.掌握多种编程语言,可以在工作中面面俱到,游刃有余。

举个例子,做嵌入式编程,掌握C语言可以进行代码编程,掌握汇编语言可以优化加速,掌握DOS语言可以写写批处理,掌握C++或ⅤC可以写一些PC工具,掌握Python可以写一些分析工具……

3.编程语言是一种工具,更深一层次,应当掌握编译原理,熟悉工程编译,熟悉IDE(集成开发环境),这样更能深层解决工程问题。

谢谢大家。




谢邀~关注我,可了解更多关于开发、架构的分享。

我的建议是:要学会多种编程语言,但是不要单纯的为了会多种语言去学习。

不要过度追求技术的“多”

刚开始工作的时候,喜欢买各种各样的书,下各种各样的教学视频,每一种技术都想学。我的工作是Java开发,自己尝试学过MFC,Delphi,Python,甚至前端相关的CSS,还有Android和IOS开发等等。

先深度,再有针对的广度

现在回想一下,我不如把精力放在深入学习Java相关知识上,再根据自己工作上的需要,去选择学习一些其他方面得知识。如工作上离不开数据库,那需要学习SQL优化方面的东西,甚至要学习一些数据库的底层原理;业务上对系统的效率和稳定性高,那应该去熟悉监控工具和调优方法,去考虑集群化的部署方案,等等等等。

保持技术敏感度

当然,除了工作上的需要之外,还要对新的技术具有一定的嗅觉。比如区块链相关知识(这种的不一定是学习额外的编程语言)

最后,如果兴趣使然的话,可以投入一些精力去学习自己喜欢的东西。比如我学习python就是对爬虫挺感兴趣的。当然这个也要有选择,别学我当时还看什么Dilphi了,学完了这东西也快要入土了。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。




如果是上学或者刚毕业,那么强烈建议学好c或者c++名门正派,数十年的基业,底蕴深厚。靠独门武功,习得三五重足以出入江湖,习得九重便可剑指天下。各种主流心法(数据结构编译原理操作系统等)皆有加持。加上各大铸剑冶铁名家(微软intel等)提供的神兵利器(gcc各种profiler)。在江湖各大盟会(windowslinuxios等)均有一席之地。缺点就是要打好基础,成效慢,需要极大的耐心跟毅力。




现在随着开发技术不断的更新,多个开发领域所运用都的开发技术语言之间的界限越来越模糊,对于一个成熟合格的程序员来说,是需要学习多种编程语言,因为现在企业的发展需要的开发技术综合性越来越高,不过对于初入行的小伙伴来说,首先要对一个编程技术学习到专与精,然后才能向全栈方向去发展。

那小伙伴想要学习编程开发技术语言首先要看自己适合学习哪方面的技术,然后选择一个比较靠谱的学习方式和学习方法进行系统的学习开发技术知识,学习方式的选择是需要根据小伙伴自身的真实基础来选择的,目前来说,培训的方式还是比较适合零基础小伙伴来学习的。

在小伙伴选择好培训机构来学习开发技术知识的过程中,是需要在不断地学习过程中探索出适合自己的学习方法:

1.基础知识的学习与积累

无论是再复杂的程序代码也是简单的代码组合,因此,小伙伴在学习开发技术知识的过程中,要对编程基础知识进行系统的学习与积累,丰富自身的开发技术知识结构,这一点还是很重要的。

2.练习企业级的项目实战案例

只学习开发基础知识是不行的,还需要多加练习相关的项目实战案例,积累更多的项目实战经验,锻炼项目开发过程中,解决问题的能力,这也是小伙伴在面试过程中加分的一个重点,企业要发展对编程开发技术的要求在不断的提高,其主要目的是为了选择能够在项目开发过程中解决问题能力高的程序员。

3.多交流

小伙伴无论是通过培训的方式还是自学的方式,都不要闷头闭门造车式的学习,要多和培训机构的老师或身边的朋友交流,在交流的过程中,学习别人的编程思维与思路,经过自己的反复试验,变成自己的编程思路,这样才能更好的提高自身编程思维。

因此,对于小伙伴而言,一个比较靠谱的学习方法和良好的学习习惯是成功的开始,所以,小伙伴要不断地学习新的开发技术知识,不断提高开发技术水平,才能更好地在编程开发行业发展。

java开发技术学习教程及学习路线

H5全栈前端开发技术学习教程及学习路线

5_video.shtml

大数据开发技术学习教程及学习路线




初级程序员在乎的是能不能多学点语言。中级在乎的是能不能学到很多语言的框架知识。高级不叫程序员了,他们是工程师,语言的掌握他们很可能只需要一两个月的时间,他们立足于架构,设计等领域




要掌握汇编语言。




当然不是!

如果你学会一门编程语言,而且越来越熟练,甚至精通,在这个语言领域成为了技术专家,你绝对混的很好,绝对不比会多种编程语言的程序员混的差!

当然了,话又说回来了,技多不压身,会多个编程语言,多一门技术,多一条路,大路越走越宽!

一个程序员技术能力的评定,不是根据会的编程语言的多少来评判高低的,而是感觉解决问题的能力!

个人感觉最好的学习路线是先深度后广度,什么意思呢?就是专心先学好一门编程语言,深挖这门语言和技术,达到一定的深度之后。再去触类旁通,学习其他编程语言!学习切忌不要杂而乱,多而浅!学的东西倒是挺多的,但是很乱,又都不深入,说白了,跟没学,没什么两样,没什么意思,没用!

个人认为:

深入一门编程语言或者技术可以让你的道路越走越高,而多门编程语言或者技术可以让你的道路越走越宽!高度比宽度价值可能更大!




吾生也有涯,而知也无涯,以有涯随无涯,殆已!知识是学不完的。只有把一门给学习好。然后相应的去了解一下别的语言。并且每种高级语言都会有自己的设计思想,所以会多少语言不重要,精通多少语言才重要,学肯定是要学的,邯郸学步的故事大家都知道,敲代码归根到底都是算是科研范畴内,打牢基础,地基扎实再慢慢开枝散叶比较好,如果“学会”语言仅限于helloworld,还不如节省精力,把时间投入到自己专精的语言上,向精通的方向走。

古代的剑客都是精通自己本门的剑术,然后了解别的帮派的剑法,知道弱点和优点是什么,然后比武的时候才能做到胸有成竹。学习计算机高级语言也是如此,掌握自己熟知的语言,能做到敲起代码如飞,逻辑如泉水一样不停的往外涌,善于使用这门语言解决各种新老问题。然后吸收别的高级语言的设计精髓。用来解决各种项目和实际遇到的问题才是一个优秀程序员应该走的道路。




写了多年代码主要涉及到三种编程语言,c/c++java三种,编程到了一定层面比拼的不是掌握了多少种编程语言,单纯数量上的比较没有多少实际的意义。编程能力的直接表现就是解决问题的能力,大大小小的各种问题,编程最终目的是给生活带来更大的便利,解决生活实际问题,提升工作效率,很多编程人员身上带着一种通病觉得把技术做好了什么都万事大吉了,骨子里还对那些提出不同需求的客户依据不懂技术给打发了,技术来源于生活同时还要服务于生活,无论再厉害的技术的也最终要能提升效率,所以不要因为自己搞技术就让自己变得清高。

越是老程序员越是对于编程语言的数量不在意,在软件行业懂得一种编程语言之后再去学习别的编程语言会感觉快很多,虽然看似截然不同的编程语言但在做具体项目的时候,除了编程的语言差异之外,解决问题的场景以及编程指导思想大同小异,其实语言之外的东西才是程序员的核心竞争力,无论编程语言是复杂或者简单只要坚持去做总会搞定,编程语言之外的东西是无法直接量化,也无法限定多少时间能掌握透彻,但这东西决定一个程序员的上限。

一个程序员如何培养自己的核心竞争力?

1.至少掌握熟练一种编程语言,编程是基础,如果都不能掌握熟练一种编程语言很难支撑编程思想的实现,很多刚入行的程序员都有一个梦想,能够利用自己掌握的编程语言,实现自己心中所想象的应用场景,但真正掌握了一种编程语言之后,发现再去实施几乎是不可能的事情,因为根本不是一个人做的事情,需要一个团队,甚至几个团队协作的事情。如果都不能掌握一种编程语言就不谈什么技术梦想了。

2.算法能力。这种属于编程语言里面需要升华的层次,可能很多程序员觉得自己算法也不咋样不也是照样可以做一名合格的程序员,因为程序员也分为很多种类,如果梦想只是守在一个很小的范围内那么接触的东西自然就少,遇不到算法相关的逻辑这种概念是存在的,如果要提升自己的上限,算法能力是一个必备技能,也是决定程序员上限的一个很重要的因子。

3.编程思想

编程思想是一个很虚的东西,其实就是解决问题的指导思想,就回归到编程本质上了,编程写代码的目的不是为了故弄玄虚,也不是为了炫耀自己的技术有多强,主要在于能够对生活有多少改善,能够提升多大的效率。一个问题可能有多种解决方案,一个普通的程序员解决了,但可能还会有类似的场景出来,高手解决问题,眼光可不是紧紧盯着解决当前的问题,还会找到问题的根源,找到关键点然后拿出解决问题的根本方法彻底根治。同样的一个问题不同的人解决方案差异非常大,产生的直接后果也不相同。

真正的厉害的高手,不会太在意懂几种编程语言,讲究的是解决问题的深刻程度,以及平时在算法上的钻研程度,而且大厦的建立不是一日之功,首先要让自己做到能够坚持到底,在积累种自然就会有新的收获出来。

希望能帮到你。




温馨提示