编程语言与工具的区别是什么
软件编程与硬件编程的区别?
硬件编程,主要的是面向硬件底层的编程,使用的大多数是C/C++,或者是汇编语言。比如开发驱动程序,或者是嵌入式。硬件编程就是直接操作硬件的过程,非常的底层,也非常的深奥,一般人要弄懂这个是比较困难的。
软件编程,则更多的是软件应用层面的编程。基于硬件驱动的编程,再形象点就是硬件编程已经把操作硬件的接口都做好了,也写好了相应的文档,而软件编程就是怎么调用这些接口的一个过程。软件编程的语言就丰富很多了,不仅仅局限于C/C++
编程和硬件有什么区别吗?
编程是干嘛的?
首先编程是一个统称,编程的定义就是通过专门的语法结构组成指令去完成一个目标。
这种二进制方式的实现其实是利用了硅的半导体特性,使得一个半导体晶体管能输出代表0的电压和代表1的电压,就是编程里的***或真。
打个比方说,一个二极管,我们给它加正向电压,二极管导通,这时用二进制表达就是“1”,给二极管加反向电压,此次二极管截止,二进制表达就是“0”。
无数个晶体管按照规划好的电路相连接,就能成为各种芯片或集成小电路。目前,现在的CPU芯片都是硅芯片。
0和1构成的二进制代码没有什么可读性,所以在硬件界面之上,又架构了一层编译机制,就是汇编语言,其中规定了基本语法格式,让编程人员可以通过指令访问芯片电路中各种运算功能。汇编语言就是直接对芯片进行编程,比如机器人工程就属于这类。 但是汇编语言也比较生涩,都是基于硬件的基本操作,想做一个大一点的项目非常困难,编程量巨大。
下图为汇编代码。
于是人们又开发出再高一级别的C语言,从C语言开始编程就很简单了,至少要比汇编简单好多倍,再说,也不用长时间再纠结硬件方面的问题了。
谢谢邀请。
针对题主的问题,我谈一下自己的看法,希望能有所帮助。
硬件是由电路组成的,我们不妨称之为机器。人类是通过语言沟通的,硬件电路之间的沟通呢我们就可以称之为机器语言。
机器语言是由0-1组成的二进制代码,是硬件电路所能识别的。但不方便人类编程和助记,便出现了汇编语言。随着编程语言的发展,为了更方便人类编程和应用的需要就出现了类似c/c++这样的高级语言。
但万变不离其宗,硬件电路只能识别机器语言,即使是汇编和高级语言也需要编译成机器语言才能被硬件电路所使用。
最好的一个例子是计算机,我们习惯把它称为上位机(在下一节与下位机对比)。我们知道在计算机上可以用c/c++/python等语言来编写,但是它们的编译环境是不同的(需要用到不同的开发工具)。
这里的开发工具就是一个重点了,开发工具里面包括了咱们所使用语言的语法结构和库等内容,这也就区分了不同的语言。这些开发工具通过各自的开发环境把咱们编写的语言编译成机器语言,这样计算机的硬件电路就可以使用了。这样来看:硬件电路只能识别机器语言,至于我们所使用的不同的语言,只不过穿着不同的外衣,开发工具最终会把它们编译成机器所能识别的机器语言。
说了计算机作为上位机,咱们不妨在谈一下下位机,事实也是由一些硬件集成电路组成的,在这些硬件电路中又有了新的语言。根据烧写[_a***_]电路芯片的工作原理不同,出现了单片机——c/c++;FPGA——verilog/vhdl/c/c++等语言,但它们通过各自的开发环境,最终都编译成了机器语言来供硬件电路识别。
你与其说编程与硬件的区别,不如说软件和硬件的区别。至于用什么语言编写那就看最初的设计者给什么语言留有开发接口了。其实任何高级编程语言刨根问底都是二进制的机器语言。
其实机器只能识别二进制,说通俗点就是一个开关只有开和关两种状态。好比你家有个开关,控制着房间的灯光,你想让你的小伙伴在你爸妈不在家的时候来你家玩。那你跟你的小伙伴约定小伙伴在你家楼下看到灯打开了,那就是家里没人可以进来玩,如果是关着的就是家里有人。其实这就是一个简单的编程过程。当然这个开关你也可以跟你的小伙伴约定别的意思,比如开灯表示,我作业没做完。关灯表示作业写完了。。说到底无论你想表达什么意思,控制灯的开关只有两个状态是不会变的。就看你怎么跟人约定这个开关状态的意思。
编程语言跟硬件是无关的。但编译器跟硬件相关,只要有硬件对应的编译器的就可以用对应的语言去开发,还可以交叉编译,比如可以在X86机器上编译ARM的程序。除了极少数单片机要用汇编,绝大部分硬件都能用C开发。至于为什么不能用python,是因为这种硬件环境下没有python的编译器(解释器)。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/23182.html