全てにおいて文字列頼りのプログラミングってどうなの? 他に方法は無いの?
@Seacolor では、その目的は可読性でしょうか?それともコンパイラに何らかの助けを与える効果があるのでしょうか?
2010-09-25 23:04:12@cocoatomo 可読性だけなら、import 構文いらんのとちゃうか、と。エディタで java.io. の部分を不可視にしてくれればいいだけなので。
2010-09-25 23:13:09@PG_kura 「エディタがあれば」という話ですよね? java を Eclipse などの専用エディタ無しで使うというのは拷問に近いですwww 魔法使いでもない限り. なので「エディタがあれば」という前提は考えづらいかなぁ? と思います.
2010-09-25 23:15:25@cocoatomo namespace も似たようなものですが、 C++ の場合はマクロと Generics の組み合わせで小手先のテクニックがよくあるので、import よりも用途が広いきがします。
2010-09-25 23:17:26@PG_kura あ, なんか酔ってて変な文章になったので再度. 現在 Eclipse では Ctrl + Shift + o で import の自動追加ができます. 複数のパッケージが見付かった場合はダイアログで選びます.
2010-09-25 23:20:01@PG_kura んで, import 文の塊はデフォルトでは折り畳まれて 1 行しか見えない状態になってます. つまり @PG_kura さんの望んだ状態は実現されてますよ〜.
2010-09-25 23:20:27@cocoatomo はい。でも List クラスの重複とかって、片方を明示的にするとか、何かテクニックが要りましたよね。あれって、エディタが色を変えれば人間が識別できるわけですからやっぱり import に絡む言語仕様はプログラマからもっと隠せるかなーと思ったとですよ。
2010-09-25 23:25:20@cocoatomo 名前ってすごく大事だと思うんですよ。人が意味を与えてそれを利用してアプリを紡ぎだすわけですから。なので名前の解決が階層構造でしか解決できないのはどうももったいない気がするんです。何か代案となる体系は無いかなーと考えてたらimportの意義が気になりますた。
2010-09-25 23:28:25@PG_kura 重複した場合は import java.util; した上で List と java.awt.List とかしないといけないですね. 色変えるとかもありますが, もういい加減「文字列」で識別するのが嫌です. かと言って有力な代替案が無いので黙ってますが……
2010-09-25 23:29:58@cocoatomo データ構造は map とか set とか list とか・・・いろいろあるのに・・・。使いやすいものを作る(プログラミング)ための道具(プログラミング言語)を構成する要素(名前)がそもそも使いにくいってのが何とも不満なのです。
2010-09-25 23:33:12@cocoatomo 今は名前=IDになってしまっていますが、クラスや関数などの定義に対して名前とは別にIDを持たせて、そのIDと名前のひも付けを別途管理するべきだと思っています。
2010-09-25 23:50:06@pokarim ほう, なるほど. ID ってどんなふうに使うんですか? 別名を付けやすくするとかでしょうか?
2010-09-25 23:51:12@cocoatomo IDはプログラマは直接意識しないです。例えばPythonの実行時だとクラスオブジェクトにidと__name__、さらに名前空間上の名前が別々にありますよね。そんなイメージです。ソースとしてコード(文字列)ではなく抽象構文木を保存することになります。
2010-09-25 23:56:34@cocoatomo コード(文字列)で入力するのが多くの場合で効率が良いと思います。それを一度パース、名前解決した結果の抽象構文木のような状態で保存しておくイメージです。再編集するときは、名前を使ってシリアライズしてコードにしてから書き換えてまたパース、保存という流れです。
2010-09-26 00:05:34@pokarim DBにデータをおくときの人工キー方式(俺がよく使う言い方だとID方式)に通じるかんじがしますね。
2010-09-26 00:07:25そういや「関数名は通し番号にしろ」というITゼネコン的お仕事のとき、いったん普通に書いて、そのあと自作の変換プログラムで置き換えをしたんだったな。んでそのときORMの自作も練習してて(ww)、置き換えデータはOracleにおいたんだっけ。特に意味はないけど。Rubyだったな。
2010-09-26 00:08:46@naka_aki_spl まさにそれをイメージしてました。自然キーを使うが故の問題とプログラミングの名前の問題は共通する点が多いと思っています。
2010-09-26 00:09:29