
No.1ベストアンサー
- 回答日時:
うーん・・・正直難しい質問ですねぇ。
まぁ、
「好きなようにやったら?」
ってのが一つの答えなんですが・・・。
昔のコンピュータはコマンドラインしか無かったんで、コマンドラインのプログラムを書くのは割に当然だったんですが・・・。今のようにGUIのアプリばっかになると、「普段使ってるソフトウェア」とプログラミングで最初に習うプログラムとは凄く乖離してて、あまり感動はないですよね。
CLI(コマンドラインインターフェース)ばっかだった時は皆端末使ってたんで、端末に"Hello, World!"って表示出来ただけで感動してたわけですが、今そんなのやっても「だから何?」って印象しかありません(笑)。隔世の感ですよねぇ。
そして、残念な事に、少数の実験的なプログラミング言語を除き、GUIでプログラム出来てGUIを表示するプログラミング言語は存在しません。現状では殆ど全てのプログラミング言語はCLIを基本として設計されています。Javaも例外ではないのです。
現在のプログラミング環境では、基本はCLIで、「ガワ」としてGUIを被せてる、ってのが構造です。つまり原則、GUIは「言語の基礎構造」ではなく、ライブラリで提供されている、のです。そしてライブラリである以上、各言語/環境毎に「基本構造が一致してる」って事がないんです。いくつかツールセットとして、共通基盤を提供しよう、とやってる試みもありますが、完全な汎用性がある、とはとても言えない状態です。これが言語側では問題ないのに、Win/Mac/Linuxの各種OSで共通のソフトウェアを作るのが難しい理由です。GUIはなかなか厄介なブツなんですね。
まぁ、Javaならそれなりに各OSで走るGUIプログラムを作るのは比較的容易だと思われてますが、まぁ、それでもメンド臭いですね。GUIは定型的なコードを書く割には冗長になりがちで、コードを書くのは極めてメンド臭いです。
ええと、てなワケで、「プログラミングを勉強したい」のなら、やっぱりCLIが基本です。それで、あとは、先にも書いた通り、GUIはライブラリなんで、それを利用した定型的なコードを書く際、メンド臭いんで、その辺の「定型的なコードを自動生成するツール」があれば、アタマを悩ませないで済みます。「GUIを勉強するのにCLIでゴリゴリ書くべきだ」って意見もあるんでしょうが、ホンマ面倒臭い。コンピュータに任せる部分は任せちゃって、「プログラミングの仕方」じゃなくって「ツールの使い方」を学ぶ、って割り切った方がエエんちゃうかな。
GUI Builderと言われるツールがあって、Javaにもあるでしょう。「Java GUI Builder」で検索して、色々とダウンロードして手に合ったものなり、情報が探しやすいブツを自分で見つけてみましょう。GUIは結果、「勉強する」と言うより「ツールの使い方を学ぶんだ」と割り切った方が結果ラクだとは思いますよ。多分、マウスで色々とペタペタ貼って、GUIのガワを作って行く、なんてツールが見つかると思います。
まぁね、実際問題、プログラミングを学ぶ前だと今は「GUIを学びたい」って人は結構多いと思うんですが、プログラミングやってるウチに段々と「GUIはメンド臭い」って思うようになって、作るプログラムは「CLIがラク」、そして使うプログラムも「CLIの方がラク」って感覚が変わっていくたぁ思います(笑)。みなそうなんです。GUIは「使い方を説明せんとあかん」けど、CLIだったら「コマンドをコピペすりゃエエ」と言う「利点」に、プログラミング学んでいくウチに気づいていくんですよ(笑)。そして最終的には「なんでGUIが良い、って思ってたんだか分からん」と皆初心を忘れていくのです(笑)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 親が勉強に協力してくれません。 今年から高2になり、そろそろ本格的に受験勉強をスタートさせたいのです 5 2023/03/21 08:15
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- その他(悩み相談・人生相談) こう言うのって、恋愛感情のある女性だからすることでしょうか? 2 2023/06/11 18:27
- 高校 高校での予習用参考書のオススメを教えてください! 3 2023/03/01 20:28
- 中学校 現在、中学校は以前よりも緩くて、勉強もハードではなく、遊び中心の子供らしい学生生活を送れるようになり 2 2022/04/03 16:43
- その他(OS) WindowsServer2019でWORKGROUPのRDSの設定 1 2023/02/15 17:43
- 高校受験 自分は中3なのですが、今のままじゃ志望校にいけないって言われました。 だから、今からほんとに勉強しよ 6 2023/07/23 14:17
- その他(社会・学校・職場) 将来のために遊ばないで勉強しなさい、は正論ですが、、、 4 2022/06/26 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お勧めのテキストエディタについて
-
vectorクラスについて。
-
JavaとAndroidアプリ(Java)違...
-
スキル高めのIT技術者になぜ左...
-
vba クリップボードクリアにつ...
-
VBAの「for i=1 to cells(…」...
-
MSCOMCTL.OCXのアップデートの方法
-
javaからデータベースに接続 エ...
-
JSPファイルで生じるエラーをど...
-
MikuMikuDance最新版ダウンロー...
-
VB.NETによるTCP通信プログラム...
-
マイクラ Ender IO 入れたらク...
-
visual stadio 参照問題
-
AndroidとJavaの違いについて
-
アクションスクリプトの勉強方法
-
データベースのデータをTextBox...
-
Tomcatのweb.xmlの設定について
-
映写機のフィルム効果音のサウ...
-
Pythonを無料(安価)で学ぶ方...
-
占いサイトを作りたいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaとAndroidアプリ(Java)違...
-
エクリプスのプログラミングに...
-
createnewfile()の例外の起こし方
-
vectorクラスについて。
-
Javaに向いてない人はどんな人...
-
スキル高めのIT技術者になぜ左...
-
Netbeansでの、Java「実行」と...
-
Javaの授業についていけたい。...
-
最短経路探索
-
EclipseとVisual StudioをPC1台...
-
プログラミングのプの字も知り...
-
Java の入門教科書+課題つき
-
Cに慣れてしまった人、どのよう...
-
初心者がデスクトップアプリ(...
-
プログラミング(XML)の課題が学...
-
同期関数とawaitの違い
-
JAVA基礎の課題で自動販売機
-
canvasについて
-
お勧めのテキストエディタについて
-
おすすめのアートプログラミン...
おすすめ情報