.

80的人学编程,第一步就没想明白

你好,我是白也。

今年已经是我进入编程行业的第八年了。

作为毕业于国内理工科院校、曾就职世界强企业,现转为某计算机高校软件学院教师的我来说,经历过青涩的学生时期、接触过不少同行、也带过数百学生,关于入行编程会遇到的种种困难,可以说有一定经验。

之前后台收到私信,有不少读者问道:那么多编程语言,该学哪一种?

要解决语言选择这个难题,首先你要建立起对“编程语言以及编程行业”正确的看法及认知。

你为什么要学习编程?可能有各种各样五花八门的原因,但我猜肯定有以下几种:

1.信息化时代,觉得编程是趋势,想了解一下,学会也算是多了一项技能,当个“斜杠青年”也行啊!2.工作需求,需要用编程语言解决具体的问题;3.职业迷茫或收入不理想,听说程序员平均薪资比较高,想要进入互联网行业;

不管目的是什么,编程已经成为大众普遍认知的“低门槛、入门快、高收入的必备技能”,而你通过从身边人、各大论坛、搜索引擎上寻找以下答案:哪一门语言适合入门、哪一门语言收入高、哪一门语言有发展前景,其终极目标就是想要找到一门适合自己、简单易学、有发展前景且收入高的语言!

我并不否认这个过程,就像每个人都期待的完美爱情,一开始就遇到喜欢的人,然后一直在一起,那该多好!

只不过,事情往往不是我们向往的那样。已知的编程语言就有多种,主流编程语言也有十几种,而你获得的建议也是五花八门:

1.前端简单,成就感强,往后学能前后端通吃,现在也到处缺人呢~2.人工智能是以后的趋势,现在Python挺吃香的,发展肯定好!3.Java这么多年都很火爆,涉及的范围也特别广,后面转大数据,云计算,都4.很快~5.PHP不行了,没什么人用了,现在都用Java和Go语言了!6.学什么语言都不如学C,这是基础,学会了别的语言也就都会了!

听起来好像都挺像那么回事!而要区分这些话语的客观性,然后选择一门语言学下去,则变得相当困难。接触一门语言,学几天,觉得不合适再换一门,也可能成为编程初学者的一种常态。

你可能还存在一个美好的幻想,认为总能找到一门最中意的语言!但是小白老师只想告诉你一个事实:正如这个世界上没有完美的爱情一样!真的没有那种“简单、易学、发展好、高收益的语言”!如果有,请介绍给我~

如果简简单单光靠几个月的学习,就能站在信息时代的前沿,咖啡红茶办公室,小腿一翘美滋滋,那计算机学科这半个世纪的发展,岂不是太随意了些呀~

说真的,没有什么收益是不付出劳动就能获得的!程序员整体的收入很高,但这是建立在他们创造的产值和自身学习的成本上的。时代在发展,技术在进步,互联网行业的发展日新月异,要跟紧行业的潮流,适应工作的要求,不是一天两天或一门具体的语言就能解决的。程序员给我们“聪明绝顶”的印象,其实也是不断学习,不断地解决新问题新需求,不断挠头哒。当然,并不是说头秃是编程的唯一归宿,这更多的是自嘲!哈哈哈(安利下生姜熬水洗头)!

说了这么多,并不是想要打消你的积极性,而是想让你以正确的心态面对这些现实。程序员的修炼是一个长期的过程,不要将时间过多地用在编程语言的选择上!这些编程语言前期的学习路径可能有所不同,但是到了最后,殊途同归。选择哪一门语言入门既重要,也不重要!

为什么这么说呢?

要解答你的疑惑,你需要先搞明白两个问题:

1)到底什么是编程“语言”?

2)编程语言之间的区别是什么?

到底什么是编程语言?

其实很简单,编程语言也是语言的一种(比如:我们的母语汉语),而语言本身只是一种载体,或者说是一种工具,是为沟通交流而生的。而编程语言之所以被称为语言,正是因为它也是一种交流的载体,是人与机器交流的一种工具!

英语、法语、德语和汉语这些人类语言,因为地域、文化、价值观不同,表达的差别其实蛮大的;然而,编程语言就不一样!所有的编程语言都是面向计算机的,它们的目的都是让计算机乖乖地为人所用,因此,它们之间有非常大的相似度,是真正可以触类旁通的。比如,一个for循环,我就不信你“Python”写出来的就比我“前端”写出来的厉害!

左侧是用“前端技术”实现的飞机大战,右侧是用“Python”实现的飞机大战,其实本质上并没有什么不同:

而具体代码,也是非常相似:

所以,别拘泥于这个厉害那个牛啦!就以现在比较火的前端来说,我们能用JavaScript做页面特效,难道就不能用Python做页面特效了吗?

当然可以!谁也没规定前端只能用JavaScript写,只要你在浏览器上提供Python的环境,JavaScript能做的Python都能做。提供别的语言的环境,也照样能用别的语言去操作。同样,JavaScript的应用也不仅限于在前端。

编程语言的基础语法都十分相似,只要环境允许,都能让计算机听话!

编程语言的区别是什么?

既然编程语言都差不多,那为什么还会出现这么多种编程语言?它们的区别又是什么?

每一门语言的设计都不是无的放矢,都是为了解决特定环境下的人机交流而出现,并且逐渐进行演变。比如:JavaScript的设计初衷是为了给网页加点特效,Java的设计初衷是为了实现电视机顶盒的交互,而Python只不过是为了更轻松使用C语言;它们都有各自擅长做的事情。

不过,随着时代的改变,人们的需求也变了!比如:大哥大时代和智能手机时代,JavaScript都经历过,但是手指宽的屏幕和握都握不住的屏幕,需要展示的内容以及实现的效果,肯定不一样!所以,JavaScript这些年也在不断地更新迭代!

程序员看待编程语言,就应该像使用工具一样,不趁手或者有简单易用的替代品时,换就行了!无论是新的语言还是原有的语言,它们的基础语法都十分相似,区别只在于:擅长做什么!而“擅长做什么”,又取决于这些语言本身的设计,运行的环境和它们的帮手:库、插件、框架。

学习编程语言的起点与终极

但是,我不希望你现在就考虑编程语言具体有什么区别,其实,学习语言的起点和终极应该是一样的,都是“淡化差别”!

举个例子:作为用户的你使用手机淘宝时,


转载请注明:http://www.abachildren.com/ysty/3250.html

  • 上一篇文章:
  • 下一篇文章: 没有了