编程语言
1.编程与编程语言
1.1语言
人与人之间沟通交流的媒介
汉语、英语、日语
1.2.编程语言
人与计算机之间沟通交流的媒介
学习编程其实就相当于在学习一门外语 学会了之后就可以跟计算机交流
eg:跟学英语差不多 没有你想象的那么难
1.3编程的本质(写代码的本质)
程序员将自己的思维逻辑和想法用计算机能够读懂的语言写下来的过程
编程的结果是产生一堆代码文件
2.编程语言发展史
2.1.机器语言
1.程序员直接编写二进制代码 就是二进制数,“0101010”
2.编写的程序可以被计算机无障碍理解、直接运行、执行效率高
3.复杂,开发效率低
4.贴近\依赖具体的硬件,跨平台性差
5.这个阶段的程序员几乎都是大能(硬件 软件都是精通)
6.门槛过高 学习成本过大 开发效率极低
2.2汇编语言
汇编语言仅仅是用一个英文标签代表一组二进制指令,汇编语言也是直接操作硬件
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文编写的标识符,更容易
1.相对于机器语言,使用英文标签编写程序相对简单,执行效率高,但较之机器语言稍低
2.仍然是直接操作硬件,比起机器语言来说,复杂度稍低,但依旧居高不下,所以开发效率依旧较低
3.同样依赖具体的硬件,跨平台性差
4.这个阶段学习成本略微降低 开发效率稍微提高 门槛还是很高
2.3高级语言
高级语言是用人类的的字符去编写程序,而人类的字符是在向操作系统发送指令,而非直接操作硬件,所以高级语言是与操作系统打交道的,此处的高级是指高层,开发者无需考虑硬件细节,因而开发效率可以得到极大的提升,但正因为高级语言离硬件较远,更贴近人类语言,人类可以理解,而计算机需要通过翻译才能理解,所以 执行效率才会低于低级语言
这个阶段学习成本大大降低 开发效率大大提高 门槛也有所降低
常见高级语言
python java C++ C# php Golang
3.编程语言的分类
高级语言计算机无法直接识别 怎么办???
类似于中国人跟小日本将中文 小日本听不懂 所以我们需要能帮我们听得懂的人更小日本去讲 这种人就叫 翻译
按照翻译的方式不同,高级语言可以分为两种:
3.1编译型 # C++
类似于谷歌翻译 将文本一次性整体翻译
一次翻译之后可以反复使用 执行效率高 速度快
但是一旦有一点错误 那都必须整体重新翻译
3.2解释型 # python
类似于同声传译 说一句翻译一句
相对于编译型 速度慢 执行效率低
无论是否有错误 翻译的时间都是一样的 因为每次都是逐行翻译
ps:python虽然是解释型 但是可以借助于模块和并发编程提升速度 甚至也可以用python去开发游戏
总结:
执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
4.python发展方向
1.web开发(写网站后端:负责提供数据)
2.人工智能(无人驾驶技术 机器学习)
3.网络爬虫(基于网络爬取想要的数据)
4.自动化运维、自动化测试(运维和测试都需要学习python才能涨薪)
5.自动化办公(文秘岗位需要的技能>>>:加分项)
6.金融量化(写代码自动炒股票)
python是目前所有编程语言中最简单的!!!
5.python解释器
作者:龟叔 全称:吉多·范罗苏姆
1.python解释器是一款应用程序,专门用来解释python这门语言的语法风格并执行
2.python语言编写的程序最终都是被解释器执行的,所以我们可以说python语言更多的都是在调用python解释器的功能,所以解释器性能的高低决定了我们用python写出来的程序效率的高低
3.解释器版本
3.1版本其实是用来记录某个事物更新迭代的过程
eg:比如王者荣耀的版本每个版本都会有一些改动和变化还有维护
3.2python解释器主流版本
python2x python3x
python2.7是python2里的最高版本在2020年就开始不更新与维护了
python3到现在还在更新与维护,出到现在已经有许多版本了,其中主流的有:
3.6 3.7 3.8 3.9
只要前面的版本号不变 语法上几乎是没有变化的 下载任何一个都可以
在IT领域 涉及到重要的软件 一般情况下不会使用最新版
而是使用一个非常稳定版本 哪怕是十年前的版本