程序员在写代码的时候bug太多会给计算机造成损坏吗?为什么?

魏晋美人


你好,我是一名开发老司机,5年php开发经验。PHP主要用来做web开发。我也用php做过文件处理系统,也有作为小程序,h5,app等之类的后端开发语言。

首先,任何人在开发的过程中都会有bug,没有人能保证不出现bug,bug被测试出来,就要积极的去修复bug。测试环节也至关重要。开发过程中要尽量避免低级错误,注重程序性能的优化。

前面有点跑题了,这里说说bug会对电脑硬件有损害吗?答案是:会有。这里我回答的有,是指计算死循环,cpu使用过渡,内存过渡溢出导致的计算机出现死机,蓝屏,更有甚者cpu烧坏等这些。这种极端条件下,会对计算机造成严重的损害。不过你不要担心,这种严重事故,基本上上线之前就会被测试出来,所以题主无需担心。

题主肯定也见到过某某网站出现bug,系统瘫痪。这种很大程度是由于并发,造成的一些列问题,例如:数据库宕机,redis雪崩,缓存击穿等。这些问题有影响的只是软件公司的服务器,而非个人自己的电脑?

现在科技发展速度迅速,电子产品更新换代非常快,部分电子元器件的价格大家也很容易接受。前几年内存条价格比较昂贵,现在降了很多了。所以我们电脑也会经常升级换代,所以无需担心程序开发导致电脑损坏。

总结:程序开发过程中基本上bug过多不会导致计算机损害。


西瓜有点胖


你好,一个具有八年嵌入式底层驱动程序设计经验的工程师回答你提出的问题,程序员在写代码的时候Bug太多会给计算机造成损坏吗?为什么?答案是大部分情况下不会造成计算机的损坏,极端情况下可能,分析如下:

一、程序设计的分类

随着现代社会的不断发展,我们的软件分类越来越多,传统的软件一般分为底层驱动启动代码

操作系统中间件和应用软件等。可以说每个层次的软件地位划分不同,一般启动代码和驱动程序更加接近硬件设备,而操作系统和应用软件一般上可认为是纯软的设计,它们距离硬件系统稍远一些。

二、不同类型程序的访问特点

像Linux或者Windows这样的操作系统,对于内部的进程存储空间是有保护的,也就是说,如果你在桌面系统上编写一个应用软件,由于操作系统的保护,最多也就是访问越界,造成操作系统进入异常处理,终止你的应用进程。所以,如果只是在桌面系统上开发应用软件,那么基本不可能造成硬件的损坏。如果是驱动程序或者我们说的Boot软件,它们启动时具有硬件芯片最高的访问权限,一般都会涉及一些最接近芯片内核的代码,还有各种外设接口的硬件访问控制,也就是说整个芯片都随便由其处置,那么Bug程序如果产生在这样的软件之中,极端情况下,就有可能损伤硬件的。


三、列举一个硬件可能损坏的情况

我举一个嵌入式系统的例子,假如我们的Bug程序会不断的擦写我们的非易失性存储器,比如NorFlash或者NandFlash,又或者EEPROM,每次上电或者异常都要不停的擦写,假如擦写了上百万次(当然这只是一个假设,Bug也不会存在那么久),那么NorFlash可能就会坏掉,Nand产生N多个坏块,基本上也会报废。所以从程序的访问特点来看,驱动程序更接近硬件,Bug可能会造成硬件损坏。

总结以上分析得出,如果只是在计算机桌面系统中开发应用软件,由于系统的保护,基本不会出现损伤硬件的情况,如果是底层驱动的代码有Bug,极端情况下,会有损伤坏硬件的可能。


以上是我的观点,希望可以帮到你,喜欢的话欢迎点赞和关注哦!


瓶凡科技营


原则上程序员写代码调试对于计算机的冲击是有限的,但编程来讲不是什么都是绝对的,如果是windows编程写的代码对于cpu或者硬盘有非常大的冲击,也会造成计算机损害但这种概率还是非常低的,所以对于软件开发来讲可以进行无数次的试错,而且成本代价很低,这是软件开发相比硬件要好的地方。硬件的开发试错成本就会提升很多,硬件的试错需要具体的器件,如果运行不成功很可能导致器件的损坏。

要说软件的操作对于具体器件没有损害,这种话是不对的因为在具体实施过程中,通过软件来控制硬件的,特别是一些冲击力比较大的硬件如果软件控制的时序不对,也会造成硬件的损伤,所以硬件和软件整体来讲是不分家的,硬件不会具体脱离软件而去运行,软件的控制硬件的时序不当也会造成期间受到巨大损失。

程序员在具体写代码的过程中经常出现bug是非常常见的事情,特别是对于一些新手由于对规则讲述不清晰也会造成问题的出现,新手在写代码的时候更加容易出现一些异常的错误,因为新手在具体实施过程中可能基本的代码逻辑都会存在问题,更不要说是设计逻辑上的问题。即使非常成熟的程序员写的代码也会有bug的存在,因为代码的细节还是非常繁多,而且只要是软件产品就会有bug的存在,即使是已经运行多年的产品,如同只要是上网的设备都可能存在被攻击的可能性。

如何避免写的代码出现bug,根本问题在于多做不要怕写代码同样的问题出现多了,自然就会想办法去规避问题,所以越是经验丰富的程序员越是对代码的把握能力强,而且老程序员在对待出现的问题还能推演出不对的问题所在,所以经历项目多的程序员在处理紧急问题时候表现的更加沉稳。

好的程序代码在运行过程中不但损耗少,而且还非常的稳定,如果写的代码对于硬件资源占据的比例非常大,长时间运行系统就容易变得不稳定,同样是一直在运行的程序但是用的时间长就能看出好坏了,bug是程序开发过程中必不可少的因子,也是程序员成长过程中必然要经历的事,解决的bug越多经验显得越丰富,涉及到嵌入式的软件开发对于硬件的控制就要加倍小心了,因为硬件需要在合适的工作环境下工作,像强电的操作如果软件控制的时序不对,就会造成器件的损坏,用软件控制硬件的场景使用的就非常多,关键器件的工作是需要合适的条件的,硬件在非常规下运行的时间长了,自然就会缩短寿命了,希望能帮到你。


分享到:


相關文章: