• ベストアンサー

プログラミングソフトに打ち込むのは何語でしょうか?

今、プログラミングを勉強中の初心者です。 以前C言語を勉強していました。そのときosはリナックスを使っていましたが、何にC言語を入力していたのか覚えていません。また、Javaを勉強中ですが、実際練習しようとしても何(例えばwordやmemopad)に勉強したJavaを入力したらつかえるのか分かりません。実際仕事で役立つのは、自分が使うパソコンにその言語を対象とするプログラミングソフトが入っていないと意味ないので、役立つのかな?っと思っています。 VBA語はなじみが深くexelVBAで使っています。あと、最近コマンドプロンプトというものがwimndowsに入っていることを知りました。これも文字を打ち込むことでパソコンが動くのでプログラミングソフトといえると思います。でも、memopadと入力しても動くのでいったい何語を対象としているのか疑問に思っています。 ・Java, C,VBAなどそれぞれの言語が使えるプログラミングソフトにはどういうものがあるのか,・コマンドプロンプトは何語を対象としているのか,・2言語以上に対応しているプログラミングソフトがあるのか」という点について教えてください。 ちょっと頭が混乱していて的外れな質問かもしれませんが、アドバイスいただけたらうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.5

> それらが、フリーでダウンロード可能なのか、 大抵の言語には、無料のコンパイラがあります。 > もし可能ならダウンロードして使ってみたいです。 とりあえず、Javaと、C/C++の無料版を以下にあげます。 コンパイラを直接使うと動きが分かりやすいこともあり、最初の言語の勉強にはいいかもしれませんが、 現実には開発環境で使う方が楽ですし、実務ではそれが普通なので、 開発環境で入手した方が役に立つのかなぁとは思います。 # 開発環境でもコンパイラは付いてますので、それを直接使うことは可能です。 ■Java ・SDK (Sun Microsystems) コンパイラ等が入ってます   http://java.sun.com/javase/index.jsp ・Eclipse (Eclipse.org) 開発環境:上記SDKを含み、エディタなどが統合してあります   http://www.eclipse.org/ ・NetBeansやJBuilderなど、他にも無料提供(ユーザ登録が必要なものも含め)はあります。 ■C/C++ (C言語とC++は大抵同じコンパイラで両対応してます:C++/CLIやC#, Objective-Cなどはコンパイラ次第です) ・Visual C++ (Microsoft)   http://www.microsoft.com/japan/msdn/vstudio/Express/ ・GNU GCC (Minimalist GNU for Windows)   http://www.mingw.org/  他にも、Borland C++とかDigital MarsとかLSI Cとか…  Javaは事実上Sun Microsystemsのものが標準ですが、CやC++はいろいろとあります。  ただし、無料の有名どころはこのあたりです。  GCCはコンパイラとツールしかなく、Visual C++は統合環境を含みます。  なれると便利なのはVisual C++でしょうか。  Visual C++は有料の製品もあり、こちらはWindows用アプリなどが作りやすくなる機能が搭載されてますが、  言語の勉強で最初に触ってみる程度は無料のExpress版でも十分です。

morningood
質問者

お礼

ありがとうございます。 コンパイラなどダウンロードして 使ってみようと思います。 上手にプログラミングができるように勉強も がんばりたいです。 お世話になりました。

その他の回答 (4)

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.4

No.2です。  Linux上のC言語のご経験があるとのことなので、参考にそのプログラミングから機械語(バイナリー)を得るまでを簡単に追ってみますね。  最初に viなどのテキストエディタでC言語プログラムを書きますよね。  その後、機械語(バイナリー=a.out)を得るためにコンパイルは.. (1)最初にテキストのプログラムを解釈して一度ニーモニックに翻訳します。 (2)次にアセンブラを使ってニーモニックをアセンブルして機械語を得ます。この段階で得られた機械語は「オブジェクト」と呼ばれます。 (3)このオブジェクトに必要な組み込み関数をライブラリ(に格納されている機械語)をリンカーでオブジェクトにくっつけて実行可能な機械語(バイナリー)が得る。   これら一連の作業を手助けしてくれるツールが make です。 >ExcelVBAは、テキストエディタとコンパイラ(インタープリター)が一緒になっていると考えてよいのでしょうか?入力もマクロの実行もこれ1つでできるので・・  (^_^)先のようにコンパイラーは機械語(WindowsならEXE形式のバイナリーファイル)得るものなので、ExcelVBAは、正確にはプログラミングに特化したテキストエディタとインタープリターがセットになっていると考えてください。  インタープリター本体は、Excelに組み込まれていてExcelが無いと実行できませんよね。これがインタプリター型言語の特徴です。

