ウインドウズ(OS)や、EXCEL,WORDといったソフトはどんなプログラミング言語で書かれているのですか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは、honiyonです。



 Microsoftは何で開発しているか公開していない(と思う)のではっきりした事は分かりませんが、多分自社製品の Visual C++を用いていると思います。
 但し最近は Visual Basicを推し進めているようで、Web上でのプログラミングには VBAを使用しているかもしれません。

 その他企業の場合は様々です。 Borland Delphiを使用している所もあるようですし、Borland C++ Builderや、その他と色々と選択肢があります。 

 これらは Windowsの場合で、その一部の開発ツールの名前を挙げましたが他にもありますし、Windows以外だと更に様々な開発ツールがあります。

 参考になれば幸いです(..
 
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwordやexcelはどの言語で書かれているか

プログラミングにあまり詳しくないものです。
wordやexcelは、どのプログラミング言語で書かれているのでしょうか。
ご存知の方、教えてください。

Aベストアンサー

vc++とWindowsAPIだと聞いたことがあります。

QC,C++,VB,Java 各言語の特徴って何ですか?

C,C++,VB,Java これらの各言語の特徴や開発にあたって注意しないといけない点などを教えてください。

■背景
現行のシステムには様々な開発言語が用いられていますが、時々なぜこのシステムを開発するのにこの言語を使ったんだろう?と思うことってありませんか?
私は試行錯誤すればどの言語でも大抵のことはできると思っているせいか、いまいち言語の特徴が明確にできません。
上記の言語を比較してそれぞれどのようなことが言語の特徴となるのでしょうか?
よろしくお願いいたします。

Aベストアンサー

C言語……元々UNIXを開発する為に作られた。OS開発言語。俗に「高級アセンブリ」等と呼ばれる。開発当時のレベルでは「プラットフォーム間の差異を吸収する」移植性の高い言語だった。
これは元々UNIX自体が特定の「動作可能/保証するプラットフォームを持たなかった」為である。「移植性の高いOS」を作るための「移植性の高い言語」が開発目的の一つだった。
Algol等の「構造型プログラミング」の考え方を基盤としている。そして元々日常ユースは想定されていないし、「大きくて複雑なプログラム」を書く為のモノでもなかった。
UNIXの開発思想は「一つの目的の為の小さなプログラム」の集合体だった筈だが別のプラットフォームで大きくて複雑なプログラムを書く事に使われ初め当初の使用目的と大きく乖離していった。一つの背景に、貧弱なマシンでスピードを稼ぐには「C言語しか選択肢が無い」と言う状況が続いた為と思われる。
なお、C言語のコンパイラの最適化は他の言語を上回るケースが多く、現在ではOSの他に、Lisp、Perl、Python、Ruby等の「言語を書く為の言語」として使われるケースが多い。元々、プログラミング言語はアセンブリ言語で組み立てられるケースが多かったが、現時点その分野も前述の特徴の為、C言語に置き換わってる。

C++…基本的にはC言語にSimulaと言う言語の特徴を付け加えたモノ。最初はObjective CとかC with Classes等と呼ばれた。ただし、ここで言う「オブジェクト指向」は元々オブジェクト指向、と名乗ったSmalltalkの概念とは(被る分もあるものの)大幅に異なる。

Squeak(Smalltalk):
http://squeakland.jp/

また、厳密には「オブジェクト指向」を表す定義も存在しない。ただし、C++がポピュラーになるにつれて「C++型の」オブジェクト指向が受け入れられた。
C++は必ずしも「より良いC」は意味しない。元々のデザイナーであるStroustrupによる冗談も存在する。

http://hp.vector.co.jp/authors/VA000092/jokes/strup.html

VB……本家BASICとはかなりかけ離れたMicrosoftのプロプリエタリ言語。ただし、「Windowsで動くソフトを作る」分には最強の能力を発揮する、と思われる。また、BASICとしては最高、との評もある。
「VBのオブジェクト指向は本格的ではない」等と言った批判もあるが、前述のように元々「オブジェクト指向」自体の定義が曖昧な為、割に見当違いの批判だと思われる。
ただし、C言語やC++みたいに移植性は念頭に置いてない。また、本家BASICともコードの互換性はほぼ無い。

Java……一言で言うと改良版C++。開発者のジェームス・ゴスリングもそう述べている。提供元はSun Microsystems。
あまりに低レベル(アセンブリに近い)なC言語特有の操作(具体的にはポインタ)を止め、メモリ管理をガベージ・コレクション(ゴミ集め)に任せてる。これでプログラマがメモリ管理に頭を悩ます事が無くなった。
また、登場した70年代と違い、C言語の「移植性の利点」が薄れてきた事もあり、もう一段階上のレベルでの移植性を達成するように作られている。かいつまんで言うと、OS上の「Java仮想マシン」で動く言語、と言う構図になっている。言い換えると「コンピュータ上で動くコンピュータ」で動くアプリケーションが作れる、と言うのが特徴。プラットフォームの差はその「仮想マシン」で吸収される。
従って、CやC++等と違い、Javaのソースはネイティブコードにはコンパイルされないで仮想マシン上で動く中間コードへとコンパイルされる。
移植性はピカイチだが、反面、Java製のアプリは「コンピュータ上で動くコンピュータ」上で動く為、スピードの面で言うとCやC++で作成されたアプリに劣る、と言う欠点も持ち合わせている(ただし、色々なエミュレータなんかを見ても分かるように、近年はハードウェアの進歩により、そこまでスピードは問題では無くなって来た)。

C言語……元々UNIXを開発する為に作られた。OS開発言語。俗に「高級アセンブリ」等と呼ばれる。開発当時のレベルでは「プラットフォーム間の差異を吸収する」移植性の高い言語だった。
これは元々UNIX自体が特定の「動作可能/保証するプラットフォームを持たなかった」為である。「移植性の高いOS」を作るための「移植性の高い言語」が開発目的の一つだった。
Algol等の「構造型プログラミング」の考え方を基盤としている。そして元々日常ユースは想定されていないし、「大きくて複雑なプログラム」を書く為のモノ...続きを読む

QC言語より後に開発されたプログラミング言語は

C言語を基にして開発されたのでしょうか?

C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

Aベストアンサー

ちょっと面白いものがあります
http://gigazine.net/news/20070126_computer_languages_history/

影響は受けるでしょうが、「C言語を基に」というのはちょっと違うと思います。


ただ、関数名だけに注目した場合は別の理由もあります。

関数名は、その関数の機能を表わすような名前を付けるのが普通です。
その際、英単語がよく使われます。数学関数だと、数学用語がそのまま使われます。
そのため、同様の機能の関数は、同じ英単語/数学用語が元になることが多く、結果、同じ関数名になることが多いです。

例えば、sin関数なら、数学のsinから来たもので、特定プログラミング言語の影響とは考えにくいです。

Q動画系ソフトを作るにはどのプログラミング言語?

私はプログラミングに関して無知なのですが、勉強をしたいと思います。
動画系のソフトを作りたいのですが、どのプログラミング言語がいいでしょうか?

段階を踏んで学ばなければならない場合はそれもお願いします。

それと質問なんですが、youtubeやニコニコ動画やupstreamはどのような言語でできているのでしょうか?

Aベストアンサー

あなたの言う「動画系ソフト」とは、どんな物を指しているのでしょうか?
○作成(アニメーション、3D、シミュレーションの可視化、等)
○編集、加工(動画の結合、合成、テロップの追加、等)
○再生
○変換( mp4をwmvに、等)
○共有
ざっと思いつくところでも、これだけあります。

一般的に言えば。
動画は大量のデータに対して大量の計算を行います。そのため、高速で処理できることが望まれます。
よって、現状では、C言語(部分的にはアセンブリ)を使って最適化を計るのが普通でしょう。

また、ユーザーインターフェース(ウインドウとか、ボタンだとか)は作りやすい言語(例えば、WindowsでならC#とか)で作って、速度が必要な箇所はCで最適化したライブラリを呼び出す、というような使い方もあります。



> youtubeやニコニコ動画やupstreamはどのような言語でできているのでしょうか?

これらの共有サービスは、動画を保存してあるサーバー側と、動画を見るクライアント側とでは、事情が違います。
サーバー側については知りません。
クライアント側では、Flashが使われています。また、YouTubeでは、HTML5+Javascriptによるプレイヤーもあります

あなたの言う「動画系ソフト」とは、どんな物を指しているのでしょうか?
○作成(アニメーション、3D、シミュレーションの可視化、等)
○編集、加工(動画の結合、合成、テロップの追加、等)
○再生
○変換( mp4をwmvに、等)
○共有
ざっと思いつくところでも、これだけあります。

一般的に言えば。
動画は大量のデータに対して大量の計算を行います。そのため、高速で処理できることが望まれます。
よって、現状では、C言語(部分的にはアセンブリ)を使って最適化を計るのが普通でしょう。

また、ユーザーインターフェ...続きを読む

Qプログラミング言語(主に通信中心に使うなら)何の言語がいいですか?

タイトルどおりなんですが、通信中心に使うとなれば、なんのプログラム言語が一番なんですかね?
Winnyとかは、BorlandC++とからしいですが。

Aベストアンサー

通信中心とのことですので、重いのはやめたほうが良いと思います。メモリ消費が激しいものも適さないでしょう。
となると C/C++あたりになりませんかね。
Java,VB,Delphi,Kylix,PHP等ソケットはほとんどのメジャーな言語で使えますが、直接OSのAPIを利用できる言語が良いと思います。


人気Q&Aランキング

おすすめ情報