Programming languages 哪些编程语言用于制作中型软件?

Programming languages 哪些编程语言用于制作中型软件?,programming-languages,finalcut,Programming Languages,Finalcut,请原谅我的问题愚蠢 比如Adobe After Effects、Apple final cut、专业工具、photoshop。。 还有,像Windows media player、real player之类的东西 用什么编程语言来构建它们 我对知识非常感兴趣,谢谢 < P>你列出的主要是用C和C++编写的(在MAC端有Objul-C的使用)。其他程序可以用其他语言编写。P>>P、C、C++、目标C,与往常一样。开发大型项目不需要神奇的编程语言。这更多的是一个管理和基础设施的问题。由于对高性能的需

请原谅我的问题愚蠢

比如Adobe After Effects、Apple final cut、专业工具、photoshop。。 还有,像Windows media player、real player之类的东西

用什么编程语言来构建它们


我对知识非常感兴趣,谢谢

< P>你列出的主要是用C和C++编写的(在MAC端有Objul-C的使用)。其他程序可以用其他语言编写。P>>P、C、C++、目标C,与往常一样。开发大型项目不需要神奇的编程语言。这更多的是一个管理和基础设施的问题。

由于对高性能的需求,这些“更大”的应用程序中的许多都是使用编程语言编写的,这些语言允许访问系统资源(内存、cpu等),而无需进行太多抽象,以实现性能优化。允许这种访问的语言包括C和C++,在某些情况下,或者程序的某些部分可以包括低级汇编语言。
由于包含了机器资源访问抽象,因此不适合高性能(实时或近实时)编程任务的语言包括Java、C#和Visual Basic。

这些不是非常“大”的应用程序,企业应用程序有时非常庞大(我更喜欢用Java:构建它们)。例如,您的电信运营商使用的流量分析应用程序。不管怎样,我知道VLC是一个相当大的“大软件”,它是用C++和QT.</P> < P >。如果你在维基百科中查找许多主要的应用程序,他们会有一个边箱,提供开发语言(已知的)。 应用程序是使用与相关领域相关的任何语言构建的。然而,由于其普遍存在的性质,最短的运行时间、通用的适用性、高性能、可扩展性、以及纯粹的实践者、C和C++的主体是普遍存在的。 在Windows 1990中,Windows C++可能比C更经常使用,部分原因是由于在早期的Visual C++和MFC的发布中,微软将其作为Windows的首选开发语言。然而,随着.NET framework的发布,首选的开发语言不再是一个问题,可以使用C#、VB.NET、C++/CLI和其他.NET语言,但我知道还很少有主要的消费者应用程序使用.NET(例如,如果您将优秀但速度较慢的Paint.NET与PhotoShop元素的性能进行比较,您可能会发现原因!),但它在定制应用程序开发中被广泛使用(例如,在银行业,客户端界面性能不太成问题)

C在Linux应用程序中仍然是常用的。Linux本身是用C语言编写的,它的主要API是C接口。然而,有很多基于C++的应用程序接口和库,尤其是对于GUI接口,如KDE、WxWIDGET和QT.< OSX和iOS应用程序通常使用Objective-C编写,因为Objective-C是苹果公司首选的开发语言和操作系统API


Android应用程序通常是用Java编写的,因为Google Android API是一个Java库。但这些不是典型的“真正的大型软件”[sic]

看看Joel的文章,那里描述的不同世界在编程语言方面有不同的偏好

<> P>正如其他人所说的,<强> >软件包大部分是用C++或C编写的,对于商业(<商业> <强> >,同样是正确的。我怀疑你不会认为<强>软件St/Stand是非常大的,也许对于强->嵌入式软件< /强>也适用。(但不要低估现代导航系统的源代码库的规模)

内部软件系统有时可能要大得多。有不同的首选编程语言,例如,金融业务部门中存在用COBOL编写的大型系统。其他业务部门更喜欢Java环境或Microsoft编程世界(VB6、VBA、VB.NET、C#)和高速数值计算仍然是用(有时是大规模的)Fortran程序完成的

Joel还提到了Web应用程序程序。此类软件系统通常使用不同的编程语言为系统的不同层构建。例如,浏览器中的Java脚本或Flash/Actionscript,Web应用服务器上的Ruby、Perl、Python或PHP等脚本语言,以及其他一些语言后端程序的内部类别中提到的语言


缺少的是智能手机/应用程序市场(Joel在2002年撰写文章时,智能手机/应用程序市场并不存在)。由于市场只发展了几年,这些现有应用程序中的大多数现在都不是很“大”。

尽管值得注意的是Objective-C只在Applle OSX和IOS上流行,但他认为*“真正的大型软件”*[sic]是一个有限的观点。流量分析程序呢?我承认流量分析不是最好的描述,因为用C编写的简单嗅探器可以做到这一点。我的意思是(基本上是相关子应用程序的集合)。对mods:我不是想推销任何东西,只是分享一些我对企业应用程序有限的知识。我相信还有很多其他应用程序会让这个应用程序相形见绌:)你的“Web应用程序编程”和Joel的“基于Web的商业软件”有什么区别?一个应用程序怎么不是“从互联网下载”媒介的“收缩包装”呢?你用Java构建了一个时间机器?!好文章,谢谢医生!@Pete:根据你的评论编辑了我的答案。@Rafael:构建时间机器主要是硬件问题