首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解释为所有的C++编写通用的跨平台OSes代码和发布产品并不是那么容易?

如何解释为所有的C++编写通用的跨平台OSes代码和发布产品并不是那么容易?
EN

Software Engineering用户
提问于 2011-03-18 06:55:43
回答 6查看 6.3K关注 0票数 15

我们公司为Windows提供了一系列桌面产品,许多Linux用户在论坛上抱怨说,我们应该在几年前为Linux编写产品的版本,而我们不这么做的原因是

  • 我们是个贪婪的公司
  • 我们所有的技术专家都是不合格的白痴。

我们的平均产品大约是300万行C++代码。

我和我的同事的分析如下:

  • 编写跨平台C++代码并不是那么容易。
  • 准备大量的发行包并为所有广泛版本的Linux进行维护都需要时间。
  • 我们估计Linux市场大约占所有用户的5-15%,而那些用户可能不愿意为我们的努力付出代价。

当提到这个问题时,我们的反应再次是,我们是贪婪、不合格的白痴,当一切都做好的时候,这一切都是简单而无痛的。

我们对编写跨平台代码和维护大量分配包这一事实的评估有多合理?我们在哪里可以找到一些简单而详细的分析与真实的生活故事,显示出一个毫无疑问的阴影,它到底需要多少努力?

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2011-03-18 18:27:45

记住,大多数人都是雇员,因此,他们并不生活在一个需要关心利润的世界。他们出现在工作,做他们的事情,回家,从来没有真正考虑整个过程如何运作。虽然非常聪明,但许多技术人员对商业确实一无所知,而且常常被教条蒙蔽。

当然,你是对的,制作这样规模的x平台软件并不是一件简单的事情。尤其是当你没有一家拥有数十个开发人员和数百万用户的公司时。这不仅仅是技术上的限制。这一切都是关于成本与效益的关系。是的,你可以花在明年把这个应用移植到Linux上(尽管,正如你注意到的,它已经可以在葡萄酒中运行)。当然,这一年的发展时间并不是自由的。最后,你可能会增加5-15%的用户(根据你的估计)。或者你也可以拿同样的钱/精力,把它作为一个新的版本集中在你的Windows开发中,或者把它全部投入市场,然后给你的用户基础增加50%。哪个听起来像是明智的选择?(显然,这些数字需要根据您的公司定制,最终结果可能更有利于移植)。

我不知道这是否有助于说服‘真正的信徒’,但这是明智的商业行动。如果你不采取明智的商业行动,你就会破产。然后就不会有Linux版本了。

票数 8
EN

Software Engineering用户

发布于 2011-03-18 21:56:50

在这里,我认为有两件事需要考虑:

首先,在某种程度上,他们是对的。如果您从一开始就计划编写跨平台C++,那么编写它也不是那么困难。这几乎是你所看到的问题。大多数开源应用程序( Linux用户平均每天接触的大多数应用程序)都是荒谬的跨平台应用程序。想想普通Linux用户每天使用C或C++编写的应用程序的数量,这些应用程序不仅在Windows和Linux上运行,而且在x86、x86-64、ARM、SPARC等平台上运行MacOS、BSD、Solaris等。这部分是因为人们渴望抓取代码,以便在他们的系统上运行,也是因为那时的惯例是计划跨平台的可移植性。

第二件事是,市场可能比你想象的更可行。有一种巨大的误解,认为Linux上的人不想为软件付费。对于某些人来说,这可能是真的,但是有很多人(我认为大多数人)使用Linux是因为Linux对他们更好,他们更喜欢Linux,而不是因为价格。此外,如果您的公司正在生产一种主要用于专业环境的产品,那么公司很习惯于为在Linux系统上运行的软件付费。

至于您对打包的看法,正如其他人所说的,您确实需要为主要发行版的最新版本生成包。实际上,制作软件包并不是很难,大多数主要发行版都使用debian包(debian、ubuntu等)。或者RPM (fedora、suse、centos、mandrake),因此修改一些脚本以从基线.deb和基线.rpm生成多个包是很小的,对于其他人来说,只要抛出一个带有二进制文件和自述文件的tarball,人们就会知道如何安装它。或者,您可以跳过所有打包,只需使用bash或perl脚本发布一个tarball即可完成安装。

至于如何在你的论坛上向用户投诉,就像乔·英特( Joe Internet )所说的那样,他们可能只是不管发生什么事都会抱怨的人的比例,但我要做的第一件事就是解释一下,你有大量的遗留代码,而这些代码的设计考虑到了跨平台的支持。第二,诚实地看看它是否会为Linux端口提供财政支持,并公开其结果。最后,如果一个港口在财政上是不可行的,请看如何做一些工作,使该计划与葡萄酒良好的工作。葡萄酒不应该是第一个解决方案,但它很可能安抚那些只想在Linux上使用你的应用程序的人,而且比一个完整的端口更便宜。事实上,如果您将代码添加到葡萄酒代码库中作为项目的一部分,那么您不仅可以向一个新的市场开放,而且还可以从社区获得很大的善意。

票数 16
EN

Software Engineering用户

发布于 2011-03-18 07:53:54

Adobe,是你吗?

不过,说真的,可以提供一些奖励,这样他们就可以预先订购Linux版本了。如果你得到足够的订单,使一个港口值得它的时间,否则退款,你现在有足够的证据,没有足够的人关心,使它值得。

如果您得到了一些移植,只需针对最新的Ubuntu发行版,RHEL,SLED,或者提供一个tar.gz用户可以尝试工作,如果他们想使用其他东西。这就给你留下了3个包要担心的问题,其他人可能对tar.gz版本有足够的了解。

票数 10
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/59322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档