初心者にオススメの「プログラミング言語」って何?
プログラミングをはじめよう!
そう思ったとしても、プログラミング初心者にとっては、何から手をつけていいのやら・・・。さっぱりわからない、という方も多いと思います。
せっかく、下記のような記事で「プログラミングを学んだほうが良い理由」や「プログラミングを学ぶ意義」は理解したし、意欲もあるのに・・・。
▶関連記事『「なんでプログラミングを覚えるといいの?」たった「ひとつ」の理由とは。』
▶関連記事「プログラミングを学ぶときの注意点 〜「スキル」という言葉の魔力〜」
そんな方向けに、今回は「プログラミング言語の選択、そのもの」にスポットを当てて、アクトハウス日本事務局である株式会社カグラの制作チームで活動しているフリーランスエンジニアたちに聞いた「初心者にお勧めするプログラミング言語」をご紹介したいと思います。
できれば、C言語から
C言語をおすすめしたいです。制作チーム内でも「え!意外!」という声が続出しましたが・・・。
C言語は、1970年代に登場したプログラミング言語。汎用性が極めて高く、コンピューターやハードウェアといった機械の制御、OS(基本ソフト)、アプリケーションからWEBサービス、最近ではiOSアプリの開発言語にも採用されています。
C言語を学ぶことのメリット
⚫汎用性が高いため、あらゆる処理方法に触れることができる
⚫他の言語では安全性を考慮してあまり扱うことがない「ポインタ」の操作も意識する必要がある
👉コンパイル(ソースコードを機械語に翻訳すること)しないと動かないため、動作させる機械に最適化したプログラミングを行なうクセを付けることができる
まとめると・・・
「どうやってプログラムは動くのか」という動きをしっかりと身につけられるのです。
C言語を学ぶことのデメリット
⚫登場した時期が古いため、文法(記述のしかた)は比較的「低水準(人間の言葉よりも、機械の言葉に近い)」とされており、覚えづらい
⚫昨今主流となっているオブジェクト指向言語ではなく、手続き型(もしくは関数型)プログラミング言語なので、C言語の本体を学んでもWEBサービスの開発等にはそのままは活かせない
C言語の派生言語
大規模な基幹システム(銀行の勘定系システム、工場の生産管理システム、企業の経理システム等)のシステム開発で良く採用されるプログラミング言語の多くは、C言語が元となって派生したものが多いとされています。
⚫C++ C言語にオブジェクト指向性を持たせて拡張させたプログラミング言語。現在では元のC言語とは互換性がほとんどなくなっている。
⚫java サン・マイクロシステムズ(現オラクル)社が開発した、C++よりもさらにオブジェクト指向性をもたせ、C言語のなかでも理解しづらいとされるローレベル(機械語に近い)要素(例:ポインタ)を排したプログラミング言語。構文がC言語やC++に近いため、C言語・C++の開発経験があると比較的習得しやすい。世界的に採用率が高く、扱えるエンジニアの数も多い。
⚫C# マイクロソフト社が自社のフレームワークである.NET Frameworkで動作させられるように、javaやC++の要素を取り入れて開発した比較的新しいプログラミング言語。Microsoftのアーキテクチャ(Windows Server)を採用しているプロジェクトで用いられることが多い。
⚫Objective-C Apple社がiOSアプリの開発言語として採用したことで一気に注目度が高まった、C++同様にC言語にオブジェクト指向性を持たせて拡張させたプログラミング言語。C++で拡張された部分と重ならないように設計されており、C++との共存が可能なようになっている。
登場時期が古く、習得しづらいとされるC言語ですが、派生言語の多くが現役で採用されているプログラミング言語であることを考えると、その元となった言語をしっかり抑えておくということも必要なのかもしれません。
トレンドのプログラミング言語とはいい難いこともあって、IT留学でC言語を対応範囲としているところはあまり見たことがありませんが・・・。歴史が長い分、著作権フリーのソースコードも多数掲載されているので、そうしたコンテンツを利用して自習することは可能かもしれません。
C言語は難しすぎる…そんな方にオススメなのが「VBA」
世界中で使われているオフィス・ソフトウェア。それがマイクロソフト社が開発・販売している「Microsoft Office」です。中でも、文書作成の「Word」、スプレッドシート(表計算)の「Excel」、プレゼンテーションの「Power Point」、簡易データベースの「Access」、メールソフト「Outlook」あたりが有名です。
実はこの「Excel」には、「Excel VBA」というプログラミング言語が搭載されています。
Excel VBAの特長は、何と言っても「手軽なこと」です。通常ならプログラミングを開始する前に必要となる「開発環境の準備」が不要なのです。(開発環境の準備については後述します)
いつものようにエクセルを立ち上げて、開発タブ(初期状態だと非表示となっているので、表示設定してください)を押すだけで、Excel VBAをつかったプログラミングを開始することができます。動作するフィールドは、いつも使っているエクセルですから、何かと面倒で手間がかかるサーバーの設定も不要です。少人数の組織であれば、Excel VBAでプログラミングした、ミニシステムのようなものでも、十分に機能を果たすことができます。
一方で、Excel VBAで開発したプログラムは一般的に「エクセルマクロ」と呼ばれ、主にエクセル上でしか動かすことができません。大人数で使うには不向きですし、WEBサービスのように不特定多数がアクセスすることを想定した作りにすることはできません。
そうはいっても、Excel VBAは立派なプログラミング言語です。それに、筆者自身もよく遭遇することですが、比較的大きな会社や組織でも「かつて誰かが作ったエクセルマクロで業務を行っている」(そして作った本人が退職していて誰もメンテナンスができない・・・)というケースはザラにありますから、習得しておけば現場で役に立つことは間違いありません。
開発環境の準備って大変
プログラミングをしよう、という場合、多くの場合、それぞれのプログラミング言語が動作する「環境」を作らなくてはなりません。よく「開発環境の整備」などと呼ばれる作業です。
プログラミング初心者が意外に手詰まりになるのが、この開発環境の整備です。OS(基本ソフト)が違えば操作方法も変わってきますし、プログラミング言語の種類ごとに整備しなければならない環境は違ってきますし、プログラミング言語のバージョンが違えばこれまた操作方法が変わります。
しかも、これが正解!というものでもないため、複数種類ある手順の中で、どれが最適なのかも判断できず、手探りで進めていくことになります。
「わからないこと」を避けていては、モノづくりはできない
プログラミングをするという作業内容だけで言えば、誰かに用意してもらった開発環境を使って、プログラミングをすることはできます。大規模なシステム開発案件においては、エンジニア間で使用する開発環境の差異をなくすため、予め開発環境が用意されていることも多いです。そのため、エンジニアの中には、自ら開発環境を整備するという経験を持たないままキャリアを重ねていってしまう方も多くいます。
しかし、実際にエンジニアとして仕事をしてみると、開発環境の整備の手順や方法を理解できていないプログラマー(エンジニア)は、自ら可能性を狭くしてしまっていることになります。ただモノを作るだけなのか、作ったモノが実際に動作するところまでケアできるのか。両者の視野には歴然とした差があるからです。
これからプログラミングを始めようと思っている方には、単にコードを書く(プログラミングをする)という狭い視野ではなく、開発したプログラムがどう動いて、それを使っている人はどう感じるのか、という広い視野で客観的に見られるスキルを身に着けて欲しいと考えています。
アクトハウスはどうして「PHP」を選択しているの?
さて、アクトハウスに寄せられる質問の中には、「どうしてアクトハウスではPHPを学ぶことにしているのですか?」という内容が多くあります。
本記事ではプログラミング言語のうちのどれを学ぶべきなのか、について書いてきましたので、最後のその理由を明らかにしたいと思います。
✔このプログラミング言語は扱わないんですか?というお声と、扱わない理由
⚫Python:分析とか専門分野で使用すること、WEBサービスでは採用率が低いこと、以上2点から選択していません。
⚫Ruby:(個人的な感覚もありますが)Rubyよりも「PHPのほうが書き方や関数が初心者寄り」と感じます(Rubyはそこそこプログラムできる人たちが、初心者向けなところは削ってでも玄人が使いやすくする、という感じで進化していっている感じがします)ので、選択していません。
ちなみに、冒頭からご紹介してきたC言語やExcel VBAを扱わないのは、ひとえに「WEB系(フロントエンド)のほうが、作ったモノが実際に動いている様子がわかりやすいから」です。
作ったモノの成果がすぐにわかるほうが、学習意欲に繋がりやすいですし、モチベーションを高く維持できればそれだけ身につきやすいと感じませんか?中・長期の留学だからこそ、挫折感だけが残ってしまう、というようなことがないようにと、習得するプログラミング言語の選択も慎重に行ったんですよ。
▶関連記事『イケてるプログラミング言語「PHP」って? 初心者のための豆知識。』
加えて、フリーランスとして活動するときに「手っ取り早く案件獲得に繋げやすいから」です。(CMS・ブログエンジンとして世界的に普及している「WordPress」や、国産のECパッケージ「EC-CUBE」等、PHPで書かれているプログラムを用いた案件が比較的多数あるから、です)
比較的、長期(6ヶ月コースが最長)の留学となるアクトハウスでは、参加者の方が自らの人生を見つめ、卒業後の進路を自ら選択していきます。そして、初心者も多く参加されることもあり、アクトハウスでは、「とっつきやすく」「習得しやすい」、その上「売上に繋げやすい(マネタイズしやすい)」・・・これらの理由から、習得する領域をフロントエンド(ウェブサイト制作やウェブサービスのユーザーサイド)と定め、プログラミング言語としてPHPを選択しています。
アクトハウスでは、他にもHTML,CSS,javascriptのようなマークアップ言語・スクリプト言語、Apache,MySQLのようなサーバーソフトウェア、jQuery,WordPressのようなフレームワークやエンジン、エディタ,Gitのような開発者支援ツール、Photoshop,Illustratorのようなデザイナーが使用するツール等々にも触れていただきますが、ここではあえて、PHPの選定理由のみをご説明しました。
▶関連記事『世界1位のプログラミング言語「JavaScript」とは?初心者のための豆知識。』
▶関連記事『「ワードプレス」ってなに?プログラミング初心者のための豆知識。』
「プログラミング/英語/デザイン/ビジネス」を学ぶIT留学
本記事でご紹介したプログラミングのみならず、英語、そしてデザインとビジネスが学べるIT留学があります。それがセブ島のアクトハウス。
✔ プログラミング
✔ 英語
✔ デザイン
✔ ビジネス
時代のスキルであるプログラミングを学ぶながら、それを「実践」で試せる「仕事」にも挑戦できるIT留学。アクトハウスの半年コースでは後半の3ヶ月は実践となり、プロとしてWEB制作を担当したり、起業スタンバイに着手します。そんなアクトハウスの最新募集情報や価格については下記のリンクからどうぞ。
▶セブ島のIT留学「アクトハウス」を詳しく見る
現役大学生が未経験からのIT留学で「フロントエンド・エンジニア」に。WEB実践ではフリーランスとして「17万円」の受注制作も。
➡2020年1月度募集
①3ヶ月コース:完売
②6ヶ月コース:あと4名
③くわしくは↓https://t.co/R71HmhES4w pic.twitter.com/bqEbkS05bG— アクトハウス@IT留学 : プログラミング/英語/デザイン/ビジネスを学ぶ (@acthouse_) September 25, 2019
ご質問はLINEやフォームからどうぞ
アクトハウスではご相談を毎日承っているので、起業やフリーランス、キャリアチェンジをもくろんでいる人は、
からお気軽にご質問・ご相談ください。
また「個別相談」も実施しているのでお気軽にどうぞ。
【著者:アクトハウス新村 繁行+株式会社カグラエンジニア・チーム】
▶IT留学アクトハウスの最新記事へ