質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

6回答

1735閲覧

初学者に対するプログラミング学習の方針について

退会済みユーザー

退会済みユーザー

総合スコア0

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

2クリップ

投稿2018/03/08 09:22

編集2018/03/08 10:34

プログラミングをこれから勉強しようと思っているのですが、そのために次のふた通りの方法が思い浮かびました。

  1. C言語、C++言語で(変数からオブジェクト指向まで)プログラミングの基本的な考え方を勉強し、その後開発に挑む

  2. スクリプト言語のように取り組みやすい言語で開発しながら実践で勉強して、とりあえず何かを作ってから基礎を固める

すなわち、理論面から入るか実践から入るかということです。
上の1と2ではどちらが初学者にとって良い学び方ですか?

1では基礎をしっかりと理解できる反面、実践に弱く、モチベーションが続かなそう。
一方、2では作りながら学べる反面、基礎が疎かになりそう。

いずれにしても、最終的には両方することにはなるのですが、初めはどちらのやり方がいいのでしょうか?

なお、私の作りたいものを念のために書いておきますが、それは、WebアプリケーションからOSまで広範囲です。しかし、2のやり方で学ぶのであればとりあえずはWebアプリと(Webで動く)ゲームです。

また、これも念のために書いておきますが、上の質問はおそらく初学者一般に当てはまる質問だと思うので、一応有意義な質問だと思います。


追記
たくさん回答をもらった後に大変申し訳ないのですが、質問し忘れていたことを書きます。
上の1,2の方法に関係なく、初心者がプログラミングを身につけるための勉強をするときは1つの言語を深く理解するのと、複数の言語をかじるのとではどちらがよいのでしょうか?(実務レベルで使える人材とかではなく、あくまでもプログラミングの勉強をする上で、どちらがよいのか、ということです)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

すなわち、理論面から入るか実践から入るかということです。

上の1と2ではどちらが初学者にとって良い学び方ですか?

実はプログラミングは、理論と実践を同時並行で学べる稀有な学問(技術)です。
どっちからというより同時に進めるべきだと(特に理由はありませんが)個人的には考えます。

ただし以下に気をつけましょう。

  • 理論を学んでいるときは、かならず手を動かして動きを確認しましょう。

頭では分かったつもりでも実際にはコードが書けないというのはよくあることです。

  • 実践を学んでいるときは、なぜそう動くのか、なぜそう書くべきかを理解したうえで進めましょう。

「なんだかわからないけど動くから」という考えで書いたコードは必ずバグを生みます。

言語は、まあどれでもよいと思います。

投稿2018/03/08 09:43

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/08 10:40

回答ありがとうございます。 たしかに同時に進めるという選択肢もありますね!
guest

0

「本人にその気がある」という前提であれば、興味を持ったところから入っていけばいいと思います。せっかくモチベーションがあるところなら、それを最大限活用することで突き進んでいきましょう。

どんな道から入ったとしても、そこから広げていけばある程度「共通項」みたいなものは体得できますし、他の分野に入る場合にも無駄にならないのはいうまでもありません。

「チューリングマシン」という言葉がありますが、ほぼすべてのプログラミング言語はチューリング完全、つまり(ライブラリや手間の問題を無視した理想論で考えれば)できることは同じなので、「何から入った」ことでそこまで差が出ることはありません。

投稿2018/03/08 09:35

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2018/03/08 09:42

自分の場合は「アルゴリズム」からプログラムの世界に入っていきました。そのこともあって、ユーザーの入出力を行うような完成形へ持っていくのが相対的に苦手、というのが長く続きました。
退会済みユーザー

退会済みユーザー

2018/03/08 10:46

回答ありがとうございます。 >自分の場合は「アルゴリズム」からプログラムの世界に入っていきました・・・ この話は参考になりました。 1のやり方では書いていませんが、アルゴリズムなど一般の理論を習得してから実践へ...と思っていたのですが、今思うと、もしかしたら作れるようになってから理論を知る方が簡単であり確実なのかもしれませんね。
guest

0

ベストアンサー

こんにちは。

1では基礎をしっかりと理解できる反面、実践に弱く、モチベーションが続かなそう。

一方、2では作りながら学べる反面、基礎が疎かになりそう。

鋭いですね。全くその通りと思います。

もし、MIGAさんがクリエイターとしての才能(小説を書く、音楽を作るなどなど、無からなにかを生み出す力)がご自身の持っているもののなかで優れていそうであれば、恐らく後者の方がその才能を活かせるのではないかと思います。
逆に、目の前にある問題を解決するような能力に優れていそうであれば、前者から入るとその能力を活かせるより技術的に難易度の高い業務をこなせるようになるだろうと思います。

ご自身のなかでどちらがより優れているか、もしくは、どちらがより好きかで方向性を選択するのは1つの方法と思います。

