SSブログ

いろいろ動き始めた。 [プログラミング]

今まで待ちの状態だったんだけど、ようやっと動き出せそうな予感がしている。勝手に自分で動くこともできたけど、自分でできることなんて割と少ないんだよねぇ。できないこともないんだけど、それが利益に直結するかは微妙なところで、まず金にならない。さらに気分がふさぎ込みがちで、何かを始めようとする気にはあまりならなかった。

ドラクエウォークとライザのアトリエは始めたけど、所詮遊びではあるしもちろんお金は生まない。だけど、まだ消費する気持ちができるだけマシになったというものだ。そういう心の動きは少しはある。正直何をしていいかわからない状態よりかはいい。積みアニメも積み本もたくさんあるけど手をつけられていないよなぁ。時間はそこそこあるんだけど、モチベーションが上がらないというのはある。だから仕事で強制的にやるというのも手なんだけど、自分がやりたいことをできるというわけでもないですし。

40も半ばにして言語を新しくやる事になるかもしれない。今はわりとWebで勉強できることも増えてはいるけれども、やっぱり本を買って体系的な情報を入れておくと安心できる。ピンポイントに知りたいことを知るにはWebでもいいというか、Webの方が楽に得られるんだけど、知っておいた方がいいものをドンと揃えるには本は欠かせないんですよね。確かにいらない情報も多いんですが、それはそれとして。

プロジェクトが立ち消えになる可能性というか、自分に任されないことも多そうなので、まだ本は買ったりはしないけど、立ち読みして当たりはつけておこうかなぁ。そういう時はフィジカルな本屋はいいよな。というか、今はAmazonとかに頼りすぎな気がする。


ソフトウェア技術的には久しぶりのガチの仕事なんだけど、初見の言語をやるというのは本当に久しぶり。15年ぶりくらいかなぁ。プライベートではGolangとかやったんだけど、それはなんとなく書けてしまうので、技術本は買っていないんだよなぁ。マカーなのでObjective-CもSwiftもやりましたが、そっちは分厚い本を両方とも一冊ずつ買っていました。あんまり読んではいないけどね。そしてあまりMacでは開発もしていない。

最近Rustも興味が出ていて4000円近くの分厚い本を買おうかなぁとちょっと思ってしまったんだけど、その前に開発環境を入れろとまともな天使が囁いたので買っていません。Rustも惹かれるんだよな。長いことコンパイル言語でメモリを気にしないで済む言語ってなかったから(あったとしてもマイナーだったと思う)、最近こういう言語らが出てきて嬉しく思う。

GolangにしてもGCでメモリを気にしないで済むし、Rustも静的にメモリ解放の処理をコンパイルの時に自動に埋め込んでくれているようだ。AppleのSwiftにしても同様なARCでメモリを解放できる。GCはJavaの頃からあったけど、方式はどうあれメモリの処理間違いを防ぐ方法が提供されているのは楽ができる。というか、今更そういう仕組みが導入されていない言語は使いたくはない。

一時期LL、スクリプト言語がもてはやされた時があった。古参のPerlを始めPythonやRubyなどが割と流行っていた時があった。それはそれでいいとは思っていたんだけど、実行速度やメモリの使用量が云々というのがあまり許せなかった。正直、実行速度やメモリ使用量を気にするほどのことをやっていないので、別にLLでもいいじゃねぇかという感じはしているんだけども。

だけど、いちいち実行環境を揃えないといけないっていうのはしんどいかな。それもバージョンとかを気にしないといけないのは、中身をテキストでいじれたとしても動作を確定できない状態ってのはあまり嬉しくないですよね。というか、テキストをいじって動けるようにしてください、っていうのは長い間開発で使うには改造しやすくていいのかもしれないけど、ソースを残しておいてもらえば実行ファイルにしてもらった方が直感的に使えていいような気がする。実行環境を作るっていうのはどの言語にしても結構しんどいんだよね。だから、どの環境にもバイナリを提供できるGolangはその思想自体が好き。


Javaは1.2の頃に好きだったこともありました。今考えるといい思い出ではあるんですが、Write Once, Run Everywhere(だっけ?)がスローガンだけで終わってしまったのが残念でしたね。個人でJavaがネイティブで動くチップを搭載したマシンを買おうとかしていましたもん。そのうち、データベース周りのビジネスロジックを書く言語とおとしめられて、そんなもん使うかと思って離れてしまいましたが、中途半端だけどコンパイルしてくれていたし、コンパイルした上でGCが働いてメモリの解放を気にする必要もなかったのは良かった。

もともとGCはスクリプト言語のメモリ解放ツールだったと思うけど(LISPとか?)、コンパイル言語に来るのは割と遅かった気がする。Javaは初めからそうだったけど、きっちりコンパイル言語としてGCを使っていたのはGolangが大々的だった気がする。他にもコンパイル言語でGCを使っていた言語もあったんだろうけど、結局のところマイナーの域を出ないものだったろうし。

GCも色々と形式があって、得手不得手があるみたいなんだけど、実行時に解決するものなので、メモリもマシンパワーも食う。インターネットの黎明期にスクリプト言語が動いていたとか、プアな環境でEmacsがLISPで動いていたとか信じられないことがあるんだけど、便利なテクノロジーは使ってみたいという技術者のエゴが働いていたんでしょうね。

まぁ今Emacsが重くて動かないハードウェアはそんなにないだろうけど、そもそもユーザー数が少ないだろうしね。というか、Emacsはカスタマイズが命だけどもいろんなところで使うにはいちいちそんなことしていられないというのがあると思う。今だったらクラウドに状態を保存して、環境構築を自動でやらせるということもできなくはないんだろうけど、そういう観念が存在する頃の代物ではないしね。それと外と繋がっているとも限らんし。まぁ普通は内蔵エディタはviとかを使うよね。

コメント(0) 

コメント 0