编程语言的本质上是一种语言,既然是语言就是用来交流用的。为了方便同学了解,给大家举一个例子。
场景:现在一个中国人想要和一个说英语的外国人进行交流,那么他们该如何进行?
第一种方式:外国人学习中文,两人使用中文进行交流;
第二种方式:中国人学习英语,两人使用英语进行交流;
第三种方式:请一个既会中文又会英文的翻译,中国人和翻译使用中文进行交流,外国人使用英文和翻译进行交流,最终间接实现两人的交流。
那么现在场景发生了改变:人想要和计算机进行交流,那么该如何进行?
第一种方式:人学习计算机语言,使用计算机语言和计算机进行沟通;
第二种方式:计算机学习人的语言,两者进行沟通(人工智能);
第三种方式:请一个翻译官,负责人和计算机之间进行沟通。
程序设计语言就是任何计算机之间进行沟通的语言,要想计算机按照人的意志去工作,你需要学习计算机能够听懂的语言。
编程语言根据抽象层次、可移植性、开发效率、执行性能及硬件控制能力上等方面分成三大类,分别是机器语言、汇编语言、高级语言。
1、机器语言
机器语言能够直接和计算机通信,使用的是0和1组成的指令,计算机能够直接识别,运算速度最快,但是学习难度较大,需要记忆大量的二进制串。
举个例子:使用机器语言实现“1+2”的操作:
可想而知,要进行更加复杂的运算操作,那将会是什么样子,太复杂,而且容易出错,不方便记忆,后续的维护也极不方便。
2、汇编语言
机器语言计算机能够直接识别运行,但是太难使用了,要是能够接近于人们使用的语言那就好了,接着汇编语言就诞生了。
汇编语言长这个样子,下面是汇编语言完成“9+8”操作:
汇编语言也面临一些问题,比如,同样的代码在机器A上能够运行,在机器B上可能就不能运行,代码迁移能力较差。这个问题也太要命了,因为你好不容易写好了代码,部署到设备上,发现不能使用,老板会不会认为你是在坑他?会很不方便。
3、高级语言
高级语言相较于汇编语言,更加接近人类的自然语言,使用方式也更加接近人的思维方式。
高级编程语言种类很多:比如C语言,C++语言、Python,Java等等。
比如在Python语言中,输出“9+8”的计算结果,直接使用:
怎么样?是不是越来越接近人的思维方式,语法是不是也更容易理解?
4、机器VS汇编VS高级
计算机只能识别二进制,也就是只能执行机器语言,即使是汇编语言和高级语言,本质是最后执行的时候,还是要转成机器语言,这次转换需要一定的时间,但是相对于高级语言和汇编语言的便捷性来说,是微不足道了。下面对比总结三种语言。
学习编程语言实际上和我们从小就学习中文和英文类似,只不过你需要将交流的对象换成计算机,要想计算机能够按照我们的要求进行工作,就需要按照计算机的语言语法进行沟通,就是要学习编程语言的语法,否则计算机“听不懂”,没法执行工作。
因此,学习编程语言就是学习计算机语言语法。
常见问题:
1、我英语基础差,是不是很难学?
计算机的语法当中,英语单词实际上都是很简单的单词,而且单词数量也很有限,实际上编程对于学习者的思维能力要求更高一些,对于英语的要求不高,常见单词就那么多,能看懂就行。
2、我还是小学生,什么时候可以学习编程?
一般小学四年级之后就可以学习编程了,太小的学生一般不建议学习,因为其他学科知识太弱,不利于学习。可以先接触图形化编程锻炼思维,比如Scratch。四年级之后可以尝试学习C++编程语言,初中和高中可以向信息学竞赛方面进行训练。
3、学习编程有什么用处呢?
学习编程能够提高自己的信息素养,锻炼自己的思维;其次,取得一定成绩的话,对于升学有帮助,比如:保送清北等;再者,信息社会发展如此快速,任何行业都在向信息靠拢,同样的工作,掌握了编程可能会效率更高。在这里我说一个自己遇到过的一个例子:财务老师布置了一个作业,一个学生使用传统方法,复制粘贴搞了一晚上,第二天交作业,作业还有错误;另一个学生使用计算机自动化处理,出去打个篮球,回来作业就做好了,而且作业中也没有错误,排版格式都很漂亮!所以说计算机技能已经是未来必备的一个技能,无能在什么行业。
4、想往信息学编程上面学习,但是担心没有结果?
学习编程实际上是一个学习知识的过程,如果你有这样的担心,换个角度想一下这个问题——“学习了十几年,最后没有上大学,怎么办?现在开始,要不要放弃学习?”会有这样的焦虑么?当然没有,因为你可能会说:“即使没有考上心仪的大学,在学习中成长了,能力提高了,掌握了技能”。就像,奥运会中一个项目的冠军只有一个,那其他的运动员刻苦的训练和奋斗、拼搏,就是没有意义的么?当然不是,因为即使没有获得冠军,他们获得了友谊、面对压力、锻炼了品质等等,本身的成长过程就是很大的收获。当然,能够拿到金牌,保送清北,那当然是最好的,但是,如果没有拿到,那也不用灰心气馁!人生之路很长,受益也很长!
针对信息技术相关的疑问,可以在留言区告诉我!感谢您的参与,您的参与是我继续下去的动力!