初心者にオススメの「プログラミング言語」って何?

プログラミング初心者

プログラミングをはじめよう!

そう思ったとしても、プログラミング初心者にとっては、何から手をつけていいのやら・・・。さっぱりわからない、という方も多いと思います。

せっかく、プログラミングを学んだほうが良い理由や、プログラミングを学ぶ意義は理解したし、意欲もあるのに・・・。

プログラミングで最初に学びたい言語

そんな方向けに、「で、プログラミングってどう始めんの?」初めての人の「5つのステップ」や、「《めっさ助かる》プログラミング「7冊」のすごい参考書。」といった内容もご紹介してきましたが、今回は「プログラミング言語の選択、そのもの」にスポットを当てて、アクトハウス日本事務局である株式会社カグラ制作チームで活動しているフリーランスエンジニアたちに聞いた「初心者にお勧めするプログラミング言語」をご紹介したいと思います。

できれば、C言語から

C言語から
C言語をおすすめしたいです。
制作チーム内でも「え!意外!」という声が続出しましたが・・・。

C言語は、1970年代に登場したプログラミング言語。汎用性が極めて高く、コンピューターやハードウェアといった機械の制御、OS(基本ソフト)、アプリケーションからWEBサービス、最近ではiOSアプリの開発言語にも採用されています。

コンピューターやハードウェア

C言語を学ぶことのメリット

👉汎用性が高いため、あらゆる処理方法に触れることができる

👉他の言語では安全性を考慮してあまり扱うことがない「ポインタ」の操作も意識する必要がある

👉コンパイル(ソースコードを機械語に翻訳すること)しないと動かないため、動作させる機械に最適化したプログラミングを行なうクセを付けることができる

まとめると・・・
「どうやってプログラムは動くのか」という動きをしっかりと身につけられるのです。

C言語を学ぶことのデメリット

👉登場した時期が古いため、文法(記述のしかた)は比較的「低水準(人間の言葉よりも、機械の言葉に近い)」とされており、覚えづらい

👉昨今主流となっているオブジェクト指向言語ではなく、手続き型(もしくは関数型)プログラミング言語なので、C言語の本体を学んでもWEBサービスの開発等にはそのままは活かせない

C言語の派生言語

大規模な基幹システム(銀行の勘定系システム、工場の生産管理システム、企業の経理システム等)のシステム開発で良く採用されるプログラミング言語の多くは、C言語が元となって派生したものが多いとされています。

プログラミング・C++ C言語
👉C++ C言語にオブジェクト指向性を持たせて拡張させたプログラミング言語。現在では元のC言語とは互換性がほとんどなくなっている。

C++ C言語
👉java サン・マイクロシステムズ(現オラクル)社が開発した、C++よりもさらにオブジェクト指向性をもたせ、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」

オススメなのが「VBA」
世界中で使われているオフィス・ソフトウェア。それがマイクロソフト社が開発・販売している「Microsoft Office」です。中でも、文書作成の「Word」、スプレッドシート(表計算)の「Excel」、プレゼンテーションの「Power Point」、簡易データベースの「Access」、メールソフト「Outlook」あたりが有名です。

プログラミング言語
実はこの「Excel」には、「Excel VBA」というプログラミング言語が搭載されています。

Excel VBAの特長は、何と言っても「手軽なこと」です。通常ならプログラミングを開始する前に必要となる「開発環境の準備」が不要なのです。(開発環境の準備については後述します)

Excel VBAの特長
いつものようにエクセルを立ち上げて、開発タブ(初期状態だと非表示となっているので、表示設定してください)を押すだけで、Excel VBAをつかったプログラミングを開始することができます。動作するフィールドは、いつも使っているエクセルですから、何かと面倒で手間がかかるサーバーの設定も不要です。少人数の組織であれば、Excel VBAでプログラミングした、ミニシステムのようなものでも、十分に機能を果たすことができます。

一方で、Excel VBAで開発したプログラムは一般的に「エクセルマクロ」と呼ばれ、主にエクセル上でしか動かすことができません。大人数で使うには不向きですし、WEBサービスのように不特定多数がアクセスすることを想定した作りにすることはできません。

そうはいっても、Excel VBAは立派なプログラミング言語です。それに、筆者自身もよく遭遇することですが、比較的大きな会社や組織でも「かつて誰かが作ったエクセルマクロで業務を行っている」(そして作った本人が退職していて誰もメンテナンスができない・・・)というケースはザラにありますから、習得しておけば現場で役に立つことは間違いありません。

開発環境の準備って大変

プログラミングをしよう、という場合、多くの場合、それぞれのプログラミング言語が動作する「環境」を作らなくてはなりません。よく「開発環境の整備」などと呼ばれる作業です。

開発環境の準備

プログラミング初心者が意外に手詰まりになるのが、この開発環境の整備です。OS(基本ソフト)が違えば操作方法も変わってきますし、プログラミング言語の種類ごとに整備しなければならない環境は違ってきますし、プログラミング言語のバージョンが違えばこれまた操作方法が変わります。

