计算机编程语言基础知识
版本：v1.3
Crifan Li
摘要
本文主要介绍了计算机领域中的编程语言的基础知识，主要指的是各种编程语言中比较通用的基本概念，比如逻辑结构等等。
整理了计算机语言的分类和关系。
本文提供多种格式供：

HTML版本的在线地址为：
http://​www.crifan.com/​files/​doc/​docbook/​programming_​language_​basic/​release/​html/​programming_​language_​basic.html
有任何意见，建议，提交bug等，都欢迎去讨论组发帖讨论：
http://​www.crifan.com/​bbs/​categories/​programming_​language_​basic/
在线阅读	HTML  1	HTMLs  2	PDF  3	CHM  4	TXT  5	RTF  6	WEBHELP  7	
下载（7zip压缩包）	HTML  8	HTMLs  9	PDF  10	CHM  11	TXT  12	RTF  13	WEBHELP  14	
修订历史	
修订 1.3	2015-05-07	crl	
· 	把之前教程的地址整理过来
· 	代码写出来就是留给别人看的
· 	很多语言都有打印这个函数
· 	添加学习C先Windows还是Linux
· 		
计算机编程语言基础知识:
Crifan Li
版本：v1.3
出版日期 2015-05-07
版权 © 2015 Crifan, http://​crifan.com

本文章遵从：署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5)15

目录
前言  	 # 

1. 本文目的  	 # 
1. 计算机编程语言分类  	 # 

1.1. 脚本语言  	 # 
2. 计算机编程语言通用知识  	 # 

2.1. 代码写出来是为了给别人看的  	 # 
2.2. 不同计算机语言都有常见通用的函数  	 # 

2.2.1. 通用函数：print  	 # 
2.3. 某某（比如C）语言初学者在Windows还是Linux环境下练习更有优势？  	 # 
3. 变量分类  	 # 
4. 操作和运算  	 # 
5. 分支与判断  	 # 
6. 循环  	 # 
7. 函数  	 # 
参考书目  	 # 

前言

1. 本文目的
本文目的在于介绍计算机编程语言的基础知识。

第 1 章 计算机编程语言分类
不懂的语言，擅长做的事情也不同，适用的领域和层次也不同：
相关旧帖
【整理】计算机语言的不同应用层次  1
计算机语言分类：脚本语言，解释性语言，编译性语言等等

1.1. 脚本语言
关于什么是脚本语言，简单说就是，需要你用什么编译器，将源代码，编译为对应的可执行程序，再去运行可执行程序；
而直接通过对应的脚本语言的解释器，去直接“运行”你的脚本语言的源代码，即文本文件，一堆的字符串，就可以实现运行程序的效果了。
即：
其他语言：源代码 -> 编译成可执行程序 -> 运行程序
脚本语言：源代码 -> （解释器）直接”运行”你的源代码
常见的计算机语言有：
Assembly
C
C++
C#
Java
JavaScript
Object-C
Perl
PHP
Python
GO

第 2 章 计算机编程语言通用知识

2.1. 代码写出来是为了给别人看的
计算机语言通用知识 之 写代码是用来（被别人读和被别人）维护的
关于此观点，这里也有提到：
Architecting iOS Apps with VIPER - Architecture - objc.io issue #13  1
“Good architecture is not what makes a product successful, but it does make a product maintainable and helps preserve the sanity of the people maintaining it!”

2.2. 不同计算机语言都有常见通用的函数
不同的计算机语言，都有一些常见的函数。

2.2.1. 通用函数：print
不同语言都有打印这个函数：
C：printf
C++：cout<<
Python: print
Java：System.out.println

2.3. 某某（比如C）语言初学者在Windows还是Linux环境下练习更有优势？
刚开始学习计算机语言，尤其是类似于C语言这种，很多人都会问同一个问题：
先在Windows下还是现在Linux下去学习，效果会更好，速度会更快？
对于此问题，之前遇到一个解释的比较清楚的答案：
C语言初学者在Windows还是Linux环境下练习更有优势？（摘自知乎问答）  2
引用如下：
从Windows入门，熟悉到一定程度之后推荐根据情况转移到Linux下继续学习。
重点是“专注+效率”。
忽视初学者的境况和人的本性去考虑问题都是不恰当的。
并不是否定Linux，而是它对于初学者的入门门槛太高了。
Window进入难度小，非常有助于不断积累幸福感。
各种IDE完备，基本可以按照书上按图索骥，能让你专注而有效率的在学C语言。
windows下完善的IDE调试环境有利于减少入门难度，这对于初学者是大益。
难以想象一个初学者在Linux下面遇到指针错误会不会看着segementfault直接崩溃掉，然后选择掩卷长泣，深藏功与名。。。
而选择Linux入门会让你学C语言变成：捣鼓系统，学习gcc/GDB的使用，学习vim/emacs使用，make文件的编写等。
请问：对于初学者的你，你还能专注的学C吗？
当你在windows下学习到一定程度之后，你会发现windows下学习的缺陷：IDE过于完备导致对于细节缺乏了解；windows这个”化妆过度“的系统导致你从中基本学不到东西。
你可能不时需要去考虑IDE到底变了什么戏法？
windows为甚么和你学的语言感觉一点关系都没有？
这个时候你可以转到Linux下继续学习。
通过对细节的把握以及在一个对程序员友好的系统的帮助下，可以让你的问题得到消解，继续专注而有效率的学习。
另外，如果学的是C语言，不是OperatingSystem，Linux和Windows下是没有区别的。
《C Programming Language》里面除了专讲Unix的章节，其余的程序在Windows上也可以运行。
C语言是有标准的，只要选择支持C89或C99标准的编译器就行了，这点两个平台也没区别。
但是要知道C语言当初发明就是为了重写Unix的，C很多风格上和设计思维上同Unix更接近些。尤其是C标准的内存，文件等接口。
上述的回答，对于其他语言，比如C++，Java，Python等等，也是实用的：
前期可以在Windows中，尤其是Windows中的各种IDE中去学习某语言的基本的语法和调试运行，
待对语言有了一定的熟悉，想要深入学习内部机制和原理时，再去换到Linux的环境中去学习。
由此可以由浅入深，循序渐进的去学习某种语言。

第 3 章 变量分类
为何要去将变量分类
常见的变量有哪些类型
整型：byte,short int,int,long
字符，字符串:char,string
浮点数：float,double
列表，等
高级的，比如：字典dict，Map

第 4 章 操作和运算
基础运算
加减乘除：+,-,*,/
取余数%
等等
位运算：按位操作，按位与&，按位或 |等等
逻辑运算：AND，OR等
相关旧帖
【软件开发基础知识】逻辑运算  1

第 5 章 分支与判断
if,else
then
其中，python中的判断，相对比较“智能”，自动判断某个变量的，是否为“真”

第 6 章 循环
关于循环：while，do while，for
go语言中，好像只有for？

第 7 章 函数
为何要有函数
函数的参数
相关旧帖
【软件开发基础】调用函数中的变量名和被调用函数中的参数名之间的关系：没半毛钱关系  1
函数中的变量
函数的返回值

参考书目
[1] 【教程】计算机编程语言之基础知识1 
[2] 【整理】计算机语言的不同应用层次2 
[3] 【软件开发基础】调用函数中的变量名和被调用函数中的参数名之间的关系：没半毛钱关系3