编程思想的重要性:三天入门N门编程语言

在编程的道路上,也已经走过了几年。从一开始的懵懂无知,到后面的死去活来,再到后面的初窥门径,花了太多的时间,耗了无数的精力,掉了数不清的秀发。

由此,也终于是总结 出少许编程经验和思想。在此,将部分编程总结,分享于各位编程同仁,希望大家的编程之路,走得轻松一点,有趣一点。

大部分人,对于编程语言的学习,总是望而却步,甚至是听之却步的。

作为前端工程师,早已被浏览器兼容,屏幕适配,各种框架,打包配置,工程组件绕得七晕八素,哪里还有时间去学习另外的语言。

编程思想的重要性:三天入门N门编程语言_第1张图片

javascript原型,闭包,作用域,一切皆对象,函数式,框架,前后分离等等这些玩意都还没搞明白,万万不可分心去学习php、java、python、nodejs、golang等等其他语言的。

全栈工程师,何其难也,专精一门javascript足以。

......

以上,荒天下之大谬。

其一,横看成岭侧成峰,远近高低各不同。
只会一门javascript编程语言,犹如坐井观天,管中窥豹,一叶障目之下,两眼抓瞎之中。(注:个人认为,html,css还算不上编程语言)

学习编程最好的方式,应该是跳出语言外,不在细节中。

就像是看一本书,好的方法,不是直接从第一页一股脑往后翻。而是应该先看几遍目录,有个全局观,然后再从各个章节,局部突破。

举个栗子:

javascript有各种内置对象,比如:Date、Math、Array、Object、String、Number等等。这些是组成javascript的,与生俱来的元素,结构。它们的存在,决定了javascript是什么?能做什么?

Data决定了,我们能够操作时间。操作时间能干嘛?网页日历、网页时钟,购票日期选择等等。

Math决定了,我们可以进行加、减、乘、除,乘方,三角函数,对数等等计算。

Array跟前面两个有点不一样,它是“数据结构”,专门用来存储和操作数据的。存储和操作数据能用来干嘛?数字排序、围棋棋盘状态、出栈入栈等等。

其余暂且不表,简而言之,我们学习一门编程语言,就拿javascript来讲,我们应该首先尽量尝试去理解,这个东西,它是什么?它可以做什么?

然后,再去进行深入学习的时候,才会在某个时间点,某个灵光一闪间,幡然醒悟,javascript可以做什么,它原来是这样做的。又或者,我以为javascript只能做什么,原来它还能做这个。

这样,编程处处出惊喜,工作步步不惊心。

其二,不是每个人都是天才。
老师或者其他人都说,先精通一门,比如javascript,然后再去学习其他语言。放屁!

编程语言能这么容易精通?那还要智商干什么。

很多人觉得,编程太难了。

世界上几千种编程语言,我学习其中一种已经付出吃奶的力了,再学其他的,岂不是要让我驾崩?

其实这个从某个时间段来说,确实没错。刚刚进入编程这个行业或者从事没多久编程工作,确实是一心一意铺在这个语言和自己负责的工作任务上是最好的。

不过,到达某个时间点,能够感觉到自己已经熟练工作,在编程上遇到瓶颈,进步缓慢的时候。切换到另外一个语言,学习另外一种思路,是最好的。很多人不愿意切换,十年如一日做着重复性地编程工作。

等到自己想跳槽,或者被跳槽的时候,才发现自己不仅身体老了,心态老了,甚至连技术都老得面试都通不过了。原来自己不过是把一个1年工作经验的程序员就能干的事情,重复地干了十年。

不要太相信自己。

很多刚入行的新人,觉得自己多么多么牛逼,要多少多少薪资。

很多入行一段时间的老人,觉得自己可以不学习其他技术,可以精通目前混饭吃的这门语言,从而混更好吃的饭。

确实,不说完全精通,单说接近精通一门编程语言,几乎每个人都有这个潜力。但是,绝大部分人,都没有这个行动力。

