プログラミング未経験から入門者になるために覚えておくべきこと

ゲームプログラミング

プログラミング 入門者 未経験

こんにちは。継続の錬金術士なおキーヌです。

ブログ毎日更新は187日目になります。

私がまだプログラミング未経験者だったころどうやってプログラミングを覚えたのか、
かなり鮮明に覚えています。

大げさかもしれませんが、当時はまるで魔法を覚えたかのような感覚にもなりました。

内容は正直グレーゾーンすれすれの仕事でしたが、今ではいい思い出です。

私は学業で言えば偏差値38あるかないかのレベルなのですが、
そんな私でもプログラミングを覚えられるのです。

つまり40以上ある人であればプログラミングを覚えるなんて
算数の加減乗除の問題を解くようなものなのです。

それではプログラミング未経験者講座第1回を始めましょう!

  1. プログラミングを覚えて何がしたいの?
  2. プログラミングを覚えたらできること10選
  3. 覚えたいプログラミング言語を2つ選択しよう
  4. 環境構築をせずにプログラミングをすぐ始めたい人へ

プログラミングを覚えて何がしたいの?

プログラミングを覚えたい!って言う人がここ最近かなり増えてきている気がします。

私はプログラミングを教えられるぐらい者を納めていませんが、
未経験者から入門者〜初級者にしてあげるぐらいには扱えるようになりました。

「プログラミングに興味をもった」「プログラミングを覚えたい」

と言われたら私はかならずこう返しています

「プログラミングを覚えて何がしたい?」

なぜこう言うことを効くのかと言うと、この時点で覚えるべきプログラミング言語の種類がある程度絞られるからです。

最近の例をあげると「ゲームアプリを作りたい」と幼馴染からLINEがきました。

私はここで思い浮かんだのが「AndroidアプリかiOSアプリか」

Javaはなんとなく聞いたことがあるかもしれませんがKotolinやSwiftなんて言おうものなら、
LINE越しでもハテナが浮かぶのは予想ができたのであえて言いません。

Javaはある程度わかりますが、正直最初に覚えるには少々難易度が高いと思っていたため悩んでいました。

ここで話しているとどうやらWordpressでブログ運営をしていることが発覚したので、
私はすかさずJavaScriptを進めました。

JavaScriptであれば簡単にプログラミング経験もできますし、
環境構築をしなくてもブラウザとメモ帳があればある程度なんとかなります。

もう一度言いますが、プログラミングを覚えたいのであれば覚えて何がしたいというのが重要になります。

エンジニアとして転職したいとかなんか凄そうだからとか枠が大きすぎたりふわふわした目標だと成長しませんし挫折します。

エンジニアとして転職したいというのは結構いい考えですが、エンジニアといってもいろんな方向性があります。

いわゆるWeb系ならJavaScriptやphpですし、機械に組み込むとかならCやアセンブラの知識がほしいです。

なのでもうちょっと具体的な目標があると良いでしょう。

私の友人の「ゲームアプリを作りたい」だと 「ゲーム」「アプリ」という単語を拾えます。

ゲームだけだとC言語や私が講座しているプチコンシリーズですが、そこにアプリが組み込まれたとなると、
JavaやKotolin、Objective-cやSwift、React-Native等。

と言う風にある程度わかっている人間からすると方向性を洗い出すことができます。

友人はSwitchを持っているのを知っていたので、私は真っ先にプチコン4を薦めておきました(笑)

プログラミングを覚えたらできること10選

プログラミングを覚えたらできることは、パソコンが動く環境であればなんでもできるようになります。

だと、結局何ができるのさってなってしまうので私が思うプログラミングを覚えたらできることを10つピックアップしてみました。

それぞれ簡潔に話します。

ゲームを作ることができる

個人的にこれが一番のメリットだと思っています。

しかし難易度は結構高いです。

プログラミング以外の能力も問われるため、プログラミングはスタートラインですね。

アプリを作ることができる

ゲームもアプリの一部に入りますが、差別化として便利系アプリとかですね。

何かを計測してグラフ化してくれるアプリを作ったり、
TwitterのようなSNSを作ったり色々出来ます。

面倒な決まった処理を自動で一瞬で終わらせることができる

私が一番最初に覚えたプログラミングの成果がこの自動化処理ですね。

自動化処理はプログラミングの基本的なことを使って作ることが出来るので、
プログラミング入門者にとっては一番身に付きやすいと思います。

電子工作に命を吹き込むことができる

