【言語ごとメモ】
・C
早い、メモリ管理が複雑
・Go
Google発でCの文法をなるべく踏襲
コンパイルが早くクロスコンパイルも可
Webアプリ開発やクラウド、コンテナとの親和性◎
並列処理が得意
ガベージコレクション利用
オブジェクト指向無し
・C++
C+オブジェクト指向
・Rust
早い
所有権の概念を取り入れガベージコレクションを使用しない安全なメモリ管理
ブラウザ、コマンドラインツール、ドライバの開発等
・Python
C拡張可能
・Ruby
Web開発、スクリプトの作成等
「書いてて楽しい」簡潔な記述を目指した国産言語
・PHP
Webアプリ開発特化
・Perl
テキスト処理が得意
ちょっとした処理、バッチ処理、CGI
・JaveScript
Node.jsでブラウザ抜きで動作⇒サーバサイドの開発も可能
・TypeScript
JavaScriptの静的型付け版言語
JavaScriptに変換されて実行
大規模開発にも使われる
・Dart
JavaScriptの置き換えを想定⇒現在ではクライアント向け言語に特化
・WebAssembly
様々な言語で作成したプログラムをWebブラウザ上で動かすことが可能
・Java
オブジェクト指向+JVM上での動作+マルチスレッドが特徴
SunMicrosystemsを買収したOracleが開発を牽引
・Kotlin
JVM言語
Javaよりも簡潔で安全を目指す
Android公式言語
・Scala
JVM言語
オブジェクト指向+関数型
KotlinとJavaの次世代言語として人気を二分
・Groovy
JVMで動作するスクリプト言語
気軽にJavaを使いたい場面で利用
・Processing
アートとデザインのためのプログラミング言語
・Swift
Apple関連OSのアプリ開発
・Objective-C
C+オブジェクト指向
Apple関連OSの開発で使用されてきたがSwiftに置き換えられている
・C#
C++++
.NET Framework上で動作
Windowsアプリケーション開発
・F#
関数型の.NET言語
・VisualBasic
Windowsアプリを便利に開発
エディタや画面設計ツールも含めた総称
・VBA
Officeアプリ用VB
・AWK
テキストファイル処理に特化
sedより機能が豊富
・PowerShell
.NETと連携
高機能なコマンド実行可能
コマンドプロンプトの後継候補
・Bash
実質Linux標準シェル
zsh…bash、ksh、tcshの機能を大体持っている
csh…C言語風に記述可能(C言語と互換性があるわけではない)
・Erlang
LINE等ユーザ数の多い高負荷サービスで利用
・Elixir
Erlangの派生
Rubyライク
大量のアクセスがあるオンラインゲーム等で採用
・Scheme
Lispの方言の1つ
名前をつけず関数の実体を利用したい場合に無名で使う関数を作成⇒lambda式
・BASIC
歴史が長く様々な規格外のBASICが存在⇒VB
・R
統計処理、作図
・Haxe
複数のプログラミング言語のソースコードに変換