神戸プログラミングアカデミーのブログ

「未経験から」「スキルアップ」「起業を目指す」無料で学べる神戸のプログラミング学校&学習コミュニティ

プログラミング言語とフレームワーク

プログラミング言語

JavaScript, Python, Ruby, C/C++, Swift, Javaなどなどプログラミング言語という言葉をきいたことがあると思います。これらはコンピュータへ命令を伝えるためのルールです。プログラミング言語には得意・不得意があるので、実現したいモノ・コトを最も効率的に作ることができるプログラミング言語を選びます。

以下に、いくつか例を挙げます。

C言語

C言語はここに挙げている言語の中では最も歴史が古く、現在一般的に使われている言語の中でもレガシーな部類に入ります。言語の特徴としては、コンピュターに最も近いところでプログラムを書くことができるので、実行処理が速いプログラムを書くことが可能です。

この特徴はメリットでもありデメリットでもあります。コンピュータにもっとも近いところでプログラムを書くことができてしまうとも捉えることができ、簡単にアプリケーションのクラッシュさせるコードを書くことができるため、現在ではOS等の本当に実行処理速度が必要な場所でしか利用されていません。

C++

C言語オブジェクト指向の概念を取り入れたC++は、一般的にC/C++と記載されることが多いですが、C言語とは別の言語であるという認識が必要です。C++C++11, C++14…と言語バージョンにより使える文法が増えていき機能拡張もされていきます。

STLと呼ばれるテンプレートライブラリを使えることも特徴で、他言語にもあるような配列やマップオブジェクトを使うことができます。

C言語と同様にコンピュータに近いところでプログラムを書くことができるので、実行処理が早く、ゲームプログラムやOS、組み込み製品によく使われます。

Java

オブジェクト指向を中心に置かれた設計がされている言語です。VMという仕組みを使い、”Write once, run anywhere”というどの環境でも動くことを目指した言語で、様々なところで動いています。

最近は、SpringBootというフレームワークの人気でサーバーサイドプログラムとしても復活しました。

JavaScript

JavaScriptは元々Webブラウザ上で動くために作られたスクリプト言語です。上記のJavaと名前が似ていますが全く関係ありません。

Nodeの登場以降でWebブラウザ以外の環境でも動くようになり、サーバーサイドプログラムとしても利用されています。

Python

Python比較的簡単な記述で開発できとても人気のある言語です。スクリプトとして使う他、Django 等のWebフレームワークでサーバーサイドシステムとしても使われます。

また、Deep Learningの記述をする際に使われます。

Ruby

Rubyスクリプト言語として使われる他、Ruby on RailsというWebフレームワークで使われます。Ruby on Railsはたくさんの充実したライブラリが存在していて、効率的なWeb開発をすることができます。

PHP

PHPはサーバーサイドでよく使われる言語で、LaravelやCakePHP等のWebフレームワークが存在しています。日本のWebシステムで採用されていることが多く、日本にはPHPエンジニアが多い印象です。

Swift

iOSのアプリを作る際に使われる言語です。アプリエンジニアを目指す方はSwiftを勉強してください。

Go-lang

最近人気のサーバーサイドプログラム用の言語です。これから更に採用が増えることが期待されているので、これから価値の高いエンジニアを目指す方はGoを学ぶといいかもしれません。

フレームワーク

フレームワークとはアプリケーションの実装のために予め必要な機能が準備されているものです。フレームワークを使用するとアプリケーションを作るコストが大幅に下げることができます。各言語で代表的でよく使われるフレームワークを挙げていきます。

ウェブアプリケーションフレームワーク

Laravel(PHP)

Ruby on Rails(Ruby)

Spring Boot(Java)

Node.js(JavaScript)

ウェブフロントエンドフレームワーク

React(JavaScript/TypeScript)

Angular(JavaScript/TypeScript)

Vue(JavaScript/TypeScript)

ゲームエンジン

Unity(C#)

クロスプラットフォームアプリケーションフレームワーク

Flutter(dart)

React Native(JavaScript)

Xamarin(C#)

逆引きプログラミング言語

ゲームプログラマになりたい

スマホゲームを作りたい

  • Unity(C#)

とにかく就職したい

Webアプリケーションが作りたい

スマホアプリが作りたい