プロが教える店舗&オフィスのセキュリティ対策術

遊びでJavaを勉強しようとしているものです。GUIのことを学びたいのですが、先にCUIの勉強は必須でしょうか?

A 回答 (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が良い、って思ってたんだか分からん」と皆初心を忘れていくのです(笑)。
    • good
    • 0
この回答へのお礼

とても参考になりました(^ー^)❗

お礼日時:2020/12/12 12:23

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