しかも、これが正解!というものでもないため、複数種類ある手順の中で、どれが最適なのかも判断できず、手探りで進めていくことになります。

「わからないこと」を避けていては、モノづくりはできない

モノづくりとは
プログラミングをするという作業内容だけで言えば、誰かに用意してもらった開発環境を使って、プログラミングをすることはできます。大規模なシステム開発案件においては、エンジニア間で使用する開発環境の差異をなくすため、予め開発環境が用意されていることも多いです。そのため、エンジニアの中には、自ら開発環境を整備するという経験を持たないままキャリアを重ねていってしまう方も多くいます。

しかし、実際にエンジニアとして仕事をしてみると、開発環境の整備の手順や方法を理解できていないプログラマー(エンジニア)は、自ら可能性を狭くしてしまっていることになります。ただモノを作るだけなのか、作ったモノが実際に動作するところまでケアできるのか。両者の視野には歴然とした差があるからです。

プログラマーとエンジニア
これからプログラミングを始めようと思っている方には、単にコードを書く(プログラミングをする)という狭い視野ではなく、開発したプログラムがどう動いて、それを使っている人はどう感じるのか、という広い視野で客観的に見られるスキルを身に着けて欲しいと考えています。

※安心してください。アクトハウスでは開発環境の整備方法もしっかりと習得>していただけますよ。

アクトハウスはどうして「PHP」を選択しているの?

アクトハウスはどうして「PHP」?
さて、アクトハウスに寄せられる質問の中には、「どうしてアクトハウスではPHPを学ぶことにしているのですか?」という内容が多くあります。

本記事ではプログラミング言語のうちのどれを学ぶべきなのか、について書いてきましたので、最後のその理由を明らかにしたいと思います。

▶このプログラミング言語は扱わないんですか?というお声と、扱わない理由
👉Python:分析とか専門分野で使用すること、WEBサービスでは採用率が低いこと、以上2点から選択していません

👉Ruby:(個人的な感覚もありますが)Rubyよりも「PHPのほうが書き方や関数が初心者寄り」と感じます(Rubyはそこそこプログラムできる人たちが、初心者向けなところは削ってでも玄人が使いやすくする、という感じで進化していっている感じがします)ので、選択していません

ちなみに、冒頭からご紹介してきたC言語やExcel VBAを扱わないのは、ひとえに「WEB系(フロントエンド)のほうが、作ったモノが実際に動いている様子がわかりやすいから」です。

作ったモノの成果がすぐにわかるほうが、学習意欲に繋がりやすいですし、モチベーションを高く維持できればそれだけ身につきやすいと感じませんか?中・長期の留学だからこそ、挫折感だけが残ってしまう、というようなことがないようにと、習得するプログラミング言語の選択も慎重に行ったんですよ。

C言語
加えて、フリーランスとして活動するときに「手っ取り早く案件獲得に繋げやすいから」です。(CMS・ブログエンジンとして世界的に普及している「WordPress」や、国産のECパッケージ「EC-CUBE」等、PHPで書かれているプログラムを用いた案件が比較的多数あるから、です)

比較的、長期(6ヶ月コースが最長)の留学となるアクトハウスでは、参加者の方が自らの人生を見つめ、卒業後の進路を自ら選択していきます。そして、初心者も多く参加されることもあり、アクトハウスでは、「とっつきやすく」「習得しやすい」、その上「売上に繋げやすい(マネタイズしやすい)」・・・これらの理由から、習得する領域をフロントエンド(ウェブサイト制作やウェブサービスのユーザーサイド)と定め、プログラミング言語としてPHPを選択しています。

アクトハウスでは、他にもHTML,CSS,javascriptのようなマークアップ言語・スクリプト言語、Apache,MySQLのようなサーバーソフトウェア、jQuery,WordPressのようなフレームワークやエンジン、エディタ,Gitのような開発者支援ツール、Photoshop,Illustratorのようなデザイナーが使用するツール等々にも触れていただきますが、ここではあえて、PHPの選定理由のみをご説明しました。

詳細はカリキュラムのページでもご説明していますので、併せてご覧いただければと思います。

【著者:アクトハウス 新村 繁行+株式会社カグラ エンジニア・チーム】

このエントリーをはてなブックマークに追加

「IT総合留学」って何 1日の流れ カリキュラムについて 住居について 卒業後の進路 体験談 コースと費用 スタートアップの実績 卒業後のサポート IT×英語×ビジネス留学


いつでもお気軽にご質問をどうぞ。

skype mail

起業・フリーランス・キャリアチェンジ 新期生限定募集
体験談:在校生&卒業生
20代のスタートアップ セブ島で起業する
起業・フリーランス・キャリアチェンジ 新期生限定募集
体験談:在校生&卒業生
20代のスタートアップ セブ島で起業する