电脑编程以及深度学习

学习编程语言之前,首先要搞清楚“编程语言”这个概念。

很小的时候,父母就教我们开口说话,也教我们如何理解别人讲话的意思。经过长时间的熏陶和自我学习,我们竟然在不知不觉中学会了说话,同时也能听懂其他小朋友说话的意思了,我们开始向父母要零花钱买零食和玩具

我们说的是汉语,是“中国语言”,只要把我们的需求告诉父母,父母就会满足,我们用“中国语言”来控制父母,让父母做我们喜欢的事情。

“中国语言”有固定的格式,每个汉字代表的意思不同,我们必须正确的表达,父母才能理解我们的意思。例如让父母给我们10元零花钱,我们会说“妈妈给我10块钱吧,我要买小汽车”。如果我们说“10元给我汽车小零花钱妈妈”,或者“妈妈给我10亿人民币,我要买F-22”,妈妈就会觉得奇怪,听不懂我们的意思,或者理解错误,责备我们。

我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。

同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。

编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。

编程语言有很多种,常用的有C语言、C++、Java、C#、PHP、JavaScript等,每种语言都有自己擅长的方面,例如:

C语言和C++主要用于PC软件开发、底层开发、单片机和嵌入式系统;

Java和C#不但可以用来开发软件,还可以用来开发网站后台程序;

PHP主要用来开发网站后台程序;

JavaScript 主要负责网站的前端工作(现在也有公司使用 Node.js 开发网站后台)。

可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”的意思:

汉语:世界你好;

英语:Hello World

法语:Bonjour tout le monde

在编程语言中,同样的操作也可能使用不同的语句。例如,在屏幕上显示“C世界你好”:

C语言:puts("C世界你好");

PHP:echo "C世界你好";

Java:System.out.println("C世界你好");

编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的意思,例如在C语言中,我们使用 puts 这个词让计算机在屏幕上显示出文字;puts 是 output string(输出字符串)的缩写。

使用 puts 在屏幕上显示“C语言中文网”:

puts("C语言中文网");

我们把要显示的内容放在("和")之间,并且在最后要有;。你必须要这样写,这是固定的格式。

总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。

C语言(C Language)是编程语言的一种,主要是学习它的格式和词汇。下面是一个C语言的完整例子,它会让计算机在屏幕上显示”C世界你好“。

#include

int main(){

puts("C世界你好");

return 0;

这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。

那么,C语言肯定规定了源代码中每个词汇、语句的含义,也规定了它们该如何组织在一起,这就是语法(Syntax)。它与我们学习英语时所说的“语法”类似,都规定了如何将特定的词汇和句子组织成能听懂的语言。

编写源代码的过程就叫做编

C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。

正是由于C语言的简单,对初学者来说,学习成本小,时间短

在世界编程语言排行榜中,C语言、Java 和 C++ 霸占了前三名,拥有绝对优势,如下表所示:

电脑编程以及深度学习

C语言诞生于20世纪70年代,C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++

最近几年,有一门新的语言异军突起,夺得了大家的眼球,它就是Python。

开始的时候,Python并不是那么“甚嚣尘上”,先学C、再学汇编、C++、Java等,把C作为一门基础语言。

有一部分初学者放弃了C,从Python开始学起,认为Python简单,容易学习,不像C那么晦涩。

其实,Python 的“简单”主要是指代码格式清晰,语法没有那么严格,例如,在屏幕上显示“C明天你好”:

print "C明天你好"

对比C语言的代码:

puts("C明天你好");

你看,Python不需要括号,也不需要最后的分号。

但是,不要被误导了,Python涉及到的编程概念和编程思想并不简单,比C语言要多要复杂。Python的学习成本并不比Java、C++小。

你可以认为X语言比Y语言在软件开发方面更加优秀,或者M语言比N语言在数据挖掘方面更加方便,但是绝不能认为哪一种语言更加简单。每一种编程语言都有自己的应用领域,要学习合适的语言,而不是简单的语言。

不认为学习Python的成本比C小。

值得一提的是,Python也是用C来开发的,如果希望更好的学习Python,那么肯定也要学习C。

假如我不用Windows,一直在用Linux,只有Linux才能让你看到C的本质,C就是为Linux而生的。

话虽没错,但是你想想当初你学习Windows花了多长时间,是不是一开始连切换输入法也不会,编辑Word文档也不会;如果你切换到Linux,你也会遇到同样的问题,你需要一段时间来熟悉Linux,加大了你的学习成本,会慢慢消磨掉你对编程的兴趣。

建议,你可以在Windows下学习C语言,完全没问题,如果有一天Windows不能满足你的学习需求了,那你再切换到Linux,这个时候你对编程已经很了解了,切换的成本也低了。

不管是台式机还是笔记本,它们内部都有一块电路板,上面密密麻麻地布满了大小不一的电子器件,包括CPU、内存条、网卡、各种插槽和接口等,这就是“主板”,如下图所示:

电脑编程以及深度学习

CPU (Central Processing Unit) 就是“中央处理器”,是计算机的大脑,负责计算、思考、处理数据、控制其他设备等,没有CPU,计算机就无从谈起,CPU的速度直接决定了电脑的运行速度。如下图所示:

电脑编程以及深度学习

CPU有很多针脚,直接插在主板上,如下图所示:

电脑编程以及深度学习

内存就是下面的长方形“卡片”,也叫内存条

电脑编程以及深度学习

硬盘是用来保存数据的。打开一个文件,编辑完成后,Ctrl+S 就保存到了硬盘,断电不会丢失。硬盘分为机械硬盘(HDD)和固态硬盘(SSD)。机械硬盘就像VCD或DVD,由一个精密电机带动光盘快速转动来让探头读取和写入数据。如下图所示:

电脑编程以及深度学习

固态硬盘就像手机内存卡或U盘,内部有上亿个电子元器件,非常细小,达到纳米级别,通过电路来读取和写入数据。如下图所示:

电脑编程以及深度学习

与机械硬盘相比,固态硬盘在读写速度上有很大优势,一个很明显的例子就是电脑安装了固态硬盘开机速度很快,很少出现卡顿的现象。

硬盘不是直接插在主板上,而是通过导线与主板相连,所以叫外部存储,也是电脑外设的一部分,不过不像鼠标、键盘、U盘等,没有也可以正常工作,硬盘是电脑正常运行所必需的外部设备。

CPU、内存、硬盘等部件不能各自为战,它们通过主板连接在一起,由CPU控制,协调工作。


分享到:


相關文章: