Webエンジニアの日常とリーグオブレジェンド

Webエンジニアとして働いている猫のブログ。EmacsとMySQLとリーグオブレジェンド(LoL)が好物。主に技術的な記事かLoLの記事を書く。

初心者がプログラミングを始めるならどの言語を学べばいいかということと、プログラミングを学ぶにあたり重要なこと

f:id:yoshiki_utakata:20181018231309j:plain

殴り書きでざっくりだらだらと書くシリーズです。

はじめに結論

こんじには。私は都内でエンジニアをやっています。初心者がプログラミングを始めるなら何の言語をやるべきか、というブログはよくあります。結論ですがなにの言語でもいいです。といいますか、何を作りたいかによって使うべき言語はだいたい決まってきます。

何が作りたいかが重要

何を作りたいかが決まっていないのであればプログラミングを始める必要はありません。プログラミングを始めるということはなにか作りたいものややりたいことがあって始めるわけですし、目的がないとモチベーションが続かないですから勉強なんて続きません。

プログラミングは難しい

プログラミングってみんな簡単に習得しているように見えるのですが、そんなに簡単に習得できるものだと思わないほうがいいです。プログラミングは難しいです。プログラミングは数学ですから、高校の数学には問題なくついていけたような人であれば問題なく習得できると思いますが、中学の数学も怪しい人にはプログラミングは無理です。画面に「こんにちは」と出すくらいなら誰でもできると思いますが、みなさんが「これ作りたい」と思ったものを作れるようになるには、どれだけ頭がいい人で、どれだけしょぼいアプリだったとしても、何もプログラミングの知識が無い状態からはじめてもも2ヶ月か3ヶ月くらいはかかるでしょうね。

もっと重要なこと

もっと重要なことですが、小さな目標を立てていくことです。更に具体的に言うと、簡単なアプリから作り始めることです。

例えばtwitterを見られるアプリが作りたいと思ったとしましょう。twitterにはいっぱい機能がありますよね。タイムラインが見られて、ツイートができて、リツイートができて、お気に入りができて、フォローができて、リストの機能があって、ダイレクトメールがあって、でもその前にログインができて...

このようにいろいろ機能があって全部一度に考えるのは無理なのです。これらを全部作ろうとしたら、めちゃくちゃプログラミングが得意な人でも半月〜1ヶ月くらいかかってしまいます。なので、「とりあえずログインできてタイムラインがみられる。フォローとかお気に入りはできない」くらいの少目標を立てて、作っていくのがいいです。

あるいは、もうちょっとシンプルな別のアプリを作成するのもありますね。「アプリを開いた時点でもタイムラインの最新のツイートを画面に表示するだけのアプリ」とかですね。

初心者はどうやってアプリを組み立てていったらいいかわからないので、いきなり難しいアプリを作ろうとするとくちゃくちゃになります。DIYで犬小屋の作り方を学んだので次は高層ビルを建てようとしても無理、っていう話です。

何を作りたいかとプログラミング言語

ということでこれらを踏まえて何が作りたいかを考えます。大体初心者だとWebサービススマホアプリが多いと思います。

iPhoneアプリを作ろうと思ったらプログラミング言語はSwiftになります。

Androidアプリを作ろうと思ったらJavaかKotlinになりますが、おすすめはKotlinです。

Webサービスを作ろうとおもったら以下の組み合わせのどれかがおすすめです。

特にとっつきやすいのはPHPかなと思います。

「どのプログラミングが一番簡単か」と言われると、どれも一長一短です。が、ここに上げたプログラミング言語は、「とりあえず触るだけなら簡単」な部類かとおもいます。細かいことはやりたいことによって変わったり、人にもよると思うのでケースバイケースです。誰にでも共通して言えることはこれくらいです。

なにか質問がありましたら質問箱でもブログのコメントでもお寄せください。