初识编程过程

您所在的位置:网站首页 发酵罐kla 初识编程过程

初识编程过程

2023-06-05 09:58| 来源: 网络整理| 查看: 265

和电脑对话

电脑是什么? 一堆电子原器件的集合, 怎么和它交流, 使用鼠标、键盘点击显示器上的内容。

那么这些内容是如何显示,又是如何工作的,他们怎么知道鼠标点某个位置时要如何响应,响应的内容又是怎么呈现出来。

这些都是和电脑正常对话所要了解的内容。

一般的电脑用户看到和使用的都是一个一个可以运行的程序。 程序远处不在,写文档是用程序写,做笔记用的是程序,看网页是用程序看,甚至网页是程序(浏览器)中的程序(网页)。 用户就是用这些程序或是程序中的程序来和电脑对话。

程序员的工作

程序员的工作就是制作这些程序,当然制作程序也需要某种程序。 在编写程序前先来了解一下所需要的工具:

编辑器编译器链接器解释器

对于不同的编程语言,这些程序可能会在不同的阶段起到作用,但是一般来说都会这些。

当然编辑器是每个编程语言都需要的工具,语言是表达思想的工具,为了把思想表达出来,在任何时候都少不了编辑工具。 最简单的编辑器如Windows下的记事本,专业点的如vscode, Notepad++, Sublime Text, VIM, Emacs等等,都是在各种场景下可用的编辑器,这些工具的编辑结果是一些文件文件,这时候程序还处于源代码阶段,即人可读的阶段。

代码编辑完成后就会再由编译器来处理,编译器的主要工作,就是把代码转换为可某种目标文件,一般来说是二进制文件,这时候的内容就是普通人无法理解的内容了,当然某些程序员还是可以读懂,比如汇编程序员。

编译过程中,编译器要做的工作比较多,比如检查源代码是否包含错误,最简单的比如拼写错误,当然这时候的逻辑错误一般是检查不出来的,还包括建立符号表。

编译完成后的工作主要交给链接器了,链接器会把正确的地址放到合适的程序位置,总之就是把多个需要对齐整合的代码放到一起形成完整的程序。这之后才会形成常见的可执行的文件,这些文件就是程序。

至于解释器,其它各个编程语言都会用到,比如比较古老的C语言,一般它的解释器会和操作系统一起发布,也就是程序的启动,运行的代码,不过它的表现无法让普通用户感知,甚至程序员也不会察觉到它的存在。 但是其它语言,比如Java语言,它的解释器的存在感就会非常明显,比如Java虚拟机。另外像脚本语言都会有一个解释器随语言的发布而一起发布,不然这种语言就无法运行。 其它在这种情况下,编译器和链接器解释器这些都可以说是整合到了虚拟机内部。而对虚拟机的优化效果也会很大程度上影响程序的运行速度。

这样,整个程序的制作流程如下图所示:

源代码 二进制目标文件 完整程序 编辑代码 编译 链接 解释运行 集成开发环境(IDE)

为了让程序员更省心,更专注于程序逻辑的编写,某些程序制造商推出了集成开发环境,也就是把编辑器,编译器,链接器这些工具整合起来,减少程序员的手动操作,尽量把整个过程自动化。 比如微软的Visual Studio系列,从最出名的VS6.0到现在的VS2022,一路走来,功能一直在完善,效率一直在提升,团队协作能力也一直在推进,这就给了程序员很大的操作能力。 除了这些,还有其它的集成开发环境:Delphi, QtCreator,Eclipse, NetBeans,PyCharm等等,几乎每种开发语言都能找到相应的IDE。

当然使用IDE也有相应的缺点,比如无法了解程序的细节,不好控制程序的编译过程,可能有的人一直使用IDE,而无法了解程序的生成过程。

更多的程序编写方法

上面说过,程序的制作过程分了几个阶段,除了编辑阶段,后面一般都会有固定的工具,比如C语言的编译程序,在Linux下也就GCC和CLang两种编译器。在Windows下,除了VS提供的编译器,GCC也可以通过MinGW这样的工具来使用。

那么能不能抛开IDE,使用自己喜欢的编辑器写代码,然后使用编译器编译代码呢。答案当然是可以的。只要能了解如何给编译器提供内容让它工作起来,就可以甩开IDE工具使用自己的方式写代码。

首先是一款顺手的编辑器,编辑器工具如此之多,有时候会让我们挑花眼,那么就随便找一种吧,比如VIM。

而编译器需要的内容是源代码,而众多的源代码怎么喂给编译器,又是另一个程序可以完成的事情,这个程序叫做make或是nmake。这个程序使用一种makefile格式的文本文件做为输入。就可以让编译器自动工作起来。这个过程在后面说,总之编译器是可以在别的程序的帮助下自动工作的,那么链接器也可以由这些辅助程序调用自动运行。

这样,就得到了各个阶段都可控的方法。

编辑器+make就可以自动完成工作了。

到这里,更多的程序编写方法,无非就是多种编辑器+多种makefile的生成方法。

可用程序语言

简单列一些现在流行的编译语言:

CC++JavaPHPPythonGOsqlRustjava scriptC#Basic 更多内容可看这里: 编程语言排行 https://hellogithub.com/report/tiobe


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3