Python
Python 是对于第一次编程的人来说是最为流行的编程语言之一,而且这不是巧合。Python 是一门通用的编程语言。这意味着它能应用在广泛的编程任务上。几乎没有你不能用 Python 完成的工作。这一点使得很多新手能在实际中应用这门编程语言。另外, Python 有两个重要的设计特征,使得其对于新手更友好:清晰、类似于英语的语法,和强调代码的可读性。
从本质上讲,一门编程语言的语法就是你所输入的能让这编程语言执行的内容。这包括单词,特殊字符(例如 ;、$、%或者{},空格或者以上任意的组合。Python 尽可能地使用英语,不像其他编程语言那样经常使用标点符号或者特殊的字符。所以,Python 阅读起来更自然、更像是人类语言。这一点帮助新的编程人员可以聚焦于解决问题,而能花费更少的时间纠结于语言自身的特性上。
清晰语法的同时注重于可读性。在编写代码的时候,你所创造的代码的逻辑“块”,就是一些为了相关联目标而共同工作的代码。在许多编程语言里,这些块用特殊字符所标记(或限定)。它们或许被{}或者其他字符所包住。块分割字符和你写代码的能力,这两者不管怎么结合起来都会降低可读性。让我们来看一个例子。本文中所涉及的工具都可以在www.linuxprobe.com/tools中下载!
这有个被称为fun的简短函数。它要求输入一个数字,x就是它的输入。如果x等于0,它将会运行另一个被称为no_fun的函数(这函数做了些很无趣的事情)。新函数不需要输入。反之,简短函数将会运行一个使用输入x 的名为 big_fun 的函数。
这个函数用 C 语言 将会是这样写的:
void fun(int x)
{
if (x == 0) {
no_fun();
} else {
big_fun(x);
}
}
或者,像是这样:
void fun(int x) { if (x == 0) {no_fun(); } else {big_fun(x); }}
功能上两者等价,而且都能运行。{} 和; 告诉我们哪里是代码块的不同部分。然而,第一个对于人们来说明显更容易阅读。相比之下完成相同功能的 Python 是这样的:
def fun(x):
if x == 0:
no_fun()
else:
big_fun(x)
在这里,只有一个选择。如果代码不是这样排列的,它将无法工作。如果你编写了可以工作的代码,你就有了可阅读的代码。同样也留意一下两者在语法上的差异。不同的是def,在 Python 代码中这个词是英语单词,大家都很熟悉这单词的含义(LCTT 译注:def 是 definition 的缩写,定义的意思)。在 C 语言的例子中void 和int 就没有那么直观。
Python 也有个优秀的生态系统。这有两层意思,第一,你有一个使用该语言的庞大、活跃的社区,当你需要帮助指导的时候,你能向他们求助。第二,它有大量早已存在的库,库是指完成特定功能的代码集合。从高级数学运算、图形到计算机视觉,甚至是你能想象到的任何事情。
Python 作为你第一门编程语言有两个缺点。第一是它有时候安装起来很复杂,特别是在运行着 Windows 的电脑上。(如果你有一台 Mac 或者 Linux 的电脑,Python 默认已经安装好了。)虽然这问题不是不能克服,而且情况总在改善,但是这对于一些人来说还是个阻碍。第二个缺点是,对于那些明确想要建设网站的人来讲,虽然有很多用 Python 写的项目(例如 Django 和Flask ),但是编写运行在浏览器上的 Python 代码却没有什么好的选择。它主要是后台或者服务器端语言。