V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pythonee
V2EX  ›  问与答

能理解硬件有生命周期,软件为什么要搞出生命周期

  •  
  •   pythonee · 1 天前 · 3712 次点击
    好吧,准确得说,现在的厂家或开源社区搞的是软件版本生命周期。那放大到软件产品需要生命周期吗

    硬件生命周期是考虑"寿命"的缘故,不生产备件的考虑,但软件产品的"寿命"理论上应该可以是无限长的
    38 条回复    2024-12-17 22:10:23 +08:00
    jayhuang0044
        1
    jayhuang0044  
       1 天前
    站卖家角度,再思考一下.
    Tiller
        2
    Tiller  
       1 天前
    理论上而已。

    A 产品开发于 N 年前,用的还是 Spring boot 1.x ,相关 Netflix 的分布式组件也早就停止维护。客户是私有化部署,加上了大量的定制化功能。数十个客户。

    为了适应市场趋势,A 产品进行了升级重构,加入了更加先进的功能,技术栈也更新迭代到市场主流。原本开发 1.0 版本的程序员,渐渐过渡到 2.0 版本的开发

    好了,现在老客户说你们的新版本挺好用的,我也要升级,我掏钱。

    那么你选择在客户定制化的 1.0 版本进行重构,还是直接用已经重构好的 2.0 ,拉出客户分支进行修改?
    Configuration
        3
    Configuration  
       1 天前
    软件要迭代,必定会迭代出越来越多的版本,但是没有足够的人力去维护那么多版本,那么太旧的版本只能是逐步退出
    Danswerme
        4
    Danswerme  
       1 天前
    我觉得是需要的,软件产品虽然理论寿命是无限长,但实际上深受操作系统、硬件系统、乃至维护人员的影响,例如某厂商针对 Windows XP 之类的操作系统开发了某款软件,几十年后的硬件已经不支持 Windows XP 系统,该软件的运行便会收到影响。

    维护人员这个这个更好理解了,可以参考这个例子:

    https://stackoverflow.blog/2020/04/20/brush-up-your-cobol-why-is-a-60-year-old-language-suddenly-in-demand/
    shyangs
        5
    shyangs  
       1 天前
    硬體有壽命,所以軟體有壽命.

    windows XP 上用 SSD, SSD 壽命會縮短.(不如 win10)
    shyangs
        6
    shyangs  
       1 天前   ❤️ 1
    Nokia Symbian 更適應按鍵手機. 硬體改朝換代, 多點觸控誕生,Symbian 死去, 系統上的軟體也都死去.
    bruce0
        7
    bruce0  
       1 天前
    理论上是无限上, 听说国外很多地方还在用 win95,包括国内一些工厂的上位机也在用 Windows XP, 但是站在微软的角度,肯定要设置一个生命周期, 要不然不成了终身维护了, 那要付出多少成本啊
    sentinelK
        8
    sentinelK  
       1 天前
    软件的“生命周期” ≠ 寿命。
    软件的“生命周期” = 维护支持。

    也就是说,一个软件的生命周期到了,只是意味着软件失去了继续维护的服务(你不会再获得更新、修复)。生产方也不再为其未来的异常负责。

    你可以变向理解为类似“有效期”的概念。
    过了有效期的食品能吃么?不一定不能吃。但是厂商不会再为你的食物口感变化、食物中毒负责。
    0xvincebye
        9
    0xvincebye  
       1 天前
    一直维护安全补丁也很费时费力吧,还有就是对一些平台更新的兼容性这些
    wy315700
        10
    wy315700  
       1 天前
    软件的寿命 = 最后一个支持该软件的硬件的寿命

    软件的生命周期 = 最后一个该软件的补丁发布时间
    angryfish
        11
    angryfish  
       1 天前
    生命周期不等于寿命,对于软件而言,是持续的功能更新和安全保护
    yufeng0681
        12
    yufeng0681  
       1 天前
    理论结合实践
    推导/猜想要和社会现象结合去验证
    你既然有这样的想法, 那就在社会上找软件验证你的猜想是否正确。
    1 、windows 操作系统,win3.1 是不是死了(你定义的生命周期) win97 98 xp 是不是死了?
    2 、基于这些操作系统的软件是不是也算死了? wps ,flashget
    3 、有些软件看上去没死,比如 微软内置的 notepad ,怎么升级操作系统,他都是 notepad 。
    4 、基于医学设备硬件运行的软件,硬件没换,软件也没变,继续使用。直到这个硬件被替换
    也就是实际社会运行中,有死有活,活的里面有大部分迭代好几轮了,一直不变化的是硬件配套软件,越接近硬件底层的软件,变化得越少。
    wu67
        13
    wu67  
       1 天前
    按你这个问题, windows xp 就能很好的解答.
    这么多年了, xp 还能用吗? 当然能. 但是受限于 32 位、dpi 显示、硬件性能、系统漏洞、开发维护难度等等一系列原因, 他的寿命早就完结了, 只是还能跑而已

    再回到现代软件开发的问题, 现在大部分业务型(非底层)软件都是追求快速迭代交付、功能能用就行的, 代码质量堪忧、内存占用庞大、硬盘空间占用也不低, 应用结构大多早已从十几年前的 c/s 转换成 b/s 了, 按这个情况来说, 一套源码能维护个 5 年都能叫眉清目秀, 能 10 年都是大佬了, 甚至有些代码一两年后就是屎山了, 那你说作为代码产物的软件是不是应该要有生命周期.
    mingtdlb
        14
    mingtdlb  
       1 天前
    软件也分很多种吧,生命周期受很多方面影响,比较少可以一直用

    比如功能不依赖联网,但可能依赖生态啊,不就不能一直用了;还有 有厂家支持维护方面,比如涉及缺陷 软件有些 bug ,厂家一直都没解决,每次支持都是缓解措施、临时措施等,也不能一直用。总之大多数都算是订阅制吧。
    worldgg
        15
    worldgg  
       1 天前
    同一个功能的实现,10 年前的可以选择的技术方案和 10 年后的可以选择的技术方案会截然不同,用老旧的方案做的实现一般维护成本会较高,重构也是为了降低维护成本,而且可以清理掉由于业务迭代产生的废弃代码,降低维护成本
    lxh1983
        16
    lxh1983  
       1 天前   ❤️ 1
    人的思想、理念都能会过时,软件怎么就没有生命周期了?
    HancockXu
        17
    HancockXu  
       1 天前
    @Tiller #2 要升级,可以掏钱。但是现在很多软件你不买新版本,老版本就不给你用了。
    Felldeadbird
        18
    Felldeadbird  
       1 天前
    软件也有寿命的,依赖环境没了的话,你怎么解决。
    vfxx
        19
    vfxx  
       1 天前
    我至今无法理解腾讯的逻辑,为什么 QQ 的老版本也不允许登录,关键是新版本功能更差更少了。

    QQNT 是技术迭代不说什么,QQ 怀旧版把查看已退出群聊的功能也删减了,老版本有这个功能但禁止登录,聊天记录保存在本地 msg3.0.db 但不给你看, 我从用户的角度实在无法理解。

    新版本取消了一些功能,你让我用老版本也行啊,至少提前说一声让我备份下资料吧
    ixcode
        20
    ixcode  
       1 天前
    你用过国内银行的网银吗,就是那个必须有一个 xp 时代的 IE 浏览器才能打开的
    udisyue
        21
    udisyue  
       1 天前
    软件生命周期在于开发是有时代局限的,技术是其次,主要是业务,很多业务逻辑变化的很快,旧的架构升级修补可以应对一阵子,等到这些也不能再满足新的业务需求了,那就必然要推倒重做了
    novaline
        22
    novaline  
       1 天前
    万物皆有生命周期
    wind1986
        23
    wind1986  
       1 天前
    @vfxx 这有什么不好理解, 你写的代码一直兼容老版本? 感觉也就微软的兼容性能做到
    正常升级版本, 升级协议, 老功能老版本下线不是很正常么?
    AlexHsu
        24
    AlexHsu  
       1 天前
    因为屎山高度有上限 上限到了就倒了
    adoal
        25
    adoal  
       1 天前
    已经有很多 V 友回答你软件的生命周期并不是因为某个实体的寿命了。

    其实,硬件产品,或者说实体产品,作为一个物件的寿命,跟作为一个商业产品的寿命,也是不一样的。后者在根本上也是商业决策的。足够老的实体产品,即使没用坏,在商业意义上也是已经 EoL 了的。
    vfxx
        26
    vfxx  
       1 天前
    @wind1986 QQ 老版本整体代码没太大升级变化,升级了 QQNT 不支持老版本数据库我不说啥。
    数据库里有记录,相同架构的软件前端不给看,用第三方软件能破解出来,我不认为这是因为协议或技术门槛导致。
    zzNaLOGIC
        27
    zzNaLOGIC  
       1 天前
    正在改十年前老项目屎山的我,还在咒这个老项目什么时候死呢
    结果看到你的帖子差点没给我整红温。
    要是有机会高低也要让你吃饱十几年的屎山然后再来问问你软件要不要生命周期
    pythonee
        28
    pythonee  
    OP
       1 天前
    @zzNaLOGIC I'm deeply sorry to hear about that
    momo2789
        29
    momo2789  
       1 天前
    墒增不可逆,只能逐步淘汰。
    tool2dx
        30
    tool2dx  
       1 天前
    个人感觉没啥生命期,很多老软件功能不太好找替代品。不出问题,可以一直用下去。
    crysislinux
        31
    crysislinux  
       1 天前 via Android
    你只要给够钱都可以维护。给不够那别人只能看市场维护了。
    IvanLi127
        32
    IvanLi127  
       1 天前
    你混淆概念了,硬件的生命周期和每个硬件的寿命是两个概念。硬件产品是有有偿保修期的,过了就是生命周期结束,但是你手上的设备或许找就坏了没去修,或者厂家都没了还能用。

    软件就简单多了,只有生命周期和永不磨灭的二进制数据,没有寿命。
    loak
        33
    loak  
       1 天前
    类似 redhat 10 年生命周期支持,就是让你用的稳定。 稳定稳定~~

    简单的软件你天天更新也没事~~
    Donaldo
        34
    Donaldo  
       1 天前
    @vfxx #25 是怕有啥漏洞还得费力维护。
    nevin47
        35
    nevin47  
       1 天前
    生命周期是软件版本的概念,不是软件的概念

    一个版本如果没有生命周期,那就意味着一个组织(企业、开源组织、个人都有可能是这个组织)会永久性的维护它。例如 Linux Kernel 就是典型的一个被持续维护的软件,但是 Linux Kernel 的软件版本都是有严格生命周期的( https://en.wikipedia.org/wiki/Linux_kernel_version_history)
    hefish
        36
    hefish  
       1 天前
    op 哥你多想想为什么吧
    YaakovZiv
        37
    YaakovZiv  
       23 小时 34 分钟前
    我是搭配着软件物料清单 (Software Bill of Materials, SBOM )进行理解的,随着软件版本更新,软件应该在项目中有生命周期管控,应该有限范围可控。
    cmdOptionKana
        38
    cmdOptionKana  
       23 小时 27 分钟前
    @vfxx 新版要引导用户看广告啊,肯定要把老版本的用户逼到新版来。

    像 QQ 这种软件,广告商才是客户,而普通用户是货物/展览品,用户用旧版相当于货物放在旧仓库,白白浪费,肯定要转移到新货架上让客户看到,这才能产生价值。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3121 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:37 · PVG 21:37 · LAX 05:37 · JFK 08:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.