蚊章汇 - Kojo Idrissa
type: channel
link: https://linuxcn.bwsl.wang/author/557/
description: Kojo Idrissa
items: 如何挑选你的第一门编程语言

如何挑选你的第一门编程语言
type: item
date: 2017-04-07T00:26:43+08:00
description: 想学编程的原因有很多，你也许是想要做一个程序，又或者你只是想投身于这个行业，所以，在选择你的第一门编程语言之前，问问你自己：你想要在哪里运行程序？你想要程序来完成什么工作？你学习编程的原因将会决定你的第一门编程语言的选择。在这篇文章里，我会交替使用 “编码” （ code ） 、 “编程” （ program ） 、 “开发” （ develop ） 等动词， “代码” （ code ） 、 “程序” （ program ） 、 “应用程序” （ application ） 、 “应用” （ app ） 等名词。这是考虑到了你可能听过的语言用法。了解你的设备在你编程语言的选择上，你的程序将运行在何处是个决定性因素。桌面应用是运行在台式机或者笔记本电脑上的传统软件程序。这样你编写的代码在同一时间内只能在一台电脑上运行。移动应用，也就是我们所熟知的“app”，运行在使用 IOS 、Android 或者其他操作系统的移动设备上。网页应用是功能像应用的网页。按互联网的 客户-服务器（C/S）架构分，网页开发者经常被分为两类：前端开发，就是编写运行在浏览器里面的代码。这是个面对用户的部分，或者说是程序的前脸。有时候被称为“客户端编程”，因为浏览器是网站的客户-服务器架构的客户端部分。浏览器会运行在你本地的电脑或者设备上。后台开发，也就是大家所熟知的“服务器端开发”，编写的代码运行在你无法实际接触的服务器上。创造什么编程是一门广泛的学科，能应用在不同的领域。常见的应用有：数据科学网页开发游戏开发，以及不同类型的工作自动化现在我们已经讨论了为什么你要编程，你要程序运行在哪里，让我们看一下两门对于新手来说不错的编程语言吧。PythonPython 是对于第一次编程的人来说是最为流行的编程语言之一，而且这不是巧合。Python 是一门通用的编程语言。这意味着它能应用在广泛的编程任务上。几乎没有你不能用 Python 完成的工作。这一点使得很多新手能在实际中应用这门编程语言。另外， Python 有两个重要的设计特征，使得其对于新手更友好：清晰、类似于英语的语法，和强调代码的可读性。从本质上讲，一门编程语言的语法就是你所输入的能让这编程语言执行的内容。这包括单词，特殊字符（例如 ;、$、% 或者 {}），空格或者以上任意的组合。Python 尽可能地使用英语，不像其他编程语言那样经常使用标点符号或者特殊的字符。所以，Python 阅读起来更自然、更像是人类语言。这一点帮助新的编程人员可以聚焦于解决问题，而能花费更少的时间纠结于语言自身的特性上。清晰语法的同时注重于可读性。在编写代码的时候，你所创造的代码的逻辑“块”，就是一些为了相关联目标而共同工作的代码。在许多编程语言里，这些块用特殊字符所标记（或限定）。它们或许被 {} 或者其他字符所包住。块分割字符和你写代码的能力，这两者不管怎么结合起来都会降低可读性。让我们来看一个例子。这有个被称为 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 作为你第一门编程语言有两个缺点。第一是它有时候安装起来很复杂，特别是在运行着 Win…