昔はC言語や古い言語でICチップに書き込まないと動きませんでしたが、
今ではRaspberryPiやArduinoで簡単に電子工作プログラムが出来ます。

IoTは今後も活発化するので工作好きの人にオススメです。

インタラクティブな映像作品を作ることができる

私が仕事でやっていることなのですが、チームラボやネイキッドが主催している
体感イベントもプログラミングで行うことが可能です。

プロジェクターやセンサーを使ってユーザー体験を作れます。

業務用のデータベースシステムを組むことができる

これがある意味私のメイン業務です。
データベースを構築して、社内の在庫管理や社員管理等のアプリケーションを作ることが出来ます。

外注すると数ヶ月掛かって軽く7桁行くようなものを作れるわけですね。

人工知能(AI)を作ることができる

言わずもがなAIはプログラミングなくして実行できません。

一度組んでしまえばあとは勝手にデータが溜まって成長していくのが楽しいです。

入門の敷居は今ではかなり敷居が低いですが、
一定以上行くには高等数学や高度な知識が必要になるため文系人間には辛いです。

VRやARの世界を構築することができる

Vtuberが流行っているこの時代、自分用の3Dモデルを作る人も多いです。

そのキャラクターが動き回るような世界を作ることが出来ます。

最近ではJavaScriptでもARやVRを作ることが出来るので驚きですね。

家電製品を制御することができる

個人的にある意味一番難しい分野だと思っています。

限られたメモリの中で効率よく動くように組まなければいけないので、
初心者にはかなり敷居が高い分野です。

組み込みプログラミングは難しいため日本人技術者が減っているのか、家
電製品は海外の物が多くなっています。

ロボットが好きなのであれば組み込みにチャレンジしてみてもいいかもしれません。

いわゆるbotを組むことができる

TwitterやLINEの自動で返信したりするプログラムを組むことが出来ます。

私は正直botの存在意義が分からないです。

ちゃんとしたAIが組み込まれているならいいのですが、
定型文を吐き出すだけのbotは何を目的としてるのか教えてほしいです。

いや、目的なんてないのかもしれませんね。

覚えたいプログラミング言語を2つ選択しよう

プログラミングを覚えるなら1つの言語ではなく2つの言語を同時に覚えましょう。

と言っても何と何を覚えればいいの?と思う人にオススメの組み合わせを紹介します。

  • phpとJavaScript
  • RubyとJavaScript
  • PythonとJavaScript

それぞれサーバーサイド側とフロントエンド側になります。

それってYO!Web言語じゃんか!アッアッアッアッ!

っていうガチモンプログラマが沸き出てくると思うリストですが、
流行りものに乗っかる事と、敷居の低さと文献の多さと厳格な書き方をしなくても
書いたプログラムが動く楽しみを味わえる条件を満たしているのがこの4言語です。

これらはプログラミング言語というよりはスクリプト言語に部類されちゃいますけどね。

いきなりC言語を覚えるのは正直言って無謀です。

物足りなくなったらCやC++にいけばいいです。

phpやjs、RubyやPythonで覚えたことはC言語をやるにあたって無駄にはなりません。

個人的にオススメなのはWordpressを弄りつつphpとJavaScriptを同時に作りながら覚えていくことですね。

環境構築をせずにプログラミングをすぐ始めたい人へ

昔に比べればクリックしていけば環境構築をできるようになりましたが、
それでも全くの初心者の人からすれば結構難しいものです。

環境構築をせずにプログラミングをすぐに始めたい!という人は下記の言語をおすすめします。

  • JavaScript(PCやMacがあれば動く)
  • VBA(エクセルがあれば動く)
  • Ruby(Macだと最初から入ってる)
  • Python(Macだと最初から入ってる)
  • プチコン4(NintendoSwitch+3000円があれば動く)
  • PHP(レンタルサーバーを借りたら動く)

上にあるほどすぐに始められます。

中でもJavaScriptはインターネットブラウザさえあれば動いてくれます。
後はなんでもいいのでテキストエディタ(メモ帳等)があればコードを書けます。

環境構築で挫折するって言う人は結構多いです。

私もWindowsしか知らないときはRubyをやろうとして環境構築でつまづいて挫折しました。

始める前から挫折してしまってはかなりもったいないので、
プログラミングに入門する時はまず環境構築なんて気にせず出来るモノを選ぶと良いでしょう。

環境構築は慣れて来たら覚えればいいだけの話です。