请原谅我的问题愚蠢..
像Adobe After Effects,Apple final cut,Pro tools,photoshop等...... 还有,像Windows媒体播放器,真正的播放器
使用哪些编程语言来构建它们?
我真的很有兴趣知道,谢谢
请原谅我的问题愚蠢..
像Adobe After Effects,Apple final cut,Pro tools,photoshop等...... 还有,像Windows媒体播放器,真正的播放器
使用哪些编程语言来构建它们?
我真的很有兴趣知道,谢谢
如果您在维基百科中查找许多主要应用程序,他们将有一个侧边框提供包括开发语言(已知)的信息。
应用程序使用与相关域相关的任何语言构建。然而,由于其无处不在的性质,最小的运行时间,通用适用性,高性能,通过库的可扩展性以及从业者的纯粹体,C和C ++是普遍的。
在Windows上,对于大规模商业应用程序,C ++可能比C更常用,部分原因是随着1990年代早期Visual C ++和MFC的发布,Microsoft将其作为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 那些描述的不同世界在编程语言方面有不同的偏好。
正如其他人所说, 收缩软件 现在主要用C ++或C编写,同样适用于(商业) 游戏。我怀疑你不会考虑 一次性软件 非常大,也许同样适用 嵌入式软件 (但不要低估现代导航系统源代码库的大小)。
内部 软件系统有时可能更大。存在不同的优选编程语言,例如,在COBOL中用金融业务部门存在真正的大规模系统。其他业务部门更喜欢Java环境或Microsoft编程世界(VB6,VBA,VB.NET,C#)。高速数值计算仍然使用(有时是大规模的)Fortran程序。
乔尔也提到了 Web应用程序。这些软件系统通常使用不同的编程语言为系统的不同层构建。例如,浏览器中的Java Script或Flash / Actionscript,Web应用程序服务器上的Ruby,Perl,Python或PHP等脚本语言,以及其中提到的一些其他语言。 内部 后端程序的类别。
缺少的世界是智能手机/应用程序市场(当Joel撰写他的文章时,2002年并不存在)。由于市场仅发展了几年,因此大多数现有应用程序今天并不是非常“大”。