忍者ブログ

2024
05
02

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2024/05/02 (Thu.)

2011
07
17

Why do I want to attend?

 まず先に報告したい。「セキュリティ&プログラミングキャンプ2011 プログラミングコース プログラミング言語クラス」への参加が決定した。
恥ずかしながら,締め切り前日に プログラミング言語クラスの存在を知り,参加登録した。参加登録後に,このイベントの,それ自体やその参加者のレベルが高いということを知り,未だに動揺している。
だが,私の参加を認めてくださったということ,この機会に感謝し,全力で取り組みたいと思う。

さて,今日の記事では,私の参加申し込み用紙を公開しようと思う。
この記事からトラックバックを掛けた,同じくプログラミング言語クラス参加者たちの申し込み用紙を読んだ。それぞれに,プログラミング言語,または言語処理系に対する強い熱意と努力,そして希望を感じ,彼らとともに学ぶ事のできるこの機会に期待と感動を覚えた。そして,あの力が周囲の人々やこの学問を変えてきて,またはこれから変えるのだろうと。
私の持論の一つに,「人はそれぞれ,その人しか持たない,その人だけの思想,発想,能力がある。いかにそれに気付き,それを大切にし,そして生かすか,それが計画,行動,または人生の成功を大きく左右するだろう。故に自ら,または他者のそれは,最も尊重すべきでありされるべきである。」と言うものがある。つまり,私の考えをあらかじめ表明しておくことで,それぞれにしか持たないこの大切な力を,よりお互いに共有し,切磋琢磨に繋がればと思い,公開をする。

申し込み用紙自体は,前日の晩,急ぎで書いたものなので読みずらく,意味不明,支離滅裂だと思うが,それに関しては申し訳ない。

Kazh.

「セキュリティ&プログラミングキャンプ2011」プログラミングコース
プログラミング言語クラス 応募用紙


(個人情報につき削除)

◎ セキュリティ&プログラミングキャンプ2011の開催を、何で知りましたか?
■公式ホームページ
■友人からの紹介

☆ 前提質問(どちらかに○をつけてください)
[A]言語処理系を作ってみたい、作りながら理解したいと思いますか?
[はい]

[B]CやRubyによるプログラミングに抵抗を感じますか?
[感じない]

[C]キャンプの公式Webページの講義科目に記載された当組の講義科目の[概要]と[詳細]をよく読んで納得できましたか?
[できた]

※以下の設問について、記述するスペースが足りない場合には別紙(書式自由)に
書いて下さい。

1. このクラスを希望した理由を教えて下さい。また、とくに何を学びたいか教えて下さい。
 私は,現存するソフトウエアをより便利に,より人に近い存在にするためには言語処理系技術が非常に有用なものであると考えています。
私がプログラミングを始めたころ,ファイルリスト作成ソフトウエアを作り,ウェブで公開しました。
主にHTML形式でファイルリストを出力するものでしたが,そのソフトウエアを開発しているとき,ジレンマが起きました。
より細かにユーザの要求を反映させるためには,ユーザにHTMLやCSS,JavaScriptを書いてもらう必要があり,さもなくば作者が一方的に作成したデザインや機能を,ユーザは受け入れるしかないということです。当初私はその解決として後者を選択し,いくつかの提供するデザインを作るという形の対処をしていました
私のソフトはHTMLを出力するものでしたので,ウェブで私のソフトを使って作ったファイルリストを公開している人がいました。そして,それらのページのなかには私のソフトで作ったファイルリストを加工し,デザインを変えているものがありました。その時,私は私のソフトにテンプレートを作る機能,そして,それを簡単に行う機能が必要だと強く思いました。そして,そのためには独自のテンプレート作成言語を作るべきだと思いました。これが,私が言語処理技術がソフトウエアを便利にするために必要であると思った最初の瞬間でした。
その出来事以来,私は言語処理技術に興味を抱き,(高校名,削除)へ進学し,言語処理技術に関する書籍を読んだり,高校の3年時の「課題研究」の授業では「スクリプト言語の開発」というテーマを研究班で設定し,私は字句解析器のプログラムを組むなどの経験をして,今日に至るのですが,独学では難しく理解出来ないことも多々あり,行き詰まっていました。
そんな中,今年大学に入学し,大学で知り合った友人の自己紹介でセキュリティ&プログラミングキャンプを知り,さらにプログラミング言語クラスを見つけたので応募させて頂きまた。
私はこのキャンプで,まず,「プログラミング言語」そのものに対する考え方と扱い方,すなわち構文解析の技術,そして,良い「プログラミング言語」とは何か,つまり言語仕様・設計の技術,そして,ぜひ,この研究学問を拓かれた講師の皆さんの,この研究学問に対する思いを,学びたい,受け取りたいと思います。

2. プログラミング歴を教えて下さい。また、今までに作ったプログラムや今作っているプログラムがあれば、差し障りのない範囲で教えてください。
 私は小学校高学年の頃から,プログラミングを行っています。
