11

私の質問の愚かさを許してください。

Adobe After Effects、Apple Final Cut、Proツール、フォトショップなど、Windows Media Player、RealPlayerなどもあります。

それらを構築するためにどのプログラミング言語が使用されていますか?

私は本当に知りたいです、ありがとう

4

6 に答える 6

6

ウィキペディアで多くの主要なアプリケーションを検索すると、開発言語(既知の場合)を含む情報を提供するサイドボックスがあります。

アプリケーションは、問題のドメインに関連する言語を使用して構築されます。ただし、そのユビキタスな性質により、最小の実行時間、汎用の適用性、高性能、ライブラリを介した拡張性、および実践者の純粋なボディ、C、およびC++が普及しています。

Windows C ++は、大規模な商用アプリケーションでCよりも頻繁に使用される可能性があります。これは、1990年代初頭にVisual C ++とMFCがリリースされたことにより、MicrosoftがWindowsの優先開発言語にしたことも一因です。ただし、.NET Frameworkのリリースにより、推奨される開発言語はそれほど問題にならず、C#、VB.NET、C ++ / CLI、およびその他の.NET言語を使用できますが、私が知っている主要なコンシューマーアプリケーションはほとんどありません。 .NETを使用します(たとえば、優れているが遅いPaint.NETとPhotoShop Elementsのパフォーマンスを比較すると、おそらくその理由がわかります!)、ただし、特注のアプリケーション開発(たとえば、銀行部門では、クライアントインターフェイスのパフォーマンスはそれほど問題ではありません)。

Cは今でもLinuxアプリケーションで一般的に使用されています。Linux自体はCで記述されており、その主要なAPIはCインターフェースです。ただし、特にKDE、WxWidgets、QtなどのGUIインターフェイスには、C++ベースのアプリケーションインターフェイスとライブラリがたくさんあります。

OSXおよびiOSアプリケーションは、Appleが推奨する開発言語およびOS APIであるため、一般的にObjective-Cで記述されています。

Google Android APIはJavaライブラリであるため、Androidアプリケーションは通常Javaで記述されています。しかし、これらは通常「本当に大きなソフトウェア」ではありません[原文のまま]

于 2011-01-02T08:45:46.740 に答える
2

あなたがリストしたものは主にCとC++で書かれています(Mac側でObjective-Cを使用しています)。他のプログラムは他の言語で書かれているかもしれません。;)

于 2011-01-02T08:15:01.973 に答える
2

いつものように、C、C ++、ObjectiveC。大規模なプロジェクトを開発するのに、魔法のプログラミング言語は必要ありません。それは管理とインフラストラクチャの問題です。

于 2011-01-02T08:16:10.623 に答える
2

高性能が必要なため、これらの「より大きな」アプリケーションの多くは、パフォーマンスの最適化を可能にするために、多くの抽象化なしでシステムリソース(メモリ、CPUなど)にアクセスできるプログラミング言語を使用して記述されています。このようなアクセスを許可する言語には、CおよびC ++が含まれ、場合によっては、プログラムの一部に低水準のアセンブリ言語が含まれることもあります。

マシンリソースアクセスの抽象化が含まれているため、高性能(リアルタイムまたはほぼリアルタイム)プログラミングタスクに適していない言語には、Java、C#、およびVisualBasicが含まれます。

于 2011-01-02T08:26:53.020 に答える
2

それらはそれほど「大きな」アプリケーションではなく、エンタープライズアプリケーションは時々巨大です(私はJAVAでそれらを構築することを好みます:))。たとえば、通信事業者が使用するトラフィック分析用のアプリケーション。とにかく、VLCはかなり「大きなソフトウェア」であり、C++とqtを使用して作成されていることを私は知っています。

于 2011-01-02T08:35:59.367 に答える
2

Joelの記事http://www.joelonsoftware.com/articles/FiveWorlds.htmlをご覧ください。そこで説明されているさまざまな世界では、プログラミング言語に関してさまざまな好みがあります。

他の人が述べているように、シュリンクラップソフトウェアは最近ほとんどC ++またはCで書かれていますが、(商用)ゲームでも同じです。使い捨てソフトウェアをそれほど大きなものとは思わないでしょうし、おそらく同じことが組み込みソフトウェアにも当てはまります(ただし、最新のナビゲーションシステムのソースコードベースのサイズを過小評価しないでください)。

内部ソフトウェアシステムは、はるかに大きい場合があります。さまざまな推奨プログラミング言語があります。たとえば、COBOLで記述された金融ビジネスセクターには、非常に大規模なシステムが存在します。他のビジネスセクターは、Java環境またはMicrosoftプログラミングの世界(VB6、VBA、VB.NET、C#)のいずれかを好みます。また、高速の数値計算は、(場合によっては大規模な)Fortranプログラムを使用して実行されます。

Joelは、Webアプリケーションプログラムについても言及しました。このようなソフトウェアシステムは、多くの場合、システムのさまざまなレイヤーに対してさまざまなプログラミング言語を使用して構築されます。たとえば、ブラウザのJavaScriptまたはFlash/ Actionscript、WebアプリケーションサーバーのRuby、Perl、Python、PHPなどのスクリプト言語、およびバックエンドプログラムの内部カテゴリに記載されているその他の言語の一部。

欠けている世界はスマートフォン/アプリ市場です(ジョエルが彼の記事を書いた2002年には存在しませんでした)。これらの既存のアプリケーションのほとんどは、市場が数年しか進化していないという事実のために、今日ではそれほど「大きく」ありません。

于 2011-01-02T09:10:58.957 に答える