.jumのart

俺が「あー。」と言うだけ

じご_*く

久しぶりに更新します。

特に理由はないですが、強いて言うなら気分転換
jumffff.hatenablog.com
ですかね


近況報告をしますと、最近は学祭の準備に追われています。
うちの大学は年に二回、別々のキャンパスで学祭があり、
うちのサークルはそこで研究発表をしています。是非来てください。

そんなわけで毎年この時期は研究に追われる、
と言っても卒論みたいな重大なものではないのですが、
重大なものではない分後回し後回しにしてしまってみんなで徹夜をするのが恒例なわけですが、
なんやかんやでそんなのも楽しんで3年目です。


僕自身の話をすれば、今日は治験の健康診断に行ってきました。
また治験をするかもしれません。

なんでこんなに働きたくないのか?
そう思うと、結局単調作業が嫌いなんだろうな、と思われます。

肥大した自意識が、何かを、期待したり儀式が嫌だ、と
誰にでもできる仕事は要らねぇ、と
仰っておられるのだと思われます。

無駄なことはしたくない、できるだけ最適な行動をしたいという欲求は今更言及するまでもなく僕の中に根付いているわけですが、
その結果が無駄な単調作業、つまんない仕事をしたくないので、自由に実力を発揮できて戦える職場の要求、つまり結局のところ雇われ管理されたくない、という思想につながっているのだと思われます。


さて、話は変わりまして、
現代は発展した情報化社会なのでありますが、
人工知能機械学習なども注目されており、たくさんのものが"自動化"されていることでしょう。

まさに最適化の顕著な例でありまして、資本主義の象徴でもあるわけです。
人間の働き口が無くなる、なんてことも言われているわけですが、
「俺は優秀な人間だ。この社会でも働き口を見つけてガリガリ稼いで行ってやるぞ」と考えている皆さんは、
今、必死に生き方を探しているところでしょう。

僕もどちらかというと"自動化"をしていく側の人間に就きたいと思っています。

しかし、それをメインでやっていく*1"プログラマー"という仕事は、小学校や中学校の頃の幼い僕の夢で潰えてしまい、幻想のままに終わってしまいました。
簡単に言うと、プロジェクトをみんなで推し進めることは苦手ではないし、業務としてはまあ良いでしょう。

しかし、ソフトウェアの設計を何から何までやるとか、自分の作りたいものを作るとか、
となると、人の手垢が付いたソースコードが許せない人もいるのではないでしょうか?

完璧主義、というか、他の人がどう書いたか気になってしまうし、より良いものを作っていきたい性分である私は、
そんな、一プロジェクトのでっかいソースコードを全部確認することも、一人で書くこともできません。
それが絶望でした。
(とか筋道立てて書いてますが、実際の自分はそんなこと考えてなくて、後から仮説を証明するかのように論理で繋げていき文章を書くのが僕の常であり、読みにくさの原因でもあります。)

また、プログラミング言語を理解し読み書きできるようになるためには結構な困難があり、自分の苦手とするところでもありました。得意だったら英語なんてさっさと学んでる。


さて、話は戻ります。

僕は今研究の一環で(ということにしましょう)Rを触っています。
Rはデータ処理や分析に特化した言語?ソフトウェア?であり、
比較的読み書きが簡単な言語だと思います。

例えるなら、C言語はイギリス英語のように筋道立っているカチカチの文章だとするなら、
日本語とか、会話英語のようなものでしょうか(あくまでイメージです)


そのRがありまして、
少々"自動化"のコードを書きました。
内容としてはウェブスクレイピングと呼ばれるもので、ネット上から欲しいデータを削り取ってくる(スクレイピングする)ものです。
実際はコピーなわけですけど。

それで、ネットの上のいくつかのサイト(例えばURLの中の数字部分が日付で変わっていくようなサイト)であれば、機械的にその数字を変えていってアクセスしてスクレイピングしていきたくなります。
なってください。
そのような場合、それを一つ一つアクセスしてコピペするのはしんどいです。
なんて無駄な、単調作業。

Rなら一瞬でできます(Rじゃなくてもできるんですけど、Rはプログラミングに疎い僕でもすぐできました)。

実際はHTMLの知識があると良いんですけど、無くても表ぐらいならすぐ取ってこれます。


ハッキリ言って勃起しました(比喩ですたぶん)


まじですごいですよ!感激もんですよ!

それに留まりません。Rはバッチ実行(windowsコマンドプロンプトのような、コマンドライン上での実行)が行えます。
ということは、batファイルのような、単純なコマンドの集まりで自動実行できます。
単純なコマンドというのがポイントで、
C言語Javaのような、クラス定義だとか~、~~だとか、~~だとか(情弱なので他の例が浮かびません)、
そういったややこしいことは一切なく、(比較的)簡単に書けます。

ぼく「あれ?自動化簡単じゃね?ww」


ハマってしまった。


裏でどう動いてるのか怖くないのか!って人がいると思いますけど、
違います。僕がさっきコードに他人の手垢がうんたらかんたらって言ったのは、
自分の子供にどんな友達ができたか趣味は何か、みたいなことが気になるっていう愛好の面と、
何か失敗、不手際はないだろうか、っていう不安やリスクを回避したい面とかがあります。

Rを使って何かを書くっていうのは、すでにそう言った完成されたものの上で作ってる、
つまりどうやってレゴブロック組み立てるかって話。


良い例えが思いついたので仕切り直します。

ソフトウェア開発を一からやるのは、

自分が院長として病院を建てるといったとき、それをどのように建築するのかといったことに似ています。
どこにどの部屋を置くか。素材のこだわりは?耐久性の問題はないか?いくらでも気にはなりますが、
ある程度業者に信頼して、ある程度確認すればまあ満足するし任せられるでしょう。
だって自分は医者であって、大工じゃないから。

でも、大工が自分の家を作るとなったらこだわるでしょうし。


一方で、ソフトウェア開発を一からやらない。Rなどの高級言語を用いて構築するのは、
(ましてや僕の場合は自分で使いたいもの。)

お医者さんがレゴブロックで病院の模型を作るのに似ていると思います。

我ながら上手い例えじゃないですかね???


しいて言うならレゴブロックじゃなくてもう少し実用的なものですが、
自分で自分の遊びのためだけにおもちゃでおもちゃを作るとき、
そのおもちゃを作る元となっているおもちゃがどのように作られたかについてまでは言及しないだろう、という気持ちだろうか。



そんなわけで、お手軽自動化にハマった!w

そのせいで研究進んでない!w

自業自得と言えば自業自得でしかないんだけど、こういう、優先順位を付けるのが苦手すぎる性格(今も忙しいのにブログを書いてしまうとか)、
完全に病気なんじゃないかと思ってる
生き地獄だと思う

本当に困っている


生の喜びを知りやがって、許さんぞ!

*1:エンジン部分の直接的設計に携わるという意味