morningood
質問者

お礼

ありがとうございます。 大変勉強になりました。 実行ボタンを押すだけで、いろいろなことを 機械がやってくれていたのですね。 普段は意識しないですけど、過程を考えるのは 難しいですがとても有意義ですね。 お世話になりました。

noname#188325
noname#188325
回答No.3

本屋に行けば多くの手引書が出ていますのでプログラミングをお考えなら、 プログラムの概念について勉強される必要があるように思われます。 簡単に説明しておきます。 プログラミング言語について。 プログラミング言語の形式としては一般的に下記のようなものがあります。 (A)機 械 語 (B)アッセンブラー (C)コンパイラー (A)機械語形式 通常データと同じく何桁かの数値及び符号の組み合わせで表現します。 1命令はいくつかの部分に機能的に分けられており、命令の種類、記憶のアドレス等 処理に必要なかずかずの指定を行うようになっています。 <非常に解りにくく、プログラムを組むのに大変苦労します> (B)アッセンブラー形式 機能的には機械語と大体同じ機能を持たせ、 その表現形式をより解りやすい形式にし、扱いやすいようにしたものです。 (C)コンパイラー形式 表面的には機械語の個々の機能から離れて、 もっと大きな単位で機能的にも形式的にも日常用語に近い形式で考えられたものです。 <現在はプログラミング言語と云えばこれを指します>

morningood
質問者

お礼

ありがとうございます。 言語にもそれぞれに特徴があるのですね。 機械語は、あまりコンパイルする必要性は感じませんが、 ただプログラムを作るのにとても苦労しそうですね。 勉強になりました。

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.2

