- 主题:阿里云推出工控软件平台
硬件hardware上跑的叫程序programme
软件software是指用某种编程语言写出来的跑在非硬件本体上的程序
什么software还能不在硬件上跑?你是说主机不是硬件, 还是说linux跑在主机上,所以linux是linux是programme 然后这个跑在linux上的东西就不是programme ?
【 在 Oriphia 的大作中提到: 】
: 我说的这些在硬件hardware上跑的叫程序programme,软件software是指用某种编程语言写出来的跑在非硬件本体上的程序。
:
--
FROM 165.225.233.*
哎哟,这不是在请教有常识的人来让自己有常识吗
programme经过gcc编译成机器语言的二进制文件,再烧录在硬件的指定起始位置的内存空间(程序入口programme entry)上,不同感觉硬件对应的程序入口地址不一样,对于不同硬件需要重新编译,没有移植性。
那按照你这个说法,linux本身是programme还是software?还是说GRUB这样的bootloader才是programme?还是说更固化的比如bios里的东西才是programme?毕竟磁盘上的bootloader也是被BIOS里某些代码启动的对吧
【 在 Oriphia 的大作中提到: 】
: 请有点常识再发言,有点基础知识的人都知道programme的刷写用的是flash或者upload的动词,software用的是install或者setup,这能是同一种东西?
: programme经过gcc编译成机器语言的二进制文件,再烧录在硬件的指定起始位置的内存空间(程序入口programme entry)上,不同感觉硬件对应的程序入口地址不一样,对于不同硬件需要重新编译,没有移植性。
: software是高级语言编写的可执行文件,运行在OS上的,运行前无需二次编译,安装起始位置可以在任何地址,程序有移植性,可以在OS支持的所有兼容硬件上运行。
: ...................
--
FROM 165.225.233.*
看这说话的态度,那我也对等一下吧
你这什么屁话,bootloader 不用install的你怎么写到磁盘里去的?
另外,根据我的观察,一个人对自己的理论特别自信就会特别想给别人讲明白或者辩论,甚至那些民科他们都超级喜欢拉别人听的他们的理论,因为他们深信他们说的是对的。
而有的人对自己的想法或者作品很没自信,这样别人一和他讨论问题态度就奇差,因为他们下意识的要用这种刺猬的方式让别人不要继续和他讨论问题,来防止自己出糗。
【 在 Oriphia 的大作中提到: 】
: 这不废话吗,你装个linux用flash这个动词的吗?bootloader用install的吗?
:
--
FROM 165.225.233.*
安装在磁盘上的bootloader是software
你又说 software是高级语言编写的可执行文件,运行在OS上的,运行前无需二次编译,安装起始位置可以在任何地址,程序有移植性,可以在OS支持的所有兼容硬件上运行。
你看bootloader符合这个定义吗?
【 在 Oriphia 的大作中提到: 】
: 那你自己都说了是安装在磁盘上的bootloader,那肯定是软件,那我嵌入式在programme之前加载的bootloader不就是programme了吗,硬件的bootloader是出厂烧死的,连flash都不行还能uninstall?
: [upload=1][/upload]
:
--
FROM 165.225.233.*
移植的概念先不谈了,又有争议估计
但是所有的BootLoader它都是硬件相关的,即使它不是“烧录”在硬件上,但对于不同硬件确实需要重新编译。它也不是运行在OS上的。
按你的分类很难说它是programme还是software。还有就是driver,它虽然工作在os上,也是安装的,但实际上它又绝对硬件相关而且操作的也是硬件,够“底层”。
【 在 Oriphia 的大作中提到: 】
: 你要说的是哪种bootloader?嵌入式的bootloader就是烧死在0x00000000,没有移植性的。
: 你说的那种能写在磁盘上的bootloader明显底层还有bios,bios还能设定引导区的起始地址,不然你多磁盘怎么起动?在这种bootloader下设参明显是在bios里设的,为什么不能移植?
:
--
FROM 165.225.233.*
其实你说了这么多,还是没有明确你说的后一部分bootloader还有现代os里的driver它也是硬件相关的,但你把他叫software。
所以这个分类法不是很准确。我觉得广义上来说你说的program和software都是software,都是软件。只是你说的program更偏向于底层,控制硬件本身,你说的software更偏向于抽象、通用。
有个感觉,不知道对不对,你似乎比较欣赏program,鄙视你说的software,这一点其实大可不必。分工不同,需求不同。
【 在 Oriphia 的大作中提到: 】
: 我给你跑一个最简单的programme和software执行效率对比,从打开蓝牙到蓝牙开始广播的系统总耗时,对比双方是一颗单核160MHz的的SOC,和微信小程序+MATE20PRO。
: 小程序耗时1595ms,soc耗时325.069ms,耗时差了5倍,而且soc的主频只有160MHz,这速度的差异,怎么可能分不清programme和software。
: [upload=1][/upload]
: ...................
--
FROM 34.99.13.*
那你再明确说说程序和软件的界线
看起来你原来的那个分类标准是错的,很多地方不适用。
【 在 Oriphia 的大作中提到: 】
: 是否与硬件相关不是程序和软件的界线。
: 那你肯定不了解工业领域用的PLC可编程控制器,IEC 61131-3规定的五种编程语言(指令表,阶梯图,功能区块图,结构化文字,顺序功能流程图),除了结构化文字还有点像高级语言外,其他都不可能是software,只是在MCU的领域,基于python的编程才会让你有program和software是一种东西的错觉。
: program和software各有应用局限性,对于全栈应用来说,混着用才是常态。program的速度快,但做人机界面复杂;安卓APP速度比小程序快,但IOS不能用。我从来没有鄙视过software,相反,因为每台手机都有微信,所以我用得最多的前端反而是效率最低的小程序,因为不需要安卓和IOS分别做前端。
: ...................
--
FROM 34.99.13.*
我不是硬件业内人士,但我也接触到
也许你们内部用programme来自称,但是认为这就是一个正确的分类还普及给别人就不要了吧
你其实就是把所有需要flash甚至说必须是出厂自带的东西叫program。至于异步运行逻辑、回调函数、线程管理的逻辑,和是不是flash进去的,是不是硬件厂商出厂自带一点关系也没有。可能没有人会说flash一个software,但据此说program不是software就是逻辑错误了。白马非马 坚石非石吗?
比如没有人会说,那个动物可以说汉语英语日语意大利语四国语言呢,都会说那个人***,
按你的逻辑,人不是动物咯?在我的分类里,software是个大分类,安卓ios应用,linux,bootloader bios的代码都是software。
如果你说那些program是程序不是应用,我就觉得合理了。
【 在 Oriphia 的大作中提到: 】
: 那就是前面的标准,大体就是那样,再往细了说,异步运行逻辑、回调函数、线程管理的逻辑都不一样,如果你不需要接触到硬件,分不清很正常,等你用到就明白了。
: 这标准也不是我定的,反正现在就是这么分的,programme就是flash\upload,没有人会说flash一个software。
:
--
FROM 34.99.13.*
还要强撑下去?program不是software?firmware不是software?
随便一搜不就有了吗
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware.
Firmware is software that provides basic machine instructions that allow the hardware to function and communicate with other software running on a device. Firmware provides low-level control for a device's hardware.
【 在 Oriphia 的大作中提到: 】
: 那我随便给你找一本硬件编程手册给你看,在overview的concept部分,这里的是不是定义了bootloader就是一个programme?白纸黑字这没有异意了吧。
: 这里还有一个firmware固件的概念,固件包括user data和user programme两部分,firmware难道也等于software吗。
: 你理解不了,那是你的问题,所有的硬件手册就是用的programme,这是客观现实。说我不能这样科普,那是不是叫做抛开事实不谈?
: ...................
--
FROM 34.99.13.*
这,你不会以为computing就只能是computer吧
英文的computing的意义可太广泛了
算了算了,你开心就好。就当firmware bootloader不是软件吧。我也是闲的
【 在 Oriphia 的大作中提到: 】
: 第一句不是说了对于computing来说吗?这定义能推广到其它数字芯片?
: 那你不去搜一下“what's the different from program and software”
:
--
FROM 165.225.233.*