![見出し画像](https://assets.st-note.com/production/uploads/images/130243350/rectangle_large_type_2_f436bb76752a5f6bbcb85515210530ee.png?width=1200)
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など
必要なライブラリを指定して動作可能な状態にして使用する
この記事が気に入ったらサポートをしてみませんか?