关于《编译型语言与解释型语言》

本文介绍了编程语言的入门方法,强调了理解计算机语言和编程语言的区别。计算机语言基于二进制,而编程语言如C、C++、Python等则简化了与计算机的交互。文章区分了编译型和解释型语言,前者如C语言,需预先编译,后者如JavaScript则直接解释执行。作者建议初学者按语言类别切入学习,以提高学习效率。
摘要由CSDN通过智能技术生成

序言

    编程应该怎么入门更高效呢?首先我们需要了解一下程序语言的大体分类,通过分类进行纵向横向的选择性学习,深入提高。

    相信大部分同学在没有来到大学之前已经有过编程接触史了吧,有搞过scratch少儿编程,还是机器人编程的肯定都有,但相比你们即将在大学学到的东西会有很大的不一样。你们在高中阶段接触的编程属于伪概念。因为高中阶段你们不需要深入理解计算机体系结构,计算机原理,操作系统,算法数据结构等知识,只是把代码封装成的模型进行嵌套,搬运。拖动模块完成特定的功能。
在这里插入图片描述
    较早接触的同学也有好处的,因为你们的思维训练起来了,接下来的学习过程中你们更容易入门些,更容易通过兴趣,成就感坚持下去,不需要老师对你进行反馈,你们的自主能力更强

    初次接触的同学也不必惊慌,只要大家按照老师的要求做了,大家就没问题,如果大家没有按要求来,自学又没能快速找到入门的方法,那么你肯定会半途而废,所以大家需要注意一下这个问题。


    

一.计算机语言和编程语言


    计算机就像一个翻译机一样,人们对他的各种操作,发号施令,都需要先让它理解然后才能做出人们希望的行为,可是计算机不会汉语,英语,日语,,,,,,那么我们需要学习计算机的语言,学会了就能通过这些语言和它进行交流了。计算机的语言就是二进制语言。大家在平时学汉语的时候需要掌握汉语拼音,学英语的时候需要掌握26个英文字母,,,,,,计算机语言的汉语拼音就两个数字组成------0和1
在这里插入图片描述
    有同学知道为什么计算机语言只认0和1吗?为什么不是1和2,3和4?????回答这个问题需要你们在大二学完《电子电路基础》《模拟电路》《微机原理》等课程之后就知道为什么了。
在这里插入图片描述
    计算机语言代表两种状态,也就是0和1代表两种状态。他没有中立态度,这使得大部分学计算机的同学都很直男,因为他们只分对错,只分是非,不论中间立场。
在这里插入图片描述
    如果说让同学们用数字0和1来编写指令指挥计算机,那么就会有几个弊端:1.符号指令太繁琐,不利于我们学习,和编写;2.程序编写出来也不利于维护。所以我们要学习编程语言通过将编程语言翻译成计算机语言(指令0和1)完成对计算机的操控。
在这里插入图片描述

二.编译型语言、解释型语言区别

    我们学习编程语言,编译器会将编程语言翻译成机器语言【0和1】。编译器的目的就是将编程语言翻译成机器语言使得计算机能够理解你的操作指令。那么人理解不同事物都是有不同的理解方式,我们称之为“思路”,编译器理解翻译指令也是有不同的思路的。
在这里插入图片描述
编译器理解程序,运行程序的思路分为两种:

  1. 先转换在运行
  2. 一边编译一边运行
    在这里插入图片描述
    类比一下,人们在背书的时候,有的人习惯先把文章读熟悉了,在理解内容;有的人喜欢一边背一边理解内容。但只要你能把书中的内容深刻的存储到自己脑子里并能够随时输出就OK。
    在这里插入图片描述
        编译器能够有以上两种运行思路取决于你使用的编程语言类型,这就好比全世界都在学习英语,极少部分人学习汉语,语言类型不同会导致你思考问题的不同,由于英语简单易学,转化率高;汉语复杂,学习成本高,转化率相对低。编程语言的分类可以分为:编译型语言和解释性语言
    在这里插入图片描述
    解释性语言就像吃火锅一样,需要一边吃一边煮;编译型语言就像在做饭一样,先把东西做完做好了,再开始吃饭,你总不会一边做饭一边吃吧?等饭做完你就吃饱了!那就不合常理了。

两者之间的比较:
在这里插入图片描述

三.编译型语言、解释型语言执行方式的不同

    同学们在大学阶段主要学习的编程语言呢是编译型语言。比如C,C++,C#.
那么这些语言的统一执行方式就是:
在这里插入图片描述
我们也叫做面向控制台编程,就大家经常看到那些黑客弹出个黑窗体装b名场面里的那些内容哈。

那还有一些语言呢大家四年学的不会太深,也就是我们的解释型型语言【也叫脚本型语言】。比如JavaScript,Python,basic解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。它的执行方式是这样的:
在这里插入图片描述
肯定有同学会问,号称天下第一的java属于哪种类型的语言?它两者都属于。


    以上是我对语言的分类分析总结,当然它的分类方式是很多的,我只是按自己的理解告诉大家,希望大家在上手编程语言的时候先分类,按类别进行切入学习,这样在你掌握一门语言的情况下你可以很快,很容易掌握更多编程语言。我这里用的词语是’'掌握",不是“精通”!精通需要大量时间和实践,这个比学英语简单,因为它没有口语!大家可放心学习。
在这里插入图片描述
你们的老师可能一上来就给你们灌输“面向过程”,“面向对象”这样的概念,并且以此作为分类标准让你们学习,如果大家为了考试可以听听这些分类方式,虽然你们肯定也听不懂,也不知道为啥,但可以先听,考试的时候还是有用的。毕竟老师的教学是基于ppt和教案教学,很多大概念你们注定了不可能一开始理解到位,需要后续知识的补充才能理解前期学习的东西。因为你们的老师认为"学习是一件痛苦才能提高的事情"毕竟他们是这么被忽悠过来的,理解不了快乐学习的本质,按他们的教学设计:“你们会先踩无数的坑,先遇到很多大概念,枯燥的理论【不能理解很正常】,然后你们需要去问老师,老师回答,你理解,你会了”这么一个过程。但我希望大家能够快乐学习,真正痛苦带来的提高是你们自学过程中遇到并解决带来的,不是事先老师教案上计划好让你们去踩坑而遇到的痛苦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值