独学プログラミングで「苦労した点」と「現時点での対策」をまとめるページ

ブログ

みなさんこんにちは!クフルダモ・ノーツキムラ ヨシト(k1mu)です!

 

 

2017年頃から独学プログラミングをやっています。

忘備録も兼ねて

・自分がプログラミング学習で躓いたポイント
・今の自分なりの回答

などをまとめたページです。

プログラミングが出来る方は「苦手な人」は何が分かってないのかの参考にしていただければ幸いです。

※この記事の回答は現在の僕の理解によるものです。正しいかどうかは保証できません。
※たまに更新します。

最初に抱いていた疑問

独学なので最初は何もかも分かりません。

プログラミングは「パソコンの黒い画面で何かしてるやつ」くらいのイメージでした。

Q.「プログラミング」って何?

コンピューターを動かす命令を記述すること。

イメージとしては、「コンピュータが読む作業マニュアルを作る」みたいな感じだと思います。

Q.「プログラミング」は何ができるの?

(難易度は別として)普段、パソコンやスマホに表示されているものは全てプログラミングで作られているはずです。

Q.何を勉強すればいいの?

やりたいことによります。

アプリを作りたいのか、ゲームを作りたいのか…など。
主要プログラミング言語 特徴」とかで調べると良いと思います。

僕は、最初にPython、次にJavaScriptを勉強しました。

今なら最初はこうやって勉強する

とりあえず、強烈にやりたい内容がなければ…

YouTubeで「Python 初心者」と検索して出てきた動画の内容を真似をしながら
Google Colaboratory上でPythonを動かしてみます。

キノコードさんの動画は分かりやすいと思います。

それから、プロゲートを使ってHTMLCSSの基本的な仕組みを理解します。

HTMLCSSの初歩的な内容が分かったらドットインストールJavaScriptについて勉強します。

HTMLCSSJavaScriptの内容を一通りやったら、同じくドットインストールに簡単なアプリケーションを作るレッスンがあるので真似してみます。

これで結構プログラミングの雰囲気がつかめる気がします。

 

また、SQLLinuxは色々な分野で使うらしく、勉強しといた方が良いとよく聞きます。
(僕はまだちゃんと勉強できてないです…)

つまり

プロゲート… とりあえず無料で手軽にやってみたい場合はコレ。

ドットインストール… プロゲートより具体的な内容が学べる。

YouTube… 具体的に技術について解説している動画がオススメ。
       (極端なタイトルで煽っている動画はあんまり参考にならない)

プログラミング学習を挫折させる要因だと思われるもの

物事を抽象的に扱う分野なので理解しにくい。

数学の公式を覚えても、実際の問題を解かなければ身に付かないのと同じで
抽象的な物事」を理解するには、「具体的なアウトプット行為」が有効だと思います。

たとえば、説明を聞くだけで「なるほど。分かったかも。」と思えるくらい簡単な内容でも、自分でコードを書いてみないと実際には身に付きにくいです。(少なくとも僕は)

逆にめちゃくちゃ簡単なコードでも、自分で動かしてみると確実にレベルアップできる気がします。

最初は成果がしょぼく感じる

普段私たちが使うアプリやサービスは、超絶強いプログラマーが集団で作っているものです。

それに対して、プログラミングを勉強して最初にするのは
画面に「Hello World」や「1+2の計算結果」を表示させる行為。

普段見ているものとあまりにかけ離れているので「え…?しょぼくね…?…ていうかコレに何の意味が?」と感じました。(大切な内容なんですけどね)

作りたいものを作るために、どうすれば良いかよく分からない。

これは未だよく分かりません。

とりあえず、ドットインストールのミニゲーム的なアプリケーションを作るレッスンをやるのがオススメです。

基礎的な技術を身に付けると、その応用で作りたいものを作る見通しがつきやすくなる気がします。

あとは、似たものを作っている人をQiitaGitHubで探して参考にするといいかもしれません。

技術の流行り廃りが激しい。

基礎的なコンピューターサイエンスの部分はともかく、とにかく技術の流行り廃りが激しいです。

それに付随して

・本当の初心者が一から学べる体系化された資料がほぼない or 見つけづらい。
・流行り廃りに付いていける人は、全く分からない人向けに解説する文章をほぼ書かない。

みたいな傾向がある気がします。
学校の教科書」のありがたみが分かります。笑

チュートリアルや手本通りに実行しても上手くいかない場合が結構ある。

実際は、よく見ると手本通りに実行していないケースもよくある。笑

専門用語の壁がある

どんな分野の勉強でも「専門用語」の壁を越えるまでは結構キツイです。

不思議の国のSE用語 - Qiita
不思議の国 SEが住んでいるところ、そこは不思議な不思議なお国柄です。 新たな国民として移住してきた人、特産物のシステムを買いに来た人など色々な人がこの国には存在します。 しかしこの国で話される言葉は 独特 です。 ぱっと聞...

英語を読む必要がある

・プログラムは英語で書く
・エラーやコマンドは英語
・情報は英語の方が豊富

等の理由から、英語を読む必要があります。

最近はDeepL翻訳Google翻訳の精度が上がって昔よりはラクになったとはいえ…やっぱり日本語に比べて読むのに時間がかかるのはストレスです。

ただ、プログラミング界隈(?)からは

「会話じゃないし、翻訳もあるから英語に泣き言を言うのは甘え」
「そもそも、英語くらい読めて当然」

みたいな雰囲気は感じます。(´;ω;`)

プログラミングでよく使う英単語のまとめ【随時更新】 - Qiita
プログラミングでよく使う英単語のまとめ【随時更新】 随時追加、整理していきます。 名前をつけるときには、名詞、動詞の違い、複数形、過去形などに注意しましょう。 オブジェクト指向では、クラス名は名詞、メソッドは動詞とします。 ...

その他

僕が色々なものを勉強するときに使っている勉強法のまとめ

タイトルとURLをコピーしました