見出し画像

プログラミング初心者が環境構築の大切さを体感したお話。



こんにちは。


最近Rubyを始めて
Railsを触りawsを触り・・・と色々やってきたのですが

いろんなブログに書いてあるような
プログラミングの始め方をしてはいけない、と感じ
このnoteを書いています。

私はプログラミングの勉強的に
Ruby
↓html,css(ほんとにちょっとだけ)
↓SQL(これもちょっとだけ)
↓Ruby on Rails
現在二ヶ月目(AWS、SQL、環境作り、その他諸々の使い方に全く慣れて来ないな〜と感じてる)

という感じで触ってきました。
様々な記事や、ブログ等に勉強の進め方など、書いてありますが、
結論、最初の言語はなんでもいいと思います。
自分が作りたいサービスに使われている言語を触ってみるのが一番かと思います。(偉そうに言ってますが、まだ二ヶ月目)

それで、この勉強の順番的には間違っていないと思うのですが(多分)
これには圧倒的に足りないスキルがあります。

環境について、です。
RubyやRails、またはSQLなどを動かすための基盤?といったところでしょうか。
その環境を作るための
いわゆる黒い画面(コマンドプロンプト、ターミナル)の使い方や危険性を学ばず
RubyやRailsを使ってきました。

その結果、
私のMacの環境が半崩壊し、普通に使うことに全く問題はないですが、
再度、ローカルで新しいアプリ等を作るときは
再インストールしなければならないような状況です。

そう、こうなってからでは遅い。
環境がこれほどに重要なもの。というのは
どの本にも、大きく書かれていないのです。

プログラミング初心者は環境構築に気をつけてください。
本当に!マジで!

正直、プログラミングを最初に学ぶ上でもっとも重要だ、
と今では感じます。

フロントだから・・・とか意味わからないことを言わないでください。
自分で環境を整えれない人は、プログラミングできないのと一緒だと思います。多分。

私自身も始めて間もないので、多分という表現を多様します。多分。

私はどこかの大きな企業で開発とかしたことないので
環境構築がどうなっているのか?とかわからないのですが、
正直、この環境構築等がわかっていなければ、かなり困るんじゃないか?と思います。多分・・・

ここで、progateを引き合いに出させていただくのですが、
「progateだけやっている人は何の役にも立たない」
といった記事やコメント、ツイート等をよく見ますが、本当にその通りだと感じます。

もちろん、私もまだまだ初学者で
progateを現在進行形で使わせていただいているし、
「学ぶ」ということにおいて、Progateの右に出る教材はないのではないか?と感じるほどです。

Progateでその言語、アプリ、サービスに対応した環境構築をすることありません。
始めから環境が整えられています。
正直環境を整えることは、言語を学ぶ意欲、モチベーションの低下に繋がるし、正直環境は謎だらけです。

ですが、絶対に学ぶ必要性があります。

ただ、初学者にとって、環境構築が必要ない。
というのは学ぶことにおいて非常にメリットであるし、
時間短縮にもつながります。

自分のやりたいことだけを学べる、それほど良いことはありません。
ゆえに、あまり役に立たないのですが・・・それは仕方のないことです。

ただ、私は1つの言語だけを学んだ人が、
突然、

「自分のパソコンで開発するのを止めたい」

それだけなんです。

例えば(=私の場合)、progateと初心者用の本で、
ある程度勉強し、ローカルの環境(自分のパソコン)でやってみよう、と環境を整えようと試みました。

様々な本やネット(Qiitaなど)の情報を頼りに
こうしたらいいよ!と書いてあることをとにかくそのまま実行していました。
そうやって適当にインストールしていると
私みたいに崩壊します(笑)

そういう時にどうすればいいか?
環境を作るプロに聞いたところ、

正直環境は経験がものをいう世界です。
なので、何のためにこのコマンドを打ったのか?
それを必ずメモしなさい。
そして、壊れたらメモと全く同じように、実行していき、
どこで壊れるかを一つずつ試していきなさい。
それで壊れた箇所を把握し、やらないようにする、
そうやって自分自身の思考も動作もデバックするんだ。

とおっしゃっていました。
私もこれを聞いてから実行しています。
自らにデバックを。

(ちなみにRailsチュートリアルは壊れることを避けるためか、壊れた後にすぐ消せるように、AWSでの開発を推奨しています。)


そして、環境構築において、ディレクトリの重要性は、
プログラミング初心者が想像しているよりもあります。
私はその辺あまり考えてませんでしたが・・・考えるようにしましょう。
本当にこのディレクトリにインストールしても良いか、どうか。

そして、環境構築に比べて
黒い画面の使い方は、簡単に学べます。
本もある程度出ています。

ぜひ勉強しましょう。言語を学ぶことに比べて、そんなに難しいものじゃないです。
簡単なものはProgateにもあったと思います。

ディレクトリの重要性もすぐにわかるはずです。
だから、言語と同時に
一番最初から学ぶべき事項だと私は考えています。

しかもその環境はできる限り、ローカルで行わないこと。
それをルールにしてほしいくらいです。

インストール箇所を間違えてしまうと、そもそも動かないですし
他のものにも悪影響を及ぼしてしまい、今まで動いていたものが
全く動かなくなるという可能性もあります。

特にプログラミング初心者の方は気をつけてください。

私の二の舞にならないように。

なので、勉強の仕方としては
一番最初に学ぶ言語+環境構築
を必ず勉強しましょう・・・・

ちなみに私が今使っている書物は3つあって
おすすめはこの超入門シリーズ。
他の言語はわからないですが、rubyについてはこの本推しです。

この本は本当におすすめで、RubyだとどうしてもRuby on Railsというフレームワークに頼りがちなんですけど、この本は「Ruby」というプログラミング言語の本質から、考え方が学べるめちゃくちゃ良い本です・・・!
ruby初心者の人は絶対買って欲しいレベルの本です!!!

rubyやる人は必ずこのチュートリアルすると思うんですけど、このチュートリアルやりながら上の本で勉強してましたね。私的には並行でやるのがおすすめです。

また、AWSを使うにあたって下の開発運用入門の本を使ってるんですけど

正直なところ、AWSのヘルプが充実しすぎていて、、、あまり本を買う必要なかったかもなあと思ったりしますが、あると安心するというか笑


加えてもう一冊、下のLinuxの本はめっちゃ役に立ってます。
サーバー系って、言語系と違ってわからないところがあったらぐぐる、みたいなやり方よりも

初めにこれを勉強して、最終的にこうやった方がいいよ。
的な流れがある程度確立されているので、現時点では
初歩から本などで学習して、実装した方がやりやすいかな、と思ってます。

というか、「ゼロからわかる」シリーズ本当にわかりやすくて大好き・・・

それでは、みなさんも楽しいHello Worldを。








サポートしてくださったお金は全額、本を買うことにしてます。 本を買ってまたnoteを書く糧とします。 ご覧頂きありがとうございました。