为什么计算机只能读懂0和1呢?
这涉及到一个表达的问题,就是说你在计算机里面要用什么东西来表达一个状态。
计算机是人设计的,在设计计算机的时候采用了二进制。就是说只用0和1来表达所有的数据和指令。
那为什么要采用二进制呢?
因为二进制在实现上非常简单,只用高低电位或者开关就可以表示了,而二进制和我们目前用的十进制有同样的表达力。
如果是用十进制的话,那我们就需要找到一个东西它可以有10种状态,这点是很难做到的。
但是也不是说计算机只能用二进制,例如DNA就是用CGTA四种碱基来表示的,是四进制。只不过目前我们用的计算机都是用二进制的。
IOS跟安卓他们分别写的是什么样的语言?
其实IOS呢是IOS主要是用objective-c和swift写的,swift是苹果自己发明的一个语言,因为IOS是苹果的系统,他就是为了优化苹果的系统,所以自己发明了一种语言。
安卓主要是用java来写的。
像这些语言他们是哪里不一样呢?它们都是英语吗?
代码是主要是语法不一样,咱们上面提到的所有语言都是英文的,就他们都是26个字母构成。代码的语法不一样就好像英文和中文这种语法不一样。
语言就是一种描述,就是说它会给你提供一些工具,比如讲打印,你就可以把你想要的字符串打印到电脑上,Python里就会用print()来代表打印,c就会用printf()。
用文字来讲语言是什么太抽象了,可以直接看一下,就大概知道语言到底是个什么东西。
比如这是一段python的代码,
这是一个c的代码
现在看不懂代码的意思没关系,先看他们的长相,可以看出python是没有c中的那些大括号和分号的。具体的更多的差别后面再介绍,这里先对代码有个初印象。
做某一件事情一定要用一种语言来写吗?
其实语言之间它们的语法设计是不一样的,某一种语言就会更适合做某些事情,比如C语言就会更底层,更适合写一些硬件之类的或者效率要求更高的,像我们做数据处理主要用python,它就会更简单,但是他就会效率没有那么高。
但是并不是说做某件事情一定要用某种语言来写的,理论上来说现在常用的计算机编程语言都是图灵完备的,简单说就是什么事情都可以做的。
如果每个语言能做的事情都一样,那为什么做某些事情会多用某些语言呢?
这里涉及到很多因素,例如某些语言的某些语法会更适合某些场景,如Python非常简洁易懂,很适合做一些应用层的简单事情;或者某些历史遗留原因,也就是说大家都用了某种语言,因此这个语言的社区越来越强大,工具也越来越多,后来的人也就都用这个语言了。
要知道我们写代码并不是所有的都从头开始写的,会有很多人他写了一些工具放在那里,很多代码都是在别人的基础上进行更改、迭代的,所谓的站在巨人肩膀上。比如python用于信息处理数据挖掘这些领域最多,因为它有非常完善的工具链,有很多工具可以用。
下一节会介绍:
语言有高级低级之分,越高级的语言就越厉害吗?
计算机领域常说的hello world是什么?
代码到底可以做什么?