下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

编程语言为什么要开源其技术?

作者:闻数起舞     来源: 今日头条点击数:1177发布时间: 2020-09-09 11:17:33

标签: 编程语言Python开发

大神带你学编程,欢迎选课

大公司为什么要开源其技术?虽然大多数的语言可以既可被编译又可被解译,但大多数仅在一种情况下能够良好运行。在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。这种常用的使用技巧最早在1960年代末用于BCPL,编译程序先编译一个叫做“0代码”的转换程序(representation),然后再使用虚拟器转换到可以运行于机器上的真实代码。这种成功的技巧之后又用于Pascal和P-code,以及Smalltalk和二进制码,在很多时候,中间过渡的代码往往是解译,而不是编译的。

 像Google和Microsoft这样的大公司,总是将其大多数技术开源。 这些技术巨头投资了自己的广告牌,但是在将其公开之后,每个人都可以免费使用。 但是我有一个问题,这些大型科技公司会得到什么回报?

编程语言为什么要开源其技术?_编程语言_Python_开发_课课家

在90年代后期,考虑将其技术公之于众对于技术公司来说是一个坏策略。 他们总是试图隐藏和保护自己的技术。 2020年,科技公司使他们的技术成为主流。

年收入10亿美元的比较赚钱的科技公司,其主要技术是开源的,如RedHat,Cloudera,mongodb,Spark等。

Facebook,Google和其他科技巨头赋予开源巨大的重要性,以收集新的创新并建立一个庞大的开发社区。

例如,Flutter与本机反应,Tenserflow与Py火炬等。 在这些技术巨头中,Google和Facebook是开发人员和以客户为中心的贡献,而Microsoft和AWS在开放源代码上更以企业为中心。 但是,为什么公司将其技术开源?

持续创新:

实际上,开源是一个不断创新的产业。 您将由大多数开发人员使用,如果他们发现了一些错误,或者如果他们改进了一些错误,那么最终您对技术创新的了解将成倍增长。 公司将以不同的角度从代码中识别出潜在的问题,最终数以百万计的技术爱好者将致力于为您开发这项技术。 与低成本和低时间相比,它实际上具有强大的功能。

当然,公司保留了为该项目做出贡献的主要员工,并且他们在管理新的贡献方面发挥着重要作用。 此外,这给了他们比雇用他们更多的机会。 最后,它构成了一个很大的社区,而公司是该社区的负责人。

有时,开源可能不是首选:

毫无疑问,在RedHat,MongoDB等特定的业务用例中,开源是有利可图的。在人工智能方面,先进的,不可预测的且对研究人员来说要想利用他们的想法和研究资金就可以实现开源。

示例-Elon Mask的OpenAI最初是一个非盈利性研究实验室,但在与Microsoft合作之后,他们通过商业API(而不是开源)进行所有创新。

热门开源项目

1. Visual Studio代码:

它是由Microsoft开发的开源免费代码编辑器。 根据堆栈溢出,它被评为很受欢迎的开发人员环境。

2. TensorFlow:

TensorFlow是Google开发的高性能数字计算开源机器学习框架。 它支持API来开发初学者和专家级的基于云的应用程序。

3. Ansible:

Ansible是一种IT自动化工具。 它是用Python语言编写的,其用法为YAML,两者都相对易于学习。

4.Vault:

它是用于密钥管理的工具。 保险柜为任何机密提供统一的界面,同时提供严格的访问控制并记录详细的审核日志。

5. Kubernetes:

Kubernetes是一个开放源代码的容器编排系统,旨在自动进行部署和扩展以及容器化应用程序的管理。 它是由Google开发的,现在没有5个开源项目。

实际上,还有许多其他流行的开发工具可用。 这里只列出了其中的五个。

在科技巨头中,苹果,微软等公司对开源非常友好,它们使开源产品(如库等)数量有限。与其他科技巨头相比,它们对整个生态系统的贡献很小。

如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就被成为编译。因此,一个编译器是一个将人可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。

赞(14)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程