【3ヶ月半経過】ウェブカツで未経験からのプログラミング学習
こんにちは、こことです。(詳しい自己紹介はこちら)
オンラインプログラミングスクールのウェブカツでプログラミングを学び始めて約3ヶ月半が経ちました。問題なく、プログラミング学習を続けています。
(3月26日仮入部、4月1日女性割引で本入部)
■ウェブカツを選んだ理由はこちら
ウェブカツの詳細は↓↓
今回はウェブカツの進捗状況、オブジュエクト指向部のアウトプット、現在のプログラミング学習で苦戦していること(プラス余談)を書いていきます!
ウェブカツの進捗状況
詳しい時間数はtwitter(@cocoto_st)で報告しておりますのでそちらをご覧ください。
3年生になりました
webサービス部を終え、オブジェクト指向部、js部中級、html・css部中級を終え、3年生になりました。
※詳しいウェブカツのカリキュラムはこちらをご覧ください。
webサービス部に入った時に、そのボリュームに圧倒され心が折れそうになった私ですが、先輩方がおっしゃるように、webサービス部はまだまだ序章に過ぎなかった…!という感じです。
恥を忍んで告白いたしますが、私はwebサービス部の次のオブジェクト指向部で躓きました。
twitter等ではオブジェクト指向部が難しいという声をあまり聞かなかったので、なかなか理解できない自分に超焦りました。
これからオブジェクト指向部に入る皆さま、ご安心ください。オブジェクト指向部で苦しんだ人がなかなか見つからなくて、「え?自分だけ?」と思うかもしれませんが、ここにいます。
ただし、オブジェクト指向をわからないままにしておくと、今後困ります。その後の講義でオブジェクト指向頻出です。phpだけじゃなく、プログラミングを学習していく上で重要な概念だと思います。なんとかもがいて、ご自身の中で消化しましょう。
オブジェクト指向部アウトプット
「わたしも、定時で帰ります。」という、簡単なゲームを作りました。
(タイトルはあの有名なドラマのパロディです。)
よかったら遊んでやってください。
定時で帰るドラマは終わってしまいましたが、定時で帰るゲームを作りました!#ウェブカツ のオブジェクト指向部のアウトプットとして、クラス等を取り入れて作ってみました〜。
— ここと@プログラミング学習中 (@cocoto_st) 2019年6月30日
※PC推奨(スマホでもいけるかな?)
バグがあったら教えてください!https://t.co/QyQ6vCjBc9 pic.twitter.com/MCk0lTI7Or
正直、オブジェクト指向を適切に取り入れられたのか自信ないです。
ちなみにウェブカツのオブジェクト指向部で使うサンプルコードは、オブジェクト指向の概念が網羅されていて、とても勉強になります。
プログラミング学習で苦戦していること
プログラミング学習を継続していて、最近苦戦していることを書いてきます。
PC(コンピュータ)に関する知識が足りない
ウェブカツの後半戦、様々なフレームワークを使用するようになるため、「環境構築」がとても多くなります。正直、コードの理解よりも環境構築で躓くことの方が私は多いです。基本的にはレッスンで丁寧に教えてくれるのですが、動画内で紹介しているプログラムのバージョンと現在配布されているバージョンが違ったりすると、正常に動かないこともあったりします。ググれば解決策は出てくるのですが、根本的なところを理解していないと対応がスムーズにいかないこともあるのでは、と思っています。
プログラムをどこに(どのディレクトリに)インストールするの?それがどうやって動くの?初期化ってなに?PCに疎い私にとっては、講義だけではどうしても「ピン」とこないことがあります。(講義内容の問題ではなく、私の理解力の問題なんだと思います)。
コマンドラインの操作も多くなり、もっとそもそものPC(コンピュータ)に関する知識があった方がスムーズにいくんだろうなと思うことがしばしばあります。(そもそもインストールとかダウンロードとか、そういう仕組みすらわかっていなかった人間なので…)
プログラミング学習って、コードをただ書くだけじゃないんですよね。実際にエンジニアとして働くためには、環境構築が一人でできるのは当たり前だと思うし、エラーも自力で解決していかなければならないはず。この辺りが私にとっては鬼門なので、じっくり向き合っていきたいです。
(ウェブカツの中では珍しい、あまり手を動かさない部活だけど、ネットワーク・サーバ部、重要です!)
余談:「文系」人間がプログラミングをやっていて困ったこと
しばしば話題になりますよね。文系でもエンジニアになれますか?とか、文系なのでプログラミング向いてないのかも?とか。結論としては「関係ない」だと思うんですが、そのあたり、ちょっと思っていることを私自身が苦労したことも含めて書きたいと思います。
そもそも何をもって「文系」「理系」を区分するかの問題があるのですが、それを論じると果てしないので、今回は「文系学問」を学んできた人、「理系学問」を学んできた人という意味で「文系」「理系」を使っています。いわゆる「文系脳」「理系脳」等の「気質」に着目するものではありません。
自分語りになってしまいますが、私は超ド級の文系人間です。高校も「文系」クラスだったし、大学でも「法学」「社会学」「経済学」など「社会科学」をメインに学んでいました。もっというと、本当は「文学」などの「人文科学」が好きな人間です。(ちなみにこれはあまり関係ありませんが、高校の数学は常に赤点、センター数学すらできずに私立文系に進んだくらいです)
そんな私が、プログラミング学習で苦労していることの一つが、「用語の定義が曖昧」問題です。
例えば、 「node.js」というものがあります。(ウェブカツで、まだnode.jsが出てきていない方、よくわからなくてすみません、そのうち出てきます!)で、そもそもそも「node.js」って何?ってなるんですよ。そして、調べてみる。
すると、
「サーバーサイドのJavaScript環境」
とか
「サーバサイドのJavaScript」
とか
「JavaScriptアプリケーションのプラットフォーム」
とか、色々出てくるんです。でもこれらって、全部指すものが違いません?「環境」「言語(jsって言語名ですよね?」「プラットフォーム」…結局node.jsって何?ってなるのは私だけですか?
だって、node.jsが「サーバサイドのJavaScript」なら、え?言語をインストールするの?node.jsって言語名なの?ってなるし、「サーバーサイドのJavaScript環境」なら環境って何?環境をインストールして使うの?ってなるんです。node.jsの実態が用語の説明からではよくわからない…ってなってしまうんです。
人文科学と一部の社会科学をばりばりやってきた方にとっては、これ、すごく気持ちわるいと思うんです。なぜならそれらの学問は、用語が指すところに齟齬があってはいけないから。もしくは、「用語を定義する」ことがそもそもそれらの学問だから。
知り合いのエンジニアにこの話をした時、「情報系、もっと言うと、多分工学とかそういう分野って、そんなに用語の定義を気にしない気がする。同じ言葉でも人によって指すものが違うことなんてザラだし、言葉より実物、まあ実態が問題なく動けばいいんだよ」と言われました。
そっかー、そういうものかー、と思いました。象牙の塔にこもることが夢だった私にとっては、どうにもすんなり理解できないところではあります。
この「用語の定義が曖昧」なことについては、文句や愚痴ではありません。プログラミング学習においては、そういうものなのだと。そこは重要ではないのだと。あまり細かいことにとらわれずに、どんどん動かして自分のものにしていくことが必要なんだと改めて思いました。
私が困っていること苦戦していることを、無理やり「文系」「理系」というものに結びつけて一般化してしまいした。そんなに大きな主語にする必要はなかったかもしれません…!(ご容赦を)
だらだらと書いてしまいました。
お読みいただきありがとうごいざいます!引き続きプログラミング学習、頑張っていきましょ〜!