请原谅我的问题的愚蠢..
诸如 Adobe After Effects、Apple final cut、Pro 工具、photoshop 之类的东西……还有 Windows 媒体播放器、真实播放器之类的东西
使用什么编程语言来构建这些?
我真的很想知道,谢谢
请原谅我的问题的愚蠢..
诸如 Adobe After Effects、Apple final cut、Pro 工具、photoshop 之类的东西……还有 Windows 媒体播放器、真实播放器之类的东西
使用什么编程语言来构建这些?
我真的很想知道,谢谢
如果您在 Wikipedia 中查找许多主要应用程序,它们将有一个边框提供包括开发语言(如果已知)在内的信息。
应用程序是使用与相关领域相关的任何语言构建的。然而,由于它们无处不在的特性、最短的运行时间、通用的适用性、高性能、通过库的可扩展性以及大量的实践者,C 和 C++ 很流行。
在 Windows 上,C++ 可能比 C 更常用于大型商业应用程序,部分原因是随着 1990 年代早期 Visual C++ 和 MFC 的发布,微软将其作为 Windows 的首选开发语言。然而,随着 .NET 框架的发布,首选的开发语言不再是问题,可以使用 C#、VB.NET、C++/CLI 和其他 .NET 语言,但我所知道的主要消费应用程序很少使用 .NET(例如,如果您将出色但缓慢的 Paint.NET 与 PhotoShop Elements 的性能进行比较,您可能会明白为什么!),但它被广泛用于定制应用程序开发(例如银行业,其中客户端界面性能不是问题)。
C 语言仍然普遍用于 Linux 应用程序。Linux 本身是用 C 编写的,它的主要 API 是 C 接口。然而,有很多基于 C++ 的应用程序接口和库,尤其是对于 KDE、WxWidgets 和 Qt 等 GUI 接口。
OSX 和 iOS 应用程序通常用 Objective-C 编写,因为这是 Apple 首选的开发语言和 OS API。
Android 应用程序通常是用 Java 编写的,因为 Google Android API 是一个 Java 库。但这些通常不是“真正的大型软件” [原文如此]
您列出的那些主要是用 C 和 C++ 编写的(在 Mac 端使用了一些 Objective-C。)其他程序可能是用其他语言编写的。;)
像往常一样,C、C++、Objective C。您不需要神奇的编程语言来开发大型项目。这更多是管理和基础设施的问题。
由于对高性能的需求,许多这些“更大”的应用程序是使用允许访问系统资源(内存、cpu 等)的编程语言编写的,而无需太多抽象,以实现性能优化。允许这种访问的语言包括 C 和 C++,在某些情况下,或者程序的某些部分可能包括低级汇编语言。
由于包含机器资源访问抽象,不适合高性能(实时或近实时)编程任务的语言包括 Java、C# 和 Visual Basic。
这些不是非常“大”的应用程序,企业应用程序有时是庞大的(我更喜欢用 JAVA 构建它们:))。例如,您的电信运营商使用的流量分析应用程序。无论如何,我知道 VLC 是一个相当“大型软件”,它是使用 C++ 和 qt 制作的。
查看 Joel 的文章http://www.joelonsoftware.com/articles/FiveWorlds.html这些不同的世界在谈到编程语言时有不同的偏好。
正如其他人所说,Shrinkwrap 软件现在大多是用 C++ 或 C 编写的,对于(商业)游戏也是如此。我怀疑你不会认为一次性软件真的很大,也许嵌入式软件也是如此(但不要低估现代导航系统源代码库的大小)。
内部软件系统有时可能要大得多。有不同的首选编程语言,例如,在金融业务部门中存在用 COBOL 编写的非常大规模的系统。其他业务部门更喜欢 Java 环境或 Microsoft 编程世界(VB6、VBA、VB.NET、C#)。高速数值计算仍然使用(有时是大规模的)Fortran 程序来完成。
Joel 还提到了Web 应用程序。这样的软件系统通常使用不同的编程语言来构建系统的不同层。例如,浏览器中的 Java Script 或 Flash/Actionscript,Web 应用程序服务器上的 Ruby、Perl、Python 或 PHP 等脚本语言,以及后端程序的内部类别中提到的一些其他语言。
缺少的世界是智能手机/应用程序市场(2002 年乔尔写他的文章时还不存在)。由于市场仅发展了几年这一事实,大多数现有应用程序今天都不是很“大”。