このページでは、プログラミング言語を中心として、プログラミング・デザイン周りの技術にどんな種類があるかをまとめ、各技術にどのような特徴があり、習得する難易度がどれくらいか、そしてどれほど人気があるかなどを比較しつつ、ご紹介していきます。また、後半部分では各技術の詳細、学習法も解説します。
プログラミング・デザイン関連技術の一覧とその特徴・難易度・人気度
特徴 | 難易度 | 人気度(シェア) | |
---|---|---|---|
1.HTML | Webの画面の内容を決める言語。CSSの習得も必須。 | ◎ | ◎(-) |
2.CSS | HTMLの内容のデザインを指定する言語。 | ◎ | ◎(-) |
3.JavaScript | Webの画面に動きをつけるための言語。ブラウザで実行される。 | 〇 | 〇(2.3%) |
4.jQuery | JavaScriptの開発を楽にするためのライブラリ。 | 〇 | 〇(-) |
5.PHP | Webアプリケーション開発に用いられる言語。サーバーで実行される。 | 〇 | 〇(2.9%) |
6.MySQL | 世界で最も普及しているオープンソースデータベース。 | 〇 | 〇(-) |
7.Java | 高速で信頼性の高い言語であらゆるとことで使用されている。 | 〇 | ◎(17.8%) |
8.C言語 | 高速で汎用性の高い言語。拡張した言語が多くある。 | △ | ◎(33.4%) |
9.Ruby | 無駄が少なく、比較的容易に実装できる言語。 | 〇 | 〇(1.4%) |
10.Python | 小規模〜大規模まで幅広い開発に利用される言語。文法が平易。 | ◎ | 〇(4.0%) |
11.Perl | Webアプリ、システム管理、サーバー管理などに利用される言語。 | 〇 | 〇(1.8%) |
12.Swift | 実行速度と開発効率が両立。iPhoneアプリ開発に使われる。 | 〇 | 〇(1.4%) |
13.Unity | ゲーム作りに用いられる開発環境。C#等で開発する。 | 〇 | 〇(-) |
14.Androidアプリ | Javaで開発される。iPhoneアプリと比較して学習の敷居が低い。 | △ | 〇(-) |
15.iPhoneアプリ | Objective-CまたはSwiftで開発される。 | △ | 〇(-) |
16.VBA | Excel業務の効率化によく利用される言語。 | ◎ | ◎(-) |
17.WordPress | PHPとMySQLにより成り立つCMS。多くの有名サービスに用いられる。 | ◎ | 〇(-) |
18.Ruby on Rails | Rubyのフレームワークで最もポピュラーなもの。 | ◎ | 〇(-) |
19.CakePHP | PHPのフレームワークの中でシェア上位。 | 〇 | 〇(-) |
20.PostgreSQL | データベースの一つで、日本でのシェアも大きい。 | 〇 | 〇(-) |
21.Bootstrap | 利用することでデザイン工数を大幅に削減できるCSSのフレームワーク。 | ◎ | ◎(-) |
22.Git | バージョン管理システムの一つで、多くのサービスで利用されている。 | ◎ | ◎(-) |
23.Linux | オープンソースのOSで、サーバーOSとしてはトップシェアです。 | 〇 | ◎(-) |
24.Scratch | マサチューセッツ工科大学が開発したビジュアルプログラミング言語、日本において最も有名。 | ◎ | 〇(-) |
25.Photoshop | デザイン制作のソフトウェアで、写真の加工によく使われます。 | ◎ | ◎(-) |
26.Illustrator | ロゴやアイコン、キャラクター等の制作に幅広く用いられるデザイン制作のソフトウェア。 | ◎ | 〇(-) |
27.DreamWeaver | エディターとして多く用いられており、コーディングの質やスピードを上げることができます。 | ◎ | 〇(-) |
シェアに関しては、プログラミング言語のみTIOBE Index for June 2015のランキングを参照し、小数点第2位を四捨五入しました。このランキングの計測対象外のものは「-」と記載しています。尚、C言語には「C」「C++」「C#」「Objective-C」を含みます。
1.HTML
HTMLはWebサイトのコンテンツ部分を定義するマークアップ言語で、ページデザインを決めるCSSやページの動きを決めるJavaScriptなどと一緒に用いられることが多いです。HTMLはWebページの基礎を作っているので、Webの技術を身につけたいのであればHTMLへの理解が基本的に必須になります。
2.CSS
Webページの中身はHTMLによって定義しますが、具体的な文字の大きさや色、背景の色、各要素の隙間の広さや配置などページのデザイン面をカバーするのがCSSの役割です。実は、HTMLに直接CSSのコードを書き込んでデザインを指定することもできますが、後から変更する際の手間の軽減など別ファイルとして切り出すことのメリットは多いです。
3.JavaScript
HTMLとCSSでぱっと見のサイトの内容やデザインは決めきることができますが、このままではユーザーのアクションに対してレスポンスを返すことができません。JavaScriptを使ってサイトに動きをもたらすことで、より深いユーザー体験を作ることができます。尚、処理が実行はブラウザ上でおこなわれます。
4.jQuery
jQueryはJavaScriptのコードを簡素化させることができるライブラリです。JavaScriptで苦労して何十行も書いてやっと実行できる処理が、jQueryで1〜2行で実行できてしまうことがあるくらい便利なので、現在ではJavaScriptとjQueryを混ぜてコーディングするのが一般的です。TwitterやAmazonにも利用されています。
5.PHP
PHPは、JavaScriptのように表面上の動きだけしているのではなく、Webサイトでユーザーが入力した情報を元にそれぞれ別のページを表示することができます。例えば、会員登録機能やショッピングカートなどを実装することができます。また、世界で最も利用されるCMSであるWordPressもPHPで書かれています。
6.MySQL
MySQLは無料で公開されているデータベースで、世界で最も利用されています。データベースなので、データを格納したり、検索をかけたり、更新をしたり、逆に削除したりすることができますが、そのためにSQLという言語を使います。PHPと一緒に用いられることが多いです。
7.Java
Javaはそれまでのプログラミング言語の欠点を拭うように開発された言語で、処理が早いだけでなく信頼性も高いという特徴があります。企業向けの大規模なシステム開発やスマートフォンのアプリ開発やWebアプリケーション開発など様々な場面で利用される人気の高い言語です。
8.C言語
汎用性の高さと処理スピードの速さが魅力の言語でGoogleのオープンソースプロジェクトにも利用されています。一口にC言語といっても、オブジェクト指向の概念が取り入れられたC++、マイクロソフトによって開発されたC#、Appleが開発してiOSアプリ開発に使われるObjective-Cなど様々です。
9.Ruby
日本人のまつもとゆきひろ氏が開発した言語で、日本のITベンチャー企業のWebサービスでRuby on Railsというフレームワークがよく利用されています。無駄なコードを書かないように設計されており、実装のしやすさが魅力です。簡単なWebシステムであれば、数行で済んでしまう場合もあります。
10.Python
コードの可読性の高さや開発の生産性の高さから開発の規模を問わず様々な場面で利用されているプログラミング言語です。特に複雑な処理と大量のデータを扱うのが得意な言語なので、数式処理に利用されます。また、比較的文法も簡単な構造から成り立っているため、初心者がはじめやすい言語として取り上げられることも多いです。
11.Perl
Perlは簡単な処理を実行するのに長けたスクリプト言語です。大量のファイルから特定の文字を検索し、別の文字に置換するなどという処理に利用される他、サーバー管理にも利用されます。Webアプリケーション開発にも使えますが、大規模開発には向いておらず、規模の大きい開発ではPHPヤRubyが採用されることが多いです。
12.Swift
2014年にApple社が開発したことが話題になった、iOSアプリ開発に使われるプログラミング言語です。今までの言語は、RubyやPHPなど開発効率を重視したものとJavaやC言語のように実行速度を重視したものに分けられますが、Swiftはこの両方の要素を兼ね備えています。Swiftの発表以来、開発者人口が一気にに増えてきています。
13.Unity
Unityは世界中に100万人以上の開発者がいると言われているゲーム開発技術です。言語はUnityScriptやC#などを用います。Unityを利用すると、音楽やキャラクターなどゲームにまつわる全てが完結します。有名どころでは、スマホ版のドラクエはUnityで開発されています。
14.Androidアプリ
Androidは世界でNo.1のシェアを誇るスマホ用のオペレーティングシステムです。利用者人口の多いJavaを用いて開発を行うことやWindows上でも開発可能なこと、開発環境構築にお金がかからないことなどが魅力です。そのため、初めてアプリ開発をしたいという方にとって比較的敷居が低いと言えます。
15.iPhoneアプリ
iPhoneやiPadなどApple社製品で動作するアプリケーションをiOSアプリと呼びます。言語はObjective-C、もしくはSwifを用います。これらの言語は実行速度が速いという特徴を持っています。開発にはMac OS Xが必要となり、Windowsで基本的に開発することができません。
16.VBA
VBAはMicrosoft OfficeのExcel上で起動する言語です。事務的な作業を自動化することによって効率化させるために使われることが多いです。このような簡易的な機能の実装には向いていますが、逆に高度なプログラムを組むのには向いていません。また、初心者でも比較的習得しやすいことが特徴です。
17.WordPress
WordPressは、世界で一番使われているCMSで、言語はPHPを基盤としています。ブログだけでなく、コーポレートサイトやニュースサイト、商用サイトなど様々な用途で利用される汎用性の高いCMSです。カスタマイズはそこまで高度な内容ではないため、書籍やWebサイトでも十分勉強可能です。
18.Ruby on Rails
Ruby on Railsは、人気のプログラミング言語Rubyのフレームワークです。スピーディにサイトを立ち上げられることから、スタートアップ企業を中心として多くの会社で採用されています。Ruby on Railsを用いたサイト運営の場合、フロントやサーバーサイド、インフラなどを切り分けずに一人が幅広い分野を担当することもしばしばです。
19.CakePHP
Ruby on Railsの思想に影響を受け、2005年に開発されたPHPのフレームワークです。他にもZend FrameworkやPhalconといったPHPのフレームワークがありますが、日本国内においてはCakePHPが圧倒的なシェアを誇ります。Ruby on Railsと同じく開発スピードをあげられる点が特徴です。
20.PostgreSQL
1980年代半ばに開発されたリレーショナルデータベースで、制作に日本人が関わっていたことでも知られています。人気のPaaSであるHerokuの標準データベースになっているなど、日本においても一定数のユーザーをかかえています。MySOLと比較して大規模な開発に向いていると言われています。
21.Bootstrap
CSSやjQueryなど実装に手間がかかるフロント部分のフレームワークで、デザイナーでなくともハイクオリティのWebサイトを作ることができます。PCはもちろんスマホやタブレットなどマルチデバイスに対応している他、拡張も簡単にできる点が魅力的です。
22.Git
バージョン管理システムの一つで、3割近くのプロジェクトで用いられていると言われています。動作スピードが速いことやソースコードの検索ができる点が特長です。Gitで管理しているソースを共有するGitHubもまた多くのエンジニアによって利用されています。
23.Linux
UNIX互換のOSで、サーバーOSとしてトップシェアを誇る他、カーナビやルータなどの組み込み機器やスマートフォンのAndroidなどにも利用されています。高い機能性やセキュリティ面の充実、低コストなどの特徴があります。
24.Scratch
マサチューセッツ工科大学によって開発されたビジュアルプログラミング言語で、これまで1000万以上もの作品がScratchで作られています。小・中学生がプログラミングの勉強を始める際の学習教材としての人気が高く、実際に子供向けプログラミングスクールの多くがこのScratchを利用しています。
25.Photoshop
アメリカのAdobe社が開発したデザイン制作ソフトウェアで、多くの会社・個人・学校にて利用されており、同様のツールの中でNo.1のシェアを誇ります。人物の切り抜きやピンボケしている被写体をシャープに見せたりといった写真の加工に強いのが特徴です。
26.Illustrator
Photoshopと同様、Adobe社が開発したデザイン制作ソフトで、写真加工に強いPhotoshopと比較して、会社やサービスのロゴやキャラクターのデザイン制作に向いています。イラスト・印刷物デザインの業界においては必須スキルとされています。
27.DreamWeaver
同じくAdobe社が提供する、Webコーディングを行う際に使われる高機能なエディターです。マルチデバイス対応のサポート、ショートカットキーの充実、コーディング中のファイルに関連するファイルの表示を行えることなどにより、作業スピードを格段に向上させることができます。
初心者はどの言語・技術から学べばいい?
ここまで、各プログラミング・デザイン関連技術に関して、特徴や習得する難易度、人気など様々な切り口から解説してきました。結局、初心者はどの言語から学ぶのが良いのでしょうか。答えは、自分の開発したいものに向いた特徴を持っていて(Webサイトを作りたいならWeb系の言語など)、且つ習得難易度が極力低いものが良いでしょう。自分の作りたいものベースで学習を進めていくこと以上のモチベーション維持の方法はありません。また、習得難易度の低い言語でも一つ習得しておくと、次学習するときの労力が大幅に下がるので、それから色々な言語にチャレンジしてみるのが良いでしょう。