首页 存档 技术 查看内容

入门必读 | 当我们学习编程语言时,我们在学习什么?

2018-3-30 13:00 |来自: 互联网 327 0

摘要: 有人兴冲冲地跑来告诉你出现了一门新的编程语言, 语法优美, 功能强大而灵活, 由 某某大牛设计,某大厂在后面背书, 某某知名软件就是用这个语言写的, 将来地前(钱)途大大地光明, 你被打动了, 决定马上去学一下 ...



有人兴冲冲地跑来告诉你出现了一门新的编程语言, 语法优美, 功能强大而灵活, 由 某某大牛设计,某大厂在后面背书, 某某知名软件就是用这个语言写的, 将来地前(钱)途大大地光明, 你被打动了, 决定马上去学一下……

文/刘欣

本文授权转载自公众号“码农翻身”(微信号:coderising)


对于一门编程语言, 我们到底学习什么东西呢?



1

基本语法


首先肯定是语法, 像数据类型、标识符、关键字、运算符、注释、 流程控制语句等等。


如果你之前学过一门编程语言,再去学新的语言,会发现在基本的语法层面, 这些语言都差不太多。


因为都是命令式编程语言, 程序员要精确的告诉计算机用何种指令做事情, 是对计算机硬件的抽象,命令式程序本质上就是一个冯诺依曼机的指令序列。如果你学的是函数式编程, 那就大不相同了。


对于命令式编程, 最基本的控制语句就这么三种: 顺序、分支、循环。



当然不同的语言, 对于这基本的流程控制会有一些变体, 例如do ... while, switch .. foreach 等等, 但本质都是一样的。


对于基本的语法, 我相信很多人都能迅速掌握。



2

基本的数据结构


想象一下, 假设Java 中没有集合框架, 什么东西都需要自己来做, 那写起程序来该有多累!


现在的语言除了基本的语法之外 ,都会有内置的强大的数据结构, 方便程序员来编程 。


这些数据结构中最常见的是这几个:


1. 字符串

实际代码中会有大量对字符串的操作,现在的语言都有良好的支持, 需要学习下相关的API。


2. 可以动态增长的数组

这也是一个非常常见、非常有用的数据结构, 在Java 中就是ArrayList, Python 就是列表, Ruby 中称为数组。 由于其应用的广泛性, 一定要好好学习下它的用法。


特别值得一提得是, 很多动态语言对数组提供了很多强悍的操作, 很轻松的可以把它当作栈、队列来使用。


3. 用来存储 key - value 这样值对的集合

Java 中的Map , Python 中的字典, ruby的hash 表均属此类


绝大部分程序,经常使用的也就是上面三个数据结构, 其他的还有无重复元素的集合(Set)等等。



3

面向对象


看完语法和数据结构, 接下来可以看看面向对象在这个语言中是怎么实现的,对于命令式编程, 面向对象简直就是标配, 没有面向对象的支持, 简直就不好意思和别人打招呼。


有人说面向对象已死, 实际情况呢? 绝大部分软件还是以面向对象为基础构建起来的, 所以不要听风就是雨, 老老实实地去学封装、继承、多态吧。


如果你已经掌握了面向对象的设计和编程的思维, 那对于学习新语言的OO来说, 那真是太简单了, 基本上就是一点点语法的区别。


例如继承, Java用extends , Ruby 用“

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部