これからプログラミングを学んでいくにあたってどちらを学習すれば良いですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
これまでの言動や態度から質問者はプログラミング初心者ではないと私は判断しました。しかし、質問者以外の人がこの投稿を見て参考にしようとする可能性がありますので、「プログラミング初心者からそのような質問をされたときにどう答えるべきか」という想定で回答します。申し訳ありませんが、私は嘘を付くような人に回答する意思はありませんので、この回答は質問者への回答ではありません。この投稿を見てしまった質問者以外の人々、つまり、本当の初心者やその初心者に真摯に回答する人々が参考にするための回答になります。
まず、君が初心者と言うことを本当に自覚しているのであれば、そのような問い方は止めた方が良いと言うことを言っておこう。君は、なぜその二択なのか、その二択である必要があるのか、その二択以外の選択肢を持たなかったのか、真摯に考えただろうか?いや、どこかにそう書いてあったと君は言うのかも知れないが、その前に君は初心者だ。なぜ、そこから二択にしぼる必要があるのだと疑問に思うべきだ。
まず、君は何も知らない。いや、ちがう、これで君は「自分は何も知らないこと」を知った。初心者にとって、これが最も重要なことだ。まず君は、実に多くのプログラミング言語が存在することを知っているだろうか?そう、本当に数え切れないほどの言語がある。その中からたった一つを選ばなければならないとしても、なぜ、その前に二つに絞る必要があるのだろうか?そんなことはないだろう。君は何も知らないのだから、君がまず二つに絞るなんてしない方が良い。その時点で君は多くの可能性を捨てているのだ。より良いものを探すということを止めてしまっているのだ。なんてもったいないと思わないか?
プログラミングとは関係無い形で例えをしてみよう。君の問いは「晩ご飯はすき焼きと焼き肉どっちがいい?」と聞いているような物だ。ああ、今日はお肉が安売りしていたようだ。まぁ、それはいい。だが、なぜすき焼きと焼き肉の二択なのかを問わなければならない。君は声を大にして言うべきだろう、「しゃぶしゃぶで」と。
つまり、君が、超ベテランで、熟考の上、あらゆる状況を想定して、その二択に絞り込んだと言うことが無い限り、その二択しかないような問いは止めるべきだ。それは決して君のためにはならない。可能性という物を自ら潰してしまうことほど虚しい物は無いのだ。
もう、君はこの時点で質問を変えているだろう。二択ではなく、その他を含めて、より良いものがないのかという問いに。もし、それができなければ、うん、君の未来が狭まっただけだ。残念ながら、そのような人に送るアドバイスを私は持ち合わせてはいない。
では、何を学ぶべきかという問いに答えよう。と言いたいところだが、その前に君に問わなければならないことがある。それはプログラミングを学ぶ目的だ。
プログラミングは手段だ。確かに、純粋にプログラミングそのものを学び、研究したい、と言うのもあると思うが、それも一つの目的だ。そういった学術的な目的を除けば、プログミングで何かを作ろうとしているはずだ。ゲーム、Webアプリ、ツール、OS、その他諸々。プログラミングで作れる物には多種多様な種類がある。そのどれを作りたいかによっても、選択する言語は変わってくる。なぜなら、各言語には得意不得意があり、適材適所で選ばなければ、時間がかかるばかりか、ついには完成しない、完成しても使い物にならない、ということもあり得るのだ。だからこそ、作りたい物というのは重要だ。あ、もしかしたら、単に就職に有利になりたいという理由かもしれない。それもそれで一つの目的だ。その場合でも、重要視される言語と大して重要視されない言語がある。
つまり、目的がわからなければ、何がいいのかなどと言うことはできないと言うことだ。だから、君はまた質問を変える必要がある。それは、なぜ、プログラミングを学びたいのかを追記することだ。それでやっと、道しるべを示すことができるのだ。
なんか、色々あって大変、と思ったかも知れない。そう、プログラミングは大変だ。常に多くの選択肢があり、状況に応じて取捨選択をしていく必要がある。別に言語だけではない。開発手法からライブラリまで多岐にわたる選択の連続だ。その中で、自分の現在の状況を正確に把握し、より良いものを求め、本当に必要なものが何かを問えるようになることが、辛く長く苦しい道のりの最初の一歩なのである。
投稿2018/03/15 11:34
総合スコア21733
0
投稿2018/03/15 06:36
編集2018/03/15 06:36総合スコア527
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
何をしたいかによります
https://www.sejuku.net/blog/19247
投稿2018/03/15 05:57
総合スコア3404
0
世界標準MIT教科書 Python言語によるプログラミングイントロダクション第2版: データサイエンスとアプリケーション 単行本 – 2017/9/1
https://www.amazon.co.jp/gp/product/4764905183/
を読破することをお勧めします。
追記:
気力があるなら、原書(英語) をよむことをお勧めします。
ruby or python で迷うことより、
"英語の資料から情報を得ることを体験する/慣れる" ことが、
今後 ソフトェア関係の作業では重要になると思います。
投稿2018/03/15 13:16
編集2018/03/15 13:56総合スコア22324
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。