こんにちは  最初に何からメッセージすべきかな(--;?  コンピュータは、プログラムによって動くものですが、本来は2進数で定義された機械語(マシン語またはバイナリー)で動くものなんです。  しかし、2進数ではプログラミングが難しい..  2進数は0と1の組み合わせですから、その羅列のパターンを覚えるのも困難なら2進数でデータを用意するのも困難です。  そこで、機械語と対に想像しやすい単語の一覧表を作り、プログラミングは、その単語をテキストデータを編集することで行ない、出来たものを一覧表から機械語に翻訳する様になって行きました。 その単語を「ニーモニック」と呼び、テキストデータのニーモニックを編集するものを「エディター」、自動的に一覧表に照して翻訳する事を「アセンブル」、翻訳してくれるものを「アセンブラー」と呼びました。  これが低レベル言語と分類されます。  以降、プログラムの作り易さを追求して、機械語と対ではなくひとつの単語でひとかたまりの機械語を生成するプログラミング言語が開発されていきます。  これらは高級言語と分類され、翻訳することを「コンパイル」、翻訳してくれるものを「コンパイラー」、この単語の定義を「コンパイラ型言語」と呼びました。  代表的なコンパイラ型言語には、FORTRAN, COBOL, BASIC, C(C++,C#), PASCALなどがあります。  そのうち、マイクロコンピュータ(マイクロプロセッサ)が開発されましたが、そのハードウェアを含むシステムは、メモリも小さくコンパイラを動かすことが難しかったので、メモリ使用効率のよい一度に翻訳せず少しずつ翻訳しては実行する方法を編み出しました。 この方法は、まるで外国語を通訳しているようなので、インタープリターを当てて「インタプリタ型言語」と呼びます。 BASICは、言葉が比較的優しく定義されていたので、この方法によく使われて、その昔は BASICといえば、インタープリタ型言語であるが常識のようなときもありました。現在では、SmallTalk, Java やVBA が代表的です。  というわけで、基本的にプログラムは、テキストエディタで編集して作るのが普通で、NOTEPADのようなテキストエディタでどんな言語でもプログラミングできてしまいます。 が、コンパイラーかインタープリターが無いと機械語(バイナリー)に変換できません。  コマンドプロンプトは、キーボードからコマンド入力して制御するコンピュータ環境(CUI)です。 一方、グラフィカルな画面でマウスで制御するWindows や MAC 環境(GUI)も同じコンピュータ環境です。  コンピュータの歴史を勉強されると理解が深まるかと思います。頑張ってください。

morningood
質問者

お礼

ありがとうございます。 プログラムはテキストエディタで作成可能だが、実際動かすにはコンパイラーもしくはインタープリターが必要なんですね。 ExcelVBAは、テキストエディタとコンパイラ(インタープリター)が一緒になっていると考えてよいのでしょうか?入力もマクロの実行もこれ1つでできるので・・ よろしければ教えてください。

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

> ・Java, C,VBAなどそれぞれの言語が使えるプログラミングソフトにはどういうものがあるのか, Java言語によるソースコードは、テキストファイルですので、 「言語の入力」はそれこそメモ帳でも可能です。 そして、書いたものを動くようにするためには、コンパイラ(javac等)を使います。 例えばjavacはJavaのSDK(ソフトウェア開発キット)に入ってます。 但し、コンパイラを直接使うのは面倒な面もあり、 より便利に使うための開発環境(EclipseやNetBeans等)や、Ant等を利用することも多いかと思います。 C言語だと、GNUのgccやMicrosoftのVisual C++、Borland C++などが比較的有名です。 VBAはMicrosoft独自なので基本的にはMicrosoft Office用と考えてよいかと思います。 > ・コマンドプロンプトは何語を対象としているのか, コマンドプロンプトは、プログラミングソフトというよりは、 OSのユーザインタフェースの一種かと思います。 例えば、 ・GUIでアイコンをクリックするとアプリが起動する ・CUIでプログラム名を入力してEnterするとアプリが起動する いずれも実現したいことは一緒で、異なる方法でそれを実現しています。 GUIが普及する前はコマンドプロンプトのようなCUIの方が一般的でした。 ただ、昨今のコマンドプロンプトは、あえて言えばWSH(Windows Script Host)でしょうか。 例えばVBScriptやJScript等の複数スクリプト言語に対応しています。 > ・2言語以上に対応しているプログラミングソフトがあるのか」という点について教えてください。 たくさんあります。 各プログラミング言語間には類似した特長などもありますし、 逆に一つの言語しかサポートしないものの方が少ない気もします。 「自社独自言語専門」の会社などもあるのでしょうが、 プログラミングソフトを作るような会社/団体は複数対応することも多いのでは。 例えば、Microsoft Visual Studio(前述Visual C++の統合パッケージ)では、 C、C++、C++/CLI、Visual BasicやC#、J#、各スクリプト言語…などに対応します。 # C、C++、C++/CLI等は、いずれも独立して国際規格で規定される別言語です。 GCC(GNU Compilation collection)ではC, C++, Objective-C, Fortran, Java, Adaに対応しています。

morningood
質問者

お礼

ありがとうございます。 とても丁寧で分かりやすいです。 私がプログラミングソフトと思っていたものは コンパイラと呼ばれるものだと理解しました。 また、実際勉強した言語を使うには コンパイラが必要なこともわかりました。 それらが、フリーでダウンロード可能なのか、もし 可能ならダウンロードして使ってみたいです。

関連するQ&A

  • 使えるソフトを作りたい(プログラミング)

    現在、大学でコンピュータの勉強をしていますが、 学校でやるプログラミングは基礎の基礎なので、実際に使えるものは全くありません。 自分で使えるソフトを作りたいのですが、 どのように勉強したらよいでしょうか。 具体的には、競馬予想ソフトと自動で株を売買するソフトを作りたいです。 また、これまで学校などで学んだことのある言語は C++,Java,アセンブリ(NASM)、C#(左からよくわかる順)です。 最近、Accessでデータベースを作り始めて、VB・VBAとかもやったほうがいいなと思っています。 参考になるホームページや本があったら教えて下さい。 よろしくお願いします。

  • ゲームプログラミングは何言語?

    ゲームプログラミングに興味があるのですが、初心者なので全く分かりません。今、PascalとJavaを勉強しています。これからC言語も勉強の予定です。パソコンやプレステのゲームソフトもこのような高水準言語で書かれているのですか?それとも、まったく別のもので書かれているのでしょうか?もしゲームプログラミングをするにあたって、この言語は勉強しておいたほうがいいよというのがありましたら教えてください。

  • C言語プログラミング初心者

    C言語プログラミング で、「0~100の整数値をコマンドプロンプトから入力し,0~59のとき「不可」,60~69のとき「可」,70~79のとき「良」,80~89のとき「優」,90~100のとき「秀」と出力するプログラム」を作成したいのですがどのようにかけばよろしいのでしょうか?

  • 新言語プログラミング2005?

    以前にC/C++言語・Javaプログラミングを勉強したことがあるのですが、今は違う業界にいて、最近では何のプログラミングが最新なのか分かりません。 「これから」という新言語プログラミングを、誰か知っていたら教えてください。 ちなみに、C言語とJavaの検定・2級を持ってます。

  • プログラミング言語の質問です

    プログラミング言語の質問です プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

  • プログラミング言語の質問です。

    プログラミング言語の質問です。 プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

  • プログラミング

    JAVAとかC言語とかでプログラミングをするのって、すごく難しいですか?専門の大学に行かないと無理な話ですか?あとプログラミングする時どんなソフトに書き込んで行動に変えるんですか?

  • 皆さんの回答のおかげでプログラミングの目的が決まってきたのですが、何言語から入ったほうがいいでしょうか?

    以前質問させていただき、たくさんの回答をいただきました。 本当にありがとうございます。 皆様の詳しい回答のおかげで、プログラミングを学ぶ目的が決まりました。 そこでまた質問なのですが、 ・携帯のゲームを作りたい(携帯用のソフトってありますか?・・・) ・パソコンのソフトを作りたい というのに目標が決まりました。 このことから考えるとjavaということになるらしいのですが、 私は一度javaを少しかじっており、まったくわからなかったわけではないですが、難しいと感じました。 そこでまず、javaを学ぶ前にもっと簡単な言語を完全に習得してからにしたいのですがそんな言語はありますでしょうか? つまりjavaよりも簡単な言語?で、その言語を習得すれば、javaの習得が早くなるというような言語を探しています。 いろいろ調べたところ、C#を習得していると、javaが習得しやすいとか、Cを先にやったほうがいいとかいろいろな意見があり正直混乱しているところです。 また、今のところ将来プログラミング関係のお仕事に就くことは考えていないわけでもないです。 そして、なるべく将来どんな仕事(パソコンを少しでも使う仕事)でも役に立つ言語がいいなぁとおもっています。そうなるとエクセルなどを使うときに役に立つVBAも・・・と思ってしまいます。。。 いちお、高校3年間で2つくらいの言語をしゅうとくできたらなぁーと思っています。そのうちのひとつのはjavaです。 回答よろしくお願いします。

  • プログラミングソフト

    今、プログラミングの勉強をしています。 ソフトはVisual Basic 2008 Express Edition なんですけどもうすこし他の言語をしてみたいと思っています。 C#とかC++とかありますが、Visual Basic の次に簡単で無料なものがあったらお願いします。

  • プログラミングに使うお勧めソフト

    javaを最近はじめたのですがコマンドプロンプトなどを立ち上げると 遅くなったりするので何かお勧めのソフトってありませんか?

    • ベストアンサー
    • Java

専門家に質問してみよう