美文网首页码农的世界程序员
程序是什么?如何理解编程的本质?

程序是什么?如何理解编程的本质?

作者: 84e94ada13e1 | 来源:发表于2019-02-28 11:58 被阅读8次

程序是什么?在编程的世界,我们平时所见到的程序,是指以某种逻辑组织起来的指令序列,通过这些指令序列达到一些特定的效果,一个可执行程序呢,它的内部是一系列计算机指令和数据的集合,它们都是二进制形式的,通常的格式是ELF段的二进制文件,CPU 可以直接看到,识别,但是,若是对于程序员来说呢,这些二进制文件就显得晦涩难懂,看得人头皮发麻。

而在windons中呢,我们所说的程序,就是那些平时双击就可以直接运行的程序了,他们不需要安装,而是可以直接执行,这样的程序呢被称为可执行程序,英文名字是Executable Program,所以我们一般平时看到的exe文件呢就是可执行程序名字的一个缩写。在 Windows 下,可执行程序的后缀一般有 .exe 和 .com(其中 .exe 比较常见);而在类 UNIX 系统(Linux、Mac OS 等操作系统)下,可执行程序并没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序,一般格式为ELF文件。

例如,在我们的电脑屏幕上输出“hello world”,C语言的写法为:

puts("hello world");或者printf("hello world");

二进制的写法为:

如果你是程序员,你可以感受一下,直接使用二进制写程序感觉是不是想撞墙?而在计算发展的初期,程序员就是使用这样的二进制指令来编写程序的,因为在那个年代还没有编程语言。

直接使用二进制指令编程对程序员来说简直是噩梦,尤其是当程序比较大的时候,不但编写麻烦,需要频繁查询指令手册,而且除错会异常苦恼,要直接面对一堆二进制数据,让人眼花缭乱。另外,用二进制指令编程步骤繁琐,要考虑各种边界情况和底层问题,开发效率十分低下。

这种情况下,这就逼得程序员开发出了编程语言,提高自己的生产力,例如汇编语言、C语言、C++、Java、Python、Go语言等,逐步提高开发效率。从此,C语言代码由固定的词汇按照固定的格式组织起来,简单直观,便于程序员识别和理解,但是对于CPU,C语言代码是什么东西?根本不认识好吧!CPU只认识一些二进制形式的指令。所以呢!这个时候就需要这么一个工具,将C语言代码转换成CPU能够识别的二进制文件,也就是将代码加工成 .exe 程序;这个工具是一个特殊的软件,叫做编译器(Compiler)。编译器能够识别代码中的词汇、句子以及各种特定的格式,并将他们转换成计算机能够识别的二进制形式,这个过程称为编译英文是Compile。

编译也可以理解为“翻译”,它是一个复杂的过程,大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件五个步骤,期间涉及到复杂的算法和硬件架构。然后将人们写的各种c语言或其他语言的语句,翻译成系统才能够理解的语句,进一步进行运算。Windows 下常用的是微软编译器(cl.exr),它被集成在 Visual Studio 或 Visual C++ 中,一般不单独使用;Linux 下常用的是 GUN 组织开发的 GCC,也叫GNU C Compile,很多 Linux 发行版都自带 GCC编译软件。

你的代码语法正确与否,编译器说了才算,编译器可以 100% 保证你的代码从语法上讲是正确的,因为哪怕有一点小小的错误,编译也不能通过,编译器会告诉你哪里错了,那你就是错了,这样以便于你对自己代码的更改。

点击了解更多讯息哦~

相关文章

  • 程序是什么?如何理解编程的本质?

    程序是什么?在编程的世界,我们平时所见到的程序,是指以某种逻辑组织起来的指令序列,通过这些指令序列达到一些特定的效...

  • 编程的本质是什么?程序是什么?

    程序是什么?在编程的世界,我们平时所见到的程序,是指以某种逻辑组织起来的指令序列,通过这些指令序列达到一些特定的效...

  • 汇编基础

    理解程序的本质 程序的本质 编程语言的发展 汇编语言的种类 常见的汇编指令 寄存器 和寄存器的兼容性 注意点:寄存...

  • 函数式编程简析

    想要知道什么是函数式编程就需要先理解什么是编程范式 编程范式是什么? 编程范型、编程范式或程序设计法(英语:Pro...

  • 网络编程系列第(三)篇---Socket

    Socket是什么 Socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网...

  • python编程

    一.程序是什么? 程序,就是让机器按我们需求运行的一套代码。 二.编程是什么? 编程,就是编写程序。 三.编程语言...

  • Kotlin 进阶之路4 面向对象

    Kotlin 进阶之路 目录 1.面向对向编程 本质上就是解决如何用程序描述世界的问题 讨论如何把实际存在东西映射...

  • 如何理解引力与惯性的关系,值得深思

    导读:如何理解引力与惯性的关系,值得深思。引力的本质是什么?惯性的本质又是什么?你思考过这个问题吗?本章将带你思考...

  • 2、编程概述

    开发程序可以分为七个步骤将所有程序分解开来: 1、我们程序的目标是什么 2、我们应该如何书写程序 3、开始编程的过...

  • OC对象的本质

    Objective-C的本质是什么 学过编程的都知道,程序的编译原理即是由高级语言到机器语言的过程。Objecti...

网友评论

    本文标题:程序是什么?如何理解编程的本质?

    本文链接:https://www.haomeiwen.com/subject/addhuqtx.html