学习编程语言究竟学什么
2023-09-11 14:22:23 时间
看了王垠的文章,觉得应该是程序语言的特性,所有程序语言里面,就是所谓“语言特性”。举一些语言特性的例子:
- 变量定义
- 算术运算
- for 循环语句,while 循环语句
- 函数定义,函数调用
- 递归
- 静态类型系统
- 类型推导
- lambda 函数
- 面向对象
- 垃圾回收
- 指针算术
- goto 语句
这些语言特性,就像你在选择一台电脑的时候,看它里面是什么配置。选电脑的时候,没有人会说 Dell 一定是最好的,他们只会说这个型号里面装的是 Intel 的 i7 处理器,这个比 i5 的好,DDR3 的内存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等。
很多初学者不了解,一个高明的程序员如果开始用一种新的程序语言,他往往不是去看这个语言的大部头手册或者书籍,而是先有一个需要解决的问题。手头有了问题,他可以用两分钟浏览一下这语言的手册,看看这语言大概长什么样。然后,他直接拿起一段例子代码来开始修改捣鼓,想法把这代码改成自己正想解决的问题。在这个简短的过程中,他很快的掌握了这个语言,并用它表达出心里的想法。
在这个过程中,随着需求的出现,他可能会问这样的问题:
- 这个语言的“变量定义”是什么语法,需要“声明类型”吗,还是可以用“类型推导”?
- 它的“类型”是什么语法?是否支持“泛型”?泛型的 “variance” 如何表达?
- 这个语言的“函数”是什么语法,“函数调用”是什么语法,可否使用“缺省参数”?
合理的入门语言
所以初学者要想事半功倍,就应该从一种“合理”的,没有明显严重问题的语言出发,掌握最关键的语言特性,然后由此把这些概念应用到其它语言。哪些是合理的入门语言呢?我个人觉得这些语言都可以用来入门:
- Scheme
- C
- Java
- Python
- JavaScript
那么相比之下,我不推荐用哪些语言入门呢?
- Shell
- PowerShell
- AWK
- Perl
- PHP
- Basic
- Go
总的说来,你不应该使用所谓“ 脚本语言 ”作为入门语言,特别是那些源于早期 Unix 系统的脚本语言工具。PowerShell 虽然比 Unix 的 Shell 有所进步,然而它仍然没有摆脱脚本语言的根本问题——他们的设计者不知道他们自己在干什么 。
相关文章
- WCF视频学习网址
- 深度 | Google Brain研究工程师:为什么随机性对于深度学习如此重要?
- 《模式识别》学习笔记(十一)线性可分条件下判别函数权矢量算法
- 【转】2015年你需要学习的15种编程语言
- 学习MongoDB(二) Replica Set集群配置
- 机器学习案例实战分享 | 购买者行为分析(一)
- Android学习笔记进阶十三获得本地全部照片
- 学习像 python 这样的编程语言的先决条件
- (数据科学学习手札86)全平台支持的pandas运算加速神器
- (数据科学学习手札03)Python与R在随机数生成上的异同
- opengl学习笔记(五):组合变换,绘制一个简单的太阳系
- 大数据学习——hbase数据库
- 全球数据集大全之mavenanalytics学习分析世界杯数据集
- Unity3D学习笔记(三、小球跑酷)
- STL源代码学习--vector用法汇总
- 学习无止境
- JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