様々な〇〇コーディング/〇〇プログラミング

様々な〇〇コーディング/〇〇プログラミング

コーディングとプログラミング、
違いはご存知でしょうか?
コーディングはコードを書くこと、
それに付随する作業を含めたまとまりがプログラミングなのだそうですが、
ほぼ同義として使用している方が多いのではないかと思います。
その一因が似た意味合いで使っている言葉が多いことにあると見て、
今回はコーディングやプログラミングと付く言葉を沢山探して
もっと違いを分からなくしてやろうという悪魔の記事となります。

探してみると、製作物の内容についての言葉と
製作の方法についての言葉に分けられると感じたので分けてみます。
見やすさの意図で厳密な話ではないので何卒。

内容ベース

オブジェクト指向プログラミング
  データと処理をオブジェクトとしてまとめる設計思想
関数型プログラミング
  数学的な意味での関数を主に使うプログラミング
手続き型プログラミング
  命令や手続きを順に記述していく書き方
宣言型プログラミング
  「何をしたいか」を記述し、処理方法は抽象化するスタイル
命令型プログラミング
  「どう処理するか」を逐次的に記述するスタイル
イベント駆動プログラミング
  イベントをトリガーにしてプログラムが動作する仕組み
データ駆動プログラミング
  データ構造やデータフローを中心に設計する方法
論理型プログラミング
  論理規則を記述し、推論によって結果を導くスタイル
リアクティブプログラミング
  データの変化に応じて自動的に処理が伝播する仕組み
ジェネラティブコーディング
  アルゴリズムでアートや音楽などを生成する表現的プログラミング

方法ベース

バイブコーディング
  自然言語でAIに指示を出すことでアプリケーションやシステムを構築する開発手法
ライブコーディング
  リアルタイムの公開プログラミング
ペアプログラミング
  2人のプログラマーが1つのコンピューターを共有し一緒にコーディングを行う手法
モブプログラミング
  チーム全員で1つのコードベースに取り組む協働スタイル
テスト駆動プログラミング
  先にテストを書き、そのテストを満たすコードを実装する開発手法
エクストリームプログラミング
  品質を向上させ、変化する顧客の要求への対応力を高めることを目的とした開発プロセス
ローコードプログラミング
  GUI中心で最小限のコーディングでアプリケーションやシステムを構築する手法
ノーコードプログラミング
  コードを一切書かずに開発する手法
ビジュアルプログラミング
  ブロックやノードを組み合わせて視覚的にプログラムを作る方式

まとめ

こういった用語を多く知っているとデキる奴感が出ますが、
逆も然りなのが怖いところです。
せっかく身に付けたスキルを過小評価されないよう、
常にアンテナを張って語彙力強化に努めましょう。
特にバイブコーディングのような最近広まった言葉は要チェックですよ!