1.5 高级计算机语言和编译器

简介: 高级编程语言,如C和Java,通过更接近人类思维方式的指令简化了编程过程,使得开发者能够在更抽象的层面上表达逻辑,避免了直接操作繁琐的机器语言。编译器作为桥梁,将这些高级语言翻译成不同CPU可执行的机器码,使得代码具有跨平台的潜力,并极大地提升了编程效率与易学性。

高级编程语言(如,C)以多种方式简化了编程工作。首先,不必用数字码表示指令;其次,使用的指令更贴近你如何想这个问题,而不是类似计算机那样繁琐的步骤。使用高级编程语言,可以再更抽象的层面表达你的想法,不用考虑CPU在完成任务时具体需要哪些步骤。例如,对于两数相加,可以这样写:total=mine+yours;
对我们而言,光看这行代码就知道要计算机要做什么;而看用机器语言写成的等价指令(多条以数字码形式表现的指令)则费劲得多。但是,对计算机而言却恰恰相反。在计算机看来,高级指令就是一堆无法理解的无用数据。编译器在这里派上了用场。编译器是把高级语言程序翻译成计算机能理解的机器语言指令集的程序。程序员进行高级思维活动,而编译器则负责处理冗长乏味的细节工作。
编译器还有一个优势。一般而言,不同CPU制造商使用的指令系统和编码格式不同。例如,用Intel Core i7(英特尔酷睿 i7)CPU编写的机器语言程序对于ARM Cortex_A57 CPU而言什么都不是。但是,可以找到与特定类型CPU匹配的编译器。因此,使用合适的编译器或编译器集,便可把一种高级语言程序转换成供各种不同类型CPU使用的机器语言程序。一旦解决了一个编程问题,便可让编译器集翻译成不同CPU使用的机器语言。
简而言之,高级语言(如C、Java、Pascal)以更抽象的方式描述行为,不受限于特定CPU或指令集。而且,高级语言简易易学,用高级语言编程比用机器语言编程容易得多。

目录
相关文章
|
IDE 编译器 开发工具
编程前的准备:编译器的安装
编程前的准备:编译器的安装
51 0
|
6月前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
55 1
|
6月前
|
XML 开发框架 .NET
学习Visual Basic语言的函数和过程编写技巧
【4月更文挑战第27天】本文探讨了Visual Basic语言中函数和过程的编写技巧,旨在帮助读者掌握高效、规范的编程方法。内容包括函数与过程的基础概念,如定义函数和过程的语法;编写高效函数和过程的技巧,如参数传递、可选参数、参数数组、异常处理和重载;最佳实践与风格指南,如命名规范、注释、单一职责原则和模块化设计;以及进阶技巧,如Lambda表达式、LINQ、并行与异步编程及内存管理。通过学习这些技巧,开发者能写出更清晰、高效的VB.NET代码。
47 0
|
自然语言处理 数据库连接
编译原理(五) 语言的定义
编译原理(五) 语言的定义
146 0
|
自然语言处理 算法 程序员
【C语言技能树】程序环境和预处理
在ANSI C的任何一种实现中,存在两个不同的环境。
128 0
|
C语言 Java C++
C语言为何不会过时?你需要掌握多少种语言?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.
C语言为何不会过时?你需要掌握多少种语言?
|
存储 自然语言处理 编译器
用c语言手搓一个500+行的类c语言解释器: 给编程初学者的编译器教程(2)- 简介和设计
通常我们说的 “编译器” 是一种计算机程序,负责把一种编程语言编写的源码转换成另外一种计算机代码,后者往往是以二进制的形式被称为目标代码(object code)。这个转换的过程通常的目的是生成可执行的程序。 而解释器是一种计算机程序,它直接执行由编程语言或脚本语言编写的代码,它并不会把源代码预编译成机器码,而是一行一行地分析源代码并且直接执行,相对编译器而言可能效率较为低下,但实现也相对简单,并且容易在不同的机器上进行移植(比如x86和mips指令集的机器)。
477 0
|
编译器 BI C语言
用c语言手搓一个500+行的类c语言解释器: 给编程初学者的编译器教程(1)- 目标和前言
这一系列教程希望面向初学者,使用c语言手工实现一个简单的解释器来玩,不需要您掌握除了c语言以外的其他前置知识,也不需要您学习过编译原理的相关知识(当然如果能对简单的数据结构有所了解的话会更好,比如树、栈等)。 > 写一个能执行代码的解释器不仅是一件很有(zhuang)趣(bi)的事情,大概也可以作为刚学习完c语言的一个练手的小项目啦 不同于大部分常见的其他只支持四则运算的所谓”手工解释器“教程,我们希望在代码结构尽量清晰的600行代码中,手工(不借助lex/yacc等工具)完成一个脚本语言“try”,实现以下功能:
1742 0
|
程序员 数据库 数据安全/隐私保护
C语言程序员不会告诉你的14个工具和插件 | 收藏
喜欢这篇文章的朋友可以多多收藏、点赞、关注 一条龙~
2217 0