DIVE INTO CODE

2019年06月13日
  • #初学者
  • #プログラミング初心者

プログラミングを初めて体験するときから気をつけたい3つのポイント

Aws4 request&x amz signedheaders=host&x amz signature=69365ab67ff45377b3790e8c2f3def1a4182c2f143e7c7c2ef66bb1f7539d97c

プログラミングを初めて体験するときから気をつけたい3つのポイントをプログラミングスクールDIVE INTO CODE代表の野呂がお教えします。
こちらの記事では、3つのポイントを紹介しており、少しずつステップアップしていくことで着実にプログラミングの実力が身につきます。

【こんな方におすすめ】
・これからプログラミングを体験してみようとしている方
・近い将来、プログラミングを仕事にすることを検討している方
・独学でプログラミングを学んでいるが、限界を感じているという方
・プログラミングスクールを検討している方

【目次】
1. プログラミングを初めて体験するときから知っておきたい3つのポイント
2. 体験を増やそう
3. 反応を確認しよう
4. 公式ドキュメントを読もう
5. まとめ

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

プログラミングを初めて体験するときから知っておきたい3つのポイント

今回のテーマは「プログラミングを初めて体験するときに気をつけたいこと」についてですね。

えっと、「初めて体験する」というのは、まだプログラムを触ったことないよっていう方が初めてプログラミングに触れるっていうときの話ですよね。

そうですね、まさにそんなイメージです。
この時から気をつけたいことが、実は3つあるんですよ。

そんな初めの段階から、3つも!?どんなことだろう…

ズバリ、1つ目が体験を増やすこと、2つ目が反応を確認すること、3つ目が公式ドキュメントを読むことです。
この3つを、初めてプログラミングを体験するときから、ずっと気をつけてほしいと思っています。

ずっと、ですか。

そう、この3つを押さえておけば、独学でも、スクールに通学する場合でも、誰か師匠について教わる場合でも、しっかり前に進むことができるんです。

なるほど、その3つの武器について、詳しく聞きたいです。

体験を増やそう

最初の頃って右も左もわからないし、やっぱり大変だと思うんです。特にDIVE INTO CODEでは、入学テストを設けていますので。

いきなりテストですか?

そう、いきなり。かんたんなプログラムを書くっていう内容ですが、つまり、書けないと入校できないということですね。
たまに「入学テストに合格できません!どうしたらいいですか?」って連絡いただくことがあるんです。

なんと!でも、「受かってください」としか言えないですよね(笑)

言いかえると、初めてプログラミングをやると、それくらいわからないということですね。

確かに、僕も正直やったことがないのでつまずくとは思うんですけど…

そこで、初めてプログラミングを体験する時に気をつけたいことの1つ目!まず、体験を増やすことです。
「体験を増やす」ってどんなイメージを持ちますか?

まずは触ってみるってことかな…

いいですね。じゃあ「なに”で”触るか?」って見当はつきますか?

いや、パソコンを用意するくらいしか、パッと思いつかないですね・・・

まずはパソコンを用意して、インターネットに接続します。
最初に、プログラミングできるようにいろいろパソコンにインストールする作業もありますが、そこから始めちゃうとつまずくことがあるので、初学者の方はインターネット上に無料でユーザ登録できて学べるサイトを使ってみるといいと思います。

例えば、パッと思いつくもので言うと、Progate(プロゲート)、ドットインストール、paiza(パイザ)などですね。そういったものを使って最初にやることは、ただひたすら体験を増やすこと”だけ”に集中することです。
まずなぞってみる。手を動かしてみる。
その上で、「あ、こんなふうになるんだ~」っていう過程を見る。体験して、見る。その繰り返し。それをひたすらやります。

なるほど、じゃあまずそのプログラミングというものに慣れるという感じですね。

反応を確認しよう

はい、やはり無料のサービスは初学者の方向けに作られているので、自分がやってみて「これ、おもしろいな」「わかりやすいな」「これならそんなに難しく感じずにできそうだな」っていうところを見つけて選んで、そして触ってみるというのをぜひやっていただきたいですね。
ちなみに、プログラミングが初めての場合、どのくらいやれば慣れそうな気がします?

うーん、とりあえず1週間くらいでしょうか。

1週間…毎日ずっとやり続けます?(笑)

ちょっと飽きそうですね。でも、「だいたいイメージがつくまではやりたいな」って思いますね。

仕事をしている人なら1日1~2時間、まあ最低でも1時間は、まず手を動かしてみていただきたいです。真似てやってみるというのをまず、1週間。

それくらいなら、働いている方でもできそうですね。

そうするとね、「あ、こうやって書くんだ」とか「こういう反応が返ってきやすいんだ~」とかなんとなく自分の中に体験ができてくるんです。そうなった方にやってほしいことが2つ目のポイントです。

最初は触る→見るの繰り返し、つまり、なぞるだけでよいですが、次にやるのは反応を確認することです。

反応…なんのですか?

例えば、コードを書くわけですよね。その時にどういう結果が出てくるかっていうのが無料のサービスだと書いてあるんですよ。こんな結果が返ってきますよ、こういう結果が出たら次へ行きましょうって。
ここで、想定通りの反応が返ってきたな、というだけで終わらせず、「どうしてそうなるんだろう」と考えてみることが大切です。ちょっと書きかえてみて、”puts(プッツ)Hello, world”とか”puts(プッツ)Goodbye, world”とか…”puts(プッツ)ヒロヨシ・ノロ”とか。ちょっとだけ書きかえて反応の変化を確かめるんです。

なるほど、アレンジしてみるってことですね!

