【言語ごとメモ】

・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

 複数のプログラミング言語のソースコードに変換