見出し画像

3-5 プログラムをちょっとだけ熱く語る

プログラムは哲学だ!

哲学の話は別の機会に譲るとして
たくさんあるプログラミングの種類を
哲学的に体系化してみます。

基本部分はみな同じ

体系化するときに大きな区切りとして
大体のプログラミング言語に共通する部分と
それぞれに個性的な部分に分けて考えてみます。

共通部分

処理とデータとロジック

プログラムを構成する要素は大雑把にこの3つに分類できます
処理データを加工するもので
ロジックは、分岐したり、繰り返したりするものです。

これらは、それぞれの言語で表現方法は多少違いますが、考え方は同じです。
なので、まずはこの基本部分を学びましょう!

個性的な部分

個性的な部分は様々な視点で分類できますが
言い換えれば、得意分野があるというもので
それ以外はできないというものではありません。

特定のアプリに付随するもの

GoogleSpreadSheet

GAS(Google App Script)が付随していて
SpreadSheetを操作することに特化した命令が用意されています。

Excel VBA

これも、GASのように
Excelの操作に特化した命令が用意されています。

HTML、CSS

これにはブラウザを操作する命令が用意されています。
心の叫び:命令と言えるかどうかは怪しいですが・・

特定の実行環境による分類

サーバ側(バックエンド)で動作するもの

PHP、Java、GO など
主にサーバ側で実行し、HTMLやCSSなどを組み立ててPCへ送信し
PCのブラウザを操作します。
また、PCのブラウザから送られてくるデータを加工したり、サーバ側のデータベースへ格納したりします。
注:Javaについては、スマホやPCなど多くの環境で使うこともできます。

ブラウザ側(フロントエンド)で動作するもの

JavaScript など
PC側のブラウザで稼働し、HTMLやCSSを動的に制御するときに使われます。

スマホアプリで動作するもの

Java、Swift、Kotlin など

開発ポリシーによる分類

オブジェクト指向言語
開発効率やバグを少なくしようと考案されたが、難しすぎて本当の使い方を知っている人は少ない

フレームワーク
PHPやJava、JavaScriptなどで多く使われるもので、
Vue.jsやReact、AngularJS、MVCモデルなど

AIが得意
Python

ライブラリーの扱いによる分類

使う都度インポートするもの
Java、Pythonなど
同じようなライブラリが多数存在し、氾濫していて、バージョン違いなどでエラーになる

ほとんどそのまま使えるもの
PHP、Javascriptなど

コンパイルが必要かどうかによる分類

スクリプト言語
PHP、JavaScript、VBAなど
ソースコードを一括機械語(コンピューターが理解できる言語)に変換することを
コンパイルといい、これらの言語は実行のたびに変換しながら行うので
コンパイルという作業は不要

コンパイルが必要な言語
Java、Cなど
必要なライブラリを指定して動作可能な状態にして使用する

この記事が気に入ったらサポートをしてみませんか?