コーディングとプログラミング、
違いはご存知でしょうか?
コーディングはコードを書くこと、
それに付随する作業を含めたまとまりがプログラミングなのだそうですが、
ほぼ同義として使用している方が多いのではないかと思います。
その一因が似た意味合いで使っている言葉が多いことにあると見て、
今回はコーディングやプログラミングと付く言葉を沢山探して
もっと違いを分からなくしてやろうという悪魔の記事となります。
探してみると、製作物の内容についての言葉と
製作の方法についての言葉に分けられると感じたので分けてみます。
見やすさの意図で厳密な話ではないので何卒。
内容ベース
・オブジェクト指向プログラミング
データと処理をオブジェクトとしてまとめる設計思想
・関数型プログラミング
数学的な意味での関数を主に使うプログラミング
・手続き型プログラミング
命令や手続きを順に記述していく書き方
・宣言型プログラミング
「何をしたいか」を記述し、処理方法は抽象化するスタイル
・命令型プログラミング
「どう処理するか」を逐次的に記述するスタイル
・イベント駆動プログラミング
イベントをトリガーにしてプログラムが動作する仕組み
・データ駆動プログラミング
データ構造やデータフローを中心に設計する方法
・論理型プログラミング
論理規則を記述し、推論によって結果を導くスタイル
・リアクティブプログラミング
データの変化に応じて自動的に処理が伝播する仕組み
・ジェネラティブコーディング
アルゴリズムでアートや音楽などを生成する表現的プログラミング
方法ベース
・バイブコーディング
自然言語でAIに指示を出すことでアプリケーションやシステムを構築する開発手法
・ライブコーディング
リアルタイムの公開プログラミング
・ペアプログラミング
2人のプログラマーが1つのコンピューターを共有し一緒にコーディングを行う手法
・モブプログラミング
チーム全員で1つのコードベースに取り組む協働スタイル
・テスト駆動プログラミング
先にテストを書き、そのテストを満たすコードを実装する開発手法
・エクストリームプログラミング
品質を向上させ、変化する顧客の要求への対応力を高めることを目的とした開発プロセス
・ローコードプログラミング
GUI中心で最小限のコーディングでアプリケーションやシステムを構築する手法
・ノーコードプログラミング
コードを一切書かずに開発する手法
・ビジュアルプログラミング
ブロックやノードを組み合わせて視覚的にプログラムを作る方式
まとめ
こういった用語を多く知っているとデキる奴感が出ますが、
逆も然りなのが怖いところです。
せっかく身に付けたスキルを過小評価されないよう、
常にアンテナを張って語彙力強化に努めましょう。
特にバイブコーディングのような最近広まった言葉は要チェックですよ!