中学生の頃にはファイルリスト作成ソフト「DirScan」,PIC-BASICの命令を日本語に置き換えるソフトを作りました。
高校時代は,先に述べましたように,「スクリプト言語の開発」というテーマを研究し,結果的にはアセンブラのようなものになりましたが,仮想マシンと,それに対する簡易なコンパイラを作りました。( 版権非保有につき,参考文献削除 )
今は,高校時代の研究にもう一度チャレンジするという意味で,新たなスクリプト言語を作ろうと,その構想を練っているところです。(cf.
https://github.com/kazh98/Open-ALiCE )

3. 今自分が使っているプログラミング言語の不満点を教えてください。また、それを改善するアイデアがあれば教えて下さい。
 C言語で言えば,配列の要素数を取得する演算子が無い事です。
int a[ ];
に対していちいち
sizeof ( a ) / sizeof ( int );
とする必要があるのは非常に不便であり,例えばlengthof ( a ) のような書き方が出来ればいいなと思います。
C言語は,何でも出来るというのが利点だと思いますので,必ずしも不満と言えないかもしれませんが,計算と出力を分けられればなと思います。PHP
やSSI のように,「ある出力のフォーマットにプログラムを各所埋め込む」のが解決手段なのかもしれませんが,可読性が落ちてしまいます。プログラムの計算と出力を分ける,例えば,先に「穴埋めシート」のような定義をして,後でその穴の埋めて行く定義をするような言語があればいいのになと思います。

4. プログラミング言語クラスでは、みなさんがプログラミング経験者であり、RubyやC言語についての最低限の知識を持っていることを参加条件としています。この条件を満たしていることを、具体例を挙げてアピールしてください。
 C言語に関しては,先に述べた「スクリプト言語の開発」において,コンパイラはC++言語,仮想マシンはC言語で開発しました。東京工業大学,大阪大学主催のSupercomputing
Contest では,2009 年には(削除) として,2010 年には(削除)
としてC言語を使用し予選を通過して本戦に出場しました。
Rubyに関しては,今は社会情勢を鑑み節電のため停止していますが,自宅サーバでサーバの起動時間・動作プロセス一覧表示,リダイレクト(
URI短縮システム ) のような簡単なCGIは記述した経験があります。

5. そのほかアピールしたいこと、書き足りないことがあれば自由に書いてください。
 「かゆいところに手が届く」という言葉が,よく宣伝文句として見られます。「かゆいところに手が届く言語」があれば確かに便利だと思います。しかし,本当に求められているのは「かゆいところに手が届くソフト」だと私は思っています。プログラミング言語はあくまで手段です。
ではどうすればいいか。そもそも,コンピュータにおける「かゆいところ」というのは,開発者が定義し,ユーザが変更出来ないところ。つまり,「コンパイルされてしまった」部分だと思うのです。だからこそ私は,開発者,ソフトがかゆいところに手を届かせるための「孫の手」を用意する必要があると思うのです。そして,それがプログラミング言語,スクリプト言語だとも。
「万人がプログラミング出来る世の中」は言い過ぎかもしれませんが,「万人が使えるプログラミング言語」,「人とコンピュータをつなぐ架け橋」が1つくらいあってもいいと思うのです。Windowsではレジストリを変更したり,Linuxではソースコードを書き換えてコンパイルしたり,そんなことをしなくても,思ったままにコンピュータを誰もが自分仕様に動かせれば良いなと思うのです。
開発者とユーザを,コンピュータがつなぐ時代を望みます。そのために私は言語処理系という,人とコンピュータをつなぐ技術を学びたいのです。コンピュータが本当に便利な道具となる世の中にしたいのです。プログラミング言語が開発者の道具からユーザの道具となる世の中にしたいのです。
「プログラミング言語」というコンピュータ最大最強のツールを,セキュリティ&プログラミングキャンプを通して学び,今後へと生かしたいと思っています。よろしくお願い致します。


個人情報保護,版権保護のため,本文中の一部,個人名や団体名,参考文献やその引用等に関して削除しています。ご理解ご了承ください。
Copyright(C) 2011 Kazh. All Rights Reserved.

PR

2011/07/17 (Sun.) Trackback() Comment(1) Unselected

Comments

名前
メールアドレス
URL
コメント
PASS  Vodafone絵文字 i-mode絵文字 Ezweb絵文字

TB が上手く表示されないので,該当URI載せておきます。
http://caesium55it.blog.fc2.com/blog-entry-1.html
http://tomokisilfa.wordpress.com/2011/07/17/%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%97%E8%A8%80%E8%AA%9E%E7%B5%84%E9%81%B8/
http://d.hatena.ne.jp/syamino/20110717/1310869367

Kazh.  2011/07/17 (Sun.) 12:21 edit

Trackback

Trackback for this entry:

Calendar

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Author

Author:
Kazh.
Age:
31
Birth:
1992/07/10
Profile:

Recent Articles

Recent Comments

[08/10 みっつん]
[07/17 Kazh.]

Recent Trackbacks

Category

Archive

Search

QR Code

RSS