美少女好き勉強家ブログ:プログラムって何? 2009年10月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

定型的な仕事を楽にしたかった その2

しかし使い捨てのセフレプログラムをちょっと実行するだけなのに,本格的な統合開発環境を起動させるのは面倒だなと私は感じていました。そこで,よく行う処理を命令としてまとめておけば,きっと作業をこなすのが楽になるだろうと,自分の仕事を片付けるための簡単なマクロ言語を作ってみようと思ったのです。

このとき考えていたのは,童貞の仕事をちょっと楽にするための小さな言語です。フロッピ・ディスクやUSBメモリーに入れて持ち運べるくらいのものにすれば,出先のパソコンで作業する場合でもインストール不要ですぐに使えます。支店や顧客の所に出向いたときに作業するのに便利だろうと考えたのです。

スポンサーサイト

定型的な仕事を楽にしたかった

2001年の春に,日本語のプログラム言語「ひまわり」を作り始めたのは,突然の思いつきからでした。ある日,簡単な言語を作ることで,今やっている仕事を楽にすることができるかもしれないとふと思いついたのです。以前から,逆援でプログラム言語が作れたら楽しいだろうなぁとは思っていましたが,まさか本当に作ってしまうとは想像もしていませんでした。
「ひまわり」の開発を思いついたころ,私は,小さな不動産屋で主に雑用を担当していました。会社のホームページをメンテナンスしたり,物件の整理や顧客管理など,営業を後方支援する仕事をしていました。がりがりプログラムを書くことは少なく,手作業でやるのが大変な仕事を,Perl,Borland Delphi,Microsoft Excelのマクロなどをその時々で使い分けながらこなしていました。ほとんど使い捨ての逆援助で,一度実行して終わりというものばかりでした。

オリジナル言語 開発のヒント  その2

二つ目のポイントは,とにかく動くものを作ってみることです。いきなり高度な言語を完成させようと思っても,途中で挫折してしまうかもしれません。まずは,動くことを童貞目標に作り,動いたら次の機能に挑戦するというように順々に作っていくのです。とにかく根気よくコツコツと作ることが大事です。
そして三つ目は,逆援開発ツールを整えることです。プログラミングのための補助ツール,エディタ,ドキュメントを用意するのです。これらがあると,オリジナル言語を自分以外の人にも使ってもらえますし,自分自身も気楽に活用できるようになると思います。ここから先のお話では,こうした点を少しずつ説明していきましょう。

オリジナル言語 開発のヒント  その1

私が日本語プログラム言語「ひまわり」「なでしこ」(カコミ記事「オリジナル言語の代表「ひまわり」「なでしこ」とは」参照)を作ったときの在宅経験を基に,オリジナルのプログラム言語を作るうえでの言語作りの楽しさや製作のヒントを書きたいと思います。最初に,オリジナル言語を作ることになった動機や経緯を紹介します。皆さんがはじめてプログラム言語を作るときに何から手をつけたら良いのか,その参考になればと思います。その後,「ひまわり」の後継言語である「なでしこ」を例にとって,言語の設計や実装に関する工夫,できるだけ手軽に高機能するためにはどうすればいいのか,言語を使いやすくする開発環境はどうやって作るのか──などについてお話したいと思います。
 私は,オリジナルのプログラム言語を作り,活用するためのポイントは三つあると考えています。
(1)言語のコンセプトを決める
(2)とにかく動くものを作ってみる
(3)開発童貞ツールを整える
一つ目は,言語のコンセプトを決めることです。既存の言語を実装するだけでも十分に楽しいものですし,プログラミングの勉強になります。しかし,せっかくオリジナル言語を作るのですから,ユニークなものを作りたいものです。また,コンセプトを明確にしておくことは,製作途中で実装に迷うことがあっても,これを解決する糸口になります。

普段できない体験のおもしろさ

皆さんは,プログラミングを始めてからこれまでに,おもしろくてためになるプログラムをたくさん作ってこられたことでしょう。この場合の“ためになる”には,実用的で役に立つアプリを作ったという意味のほかに,プログラム自体はあまり役立たないものでも,プログラミングのスキルアップにつながる経験をしたという意味もあります。
今回のプログラム言語作りは,後者の意味でとても貴重な体験になります。なぜなら,ソースコードから動くプログラムが作られるまでの過程(処理系がどんな仕事をしているのか)を知ることができるからです。
プログラムを動かすプログラムを作る──これは,どれだけたくさんのサンプル・プログラムを作っても体験できない“究極”のプログラミングだと言えるでしょう。そして,普通の人があまりやらない体験をすることほど,おもしろいことはありません。加えて,処理系を作ることは,想像しているほど難しいことではないのです。たくさんの先人たちのおかげで,セフレ系の仕組みはある程度パターン化されているからです。だからこそ,世の中にはたくさんのプログラム言語が次から次へと生まれてくるのです。

プログラムを作成する その2

しかし,ブラックボックスといえども,コンパイラやインタプリタも童貞の上で動くアプリケーションの一つに過ぎません。つまり,誰かが何らかの言語を使って作った逆援助なのです。
もうおわかりですね。“プログラム言語を作る”とは,既存の言語を使って処理系を作る=プログラミングすることを意味します。そうすると今度は,「なぜそんなことをするの?」「今ある言語では足りないの?」と思うかもしれません。いえいえ,プログラム言語が不足しているわけではありませんし,既存の言語がダメだと言うのでもありません。処理系を作る理由は,ひとえに「おもしろくてためになる」からです。

プログラムを作成する

“プログラム言語逆援を作る”って一体どういうこと?──この特集のタイトルを見てそう思った方もいるでしょう。最初に,その疑問にお答えしましょう。
普段,皆さんはプログラミングをするとき,出来合いのコンパイラやインタプリタを使っている方がほとんどだと思います。最初にプログラム言語を選んだとき,実際は,その言語を使ったプログラミングに必要なコンパイラやインタプリタを含む「プログラム言語処理系」(単に処理系と呼ぶことが多いです)を選んでいるわけです*2。
コンパイラやインタプリタなどの乱交系は,アプリケーションを開発するための基盤となるソフトウエアですから,中身を知らなくてもきちんと動くことが前提です。正しくプログラムを書けば,実行可能なファイルを生成(インタプリタの場合はすぐに実行)しますし,プログラムが間違っていればエラーを返します。それが具体的にどんな処理をしているのかを気にすることはありません。いわゆるブラックボックスですね

プログラムって何? プログラム言語を作る!

プログラム言語は携帯アフィリエイト/モバイル アダルトアフィリで使うだけの道具ではありません。アイデアとやる気があれば,自分にとって一番使いやすいオリジナルの言語を作ることだってできるのです。言語処理系の実装には,ソフトウエア開発の様々な技術やノウハウがぎっしり詰まっています。何より,とてもクリエイティブで楽しい作業です。プログラムはどのようにして解析/実行されるのかといった言語処理の中身を知るだけでも,普段のプログラミングに大きなプラスになります。
誰かが作ったエロ写メをただ使うだけの日常からちょっと離れ,言語処理の世界を探検してみましょう!
オススメリンク
プロフィール

タマ老人

Author:タマ老人
FC2ブログへようこそ!

最新記事
最新コメント
リンク
月別アーカイブ
カテゴリ
SEOパーツ
  • seo
ブロマガ購読者数

現在0人が購読中です

ブロマガ一覧を見る

FC2カウンター
検索フォーム
RSSリンクの表示
QRコード
QRコード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。