这个世界的诱惑太多了,人是很聪明的高等动物,也是因为如此,能够制约和影响我们的因素,也更多。

古代,信息传播慢,人们的思想也慢,所以注意力能够更加专注,所以能够用一辈子去做出被后人视为瑰宝的思想文化。

天才在左,疯子在右,天才和疯子之间,仅仅一线之隔。其实疯子于此,不是一个贬义词。而是他们更为专注的精神境界和那个当时的人们格格不入。

因为格格不入,所以他们是疯子。

因为精神专注,所以他们是天才。

其三,编程不难啊!
听到无数的人说,编程好难好难啊!

我也这么说过。

现在,我不这么说了。

我现在只会说,编程真的好难好难!

编程难在哪里呢?我觉得,是难在编程的深入。什么叫深入?追根溯源就是深入。

操作系统是怎么实现和运行的?

如何发明一个编程语言?

函数式?丘奇数?lambda演算?图灵完备?可计算性?

如何用逻辑门实现一个cpu?

Linux系统完全掌控?

算法?

AI?

......

这些是真正有趣的东西,但是真的太难太难了。

不过,单纯的学习一门语言,入个门,真的是再简单不过啊!

3天入门N门编程语言
语言是有共性的。

就像汉语,英语,西班牙语等等。都有主语,谓语,宾语,状语啥的吧?

那么,这就是它们的共性。

那么它们的不同点是什么呢?

读音和写法应该是最大的不同点了吧。

你知道了他们的读音和写法,再加上学习这个语言的语法逻辑,那基本算是入门了吧。

编程语言同样如此。

大部分编程语言,也都有共性。

从某个方面来讲,编程语言,由库文件和语法逻辑组成。

举几个例子:

javascript由浏览器的bom,自身的dom以及原生对象和if for 函数定义 变量定义等语法逻辑组成。

php由自身的数据库操作库,文件系统操作库,数学操作库和if for 函数定义 变量定义等语法逻辑组成。

golang由自带的网络操作库,文件操作库,加密库,输入输出库和if for 函数定义 变量定义等语法逻辑组成。

nodejs由网络操作库,文件操作库,加密库和if for 函数定义 变量定义等语法逻辑组成。

c语言由网络操作头文件,输入输出头文件和if for 函数定义 变量定义等语法逻辑组成。

perl、bash、python等等,同上。

几乎所有的编程语言开发,无外乎就是通过语法组织进行函数调用而已。

各语言输出hello world。

javascript:console.log('hello world');

这个console对象和其下的log函数哪来的?不是天上掉下来的,是这个语言自带的。也就是说,你去租房,房东水电冰箱全包。

你搬进去住,要喝冰阔落,你买好阔落('hello world'),把它放到冰箱里(执行console.log函数,'hello world'作为参数传给这个函数),然后,过一段时间,就能够喝到冰阔落了(函数输出结果)。

你不需要关心冰箱是谁制造的,不需要知道它是谁买的、也不需要关心买它花了多少钱。

它摆在哪里,用就行了。

所以,如何使用其他家电呢?

php:echo 'hello world';

洗衣服,丢进去洗就行了嘛。

golang:fmt.Println('hello world')

看电视,打开遥控器就看嘛。

......

每个家电都有使用手册,每个编程语言都有使用文档。

编程语言入门,查找使用手册,然后去使用。

或者看看别人怎么使用,自己也尝试去用就行了。

大的复杂的东西,都是由小的简单的东西组成的。

熟练javascript的Date对象使用,其他的,比如String对象,Math对象,使用起来也差不多。

熟练javascript这个编程语言,其他语言,学起来也差不多。

3天入门N门编程语言,哪里难嘛。

结语

感谢您的观看,如有不足之处,欢迎批评指正。

你可能感兴趣的:(编程思想的重要性:三天入门N门编程语言)