こんにちは。
> いま、何かアプリケーションを作ろうと思っていて、丁度JAVAを学習しているところなのですが、
> JAVAで作ることはできるのでしょうか?
> それともC++でないと無理なのでしょうか?
#1,2 さんもおっしゃってるように、アプリケーションにはいろいろあります。
わかりやすいものをいくつか列挙してみましょう。
1.Windows アプリケーション
Windows のうえで動く GUI アプリケーション。
Office とか IE がこれ。パソコンのうえで動きます。
2.Windows コンソールアプリケーション
Windows の コマンドプロンプトのうえで動くテキストベースのアプリケーション
#2 さんの Hello,World はこれ。これもパソコンのうえで動きます。
3.Web アプリケーション
IE をクライアントにして、データを検索したり、商取引をしたりする。
インターネットバンキングとか、ショッピングサイトとか。
これはインターネットの向こう側にあるサーバーで動いています。
4.Flash アプリケーション
主にIEのうえで動くゲームなど。YouTubeのプレイヤーはFlashですね。
Flash は手元のパソコンのうえで動いてます。
5.スマートフォンアプリ
いわゆるアプリアプリって言ってるやつもアプリケーションですね。
さて。
> それともC++でないと無理なのでしょうか?
と懸念されているようなので、1. か5. だと仮定します。
まず、1の場合。
Java はもともとは、Web ブラウザ上で動く小さなプログラム(Javaアプレット)を動かすことを目的として作られたので、GUI のツールキットはいくつも用意されています。Java で Windows アプリケーションを作ることはできます。
しかしながら、Java はオペレーティングシステムに依存しないことも目的としていましたから、Java の GUI ツールキットは、(SWTを除いては)Windows に特化していません。また、Java の主なフィールドは、Web アプリケーションですから、現状では、Windows アプリケーションを Java で作ることは不向きであると考えてよいでしょう。
Eclipse なんかは、SWTというGUIツールキットを使って Java で書いてあります。SWT は 記述自体は Java ですが、プラットフォームの API を呼び出します。しかし、SWT は Visual Basic などと比べると、非常に面倒なコーディングを強いられます。
> 念のため聞きたいのですが、C言語でも作れますか?(C++、C#は含まない。)
Windows SDK で Cだけ書いても、Windows アプリケーションは作れますよ。ただし、手間の嵐です。面倒なコーディングを低減する方法としては、MFCを使うというフレームワークを使う方法があるのですが、MFC は C++ で書いてあります。。。
Java の特性と、C/C++ の生産性を理解したうえで Windowsアプリケーションを作る方法を考えてみると、現時点での最良の解は、C# ではないでしょうか。C# を敬遠されているようですが、C# の言語仕様は Javaそのものです。さらに、C# の アプリケーションフレームワークは、Visual Basic そのものですから、Windows SDK で C を書く手間と比べると、何倍も何十倍も早く書けます。
よって、Windows アプリケーションは Java で書けないことはないが、一般的ではない。C でも書けるが、C++で書いたほうが早い。生産性の面からいえば、C# が最良ではないでしょうか。
つぎに、5の場合。
Android のアプリは Java で書くのがふつうみたいです。Android は Linux ですから、C でも書けるでしょう。iOS は ネイティブアプリケーションは、Objective-C というオブジェクト志向言語を使って、さらに、Macintosh がないとだめみたいですね。Android ならば、Java は OK ということで。
> 制作しやすいアプリケーションがありましたら紹介もお願いします。
言語修得に役に立つというものであれば、簡易な住所録とか、機能限定ファイラーとか、あとは、なんか簡単なゲーム、2人用のオセロとか作ると勉強になるような気がしますね。
補足
念のため聞きたいのですが、C言語でも作れますか?(C++、C#は含まない。)