アカウント名:
パスワード:
拡張 for 文: 3155 for 文: 2343
for 文: 2964 拡張 for 文: 2484
拡張 for 文: 2694 for 文: 2143
for 文: 2664 拡張 for 文: 2163
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
しゃ~ぷ (スコア:0)
# ネタ投入
Re:しゃ~ぷ (スコア:0)
じゃ、追い越すと、Dになって…Delphiですか?
Re:しゃ~ぷ (スコア:0)
その頃は、Javaはまだ怖いしC++は嫌いだしという消極的理由で使ってました。
現時点でDelphiの売りってありますか?
#あえて煽り気味
Re:しゃ~ぷ (スコア:0)
PASCALで書けるってのは、最大の売りだと思うなぁ。
それしか売りがないとも言うけど。
Re:しゃ~ぷ (スコア:2, すばらしい洞察)
俺としては、PASCALであることはむしろ、盲腸みたいな古臭い部分、と捉えています。
#そうでないとそもそもこの商品は存在しなかった、という指摘はさておくとして。
それこそJavaと比較して痛感することなんですが、
PASCALは、Object指向言語として使うには、構文上の「順序」の縛りがキツすぎます。
2つの関数やプロシジャが「相互参照(=相互呼び出し)」することは、ぶっちゃけ言えば稀なので、
その際に順序の縛りの限界を超えるための特殊な書き方を強いられる(フォワード宣言でしたっけ)
のは我慢できるんですが、
2つのクラス(というか元を正せばデータ構造)が「相互参照」することは非常に頻繁にある出来事なので、
特殊な書き方がいちいち強いられるのは、苦痛でしかないです。
その点、Javaのようにクラスやメソッドや属性の記述順序を一切気にしなくて良い言語仕様のほうが、
ずっと使いやすいんです。
強型言語の範囲内でも順序の縛りを減らすのが可能であることは、それこそJavaが実現できていることからも明らかであり、
「強型言語→PASCAL(のやりかた)」という古典的な常套句は、今では古すぎると言えそうです。
他にも細かい所は一杯…。
総じて、元の(Turbo)PascalとDelphiとの差の部分は、大抵どれも「お、いいねえ」という感じがするんですが、
Pascalから引きずってる部分については、あんまり良い印象を受けたことがないです。
で、JavaとDelphiの両方を見て(Delphiと同じ作者が)作った言語が、C#なんだろうなーと(^^;
個人的には、なんでBorlandは自分で新たに言語を作らなかったのか?と疑問です。それこそMSがVBを出してるように。
まあ、Pascalという技術的資産(および文化的伝統?)が同社内には有ったんだろうな
(そして、それ以外は無かったんだろうな…)と邪推しています。
#あと、Delphi(くらいの時代の言語)にコレを言うのは酷なんですが、
#本格的にObject指向する言語では、やっぱりガベコレが無いとキツいです。
#DelphiではWidgetとかのメモリ管理のSolutionはキチンと有るんですが、それ以外のObjectのほうが人力管理しかないんで、
#そういう部分にばんばんObjectを使う気力が萎えるんですよね…
#メモリ管理を自分でしなくて済むかどうかは、重力の有無みたいなものだという気がしています。
Re:しゃ~ぷ (スコア:0)
そんな七面倒臭いことを言つてるなら、なぜ今でも
Javaなんか使うのかよくワカラン。
SmalltalkなりClosなりを使つたほうが
ずつとすつきりするだらうに。
Re:しゃ~ぷ (スコア:1)
「使う」の主語がもし俺G7だというならばですが、
「(俺が)使う」とは言っていません(^^;#確かに使ってもいるけど、それはここでは無関係です。
JavaとDelphiって、成立年代が近いとか、
どちらもコンパイラ型だ(ターゲットは違いますが)とか、
Object変数が参照オンリーだとか、一方プリミティブ型が有るとか、
通じるものが色々あるんで、
ちょうど「比べるのに都合がいい」組み合わせなんです。
特に順序縛りの問題は、この2つの言語を比較するのが
一番説明し易いんですよね。
>SmalltalkなりClosなり
箱庭かどうかはさておくとして、Smalltalkとかの
弱型かつインタプリタな…つまり「各種のマッチングを実行時に動的に取る」
ような言語(処理系)は、ここで一緒に論じても無意味かと。
ただ、総じての評価という意味では、
俺としては最近はかなり弱型な言語に傾いているので、
それ系の言語使えばDelphiだのjavaだのの問題を丸ごと忘れられるぞ、
という指摘が俺としても有りではありますが。
で、箱庭問題や自国愛(藁)や落とし所の気に入り度とかでいえば、
俺はRubyが今のところ一番っすね。
そういやRubyは最近マーチンファウラーたん(^^;も使ってるそうで…
#あとBlock(イテレータ)みたいなものが無い言語はもう嫌です(^^;
#Tigerの [airnet.ne.jp]もなんかRubyとかに比べれば(汎用性の低さという意味で)イマイチっぽく見えますし。
#てか、どんなInterfaceをどう使うかをユーザが用意できたりは、しないんだろうか?
#get(i)を使わないから遅いっていうなら、get(i)を使うかどうかを選択するシクミが有れば良かったわけで。
Re:しゃ~ぷ (スコア:0)
Re:しゃ~ぷ (スコア:1)
櫻庭さんの拡張 for の解説記事のページ [airnet.ne.jp]のマイクロベンチマークですが、
私のマシンでは ComparisonTest1 をそのまま使用した場合、 となりましたが、for 文と拡張 for 文の順番を入れ替えた場合 となりました。
(拡張 for 文の方が若干遅いのは、測定誤差か Iterator の生成コストだと思われます)
同様に、ComparisonTest2 もそのまま使用した場合、 となりましたが、for 文と拡張 for 文の順番を入れ替えた場合 となりました。
Re:しゃ~ぷ (スコア:0)
>#本格的にObject指向する言語では、やっぱりガベコレが無いとキツいです。
>#DelphiではWidgetとかのメモリ管理のSolutionはキチンと有るんですが、それ以外のObjectのほうが人力管理しかないんで、
>#そういう部分にばんばんObjectを使う気力が萎えるんですよね…
>#メモリ管理を自分でしなくて済むかどうかは、重力の有無みたいなものだという気がしています。
Re:しゃ~ぷ (スコア:1)
す、すばらしい!!!
#もし(ライセンス的に)可能なら職場でも紹介して…あわよくば仕事も楽になるんでなぃかぃ?
ところでこれ、Object間の参照切れへの対策への対策…
つまり例えばNotificationとか…はどうなってるのかな?
あとで読んでみます。わくわく。