そうそう。
ちょっと書きかえて反応を確かめることで、自分がこうやって作業した部分はこうやって影響するんだっていう自分の行動と結果を結び付けることができます。
「じゃあこうしてみたらこうなるだろうな」という自分の中での仮説をもって反応を確かめるっていうことをやってみてほしいです。

確かに、単純にひたすら同じことを実験し続けても、飽きちゃいそうですしね。反応を確認するっていうのはバリエーションを増やせて楽しそうですね。

そうなんですよ、でもこの時が一番最初に難しさを感じるかもしれません。なぜかというと、「まだよくわからない単語を打ち込んだらこうなるんだ」「なんかその他のことはわかるんだけど、なんでこうなるんだ?」と思う。
そして、「そもそも、なんでこう書かなきゃいけないの?」って思い始めて、そのうちに「この画面は何?私は誰?」ってなっていって、終いには「なぜ私はプログラミングをしているのか!?」なんていう永久の問いに行きついてしまう。

…(笑)

いや、実はこれ、必ずと言っていいほど陥るパターンなんです。
言われた通りにやっているときは、やるものが目の前に見えてるからいいんです。でも、その反応を確かめ始めたとたんに自由度が出てくるので、「自分がそもそも何をやるんだっけ?」っていうことがわからなくなってくるんです。

なるほど。

最初に登録した無料のサービスを終わらせて、もうちょっと難しいサイトに挑戦してみる。
たとえばRubyだったらRuby on Rails、Pythonだったら最初はprogateでやって、次にドットインストールをやって、その次にPyQ(パイキュー)というふうに、それぞれの学習段階ごとに用意されたチュートリアルをやって、さらに書籍を買ってみたりして、「さあこれからだ!」というときに壁を感じてしまいがちなんですね。
このあたりがスクールを検討しはじめたりとか、きっと無料サービスの限界を感じたりとかするような時なんじゃないかな、と私は思います。

なるほど。

公式ドキュメントを読もう

そういうときにもうひとつ重要なことが3つ目のポイントです。ちゃんと公式ドキュメントを読むということ。
これは何かというと、RubyならRubyの説明書、PythonならPythonの説明書、Javaなら、phpなら、Scala(スカラー)なら、Elixir(エリクサー)なら、C言語なら…とかいっぱいあるんですよ。それぞれの言語は、オープンソースといって、言語自体を作っている人がいて、その説明書が公開されているんですね。

HTML, CSS, JavaScriptの公式ドキュメントこちら
Ruby の公式ドキュメントこちら
Python の公式ドキュメントこちら
PostgreSQL の公式ドキュメントこちら

へぇー。

その説明書を見ると、たとえば「putsとかprintとかいうのは一体どういうふうに動くものなのか」、「そのソースコードは実はこんなふうに書いてあって」…といったことが載っているんです。
「あ、だからこういうふうに動くように設計されてるんだ」「あ、こうやって動くからこうやって書いてあげるとこうなるんだ」とわかり始めると、「他にもいろいろあるぞ」「なるほどこういう使い方もできるんだ」「こっちのブログにはこうやって書いてあるんだ」ということもわかり始め、このテキストに書いてあることは全部原点をたどれば、「そういうことね、ここを見ればいいんだ」っていうのがわかってくるんです。

つまり、原理原則みたいなことが書いてあるということですか?

その通り!

それって、最初に見るんじゃだめなんですかね?

これを最初に見ると、もう1行ごとに意味が分からないと思います。私の感覚ですが、1行あたりに意味がわからない単語が3つ以上出てくると思います。

それはきついですね…。
ちょっと理解した上で読むのがいいよっていうことですね。

はい。自分が何がわからないのかを分析して、公式ドキュメントを読むことで、厳密にはこういうことなんだなって辿ることができるんですよね。
この3つが、初めてプログラミングを体験するときに気をつけたいことです。

じゃあちなみに、この3つのことをできるようになってきたな~っていったら、どのくらいのレベルだといえるのでしょうか?

これは非常に難しい問題で、全く経験のない人からすると、独り立ちする手前の段階にしかいかないなあと思います。
少なくとも自分で調べるっていう習慣をつければ、雇ってもらえると思います。「がんばって!」って。でもね、新しい概念とか考え方とかこれらのパーツパーツ、ひとつのコードを1個ずつ書いていってできても、じゃあ「ECショップを作りたいです」となったときに、ECショップをつくるための集合体は、いくつものパーツをつくらなくてはいけない。「どうやってそのプログラムの集合体を作るの?」「画面ってどうやって作るの?」「設計ってどうやってするの?」とか、「それってどういうふうにファイル分割したりコード復活したり、どういうふうに書いていけばいいのか?」と、さっぱりわからないんですね。それがより高度な何かを作ってみるということを通さないと、意味が分からなくなっちゃう。
だからこそ、プログラミングを初めて体験するときは、まずどれか言語を決める。RubyとかPythonとかJavaとかそのピュアな言語自体の使い方、書き方を見てみることを強くお勧めします。

じゃあ、基礎の基礎としてこの3つは守ってレベルアップをしていくというわけですね。

まとめ

プログラミングを初めて体験するときから気をつけたいポイントは3つ!
①体験を増やそう …なぞって、みる、をひたすら繰り返す。
②反応を確認しよう …「こうやったらどうなるんだろう?」と自分で少しアレンジして、実行と結果を結び付ける。
③公式ドキュメントを読もう …疑問に思っていたことが腹落ちする。

これらは、プロのエンジニアになってからも、プログラミング言語を転向した時も、ずっと続く一生もののスキルです。「自ら調べる筋肉」を初学者のうちから身につけておきましょう。

DIVE INTO CODEのことをもっと知ってみませんか?