语言这东西,学起来还是有些套路可寻的,印象中刘老有几篇文章是专门写这个话题的,感兴趣的小伙伴可以翻一下刘老的公众号「码农翻身」,这里就只是稍微记录一下自己的理解
其实学一门语言,学的不外乎是下面这些东西:
1.数据类型
再细一点可以分为基本类型、数组、字符串、Map、Set等,只是每种语言对这些类型的命名和构造方式不同罢了
2.控制语句
控制流只有三种,顺序,分支,循环,刘老也说了这是由冯·诺伊曼结构的计算机决定的
3.函数
4.面向对象
对象无非就是属性加方法,但每种语言对面向对象的支持不太一样,像 Java 是引入了 class 的概念来实现面向对象的,而对于 JavaScript 来说,却可以只有对象没有类
5.异常处理
对于异常、错误,有返回值、try...catch等处理方式,一般 C 语言会返回 -1 表示失败,高级语言会返回 true or false 标识是否插入或执行成功,但更多时候高级语言是提供了 try...catch 的方式来捕获和处理异常的
6.文件与IO
像这类需要中断的,基本操作就是同步或异步,同步一般写法 res = wait()
,当执行到该语句时会阻塞,异步 wait( listener )
,传入一个回调,在回调中去处理返回的结果
7.多线程
创建一个线程的基本操作就是传入一个执行函数,因为线程本质上其实是调度器可以调度的一个单元,创建一个线程相当于在调度器上放入了一个单元,下次时间片轮到的时候就会执行你传入的这个函数
8.语言特性
这个是每个语言区别于其他语言的地方,也是体现自己强大的地方,每门语言都有自己的独到之处,像 Java 的泛型、注解,Python 的高阶函数、闭包、lambda 等
最后谨记刘老所言,想要真正掌握一门语言,还是需要多关注它的语言特性部分,吃透了它不一样的地方,明白了这样的特性是为解决什么问题引入的,闪光点在哪里,这样才能真正提高自己的内功