编程语言种类繁多,初学者如何选择一门适合自己的编程语言?

71年出生,93年毕业,编了近30年程序。面向对象,类c语言,prolog,lisp都用过。连rust这种不容易上手的,也熟悉了。相对Haskell,这些都是小菜啊。Haskell光函子都够费神了。其它语言是有自己想法,看在这种语言里怎么写。Haskell是知道函子怎么写,但不知道啥时候用。

编程语言分下面几项1.以不变应万变,寻找恒久不变的,并在上进行优势积累,比那些急急忙忙乱追求、随机变化的人已经积累的先发优势要高出很多,不动如山,已积累会让他们高山仰止。2.在个人的领域内保持更新、不断迭代就会引领趋势,已比他人领先很多,自己在做的已经是优势,就是趋势了,不用自乱阵脚,再去寻觅。3.职业的领域内,分工越来越细是发展趋势,社会矛盾已经是职业发展的分工无法满足人们独特性、个性化需求的矛盾,在独特性分工里做到最优,已经是这个领域的专家,后面再跟风,怎么也跟不上。

程序员入门最好选择C语言,因为C语言更能让人明白理解程序是如何构成的,理解计算机的工作的原理。下面主要从四方面来说明为什么一定要从C语言开始学习。

  1. C语言是诸多语言的基础。像现在大杀四方的C++、C#都是由C语言衍生而来,学会C语言可无需过渡直接上手C++(C是C++的一个子集,C++全部兼容C)、C#。而像Python、Matlab、R等诸多解释性语言则是直接由C语言完成底层实现,学好C语言,再来玩Python,就好比一个持A照的大巴车司机可以轻易操纵小轿车一样。

  2. C语言是许多操作系统的开发语言。诸如Windows(早期全部C,现在用了部分C++),linux,移动端的安卓,iOS,都是由C语言编写的。如果想深入理解操作系统的构成,在系统层面完成软件的开发,必须精通C语言。

  3. C语言是大多数嵌入式设备的开发语言。像MCU,各种硬件驱动程序,机器人,无人机等电子设备。很多只支持C语言,所以要想从事电子行业或是从事嵌入式程序开发,C语言就是敲门砖。

  4. 算法。软件中专门进行数据处理的模块称之为算法,大多数算法程序都是由C语言开发而来。这是因为算法作为一个模块,必须要独立于程序存在,不能只适配于一种语言,而很多语言诸如Python,Matlab都由C语言开发而来,可以和C语言无缝配合使用,所以要想学习算法开发,也必须精通C语言。

其实,还有一个原因是,如果入门学的是一门解释性的比较简单的语言(python),后面再去学习编译型的高级语言就会觉得很难,反过来就会很easy。

无所谓啥语言啊,逻辑清楚了,语言就只是语言了,万变不离其宗

题目不是很清晰,我只能自己猜测一下你的背景。

首先如果你是大学生,学校里有各种软件入门,计算机入门的课程,你要是认定走上程序员这条路的话,就抽时间把这些课选修或旁听。课余时间上中国开源找一些项目参考一下,或者参加学校或社会的一些竞赛,不用怕输,我们的目的只是提高自己的代码,分析问题,解决问题的能力。同时很多人忽视的,要注重自己的代码质量,而不是单单实现需求就可以。

其次,如果你是毕业了,以前没接触过程序这一方面的,有两种方法,一是报速成班,现在有海量的什么90天精通Java啊C啊之类的,但这是最不推荐的,如果你只是想混口饭吃,这是一条速成的路径,但是可能一辈子都是一个码农而已,不能说是程序员……当然,你可以有了一些基础以后再自己提升,但这要看你个人的自制力了。二是如果你经济允许而且又不急着找工作,还是建议你回校深造吧,这样出来的起码未来发展前景会好很多。这是我建议的一条路。

最后程序员不是单单是会写代码的,除了基本的业务语言需要掌握,还有数据库管理,文档处理,良好的思维逻辑能力,业务理解能力,团队协作能力,这些都缺一不可。

以上是拙见,欢迎评论赐教。

相关代码参考