プログラミングのこととか

http://d.hatena.ne.jp/fbis/20060902/1157202784
http://d.hatena.ne.jp/tokuhirom/20060910/1157858682


私の場合、前職がPerlでの開発だったのでPerlを触るようになりました。
私は、大学が法学部でプログラミングなんて会社に入るまでやったことなんて
なかったっす。


そんな私がプログラマになったのは親戚の影響なのですが、
その人はLinuxばりばりCバリバリの人です。

で、まぁ、その人をみてプログラマの道を選んだみたいなもんなのですが、
(かなり人生をてけとうに生きてるw。まあかなりはしょって書いてますが。)
就職した会社の研修で一番初めにやらされたプログラミング言語がCで、
余った時間でJavaをやってっました。
会社的には多分Javaの仕事が多くて、配属されたら、CもしくはJava
開発やっていくんだろうなぁ。と普通に思ってました。


んがっ!配属された先で使っていたプログラミング言語Perlでした。
私はそれまでPerlってしらなかったです。


Perl?なにそれ?みたいな。


で、まあ、業務のソースですが、

use strict;

何ですかそれ状態。グローバル変数使い巻くリング。

use warnings;

ああ、それつかったら色々とうるさいから使わないよ状態。


使ってるCPANモジュールはDBIとDBDとTime::Localくらいだったかしら。
あんまし覚えてないけど。
テンプレートエンジンも自作。超使い肉い!
変数を展開するタイプ。
use文なんてほっとんど書かずほぼすべてrequireでモジュールってか関数ロード。
(途中からNet::FTPとかほげほげとか使うようになったかな。)


CPANモジュールを使えないのにも微妙に理由があって、
モジュールをインストールするにはシステムバックアップのタイミングでしか
ほぼ許されなかったからです。
大体月に1回システムバックアップをするのですが、そのタイミングで
依頼してモジュールをいれてもらったことは何度かありますた。


あと、Apacheでなかったので(iplanetだた)mod_perlとかつかえないし、
モジュールロードのオーバーヘッドがかなり痛いし、FastCGIも鯖のバージョンが
古いせいで使えなかったし。
まあ、requireでのモジュールロードでもとある処理では1秒以上かかってるけど。
なのであましCPANモジュールは使えなかったですなぁ。


お客さんはすごくいい人で仕事もやりやすかったのですが、
自分の所属していた会社が超微妙な会社でこれじゃヤバスヤバスとずっと思ってたこともあり
いい機会も得たのでモバイルファクトリーに入社しました。


ちょっと話がそれましたが、
use strict;
use warnings;
なにそれ、グローバル変数つかいまくり、
同じような関数があちゃこちゃ。とか最悪とかと思われる状態のプログラムを
ずーっとメンテナンスしてたのですが、普通、Perl嫌い、Javaやりたいー
とかなると思うのですよ。(多分)
実際、Javaいいなぁとか思ってる時期ありましたw
で、微妙にJavaの開発手伝わせてもらったりとかして、
たのしーたのしーとか言ってる時期も1・2ヶ月くらいあったです。


でも、なんか、やっぱ一番楽しかったのはPerlだったですね。
なんかちょっとしたことをささ〜っと書くのに超便利だし、
$とか@とか%とかの記号がなんかしっくりくる。


あと、多分一番使ってるプログラミング言語だからってのはあると思うのですが、
自分の考えたことをすんなり形にすることができる言語なんですよね。


今のモバイルファクトリーの開発では
svn+screen+zsh+MoFedge見たいな感じでごりごりと開発してますが、
開発自体が楽しいから、ツボにはまったとき(心技体がそろった時って言うのかな)
の開発がすげー気持ちいいのです。
爽快感ゲット〜みたいな。


MFにはRubyPythonJavaScriptもでけるひとがいるから
多分そのうちそっち方面にも手を出すのかなぁと思いますが、
最終的にPerlにもどってくるんじゃないかな。


数年後、数十年後に自分がどんな言語を使って働いてるわかりませんが
これだけは言えることがあります。


PHPは使ってませんw


PHPが駄目とかじゃなくてなんだか体が受け付けないのですヨ。
困ったもんだわさ。



なんか、やっぱり人生だから色々と悩むこともありますが、
モバイルファクトリーへの転職は間違っていなかったんじゃないかなぁと思う今日この頃皆様いかがおすごしでしょうか?