百科问答小站 logo
百科问答小站 font logo



为啥有好多人说Arduino是玩具? 第1页

  

user avatar   lu-zhou-55 网友的相关建议: 
      

之前写过一篇,说明这个问题:关于使用Arduino做开发的二三理解-Arduino中文社区 - Powered by Discuz!

这里再做些补充,讨论这事的前置条件:

我们是在讨论arduino的软件还是硬件部分?

arduino硬件部分,只是一个最小系统,是用作评估,或者搭建原型用的,如果你把他当作是玩具,也是没问题的。

几乎所有的单片机开发板,你都可以把他当作是“玩具”,因为从硬件构成上讲,和arduino开发板没有区别。

通常实际量产的产品,都是要重新画pcb的,肯定是还有很多外围电路。

arduino软件部分,本质是一个C++编程框架,因为现在已经是一个事实标准,所以github已经将其列为了一门语言。讨论这部分是不是玩具,是可以的。

现在可以开始我们的讨论了,我们先看看这个观点,看是谁提出的,然后猜测一下他们为什么这样说:

1.软件工程师

如果是个软件工程师,通常他对硬件开发一知半解;

初学者可能还没分清arduino和单片机的关系。再次重申,Arduino是一个C++单片机编程框架,你可以用他开发多种 系列/型号 的单片机,常见的如:AVRSTM32MSP430ESP8266。

由于对硬件本质的不了解,或者较少的硬件开发经验,软件工程师对框架中的近似黑箱的运作没有把握。对于这种不确定,软件工程师说,"这是个玩具",也是情有可原。

但请注意,经过10多年的发展,现在的arduino已经是一个成熟的框架,bug已经很少了,软件稳定性已经很高。相信没有人敢说,自己写了一两个月的程序,比一群人精心维护了10年的程序好。

2.硬件工程师

程序仅仅是硬件开发过程中的一部分,电子电路更为重要,或者说更为玄学。对于一个有经验的程序猿来说,在开发工具的帮助下,软件bug太好定位了。但对于电路上的bug,往往都要经过分析测试,才能确定并修正,而且其过程会消耗更多的时间。而要让一个硬件更为稳定,是需要极其丰富的软硬件开发经验的。通常做软件的人都不具备这样的想法和素质,因为对软件bug来说,就是发布一个补丁或者升级包的事,而对硬件开发来说,可能是数万甚至数百万的损失。

硬件工程师,站在鄙视链高点,俯视着使用arduino轻松实现功能的用户:“这只是个玩具”。

这么想来,也是没毛病的,因为大多数用户,仅仅停留在"实现功能",确实只是到玩具级别。

但这些所谓的“玩具项目”,如果用STM32或者其他单片机厂家API开发,仍然会是个“玩具项目”,因为目标仍然是"实现功能",开发者仍然是那个开发者。

一个项目或者作品是否只是”玩具“,看的其实的是 开发者能力 和 项目目标 ,和是否用arduino本身无关。

3.杠精

杠精最喜欢的方式,就是关公战秦琼,举例说明下:

“这个汽车太垃圾啊,防弹性能肯定不如坦克”

“这个洗碗液太垃圾啦,清洁能力完全不如漂白液”

“arduino太辣鸡啦,性能完全不如树莓派”


以上回答是从arduino本身来解释“玩具”这个误解的。

这里再从其他方便补充下可能照成这种“误解”的原因。

1.arduino的发展

arduino设计之初是给非专业人士使用的,国外国内都是如此,2007年时,国内最早使用arduino的一批人,是艺术院校师生。大家都是自学编程,毫无章法,目的就是实现需求,程序上肯定是没有专业程序猿写的流畅。这批使用者可能造成了错误的既有印象。

2.硬件行业的发展

arduino,或者说各种嵌入式开发框架,在某种程度上,是硬件性能过剩的产物。诚然使用arduino会消耗更多的ram和flash,但对于大部分项目需求,单片机的性能都是有盈余的。对于非大批量生产的设备,节约开发成本和时间比节省几毛钱的硬件更重要。


有时候,我也不明白,9012了,咋还有人想不通呢?




  

相关话题

  如何防止电脑被单片机(外接电源)烧坏? 
  什么是寄存器压栈?栈是内存的一部分,寄存器是cpu一部分,怎么压? 
  为什么在项目中要尽量避免使用浮点数,不使用浮点数,那该如何计算浮点数? 
  请问如何知道I2C线上面有没有信息传输? 
  单片机为什么能直接烧录程序? 
  我现在是一名嵌入式方向的研究生,发现学的东西比做纯软件的多,工资还没他们高,嵌入式的优势到底在哪儿? 
  CPU不满载的时候,晶体管在干什么? 
  我现在是一名嵌入式方向的研究生,发现学的东西比做纯软件的多,工资还没他们高,嵌入式的优势到底在哪儿? 
  为什么51单片机编程喜欢用unsigned(无符号)类型定义变量呢直接用 int.char..不好吗? 
  Arduino写程序,怎么节省动态内存? 

前一个讨论
KJ-600已试飞,我国下一代舰载预警机会不会采用保形雷达?
下一个讨论
国内DFRobot和Seeed Studio两家哪家生产的Arduino电路板质量更好???





© 2024-12-23 - tinynew.org. All Rights Reserved.
© 2024-12-23 - tinynew.org. 保留所有权利