転載元はこちら
杉山 駿 (Shun Sugiyama), ソフトウェア・エンジニア
過去の私にとってのプログラミングの学習は、心理的ハードルを超えていくことを意味していました。
私が最初に学んだ言語はCですが、まず「プログラミングのような難しそうなことが自分にできるのか」という点でなかなか踏み出すことができませんでした。しかし、ネットでおすすめされていた「やさしいC」をとりあえず買い、買ったことによって「やるぞ!」という気になってようやく手をつけ始めました。一日一章と決めて淡々と本を読んでいったら10日ほどで終えました。
次のハードルは「本当に基礎を理解しているのか」ということでした。高校生だったので、「C言語の問題集みたいなものはないか」という発想で本を探したら「解きながら学ぶC言語」という本が見つかり、この本を買ってひたすら解き続けることで基礎を定着させていきました。
さらなるハードルは「C言語で何かを作る力はあるのか」ということでした。基礎ばかりをやっていたこともあって、どんなものが作れるのかといった発想力に自信が持てず、作ることをためらっていました。その頃、すでに専門学校に入学しており、教員が「エディタを作ると勉強になる」と言っていたため、C言語でラインエディタを作り始め、結果的にedのようなエディタを作ることができました。
私の学習過程からの教訓は、「自分にはできないかもしれない」と思ったら、とりあえず手を動かしてやってみるということです。(しかし、ここで書いたアドバイスはどちらかというと昔の私のように「劣等感を抱えた人」のためのアドバイスです。)
最初に学ぶ言語としては、pythonをおすすめしますが、pythonはライブラリが豊富で文法もわかりやすいので、最初のハードルが低くてすみます。でもその前に、Vimを使ってコーディングできると重宝するので、pythonなどの言語を学ぶのと同時にVimの使い方を学んでください。
もしpythonを学ぶなら、一番最初はPython チュートリアル - Python 3.6.4 ドキュメント を読んで基礎を一通り身につけることをおすすめしますが、一日一章とするなら15日ほどで読み終える分量になっています。
基礎を覚えたら「簡単な問題をたくさん解く」という練習をするとコーディングがより早く行えるようになるので、Archived Problems - Project Euler のようなサイトで問題を探して解き続けるとよいと思います。ここで解いたコードをgithubに載せるようにすると、バージョン管理システムの使い方を学ぶことも同時にできます。
プログラミングの基礎を学んだら、ちょっとしたライブラリを使って何か作れないか試すと良いと思います。しかし、初心者がGUIプログラムを作るのは難しい場合があるので、CLIベースのゲームのようなものを作ってみるとよいと思います。以下のリンクはその例が載っています。
こういったものが作れたら、Webプログラミングについて知っておくと役に立つことが多いので、HTML, CSS, JavaScript, SQLについて学びましょう。おすすめのサイトはW3Schools Online Web Tutorials です。これらを一式まなんだら、ちょっとレベルアップして、pythonのFlaskを学ぶとかなり役立ちます。Tutorial - Flask Documentation (0.12)
ここまで学べたら、すでに学習能力は身についているので、自分がプログラミングで何をしたいのかを考え、そのための情報収集をしてください。プログラマーになりたいなら、python以外に何を学んだほうがよいのか、どんな求人がありどんなスキルが要求されているのかを知ります。Indeed (インディード) が一番情報量が多いので、Indeedで検索してください。
まとめとしては、
- プログラミング言語を一つ選び、基礎を学ぶ。(Vimを使う)
- 問題をたくさん解く。(バージョン管理システムgitも学ぶ)
- 作りたいものを決め、作ってみる。
- Webプログラミングの基礎を学ぶ。
- 学ぶ目的を見直し、情報収集して他に学んだほうがいいことや、求人情報などを参考にする。
というのが、プログラミングを学ぶ上での私のアドバイスです。すでにやりたいことがあるのであれば、python以外の言語を選んでももちろん構いません。あくまでpythonがわかりやすいというだけです。
頑張ってください。
Ogawa Kiyoshi, 研究職 (1986〜現在)
岐阜大学で非常勤講師をしていた頃、岐阜大学で最初に教える言語がPythonになりました。全学部で共通で必要な言語として、研究のデータ処理や、知見の蓄積の機械学習に役立つためと思われます。
プログラミングは、興味のあることから始めるとよい。Pythonなら、あなたの興味のある分野に役立つプログラムが存在している確率が高いと思います。
「65歳からのプログラミング入門」という記事をqiitaに書きました。ご参考まで。
加藤 雄一 (Yuichi Kato), アスツール株式会社の代表取締役
私の場合、iPhoneアプリを作るところから始めたので、Objective-Cという言語からスタートしました。今から初めるとするとSwiftになりますね。
自分も初心者の頃、「プログラミングは何言語から始めるべきか?」という質問をした覚えがあるので、この質問をしたくなる気持ちはよく分かりますが、これはあまり意味がある質問ではありません。作りたいもの(目的)を決めてから、それを実現するために最適な手段(プログラミング言語を含む)は何か?を考えるのが一番効率的だと思います。
私の例でいうと、高校生の時からC言語やRubyを学ぼうと入門参考書を買っては何回も挫折していましたが、iPhoneアプリを作りたいというパッションが生まれた事でObjective-Cをマスターする事ができました。
Objective-Cを一度マスターしてしまうと、Swiftも1カ月程度で習得できますし、それができるとPythonやRubyを見ても何となく分かるようになります。
Objective-Cを一度マスターしてしまうと、Swiftも1カ月程度で習得できますし、それができるとPythonやRubyを見ても何となく分かるようになります。
具体的な勉強法ですが、私の場合、まずはプログラミングの初歩などを「ドットインストール」で覚え、その後、自分で独自のアプリを作っていきました。
また壁にぶち当たった際には、iPhoneアプリをフリーで作っていらっしゃる方に質問するなどしているうちに、ある程度のものが作れるようになりました。
0 件のコメント:
コメントを投稿