什么编程语言用于制作中型软件?

时间:2011-01-02 08:08:02

标签: programming-languages

请原谅我的问题愚蠢。

像Adobe After Effects,Apple final cut,Pro tools,photoshop等...... 此外,像Windows媒体播放器,真正的播放器

使用哪些编程语言来构建它们?

我真的很想知道,谢谢

6 个答案:

答案 0 :(得分:6)

如果您在维基百科中查找许多主要应用程序,他们将有一个侧边框提供包括开发语言(已知)的信息。

使用与相关域相关的任何语言构建应用程序。然而,由于其无处不在的性质,最小的运行时间,通用适用性,高性能,通过库的可扩展性以及纯粹的从业者,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库。但这些通常不是“非常大的软件” [原文如此]

答案 1 :(得分:2)

您列出的主要是用C和C ++编写的(在Mac端使用了一些Objective-C。)其他程序可能用其他语言编写。 ;)

答案 2 :(得分:2)

像往常一样,C,C ++,Objective C。您不需要一种神奇的编程语言来开发大型项目。这更多的是管理和基础设施问题。

答案 3 :(得分:2)

由于需要高性能,许多这些“更大”的应用程序是使用编程语言编写的,这些编程语言允许访问系统资源(内存,cpu等)而不需要很多抽象,以便进行性能优化。允许此类访问的语言包括C和C ++,在某些情况下,或者程序的某些部分可能包含低级汇编语言。

由于包含机器资源访问抽象,不适合高性能(实时或近实时)编程任务的语言包括Java,C#和Visual Basic。

答案 4 :(得分:2)

那些不是非常“大”的应用程序,企业应用程序有时是猛犸象(我更喜欢在JAVA中构建它们:))。例如,您的电信运营商使用的流量分析应用程序。无论如何我知道VLC是一个“大型软件”,它是用C ++和qt。

制作的

答案 5 :(得分:2)

看一下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等脚本语言,以及后端的 Internal 类别中提到的一些其他语言程序

缺少的世界是智能手机/应用程序市场(当Joel撰写他的文章时,2002年并不存在)。由于市场仅发展了几年,因此大多数现有应用程序今天并不是非常“大”。