作为开发者,我们可以使用开发语言或者叫程序语言向机器或者某个系统表达自己的想法,编写应用程序,让机器或者系统完成我们设定好的事情。现在有很多可以使用的程序语言,不同的程序语言可以编写不同类型的应用,比如客户端应用,服务端应用,游戏,智能合约等等。
程序语言看起来其实一般就是一些简单的英文单词,外加一些标点符号,它们都会定义一套规矩,我们开发者需要遵守这套规矩去编写应用,这套规矩就是程序语言的语法,也就是一些写法。有些程序语言编写的应用需要编译以后才能运行,有些不需要编译,可以直接交给支持这种语言的环境上去运行。
学习程序语言,本身这件事不需要花太多时间,一般人最多用一两周的时间就能够掌握任何一门程序语言的基础。一开始我们不需要深入研究语言的运行机制,只需要了解语言的运行环境还有基本写法就可以了。掌握语言的这些基础完全不需要看完一本五百页的图书,我认为二十几页的内容就差不多了。
对于应用开发的初学者,掌握任何一门程序语言对学习其它的语言都是有帮助的,因为这些程序语言都有很多共通的东西。比如变量,数据,操作符,流程控制、函数还有类,这些就是学习一门程序语言最核心的内容,几乎所有的程序语言里面都包含了这些东西,只不过有些东西的叫法与写法可能会略有不同。
变量(variable ˈverēəb(ə)l),声明一个变量就是给一块数据起了一个名字,所以变量就是应用里的带名字的数据,你可以在某个范围或者叫某个区域内使用变量的名字引用跟它对应的那个值,也就是数据。这个变量的有效范围或者区域就是作用域(Scope),也就是变量起作用的区域。
应用里需要处理不同类型的数据,最常见的是字符串、数字 、日期、布尔值、数组、还有对象。字符串就是文字加符号这种数据,数字会细分出一些类型,比如整数,浮点小数等等,日期也有不同的表达方式,布尔值通常就是 true 或 false,数组指的是一组数据,一个数组里的数据项目可以是不同类型的数据,对象里面一般会包含一些属性 ,这些属性都有对应的值,访问对象里的属性可以得到属性对应的值。
程序语言会规定这些数据的具体的表达方法,比如放在一组引号里的数据会被认为是字符串类型的数据,把一些数据放在一组方括号里面会被认为是数组类型的数据,放在大括号里的是对象。这些数据类型的名字在不同的程序语言里面可能会有所不同,比如数组,在 JavaScript 里面叫 Array,在 Dart 语言里叫 List。
程序语言会提供很多方法来处理这些不同类型的数据,比如可以对字符串这种数据做合并、截取或者替换,可以对数字类型的数据做一些比较或者数学运算,可以往数组里面添加新的数据项目或者移除数据项目等等。有时候我们觉得程序语言学不完,是因为这些处理方法实在太多了,但这些方法我们并不需要全部记住,需要的时候可以随时查阅。
程序语言里都会提供一些操作符,比如加减乘除运算操作符,大于、小于、相等、或者、并且等逻辑操作符。不同的程序语言可能会提供自己特有的一些操作符,比如 JavaScript 里面提供了解构、展开操作符。我们可以先熟悉最常用的操作符,等看到不认识的符号的时候再去搜索并且逐个解决。
一般情况下程序代码会一行一行按顺序执行,有时候我们需要控制代码的执行流程,比如可以判断特定条件,再决定是否要执行一段代码,或者可以重复循环执行一块代码,程序语言都会提供这些控制流程的写法。
函数(function)就是一块带名字的可以重复执行的代码,Function 这个词也有作用,功能的意思,所以函数也可以理解成功能。定义一个函数就是写一段具有特定功能的代码,然后给它起个名字,可以再加上一些配置参数。我们可以任意定义需要的函数,然后在应用里可以重复执行它们。
类(class),可以理解为对象的模板,对象是 object,可以理解成物件或者东西。定义一个类,在类里面可以添加一些属性还有方法,属性是数据,方法是能做的事情。然后基于这个类可以去创建一些对象,这些对象里面会包含类里的属性还有方法,因为创建类的时候可以给这个类支持的参数提供不同的值,所以每次得到的对象也会是不一样的。方法其实就是函数,只不过在类里面叫方法。
以上这些就是学习任何一门程序语言首先要了解的东西,剩下的都可以随用随学。熟悉并理解这些东西的表达方法,我们甚至不需要记住它们,因为随时都可以查阅文档或者笔记。虽然我们都能熟练使用中文,但不代表我们都有能力写出文学作品或者科学著作。所以学习程序语言不要投入太多时间,掌握基本的表达方法即可,因为掌握程序语言并不是我们最终目的,学习构建特定类型的应用才是我们最需要花时间的地方。
相关课程
训练营
参加宁皓网独立开发者训练营,您将学会五种语言,立即报名 →