高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

わたしがプログラミングをはじめたわけ

なにやらid:Pasta-Kくんや@masawadaくんがやってるらしいのでわたしも書いてみたり。なんか何度目だよな気もしますが。

とりあえず、使用できる言語

コンパイル系言語
VB6
最初覚えた。かなり使い込んだ
Delphi
次に覚えた。大体使える
C#
Delphiの言語設計者が絡んだ言語。なので基本は変わらない。
JAVA
いちおうコンパイル系言語として計上

ちなみに基本情報処理試験はC言語でうけた(当時メインはDelphi。だって同じ手続き型言語ならみんな同じと思ったんだもん・・・)

スクリプト言語
Javascript
今はWindowsデスクトッププログラミング言語として使用
Perl
CGIおくときに。恐ろしいスパゲティコードを読んだ言語
PHP
CMS用。いじれなくはないがあんまり好きではない
Ruby
Perlを使うのがいやだったので覚えた
Python
Tracのメンテナンス用。
UWSCスクリプト言語
UWSCというソフトのスクリプト言語。ただのマクロアプリの制御用スクリプトかと思えば、かなり強力なウィンドウ制御命令を持つ、不思議な言語。
MortScript
WindowsMobile上のマクロスクリプト。WindowsMobile独自APIもサポートしており情報の少ない当時は結構重宝しました。
その他いろいろ
(X)HTML
HTM4.01/XHTML1.1あたりで知識は止まっています
CSS2
大体IE6の影におびえてた頃の知識しかありません
MIDI
ショートメッセージは一通り覚えたもののロングメッセージが使えないのとデルタタイムが分からないのでMIDIファイルは読めない
日本語
今まで触った中で最も難解なプログラム言語。同じ命令文でもシーケンスによって180度動作が変わることがままある

パソコンをはじめてさわった

さて、少し遡ってパソコンをさわるところから。
はじめてのパソコンは、たしか小学校5年生くらいだったと記憶しています。父のお下がりで、たしか当時はWindows3.1。もちろんですがオフラインでの運用です。
小6になって夏休みの北海道旅行をWordでレポートにまとめたのがはじめてパソコンをまともに使った作業だった(キー入力についてはもとタイプライターのバイトをやってた母の手助けあり)。
ただそのときはこれといってなにかをした訳じゃなく、それっきり。まあ、Windows98にアップグレードして異常に重くなった辺りから使ってなかったような気がします(たしかWindowsの終了に3時間近くかかってた)。

プログラミングっぽいことをはじめてやった

中学あたりからか、RPGツクールというプログラミング的に実行命令を組み立ててRPGを作るゲームが発売されはじめました。

RPGツクール SUPER DANTE

RPGツクール SUPER DANTE


スーパーファミコン版・プレイステーション版とずいぶん遊び倒した記憶があります(Windows版には手を出さなかった)。5くらいになって自分にいまいちセンスがないことに気づいてやめるまで結構遊びました。ジャンルは違いますが、これが現在のプログラミングの礎になったのかと思ってます。

(やっと)プログラミングをはじめる

高校3年辺りからダイアルアップでのインターネットを始めました。当時の名前はひらがなで「たかみちえ」*1。母からはなにも言われてなかったものの自主制限で「インターネットは一時間」だったと記憶しています。
最初に目をつけたのはMuseというソフト。いまもあるテキストベースのシーケンサです。このユーザーコミュニティはやけにプログラマが多く、それで興味を持った。

MiniVB→VB6

当時最初にさわったのがMiniVBというソフト*2。これで基礎中の基礎を確かめて、自分なら使えそうと判断。数日後に学割版VB6を購入。Museの支援ソフトを含み、結構いろんなソフトを作った記憶があります(現在はどれも公開していませんが、ソースコードのバックアップはあったはず)。
最初はMuseユーザーの中学三年生の子に色々教わりながら書いてたなあ。

空白の一年 プログラミングに打ち込む

その後、何を考えたか高校卒業後は大学にもいかず、いわゆるニートへ。
最初こそ文句は言われたものの母にはあまりなんとも言われず、心苦しくなって一年でニートは卒業しましたが。

それはともかく、その間はプログラミングに打ち込んだ。
VB6でできないことをやりたくなり、メッセージフック*3をいじるまでに。MIDIも多少勉強したりしてショートメッセージ(音をならす、楽器を変更するなどのわりと汎用的な命令)なら一通り操れるようになったなあ。

VBDelphi

めげた(ウィンドウフックに)。
というわけで、当時フリーバージョンも提供されていたDelphiに乗り換え。VBのときウィンドウフックまでして処理していた環境未定義のイベントがmessages句ひとつで拾えるようになり驚愕したのを覚えています。今までの苦労はなんだったんだ。
Vectorに今公開しているアプリが完成したのも大体この頃。

インターネット環境もこの時期からADSLにバージョンアップ。学校もいかずなにやってたんだろうなあ。ただ、この時期のおかげでほかの学生とはひと味違うレベルになれたと思っています。

専門学校入学

