初心者です。何から始めれば良いんですか…
解決したいこと
初めてQiitaを利用します。理由としては、プログラミングが上達したいからなのですが、まず何から始めればいいか分からず、最終的にこういう質問等ができるサイトにたどり着きました。プログラミングには興味がありますが、まず何からすればいいか分からないので、何からすればいいか教えてほしいです。できれば具体的に、下準備から教えてくれると嬉しいです。
初めてQiitaを利用します。理由としては、プログラミングが上達したいからなのですが、まず何から始めればいいか分からず、最終的にこういう質問等ができるサイトにたどり着きました。プログラミングには興味がありますが、まず何からすればいいか分からないので、何からすればいいか教えてほしいです。できれば具体的に、下準備から教えてくれると嬉しいです。
とにかくプログラミングをやってみたいけど全くイメージがわかない、ということであれば例えばYouTubeで「プログラミング 入門」「プログラミング 講座」など検索して興味があるものを探してみてはいかがでしょうか?
他には初学者向けの参考書を買ってやってみるのも良いと思います。
最近読んでみた入門書だと例えば『プロになるJava』は環境構築から説明されています。
あとは環境構築不要でブラウザでプログラミングできるサービスもあります。
初学者向けのサイトやチュートリアルなどを探して、それを参考にプログラミングをやってみることはできると思いますよ。
始めるための情報や環境は増えているので、それこそ1+1
を計算してみるとか、Hello
と表示してみるとか、とにかくやってみる というのが回答になります。
頑張ってください!
@Drug
Questioner
なるほど、ありがとうございます!!
まず、やりたいこと、作りたいものを決めるのが良いと思います。
プログラミングは手段で、目的ではありません。
ゲームしたい、楽がしたい、シミュレーションしたい等。人それぞれ違います。
目的がないまま始めても、続きません。
@Drug
Questioner
確かに目的がないと長続きしませんね…最終的にはウェブサイトやゲームを自由自在に作れるようになりたいですね
Well, to start your programming journey on Qiita and improve your programming skills, follow these steps:
I hope it will help you.
Thanks
1点確認させてください。
プログラミングが上達したい
プログラミングには興味がありますが
この2つが記述してありますが、
「プログラミング経験があり上達したい」のか
「プログラミング経験は無いが触れてみたい」のか
どちらでしょうか。
一旦上記を保留して
まず何からすればいいか分からないので、何からすればいいか教えてほしいです。できれば具体的に、下準備から教えてくれると嬉しいです。
に回答しますが、元も子もないことを言えば
「プログラミング」は「何かをする(実現)」為の手段なので
一概には断言できないことを先に申し上げておきます。
できれば具体的に、下準備から教えてくれると嬉しいです。
ここはちょっと欲張り過ぎだと思うので一旦除きます。
もし「全く触れたことがない」かつ「プログラミングってなんぞや」という
ところに触れてみたいのであれば一例ですが
progate
or paiza
という
サービスで体験学習をしてみるのはいかがでしょうか。
(応用以外、環境構築は不要です ≒ ブラウザで動作します)
前述の「手段」云々は
例えばですが「競技でプログラミングしてみたい」、
「〇〇みたいなSNS風のサービスを作ってみたい」、
「ゲームを作ってみたい」などなど、
大雑把に言えばやりたいことによって手法・言語も多岐に渡ります。
「どこの国でもいいから(日本から見た)海外の人と
何かしらやり取りをしたいけどどうしましょう」と
質問されている状態と例えれば回答の難しさが伝わるでしょうか。
(「その国に最適な言語を調べてから学びましょう」、
「ボディランゲージでもいいなら兎に角触れてみましょう」…etc)
どんなものなのか手軽に触れながらゲームを作って
イメージを掴むのであればNintendo Switch
のゲームソフトで
ナビつき!
というものが発売されていたので
楽しみながら学べると思います。
前述のゲームソフト・サービス体験や他の何かを経験してみて
「このゲームソフトはどのように作成されたのだろう」
「どのような技術を組み合わせて作成されたのだろう」と
もし気になったら関連しそうな単語でちょっとブラウザで検索してみてから
より具体的に再度Qiitaに質問してみることを推奨します。
そうすれば
「hogeの為にはfuga言語での開発がオススメで」
「fuga言語で開発する為にはpiyoの環境構築が必要です」と
いったアドバイスをもらえる可能性があります。
※hoge、fuga、piyoは仮定の名称です
(英語教科書のAlice、Bobみたいな仮名です)
長文で申し訳ないですが
少しでも役に立つことができれば幸いです。
@Drug
Questioner
詳しく回答していただきありがとうございます。
少し前まで「Scratch」を軽くやっていて二人で遊べる対戦ゲームや、迷路などが作れるようになりましたがScratchだと制限もありますし、上達するならもっと汎用性があるような他のプログラミング言語で上達したいなと思い色々調べてました。しかし、調べたのは良いものの色々と情報が混雑してしまい、何からやれば良いのかが分からなくなりました。
紹介してくださったゲームソフト・サービスをできるところからやってみます。
話は変わりますが「環境構築」とはどういう意味ですか?
プログラミング 環境構築
等でググってもらえれば
色々出てくると思うのでかなりざっくりした回答になります。
例えば、Scratch
の場合は
「公式サイトにアクセス」し「ScratchInstallerX.X.exe」をダウンロード・インストール
することでScratch
によるプログラミングを行う環境が整います。
これを「環境構築」と呼びます。
以下、補足です。
Scratch
のようなビジュアルプログラミング言語ではない
コンピューターへの命令を文章で記述するタイプの
プログラミング言語は環境構築に色々な手順が必要なので
「fuga言語で開発する為にはpiyoの環境構築が必要です」
のように先の回答に記述しました。
以下は参考です。
@Drug
Questioner
なるほど、ありがとうございます!
プログラミングを学習する目的を設定したほうがいいというのは既に他の方が回答されているので、それが決まった後での話になりますが、調べる力と分析力を身につける事です。自分で調べるのが嫌い・苦手な人には向いていない業界です。
例えばゲームを分析すると、単純なゲームでも
・音楽を再生する
・画像を動かす
・ユーザー入力を受け取る(マウス、キーボード等)
くらいは最低限必要になる技術でしょう。
ゲームエンジンやフレームワークを使えば、これらは最初から用意されているでしょうが、もし使わないのであれば、そういった要素を個別に自分で調べて解決していくことになります。
Google等の検索エンジンで、開発する言語名とやりたい事を合わせてキーワードにして調べるだけで、大体関連するページがぞろぞろ出てきます。今ならChatGPTを活用するのも有用だと思います。(ウソをつく場合もあるので必ず検証も必要ですが)
ネットの質問サイトで聞くことも出来ますが、返信が来るまでに数時間や一日以上掛かる場合もあるので、自分で調べれば数分で解決する事をいちいち聞くのは非常に効率が悪いです。
@Drug
Questioner
基本的には自分で調べてからいまいち分からなかったら、最終手段として質問サイトで聞くというほうがベストって言うことですか?
そうですね、優秀な人でも最初から全て知っている訳ではありません。
そして、調べる力は人から聞いているだけでは身につきにくいものです。自分で分析・調査を繰り返す事で、調べるコツみたいなものが次第に分かってきます。また、自分から興味を持ち調べていった知識は、生半可な事で忘れることはありません。
時間を掛けて調べてもどうしても分からないって事は出てくると思うので、そういった時は質問して有識者に頼るのがいいと思います。また、仕事のようにスケジュールが余裕がない場合は、身近な先輩にさっさと聞いてしまった方がいいと思います。学習段階であれば、時間的には余裕がある筈なので、じっくり自分で調べたほうが、長い目で見てあなたの為になると思います。
また、ネットで情報が拾える時代ではありますが、お金に余裕があれば本を買った方がいいと思います。理由としては、
・本の内容を終わらせるという短期的な目標が出来る
・断片的なネットの情報と違い、きちんと段階を踏んだ学習が出来る
・買った本を無駄にしたくない、という学習に対する緊張感が生まれる
といった所です。
自分が始められそうな内容の本から手を出してみましょう。
@Drug
Questioner
やっぱり本で勉強したほうが習得するには速いですか?
早いかどうかは人それぞれだと思いますが、何から取り掛かればいいか分からない、という事であれば、とりあえず本で段階的に学習していくのが一手ではないかと思います。
@Drug
Questioner
なるほど!教えていただきありがとうございます!
sh,awk,expect(tcl),ruby,python,php,go色々テキスト処理レベルのプログラミングが可能です。webはダメです。
出会った短いコードからスタートして、好きな方向へ進めばよいとおもいます。
先ずは Hello worldから、始めては?
@Drug
Questioner
ありがとうございます!!
アルゴリズムに関してであれば、まずはscratchというものが良いかと。
私的に初心者でちゃんとしたcode系のプログラミング言語がしたいということであれば
pythonなどが良いかと。できることの幅がそこそこ広く、文法等も簡単なのでおすすめです。