投稿2018/03/08 09:52

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/08 10:39

回答ありがとうございます。 得意な方で選ぶ、という考えは思い浮かびませんでした! 私は、どちらかというとアイディアが思い浮かぶ方なので、もしかしたら2のやり方が向いているのかもしれませんが、理論的なことが好きだという一面もあります。 どうしましょうか><
Chironian

2018/03/08 11:14

問題を解決するアイデアなのか、人を楽しませるアイデアなのかで方向性が異なると思います。 理論的な面は後者にも重要ですよ。矛盾だらけな作品は人を萎えさせますから。 問題解決ビジネスとコンテンツ・ビジネスでは後者の方が得るものが多いような気がしてます。
退会済みユーザー

退会済みユーザー

2018/03/08 14:35

問題を解決するアイディアよりもむしろ、問題になるーー悪い意味ではありませんがーーアイディアの方が多いというのと、やはりただ概念を知るだけでなく、どのように使うかを知らなければ意味がないだろう。ということから、とにかく作ってみることにします。 別に急いでないので、何かを作ってから基礎をしっかりと理解しようと思います! プログラミング学習に限らず、人生の選択においても役に立つ考え方を得られました!! ありがとうございました!!
guest

0

同じような話題 があるので参考にされては?
プログラマー年収ランキング

日本ではプログラマーの給料は安いですから、英語と数学を勉強してアメリカで日本の何倍も稼いでください。

投稿2018/03/08 09:42

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/03/08 09:45

当たりですね。日本ではプログラマーの待遇は良くないし評価も高くありません。稼ぎたいとか最先端に触れたいとかなら海外脱出が正解。
maisumakun

2018/03/08 10:01

仕事にする、って質問者は言っていませんよね? 趣味としてプログラミングを楽しむ分には無関係な話題ですね。
退会済みユーザー

退会済みユーザー

2018/03/08 10:27

申し訳ないですが的外れな回答です。 上の方が書いてくださっている通り、仕事にするとか、それを思わせるようなことは一切書いておりませんが、誤解を招いたのならば謝ります。ただプログラミングをしたいだけです。 また、"同じような話題"とありますが全く別の内容だと思います。 どの言語を学んだら特をするのかということを聞いているのではなく、どういう方法で学ぶと特をするのかを聞いているのであって、初学者にとっては、よほど偏った言語でない限り(広く使われている言語ならば)言語それ自体はさほど問題ではないでしょう。 重要なのはプログラミングにおける考え方です。そしてそれは多分(同じ仕組みのコンピュータならば)共通だと思います。 それゆえ、私は"言語固有の問題"ではなく"プログラミング学習"という一般の問題について尋ねたのです。 その証拠に私は、どの言語で学べばいいかなど質問しておりません。(もっとも私の質問文中の1ではC言語、C++言語とありますが、これは、それらの言語が理論面を学ぶのにふさわしいと感じたから書いただけです。また、2ではスクリプト言語と書いてありますが、それもやはり実際に開発する上で初心者にとっては一番易しいものだと感じたから書いただけです)
guest

0

こんばんは

理想は実務を通じて学んだ方がわかりやすいです。
私はjavascriptをオススメします。
javascriptはプログラミング言語の中でも簡単な部類に入ります。
出てくる文法も他の言語に使えたりします。
あと、他の言語と比べて動きが分かりやすく検証方法も手軽に出来るので初心者が始めるにはオススメの言語だと思います!
頑張ってください。

投稿2018/03/08 14:30

haruniku

総合スコア527

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/08 14:36

回答ありがとうございます。 確かに、実際に開発しながら学ぶ方が概念をどう使うかがわかりやすくていいですね!
guest

0

やはりやってて楽しいとか感じるものがいいでしょうねぇ。モチベーションを保つためには作って動かして目で確認できるものが。ただ、今では選択言語などによっては結構簡単にできてしまうので基礎を固めるためにはやはりC/Javaもやっておいた方がいいとは思います(特に言語にこだわらず情報が多いものでいいとは思います。)ってことで私は並列でやるのもありかなと。最初は見た目で楽しさを感じてその後にロジックを組む楽しさを知っていく。あとはそれをリファクタリングなどしていって改良を重ねるの繰り返しですかな。

投稿2018/03/08 09:41

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/03/08 10:03

"上の質問はおそらく初学者一般に当てはまる質問"ってありますが、teratailでも結構この手の質問は定期的に出てくるのでteratail内で探してみるのもいいと思います。
退会済みユーザー

退会済みユーザー

2018/03/08 10:42

回答ありがとうございます。 やってて楽しいとなれば、やはり、やった感のある2がいいのでしょうかね? 続けなくては意味がありませんよね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問