さすがにニート二年目とはいかず、入ったのは今もいろいろおつきあいがある情報科学専門学校。
とはいえこの時点で2、3年分のキャリアがあるわたしは人に教えることも多かった。人に教えるのが楽しい と思い始めたのもこの頃かな。

Javascript, Perl, JAVA, C#, PHP, Ruby, Python

この時期はたくさん言語を覚えた。Webサイトを立ち上げるために覚えたJavascriptPerl、授業でやったJAVA、単純にDelphiからの乗り換えでC#。あとはVB.NETも(VB6とはかなりベツモノなため)授業でやっている。
CMSをいじるためにPHPもたしなみ程度に習得した。肌にはあいそうにないけど。
RubyPerl以外に何かスクリプト言語を使いたかったから覚えた。PythonTracのメンテナンスのため。どちらも時期が曖昧ですが逆算するとこのへんで覚えてる。

ガジェットデビュー

たしかスマートフォン懇親会辺りでしゃべった記憶がありますが、学校の授業で日立のWindows CEの端末NPD20JWLを触り一目惚れ。しばらく学校から借りて家でいじり倒したのがこのころ。
返却後ほどなくDELLのAxim X50vを購入した。AximX50vは以後会社員一年生辺りまで愛用しています(WILLCOM W-ZERO3が後継)。

勉強会でびゅー?

学校の卒業旅行のつもりで、卒業年次の3月には三つほどイベントに顔を出した。

Borlandのイベントが最初だったと記憶していますが、回りは大人ばかりなのに、子供扱いされなかったのがとても嬉しかった。
話の内容はあまり理解できなかったけれど、交流会でたくさん話せたのはよく覚えています。あと、なんだか教員職の人が多かったことも。そんなものなのかなあと思ったら今思うと全然違った。

わたしがことあるごとに学生とコミュニティを結びつけたがるのも、この辺があったりするかもしれない。

就職して…

就職してしばらくは、勉強会系のイベントとはご無沙汰。ただ、その年の秋の学園祭ではちゃっかりコミュニティイベントについてのスピーチをやっていたりする。

本格的勉強会デビュー

まさか夜のわんくま同盟勉強会に顔を出したのは3年前のことだったか。会社を早めに抜け出して新宿まで飛んでいったのが勉強会デビュー。
その後、あちこちの勉強会イベントに出たり、たまにスピーチもしている。あとは割といつもの通りです。
Twitterは情報を見つけてやってみて、しばらく停止していたものの、わんくま同盟回りの人にフォローされた辺りから始める。Windows MobileWILLCOM Advanced W-ZERO3[es]から始まり、HT-03A、IS01と、スマートフォン漬け(?)の日々を送り始めたのもこの頃。

いつか主宰へ

しかし、横浜に勉強会のようなコミュニティがないことに気づく。横浜で開ければ行き来も楽だし勉強会のメンバーと別の時に会うこともできるだろうなー。ということではじめた横浜のコミュニティを盛り上げる会。
@masawadaくんの「スマートフォンの懇親会を開きたい」という声に呼応してはじめたスマートフォン懇親会横浜や、横浜の市民コミュニティ、横浜コミュニティデザイン・ラボと会ってからやろうと決めたのが横浜IT勉強会。 そして今。という感じ。

今年はコミュニティに参加するより主宰していきたい。そして横浜で、できるならもっと区レベルで近くの勉強会・ITイベントを開いていきたいなあ。

あれプログラミングしてない

お気づきのとおり、就職した辺りからプログラミングは縁遠くなっています。
厳密にはHT-03Aを買った辺りからAndroidプログラミングも少しはやってますし、コミュニティの運営活動やら何やらで形になるものは全然できていなかったりして。
でもいちおうAndroidマーケットの作者登録はしている。はやくなんかまともなものを作ってみたいなあ。


と思っていたら会社でプログラミングをする機会が多くなっている(開発職ではないのに)という不思議な状況。まあ、こういうところではプログラマを育成するほどのパワーがないぶん、ある程度好きで勝手に成長するタイプのプログラマが必要なんですよ、ということにしておきます*4


なんだか色々書いていたら長くなってしまいました。しかしまあ、なんだかスライド資料になりそうなくらいのボリュームです。こういうののスライドを作っても面白いかも。

*1:ちなみに高見知英とは中学当時書いてた物語の主人公、漢字も登場時と一緒です。当時は学校で「赤ちゃんの名前辞典」を読みはじめて、回りから「弟か妹でもできるの?」とかいわれた記憶がありますね

*2:今見たら[http://www.vector.co.jp/soft/dl/win95/prog/se162089.html:title=まだVectorにあった。]Windows7でも動作確認済み(要VB6ランタイム)なので興味があれば

*3:ウィンドウにWindowsから送られてくる各種指令を、VBのイベント機構をつかわず直接処理する行為。VBにおいてはVBが提供してない多くのイベントをキャッチ可能にするが、ひとたびエラーが出ると開発環境ごと落ちるというわりとアブナい(?)行為

*4:ちなみに、UWSCマクロスクリプトは会社での業務効率化発端で覚えた