大家好,今天小编关注到一个比较有意思的话题,就是关于编程语言的形象比喻有哪些的问题,于是小编就整理了3个相关介绍编程语言的形象比喻有哪些的解答,让我们一起看看吧。
- C、C++、Java、JavaScript、PHP、Python、Ruby这些语言分别主要用来开发什么?
- 谁能用通俗易懂的语言和比喻解释手机面板上的图标(APP)可以随意拖移的原理是什么?
- plc怎样理解中断功能,有没有例子说明下?
C、c++、java、JavaScript、php、python、Ruby这些语言分别主要用来开发什么?
不同的语言自然有不同的应用领域,虽然有C++这种通用型、多范式的编程语言,但是总体来说大部分编程语言都有自己所擅长的领域和。
C/C++语言
理论上C/C++可以进行任何领域的开发,C/C++的优点是效率高,可以说在几乎所有编程语言里面效率最高了,但是因为C/C++学习成本相对较高,尤其是指针这种知识难度比较大,所以做应用开发难度极大,但是做系统级的开发却非常有优势。
常用在系统底层开发,驱动程序开发,嵌入式开发,基础程序开发,以及大型的客户端游戏开发等等。比如你常用的macOS/windows/Linux系统,emacs/vim,visual studio集成开发环境,文本编辑器等等都离不开C/C++的开发。
Java为业务企业级应用而生
J***a的特点是跨平台,是比较彻底的面向对象编程语言,主要用于企业级应用尤其是服务器端开发,比如银行、电子商务、大数据等等领域用得非常多。说得夸张一点,如果没有J***a,这个世界都将是黑暗的,阿里巴巴和各大银行就是J***a使用量最多的单位,而且在复杂业务逻辑,以及大并发领域J***a目前还是有极大的优势。
但是J***a语言因为需要跨平台,中间多出来一个JVM,这就使得J***a对于硬件***消耗特别严重,你常用J***a继承开发环境IntelliJ IDEA和eclipse,尤其是IntelliJ IDEA非常占用硬件***,就是因为这货本身也是用J***a开发的。
毫无疑问,现在最火的是什么?互联网!
那么互联网领域最重要的两款编程语言就是J***aScript和PHP,PHP现在已经非常强大,尤其是在PHP7版本更新以后,在高并发上有了比较大的进步,直接威胁到J***a的江湖地位,可以说做业务开发PHP几乎是不二选择了,开发效率非常高,比起J***a明明两三句话能扯清楚的事情非要扯半天,PHP简直太友好了。
J***aScript就不用说了,前端语言,现在这货可以做后端了,而且node.js的势力越来越强大了,虽然这货坑很多,但是依然是社区最活跃的编程语言。
Python/Ruby
其实我一直觉得ruby的语法很优美,然而松本行弘设计了它却没能把Ruby带向辉煌,社区跟不上自然很难大火。
但是Python不一样,虽然这货因为某些不可描述的愿意,不得不两个版本并行,但是即使是这样,也阻止不了Python越来越火,尤其是现在越来越火,python就开始火得一塌糊涂了,Python的优势是语法极其简单,可读性非常高,入门门槛极低。作为学术研究语言再好不过了,目前在大数据分析、服务器端开发,以及非常红火的人工智能领域有着重要应用。
对于这个问题,本人是外行,但为感激邀请又不得不说几句,不然也显得太不礼貌了。
这些都是运用电脑的一些代符,其实很简单,只要在电脑上搜一下就知道,不必多问。
(很奇怪,邀请的回答怎么越来越不适合本人,所以发挥不出生活积累,太不幸了!)
首先这些语言都有着各自的特点和各自较为擅长的领域。
通常情况下:
由于语言的特性,所以它们各自都有各自更合适的领域被使用。C 写硬件驱动,
C++精密计算,编译器,
php后端,
Python,抓包,后端,
J***aScript 前端 后端,跨平台桌面应用
swift oc ios,Macos开发
易语言 外挂
c 应用非常广泛,主要用于驱动开发,操作系统底层开发,网络协议,嵌入式开发等等。
c++主要用于游戏开发,世界上大多数游戏都是用C++开发的,这就是为啥你电脑装游戏,总是让你先安装c++运行库。也有很多人用c++开发软件,多为跨平台软件。
j***a主要用于企业级发型网络应用。比如银行系统的后台,电信系统的后台,用j***a开发网站的也非常多。另外一个重要领域是安卓App开发,但是最近谷歌有慢慢摆脱j***a的趋势。
J***aScript主要用于网页前端开发。你浏览网页,除了文字,链接,图片之外的大多数效果都是用J***aScript开发的。也有一些人用J***aScript开发网站后台,但是比较少。
PHP 基本上都是用来开发网站,没有其他的。
Python是著名的万金油,应用领域非常多。有用Python开发网站的,成功的例子也非常多,比如国内的豆瓣,知乎。也有用Python做数据分析,科学计算的。Python也经常被用于系统运维工具。也有很多人用Python+QT开发桌面小软件,小游戏。最近火爆的人工智能领域,Python也是首选语言之一。此外Python还是大多数黑客使用的攻击和安全分析工具。甚至在嵌入式开发中Python也很火爆,现在很多的开源硬件都把Python作为首选开发语言。
而ruby则比较小众,成熟的应用主要是用于网站开发。当然Ruby的能力很显然不止是网站开发,但是实在是用的人比较少。
谁能用通俗易懂的语言和比喻解释手机面板上的图标(APP)可以随意拖移的原理是什么?
这个就像你 windows 桌面上的快捷方式一样,本质上,他只是通过这个图标来找到他程序运行的那个文件夹就行,因此你再怎么把它拖移,你把它从桌面的快捷方式拖移到文件夹里,拖移到其他的地方,只要他和他文件夹里面的程序保持是一致的,那他就可以打开。
再比如,在实体按键的手机时代,我们可以设置一个快捷方式,就是长按数字1键,可以打给一个固定的电话号码,长按数字2键可以打给其他的电话号码。原因就在于,我们在程序里面做了设定,设定一对应了,一个人的电话号码。
嗯还有一个例子,就像我们大家一起去公园,大家进入公园之后,都随意去不同的地方,但是我有一个通讯录,我这个通讯录呢,可以有所有人的电话,我拨打通讯录上的电话,就能找到你们每一个人,这个通讯录上的电话就像桌面上App的图标。
plc怎样理解中断功能,有没有例子说明下?
每个厂家的PLC程序都不一样,现在我以西门子***art200来对案例说明一下。
中断指令
S7-200 ***ART设置了中断功能,用于实时控制、高速处理、通信和网络等复杂和特殊的控制任务。
S7-200 ***ART 系列可编程控制器最多有38个中断源(9个预留),分为三大类:通信中断、输入/输出(I/O)中断和时基中断,S7-200 ***ART规定的中断优先由高到低依次是:通信中断、I/O中断和时基中断。每类中断中不同的中断***又有不同的优先权。
中断指令主要包括以下几种:
· ENI:全局允许中断,开放中断处理功能。
· DISI:全局禁止中断,禁止处理中断服务程序,但中断***仍然会排队等候。
· DTCH:中断分离,将中断***号与中断服务程序之间的关联切断,并禁止该中断***。
· RETI:条件中断返回,根据逻辑操作的条件,从中断服务程序中返回。
1:彻底明白中断和扫描的区别。
说到中断,就是CPU正在处理某个事情的时候,外面发生了更为急切的事情,要求你停下手头的工作,转去处理更为紧急的事情,比如你办公室正在吃饭,大领导叫你去处理事情,你放下筷子和盒饭,你就忙去了,一会忙完了,你又回来继续吃剩下的盒饭,这个过程就是中断,实现这种功能部件的叫中断系统,产生中断的请求叫中断源,对于你来说,老板就是你的中断源,你去处理事情,就叫中断响应过程,响应你老板的中断加上你处理老板的事情的过程,就叫中断服务程序。
2:那什么又叫PLC的扫描工作模式呢。
就是食堂打饭的过程。到中午,大家都按照秩序排好队,队伍的前进就是程序的执行,一个一个挨着往饭盒里打饭,按顺序执行,到你了,你说今饭难吃,不吃了,食堂继续打饭,循环,直到大家都打完了,就像你在PLC里在在线看程序一样,闭合点就会绿,PLC以非常快的速度进行扫描。你不不吃饭,你这个点就是黑的,啥时候你也吃饭了,整个队伍就彻底的执行了。
3:PLC用的是什么工作方式。
而PLC用的是循环扫描为主,中断为辅助的工作方式,PLC一直在循环扫描的执行,直到遇到中断,那就执行中断程序,等待中断的返回,不会有一直执行中断的情况,就算有,受看门狗的影响,中断程序也不能长于看门狗的定时时间。执行完后,肯定要返回。PLC因为是工业控制用,为了保持运行的稳定性,***用的就是循环扫描的工作方式。适合有大量IO
的处理。你看看一般的工业PLC程序就明白了。
plc这样理解中断功能,在理解中断时,你首先要清楚plc的运算周期或者说是扫描周期,我们有必要说下plc顺控循环执行的流程,这是理解中断的前提,必须要掌握,分为三部分,输入处理、程序处理、输出处理、
1、输入处理,可编程控制器在执行程序前,将可编程控制器的所有输入端子的ON/OFF状态读入输入映像区,程序执行过程中即使输入发生变化,输入映像区的内容也不会变化,在执行下一个循环的输入处理时读取该变化。
2、程序处理、plc根据程序内存中的指令内容,从输入映像区和其他软元件的映像区中读出各软元件的ON/OFF状态,然后从0步依次开始运算,并将每次得出的结果写入到映像区中。因此,各软元件的映像区随着程序的执行逐步改变其内容,此外,输出继电器的内部触点根据输出映像区的内容而执行动作。
3、输出处理,所有指令执行结束后,输出Y映像区中的,ON/OFF状态会传送至输出锁存内存,这个就作为可编程控制器的实际输出。
执行以一次动作所需要的时间就是运算周期也叫扫描时间,那么中断与扫描周期有什么联系呢,中断就是不按照从上到下顺序的完整执行,而是中断程序优先单独运行程序处理而且是立即输出不参与整个周期运算。中断的作用是什么呢,我们知道plc扫描周期是很短的,因此我们很难看出plc顺控执行过程,这里我们不妨***设扫描周期为10s的时间,就是执行全部的程序需要10s的时间,有一个很简单的程序LD X0,OUT Y0,根据上图当X0为ON时,Y0不是马上就有输出的,而是等到10s后才输出,断开X0后,同样Y0也不是马上就关闭的,都需要得到扫描完后才有结果。那么这样在我们实际应用中plc就没什么使用了设备就无法进行工作了,这时候就需要中断处理了,***用输入中断功能,立即执行输入。实际上plc的运算时间是很短只有几毫秒,完全能够满足需要,但一些如高频脉冲输入、脉冲捕捉等时间在微秒级的肯定要受到周期运算的影响了。
因此如果在一个周期内要完成很多次ON/OFF状态处理时,必须使用中断功能了。在我们一般情况下很少用到中断,即使需要plc的高速指令都带有中断功能无需自己专门编写中断子程序了,例如高速计数器***用中断的方式对从特定的输入继电器出来的高速脉冲进行处理,所以无论运算时间多少都可进行计数,计数的结果或是使用高速计数器专用的比较指令立即输出,或是对高速计数器的计数值用高速计数器中断方式执行特定的程序处理。
对高频脉冲进行计数不***用高速计数器进行计数,我们举例使用中断功能对高速输入进行计数,示例如下,从EI到FEND是主程序,从指针I101(输入X0的中断指针)开始到IRET是中断子程序,每当感应到X1的上升沿就执行子程序将数值立即传送到D10中,这样就避免了plc运算周期的影响。
到此,以上就是小编对于编程语言的形象比喻有哪些的问题就介绍到这了,希望介绍关于编程语言的形象比喻有哪些的3点解答对大家有用。