Scribble at 2023-04-29 21:13:25 Last modified: 2023-04-29 22:33:42

添付画像

先日も書いたように連休中の課題図書ということだが、ノートを取っていて改めて気づくのだけど、結局はプログラミング言語の基礎的な事項というのは、(1) コードを実行させるための環境整備、(2) データ型、(3) データのコレクション、(4) 制御構造、そして (5) 最低限のモジュールやビルド・イン関数という五つを押さえたら実用的なコードが書けるようになる。Python にしても、クラスや例外処理なんて無理に使わなくてもいいわけで、実際には大半のパーソナルな範囲の用途では (1) ~ (5) を応用するだけで済むと思う。

そして、考えてみればお分かりかと思うが、その理由は単純だ。つまり、そもそもコンピュータは計算機だからだ。必要とする計算処理(与件や仕様に合わせた適切かつ効果的なデータ処理)ができれば、コンピュータを使わなくてはできないたいていの仕事は終えられるからである。それが、ここ最近では通信を必要としたり、二次元や三次元、いや時系列を入れたら四次元のデータを駆使して「画像」とか「映像」と呼ばれるものを扱っているから別のことをやっているように思えるが、しょせんそれらも計算の概念から一歩も出てはいない。なので、コンピュータに計算させるという命令(それがプログラムだ)を書くに当たって、大多数のプログラミング言語において必要最低限を取り出せば、さきの (1) ~ (5) へと集約できるように思う。

残りの GUI だ OOP だクロージャだといった本質的でもなんでもないものは、必要に応じて調べて使えばいいだけである。実際、僕も20年くらい仕事やプライベートで使っている PHP については、たとえば名前空間なんて殆ど使ったことがないし、それどころか参照渡しすら使ったことがない。でも、機能要件、それから非機能要件においても全く問題のないプログラムなりアプリケーションを開発できるし、その運用においても特に大きな問題はない。それは当たり前だ。参照渡しを使える場面で知らずのあいだに使えていなかったという落ち度なんて、そこでのパフォーマンス次第でサービス運営の予算に大きな違いが出るならともかく、たいていのウェブ・アプリケーションの開発においては些事でしかないのである。それよりも、そのアプリケーションで不要な個人データを取得してしまう落ち度を避けられるかもしれない chief privacy officer も兼ねたエンジニアである方が、会社にとっても社会にとっても有益であろう。そして、僕のように会社員としてのプログラマというものは、高度なプログラムや正しいプログラムが書けるかどうかが評価の第一基準なのではない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook