こんばんは!
ゆうです。
今はwebエンジニアとして働いている私ですが、
学生の頃は文系の学部に所属し、
プログラミングには全く触れたことがありませんでした。
新卒の時はそんな状態で、
自分に特性があるのかどうかも
よく分からないまま
面接をしてくれた人事担当者の
「プログラミングは研修を受ければ
できるようになるから大丈夫」
の言葉を信じて、
受託開発をしている企業に入社しました。
新人研修で生まれて初めてプログラミングに触れて
勉強する中で、
- 説明している用語がそもそもわからない
- 概念が理解できない
- アルゴリズムが理解できない
などをそれはもうたくさん調べながら
何とか働いてきた時期がありました。
プログラミングのプの字も知らなかった
新人の頃にどこでつまずいてきたか
を思い出しながら書きます。
(俺はこうだったなどあれば言ってくださいね)
■代表的なつまずきどころ
1.Hello World
研修で最初に勉強することになったのはPHPでした。
まずは「Hello World」を出力してみましょうと
言われました。
何はなくともHello World。
この世はHello Worldから始まる。
とりあえずやってみろ。
言われた通りにここまで書いた瞬間に思いました。
「自分はプログラミングに向いてない気が・・・
なんかまず括弧の種類が多い。」
「多分、明確な作法があってどこでどれを使うか
決まってるんだろうけど、覚えられる気がしない。
そもそも理解までたどり着きそうにない」
「なんかインデント下げなきゃいけないらしい。
自分で。テキストで。
Wordだったら勝手に下げてくれるのに」
などなど。
2.おまじない
"Hello World"のために最初に書かねばならない
「$」とは何なのか。
なんかこう、 まあ、printで出力ができるのは何となく分かる。
printだから。
でも「$」って何。講師役の先輩は
「今はおまじないだと思っておけばいい」とか言う。
おまじないって何だ。
おまじないってあれじゃないですか、
消しゴムに好きな人の名前書いて使い切ったら
両想いになれるかもしれないっていうやつじゃないですか。
私の中でおまじないってそういう認識なんですよ。
要は効くかもしれないし効かないかもしれない
っていう認識なんですよ。
効くかもしれないし効かないかもしれないもの
ならなくてもいいじゃないですか。
絶対に必要なものなら、せめておまじないじゃなくて
絶対に効く超強力魔法とか何とか言ってほしい。
何に効くのか分からんけど。
あとなんか関数も、{}でくくったら
というようなことだと思うけど、
intとか、stringとか、よく分からんもんが
いろいろついてる。
そう、なんかプログラミングって……
何でつけるのかよく分からんもんがいろいろついてる……。
(第一印象)
3.型
えっ何でこんなに種類があるの?
浮動小数って??浮くの???
何でも入る型一個作ったらそれでいいのでは?
4.セミコロン
描いたコード実行するたびにセミコロンを
必ず忘れている箇所があってエラーが出る。
何で要るんだこのセミコロンは。
ひと手間増えるじゃないか。
行の切れ目が文の切れ目とかいうことでいいじゃないか。
5.ループ
なんか条件によって処理を繰り返すfor文というものがあるらしい。
もうだめだ。
なんか条件のところに3つも書かないといけないし。
何だこれは。何を意味してるんだ。
「a = 0;」お前はまず……何でほとんどここで0を設定されるんだ。
1じゃ駄目なのか。「a < 11;」お前はなんか……
先に出てくる「a = 0;」でaを0にされると、
次の「a < 11;」で設定すべき数字と等号不等号は
どれが正しいのかよくわかんなくなる。
実行してみると大体間違えてるから、
1減らしたりする。これ2億回はやった。
あとif文の()の中にセミコロンはいらなかったけど、
for文はいる。多分()の中に3つもあるから……
と思って全部につけたら「a++」はセミコロンいらないって
もうどういうことなん……
while文は繰り返し条件が1つで済むぞ!
やったー!while文大好き!!と思ったけど
変な条件を設定して無限ループ突入したことが
6億回くらいあります。
そもそも、構文もそうだけど、
何で繰り返す必要があるのかよくわからない。
どういう時に使うのかイメージがわかない。
繰り返すことに何の意味があるのだ。
同じことを繰り返してばかりでは、
人生前に進めないではないか。
6.配列
もう二次元配列ともなると、
何をどこにしまったらいいか分からないし、
何がどこにしまってあるかも分からない。
そもそも配列にしまう必要性も分からない。
■自分なりに考えた、
プログラミングでつまずいた理由
ざっくり言うと自分は
「プログラミングの勉強自体が目的になってしまっていた」
ことがよくなかったと思います。
そもそもの目的が「こういうシステムが作りたい」
「アプリが作りたい」とかではなく、
「研修でプログラミングを勉強する」ということ
になっていました。
プログラミングを「利用」して何かを作るということ
までを考えていなかったので、一つひとつが何の役に立つのか
もよく分からないまま勉強していました。そら上達せんわ。
また、学校の勉強みたいに、基礎→応用で上達できる、
基礎固めをすればいつか使えるようになると思っている節
もありました。
今思うと、「何か作りたいものがある」という動機があって、
それに必要な部分を必要に応じて調べて、作ってみる……
というやり方が一番効率がよい気がします。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
プログラミングの相談にのっております。
- どう勉強していいかわからない
- IT業界って実際どうなの?
- プログラミングできるようになりたい!
という方。気軽に連絡してください!
またメルマガの配信も行なっております。
- どうやって勉強したらいいのかわからない
- プログラミング未経験なんだけど、どうしたらいいの?
- 専門用語も何もわからない
- 上司に怒られてばかりの今の状況を打破したい
という方はどうぞ。






