【Orcas】 Visual Stu ..
[2ch|▼Menu]
243:デフォルトの名無しさん
07/08/26 13:09:54
Visual Studio 2008
Windows Server 2008
SQL Server 2008

どう見ても旧世代文化のマイナーバージョンアップにしか見えないんだよな。
VistaとOffice 2007を同時に出してもコケたことと同じことがこちらも起きるんじゃなかろうか。

244:デフォルトの名無しさん
07/08/26 13:14:11
コケてねー

245:デフォルトの名無しさん
07/08/26 13:17:24
コケてないけど話題に上がらないことを考えると、興味もたれてないんだね。

246:デフォルトの名無しさん
07/08/26 13:17:47
>>240
夢見すぎ
仮にIE以外を無視することにしても
Webサーバを全部Win鯖+IISで置き換えられるわけじゃない

247:デフォルトの名無しさん
07/08/26 13:22:57
このスレ読んでる人の大部分は気付いてると思うけど、
>>240 >>246 みたいな根本的な勘違い君にはいちいち突っ込まないようにしてね。

248:デフォルトの名無しさん
07/08/26 13:29:56
あまり頻繁にメジャーバージョンアップされても覚えるのが大変だから、
過去の資産を引き継ぐのは悪いことではない。
好ましくないのは改悪と頻繁なバージョンアップ。

249:デフォルトの名無しさん
07/08/26 13:32:02
つーかドトネトとかいらねーからnativeな軽いコンパイラも出してくれよ
ドトネトホスティングするために無駄に重いC++コンパイラとか
いらねーからさ

Officeなんてぶっちゃけ2000で十分だよ
軽いし

250:デフォルトの名無しさん
07/08/26 13:35:25
>>249
何年生まれですか?

251:デフォルトの名無しさん
07/08/26 13:37:22
スレ違い君の独り言に突っ込みたい方はこちらでお願いします。
下手に相手にすると無駄なレスで埋められるだけですから。
スレリンク(tech板)l50

252:デフォルトの名無しさん
07/08/26 13:38:00
>>250
2chで自分語りなんてさせんなよ照れるじゃねーか

つーかC++/CLIとかマジでいらねーだろ
たまにVC++6.0とか触るとあまりに軽快でビビるぞ
標準準拠度は糞過ぎるし最新のSDKにも対応してないからつかわねーけどな

253:デフォルトの名無しさん
07/08/26 13:41:23
>>249
ドトネトはあっていいけどC#でネイティブコードも吐けるコンパイラが欲しいな

254:デフォルトの名無しさん
07/08/26 13:42:58
>>253
ああそれは超欲しいな
Dみてーなノリでな
Winオンリーでもそれなら許す

255:デフォルトの名無しさん
07/08/26 13:44:25
C#ネイティブ=C++いらない子

256:デフォルトの名無しさん
07/08/26 14:00:57
>>246
Java と JavaScript を一緒くたにしてて笑われた経験とかない?(w

257:デフォルトの名無しさん
07/08/26 14:06:48
>>246
Silverlight自体は単なるブラウザのプラグインなんだから
Webサーバなんかなんでも良かろうよ

258:デフォルトの名無しさん
07/08/26 14:17:06
SilverlightはLinux版が出たら使おうかな
それまではFlashでいいや

259:デフォルトの名無しさん
07/08/26 14:21:02
Linux版Silverlightはもう出来てるらしいな
Win版は出来てないのに

260:デフォルトの名無しさん
07/08/26 14:23:53


261:デフォルトの名無しさん
07/08/26 14:26:44
URLリンク(www.computerworld.jp)

いやまあアルファ版だけどな
アルファ版ならWin版もちゃんとあるけど

262:デフォルトの名無しさん
07/08/26 14:56:00
C#でネイティブコードは吐かなくていいけど
中間言語をそれぞれの環境に合わせてJITで最適化し、
足りないところには動的コード生成も行えるから
ネイティブコードより早いというC#のVMを作って欲しい
安全性一切無視、GCもなしでいいから

263:デフォルトの名無しさん
07/08/26 15:18:07


264:デフォルトの名無しさん
07/08/26 15:19:27


265:デフォルトの名無しさん
07/08/26 15:19:31
>>262
そういう話題は他スレでどうぞ。
ここは.NET・Visual Studioの最新版のテストスレですから。

266:デフォルトの名無しさん
07/08/26 15:20:08
いいえ

267:デフォルトの名無しさん
07/08/26 15:22:53
>>265
相手にするだけ無駄

268:1
07/08/26 15:24:46
ここはVS2008を中心とした.NET関係の雑談スレです
基本的にはなんでもござれ
批判的意見も大いに結構でございます

269:デフォルトの名無しさん
07/08/26 15:26:04
構ってちゃんは何でもいいから相手にしてほしいのです。
「うぜえ」だの「他所行け」というリアクションですら、彼の望む「相手にしてもらう」ことなのです。
彼はノーリアクションが一番困ります。そういう時は一人会話を始めます。

いずれにしても、放置が一番なのです。

270:デフォルトの名無しさん
07/08/26 15:27:26
やっぱり荒らしが立てたスレか。
潰してしまおうぜこんなクソスレ。

271:デフォルトの名無しさん
07/08/26 15:28:15
荒らしは消えろよ

272:デフォルトの名無しさん
07/08/26 15:29:14
>>271
>>269

273:1
07/08/26 15:32:52
アンチも荒らしアンチ叩きも荒らし
まさに2ちゃんねるだな
普通にVS2008を待ち望んでるのは俺ぐらいか

274:デフォルトの名無しさん
07/08/26 15:37:46
>>273
ハァ?全機能実装を終えて、GoLiveライセンスの出たBeta2がすでに日本語版も出てるのに、何を待ち望んでるんだ?
ろくに使いもしてないのがバレバレだな。

275:デフォルトの名無しさん
07/08/26 15:38:30
>>270
>>269

276:デフォルトの名無しさん
07/08/26 15:39:06
>>274
製品版

277:デフォルトの名無しさん
07/08/26 15:40:53
GoLiveの意味が分からないだけか

278:デフォルトの名無しさん
07/08/26 15:49:35
SilverlightはApachでも動くよ

279:デフォルトの名無しさん
07/08/26 15:50:38


280:デフォルトの名無しさん
07/08/26 15:56:23
>>274
お前こそ何も使い込んでないだろ
現状じゃちょっとオーソドックスじゃないプログラム書いたら
インテリセンスがすぐ落ちるぞ

というか今の状況じゃ作ったものも配布できん
変な煽りすんな

281:デフォルトの名無しさん
07/08/26 15:57:36
インテリセンスが落ちるから配布物が信用できない?
頭大丈夫ですか?w

282:デフォルトの名無しさん
07/08/26 15:58:49
ライセンス読まないゴミは消えて

283:デフォルトの名無しさん
07/08/26 16:00:20
>>280
マジレスするとね、そういう現象がある時はconnect.microsoft.comに報告してくれない?
MSDNフォーラムでもいいよ。
URLリンク(forums.microsoft.com)

284:デフォルトの名無しさん
07/08/26 16:01:54
よく伸びるな。

285:デフォルトの名無しさん
07/08/26 16:02:15
Bata2がすぐ落ちるのは事実。
正式リリースまで評価するのがメインで配布するものではない。

286:デフォルトの名無しさん
07/08/26 16:05:32
落ちるなら無理に使わなければいいのに

287:デフォルトの名無しさん
07/08/26 16:06:24
>>282
ライセンスをよく読んだ上で、配布はできないと判断したのですか?w

288:デフォルトの名無しさん
07/08/26 16:08:03
HighlanderよりVS 2008の評価の方が大事だと思ったんだね。w
意外と正直だね。www

289:デフォルトの名無しさん
07/08/26 16:10:02
>>284
アンチが立てて一人で必死で盛り上げてるスレだから。
真面目な話がしたい時はこちらでどうぞ。
スレリンク(tech板)l50

290:デフォルトの名無しさん
07/08/26 16:20:06
名無しさん♯さんへ

Liveスレを立て直しましたので、こちらでいろいろ語って頂けると助かります。
スレリンク(tech板)l50

291:デフォルトの名無しさん
07/08/26 16:27:43
で、♯をこのスレから移動させてしまえば、このスレが用済みの人も出るだろうしw

292:デフォルトの名無しさん
07/08/26 16:29:10
ライセンスは読んでないが配布できるわけないだろ
相手のPCにβ版ランタイムインストールする気か

293:デフォルトの名無しさん
07/08/26 17:12:58
まあ、名無しさん♯は参考にはなるがスレ違いのレスが多いからな。
.NETでプログラミングできないVirtual Earthとか、RoRネタとか。
>>1もスレ違いの人には然るべきスレに移動してもらうことには異論はないよね?w
マネージドイラネとかそういうこと書く奴とか。www

294:デフォルトの名無しさん
07/08/26 17:20:10
はっはっは。このスレログ削除。w

295:1
07/08/26 17:20:31
マネージドいらねのどこがスレ違いなんだ
もともと話すことなんかたいしてないんだから
雑談のネタになるならいいじゃねえか

296:デフォルトの名無しさん
07/08/26 17:23:58
マネージド無しの別の技術使えば

297:デフォルトの名無しさん
07/08/26 17:35:47
>>295
一人会話のネタのしかならないけどねw

298:デフォルトの名無しさん
07/08/26 17:37:11
このスレいらないね。
ログ削除。

299:デフォルトの名無しさん
07/08/26 17:39:27
俺もログ削除

300:デフォルトの名無しさん
07/08/26 17:52:32
確かに、Liveとか、Next Webとかの話はスレ違いだ。(前も指摘したが)
このスレからでてけ

301:1
07/08/26 18:00:08
ここはVisual Studio 2008のスレだから
.NETと関係してなくても何の問題もない
Visual Studioで開発されるような技術の話なら
なんでもいいんだよ

302:デフォルトの名無しさん
07/08/26 18:00:53
>>300
ログ削除&移動ノシ

303:1
07/08/26 18:05:59
扇動されてログ削除するアホが(まあいるわけないと思うが)いるならいるでかまわんよ
匿名掲示板でスレ立てるってそういうことだろう
ここには自由しかない

それにしてもID出ない板は弱いな

304:デフォルトの名無しさん
07/08/26 18:09:06
ほんとここもID出せばいいのにね

305:デフォルトの名無しさん
07/08/26 18:13:15
運営がアホだから

306:デフォルトの名無しさん
07/08/26 19:05:26
この板常駐してないからよく知らんのだけどどうしてID出ないんだ?
プログラミングのこと語りたくてID出て欲しい時どの板いけばいいんだ?

307:デフォルトの名無しさん
07/08/26 20:12:31
ネ実

308:デフォルトの名無しさん
07/08/26 20:13:04
>>306
VIPでやれ

309:デフォルトの名無しさん
07/08/26 20:18:16
VIPはきついだろw

310:デフォルトの名無しさん
07/08/26 20:25:03
てか、もともとIDって自作自演で荒れやすいいたから逐次導入されたものよね。
ID のない板 = 荒れることの少ない板。

311:デフォルトの名無しさん
07/08/26 20:29:48
この板では自作自演認定して荒らす馬鹿が居るから
自作自演でない事を示すためにIDが欲しい

312:デフォルトの名無しさん
07/08/26 20:31:45
厨房が近寄りそうなスレには寄らなきゃいいだけ

313:デフォルトの名無しさん
07/08/26 20:37:40
どこにでも出没するわ

314:デフォルトの名無しさん
07/08/26 20:39:53
出没頻度は板やスレで随分違うよ

315:デフォルトの名無しさん
07/08/26 20:41:50
そっか
自分の閲覧範囲と重なってるだけかもしれんな

316:デフォルトの名無しさん
07/08/26 21:47:39
どっちにしろこのスレはキチガイに粘着されてしまったから
雑談スレが欲しけりゃまた別個に立てる必要があるかもなあ
出来ればIDでる板に

317:デフォルトの名無しさん
07/08/26 21:55:11
別の板に行くなら、ソフトウェア板がいい候補。
IDが出て、板違いにもならない。

318:デフォルトの名無しさん
07/08/26 22:57:57
いいかもな

319:デフォルトの名無しさん
07/08/26 22:58:44
逝ってらっさい

320:デフォルトの名無しさん
07/08/27 00:03:56
とか言いながら誰もやる奴はいない
このスレ立て童貞どもめ

321:デフォルトの名無しさん
07/08/27 00:09:13
いい加減.NETは諦めて、C#でx86とx64のネイティブバイナリ
吐くようにしてください。

322:デフォルトの名無しさん
07/08/27 00:10:14
お前がコンパイラ作れ

323:デフォルトの名無しさん
07/08/27 00:26:09
いい加減誰かがネイティブはくようなコンパイラ作ってもよさげなんだが・・・


324:デフォルトの名無しさん
07/08/27 00:28:08
匿名メソッドとかyield returnとか実装できる気がしない

325:デフォルトの名無しさん
07/08/27 00:34:01
>>324
LispやOcamlのような関数型言語にふつーにnativeコンパイラがある意味を
良く考えろ
Ocamlなんか超高級オブジェクト指向関数型言語でC++より速いらしいぞ

326:デフォルトの名無しさん
07/08/27 00:40:02
>>325 C++よりはやいっていうのはちとなんだが。1.9倍ぐらいじゃなかったっけ?
でも遅延評価とかでアルゴリズムによっては格段に早くなるかも

327:デフォルトの名無しさん
07/08/27 00:51:39
>>326
それはCに比べて、じゃね
C++はC++らしく書くとどんどん遅くなる印象

328:デフォルトの名無しさん
07/08/27 01:03:10
関数型言語が早いらしいってのは単なる幻想だからな
インタープリタ型に比べて機能が限られる上に
限られた用途以外ではCより圧倒的に遅い

329:デフォルトの名無しさん
07/08/27 01:09:07
流石にC++より速いっつーことはなかったみたい
URLリンク(shootout.alioth.debian.org)

330:デフォルトの名無しさん
07/08/27 01:18:54
>>327
本当にC++らしく書いたら
テンプレートで静的結合でインライン展開で
むしろ高速化が期待できるが

331:デフォルトの名無しさん
07/08/27 01:21:29
>>327
テンプレートの場合、実行速度はいいんだが、
コンパイル速度がどんどん遅くなっていく(ノд`)

332:デフォルトの名無しさん
07/08/27 01:30:37
コンパイルはC++がワーストだよな。

VCTeam blog とか見ると、いろいろやってるようで好感が持てる

333:デフォルトの名無しさん
07/08/27 02:21:15
値を束縛するのでない言語でクロージャを実装したのはC#が最初なんじゃないのか
C#のあれがクロージャと呼べるのならだが

334:デフォルトの名無しさん
07/08/27 09:19:50
関数型じゃないがPerlやらJavaScriptやらにもクロージャは普通にあるだろ

335:デフォルトの名無しさん
07/08/27 10:19:40
List<Action> actionList = new List<Action>();

for(int i = 0; i < 10; ++i)
 actionList.Add(() => Console.WriteLine(i));

actionList.ForEach(action => action());

PerlやJavaScriptでこれに相当するものを実行したらどうなる?
ちなみにC#は全部10になる

336:デフォルトの名無しさん
07/08/27 10:28:44
>>335
forループ使うとミスリーディングだからもっと簡単に書いたら?

var actionList = new List<Action>();

int i=0;
actionList.Add(() => Console.WriteLine(i));

i=1;
actionList.Add(() => Console.WriteLine(i));

actionList.ForEach(action);

これの結果が 0 1 か 1 1 かどっちってことだよね?

337:デフォルトの名無しさん
07/08/27 10:30:39
すまん、最後は
actionList.ForEach(action => action());

338:デフォルトの名無しさん
07/08/27 10:35:46
>>336

そうそう
最後がちょっとあれだけど

339:デフォルトの名無しさん
07/08/27 12:32:52
perlもjavascriptも1 1になる
javascriptはとりあえずIEと火狐で確認

340:339
07/08/27 12:36:18
perlだとこんな感じ
my $i = 0;
push my @a, sub(){ print $i, "\n" };
$i = 1;
push @a, sub(){ print $i, "\n" };
$a[0]->();
$a[1]->();

javascriptだとこんな感じ(アドレス欄にうちこんで実行汁)
javascript: void(function(){var i=0;var al=new Array();al.push(function(){document.write(i+"<br/>");});i=1;al.push(function(){document.write(i+"<br/>");});al[0]();al[1]();}())


341:デフォルトの名無しさん
07/08/27 12:44:48
最後にはドズ Mobile 大勝利!!!

>グーグルフォン近日登場か?
URLリンク(jp.techcrunch.com)
グーグルフォンはアップルのiPhoneと直接比較されそうだ。
iPhoneのパッケージは魅力的だが、米携帯市場におけるシェアはまだ小さい。

342:デフォルトの名無しさん
07/08/27 12:49:42
>>335
これで期待した動作になる。
for(int i = 0; i < 10; ++i) {
  int j = i;
 actionList.Add(() => Console.WriteLine(j)); 
}
>>336
この話はそこがforループだから違いが出るという話じゃなかったっけ?

343:デフォルトの名無しさん
07/08/27 12:54:41
とりあえずインスコしてみたんだけど
「要求されたレジストリアクセスは許可されていません」とか出てプロジェクト作れねえ\(^o^)/

344:デフォルトの名無しさん
07/08/27 13:37:52
>>342 えーとごめん、3.0いじれる環境ないんだけど、それ全部10じゃないの?
3.0からクロージャの実装になるようなへんこうあったっけ?

345:デフォルトの名無しさん
07/08/27 13:51:31
>>344
.2.0でも0〜9になりますよ

346:デフォルトの名無しさん
07/08/27 14:01:38
// C#2.0版
using System;
using System.Collections.Generic;

delegate void F();
class Test {
  static void Main() {
    List<F> actionList = new List<F>(); 
    for(int i = 0; i < 10; ++i) {
      int j = i;
     actionList.Add(delegate(){Console.WriteLine("i={0}, j={1}",i, j);}); 
    }
    foreach (F f in actionList) f();
  }
}


347:339
07/08/27 14:06:03
perlも同じように書けば、期待した動作になる
#!/usr/bin/perl
{
    my @a;
    my $i = 0;
    {
        my $j = $i;
        push @a, sub(){ print $j, "\n" };
    }
    $i = 1;
    {
        my $j = $i;
        push @a, sub(){ print $j, "\n" };
    }
    $a[0]->();
    $a[1]->();
}

348:デフォルトの名無しさん
07/08/27 14:49:46
結局クロージャはfor文とすこぶる相性が悪いということか

349:339
07/08/27 14:57:59
>>348
クロージャに結びつけた変数に対して破壊的操作を行うかどうかの問題
関数型ではそうした副作用(破壊的操作)は基本的には無いことに
なっているので、こうしたケースを考える必要がないってことじゃないかな

for文かどうかは全然本質とは関係ないが、for文のカウンタのインクリメントは
まさに破壊的操作なので、問題を起こしやすいということかと思う

350:デフォルトの名無しさん
07/08/27 16:10:26
>インドのタミルナードゥ州,学校のデスクトップ3万台をLinuxに移行
URLリンク(itpro.nikkeibp.co.jp)
また,インド内外の企業でLinuxが普及しつつあるため,
オープンソース・ソフトウエアの使用経験を積んだ生徒は,
将来の就職に有利になるだろう」と述べる。


351:デフォルトの名無しさん
07/08/27 19:18:34
両方使えて当然

352:デフォルトの名無しさん
07/08/27 21:11:23
ルビーだと0-9がになるようだ。
関数型は使わないから何が正しいクロージャなのかは知らないけど、
この辺は言語ごとの解釈でいいような気がしてきた。
第一同じ変数を共有した複数のクロージャを返すような処理って普通書かないんじゃないかな?
def makef
  $ar = Array.new
  j = 0
  (0..9).each do |i|
    $ar[i] = Proc.new {
      print '(', i, ', ', j, ') '
    }
    j = j + 1
  end
  $ar
end
makef.each do |f|
  f.call
end


353:デフォルトの名無しさん
07/08/27 21:51:28
多分for文の仕様が危険なんだと思うな
デフォルトで変数を作ってコピーする、foreachのような実装になってれば
問題ないわけだろ

public static void For(this int start, int end, Action<int> action)
{
 for(int i = start; i < end; ++i)
  action(i);
}

0.For(10,i =>{
 list.Add(() => Console.WriteLine(i));
});

354:デフォルトの名無しさん
07/08/27 22:04:22
>>353
>デフォルトで変数を作ってコピーする、foreachのような実装になってれば

いやそう書くとまた誤解の元だから。
別のこと言ってるんだろうけど読者は下の結果に絶望する。

var actionList = new List<Action>();
foreach (var i in Enumerable.Range(0,10))
{
int j = i;
actionList.Add(delegate() { Console.WriteLine("i={0}, j={1}", i, j); });
}
foreach (var f in actionList) f();

結果
i=9, j=0
i=9, j=1
i=9, j=2
i=9, j=3
i=9, j=4
i=9, j=5
i=9, j=6
i=9, j=7
i=9, j=8
i=9, j=9

355:デフォルトの名無しさん
07/08/27 22:11:16
ネタ振り師撃沈か

356:デフォルトの名無しさん
07/08/27 22:12:09
Javascriptはずいぶんあっさりしてる。こういう解釈も単純でいいかもしれない。
<html>
<head><title>closure</title></head>
<body>
<script language="JavaScript"><!--
function b() {
  var ar = new Array();
  for (var i=0; i<10; i++) {
    var j = i;
    ar.push(function(){ document.write(i + ", " + j + "<br/>"); });
  }
  return ar;
}
var fs = b();
for (var f in fs) fs[f]();
// --></script>
</body>
</html>

10, 9
10, 9
10, 9
10, 9
 :


357:デフォルトの名無しさん
07/08/27 22:13:14
>>354
すまん勘違いしてた
じゃあforeachもダメなんだ

var array = new[] { 0,1,2,3,4,5,6,7,8,9 };

var actionList = new List<Action>();

foreach (var i in array)
 actionList.Add(() => Console.WriteLine(i));

foreach (var action in actionList)
 action(); //全部9

結構やばくね?

358:デフォルトの名無しさん
07/08/27 22:19:26
全然ヤバイとは思わないけどな
クロージャが使ってる変数を書き換えなきゃいいだけ

バグというよりはそういう仕様なのだろう

359:デフォルトの名無しさん
07/08/27 22:23:02
>>354
jが期待通りに動く仕様がわからんな・・・
delegateと同じスコープにあるものはdelegateが展開されるクラスのフィールドに変換されるということ?


360:デフォルトの名無しさん
07/08/27 22:26:43
>>359
jに対しては一切破壊的操作を行ってないでしょ。
ループの中のブロックは、ループを回るたびに新しいスコープを導入しているのと
同じで、jは毎回新しい変数として作られている。
だから、j = i; はC++的に言えば(破壊的な)代入ではなく初期化、
関数型風に言えば束縛になっているわけだ。

内容は>>347と同じだよ。>>347なら、なぜそれでいいのかが分かりやすいと思う。

361:デフォルトの名無しさん
07/08/27 22:27:08
C++ 0xだと、ラムダ式がローカル変数のコピーをもつか、
ローカル変数への参照を持つかで意見が分かれてるらしい

コピーを持つタイプならforやforeachの問題は起こらないけど、
ラムダ式内でローカル変数に代入を行っても反映されない

参照を持てば代入も可能になるけどforが妙なことになる

クロージャが使ってる変数を書き換えた時に警告が出せればいいんだろうけど

362:デフォルトの名無しさん
07/08/27 22:33:03
>>359
C#では、クロージャがあるメソッドのローカル変数は
実は無名のクラスのフィールドになっている
メソッドに入るたびにそのクラスがnewされてて
ローカル変数をいじってるつもりでも実はインスタンス変数をいじってる

クラスはスコープで分かれていて
forのループに入るたびにjの値を保持するためだけのクラスがnewされてる・・・
のだと思う

363:デフォルトの名無しさん
07/08/27 22:43:03
>>352
(0..9).each じゃなくて for i in 0..9 使うと
全部 9 になった。

364:デフォルトの名無しさん
07/08/27 22:52:22
技術的に濃い話題だと、PerlだのJavaScriptだのRubyだのが出てきても
厨房が割り込んでこないようだなw

365:デフォルトの名無しさん
07/08/27 22:56:21
と必死に割り込もうとしてる厨房が申しております。

366:デフォルトの名無しさん
07/08/27 22:57:15
隙を見せたな

367:デフォルトの名無しさん
07/08/27 23:04:32
>>364
今回は運がよかったのかもね。
ネタを振った人が盛大に勘違いしてたり、危うい要素は結構あったような。

「真のクロージャ」とか言ってる人が来たら基本はスルーが安全よ。

スレリンク(tech板:245番)
こういうのからスタートするといかにも荒れそう。

368:デフォルトの名無しさん
07/08/27 23:13:58
C++ 0xとRubyの件は参考になった。

あとJavaScriptも味があるな。
値型があって=でコピーされるってのも重要な要素か。

369:デフォルトの名無しさん
07/08/27 23:58:02
var fact = x => x == 1 ? 1 : x * fact(x - 1);

これがコンパイル通らないのなんとかしてほしい

Func<int, int> fact = null;
fact = x => x == 1 ? 1 : x * fact(x - 1);

現状だとこんな風に書かなきゃいけない。

こういうケースの場合はクロージャに与えたローカル変数を書き換える必要があるんだよな

370:デフォルトの名無しさん
07/08/28 01:10:00
全然詳しくないので質問させてください。

自称「マネージメントもできる」派遣クンが
「Visual Studioプログラムが僕の書いたとおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。

彼のプログラムが動かないのを調べるのは誰の仕事なのでしょうか?

371:デフォルトの名無しさん
07/08/28 05:29:45
>>369
とはいえdelegateの型はいるので
Func x = ...
みたいに一瞬パラメータだけ推論してほしいなあとも思ったけど
部分式の型が決定出来ないから難しいか

うーんdelegateはつらいぽ

372:デフォルトの名無しさん
07/08/28 06:44:33
何でFunc型の型推論は認められないんだろうね。

var f = x => x + 1; // Func<int, int>のつもり

Expressionの時だけ型を明示させればいいのに。

Expression<Func<int, int>> f = x => x + 1;

373:デフォルトの名無しさん
07/08/28 09:53:24
>>372
>var f = x => x + 1; // Func<int, int>のつもり

var f = (int x) => x + 1 ならとにかく、
関数bodyから引数xの型まで推論させるのは
C#ではやりすぎなような。

まあ関数型言語ではよくあるけど。

ちなみにVB9の場合はこう書くとコンパイラがデリゲート型を勝手に合成してくれる
Dim func = Function(x As Integer) x + 1
ややこしいことにこの場合System.Func<TArg0,TResult>は使われない

Dim func = Function(x) x + 1
こうも書けるけどこの場合Object型からObject型への関数と解釈される
まあそこがいかにもVB。


374:デフォルトの名無しさん
07/08/28 10:11:42
TechEdが終わってからEF Beta2が出やがった

375:デフォルトの名無しさん
07/08/28 11:36:29
URLリンク(blog.miraclelinux.com)

それは栄光と挫折の物語である。20世紀最後の商用OS開発物語と言ってもいい。
このような大規模な商用OS開発はあとにも先にもマイクロソフトでの開発が最後になるであろう。
専用OSや小規模なそれの開発は今後も続くであろうが、
商用でクローズな世界での大規模新規OS開発は今後は見られないであろう。

376:デフォルトの名無しさん
07/08/28 13:04:17
URLリンク(support.microsoft.com)
URLリンク(gigazine.net)

377:デフォルトの名無しさん
07/08/28 14:09:48
Funcの型推論も問題なんだけど、それより

Func<int,int> fact = x => x == 1 ? 1 : x * fact(x - 1);

これすらコンパイル通らないのが嫌なんだ
未割り当てのローカル変数が使われたと判断されてしまう

public staticメソッドなら型推論が効くから、

public static class New{
 public static Func<T1,TR> Func<T1, TR>(Func<T1,TR> func){ return func; }
}
 こんなのを作って

var f = New.Func( (int x) => x * x);

 こんなふうにやれば型パラメータは省略できる

378:デフォルトの名無しさん
07/08/28 14:10:51
【航空】シンガポール航空のA380は各席にLinux搭載、客席でオフィスソフトも利用可能[08/28]
スレリンク(bizplus板)l50


379:デフォルトの名無しさん
07/08/28 14:24:35
>>377
なるほど、factory経由で型推論させる手があったか・・・。

> Func<int,int> fact = x => x == 1 ? 1 : x * fact(x - 1);

ところで、末尾再帰の最適化って保証されてるの?

380:379
07/08/28 14:26:45
> Func<int,int> fact = x => x == 1 ? 1 : x * fact(x - 1);

あ、このコード末尾再帰じゃないか・・・。

381:デフォルトの名無しさん
07/08/28 14:32:50
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
スレリンク(tech板:392-番)

392 名前: デフォルトの名無しさん [sage] 投稿日: 2007/08/28(火) 08:36:48
.NET3.1で大幅変更
.NET3.5でプログラミングモデル変更
.NET4.0で氏滅

393 名前: デフォルトの名無しさん [sage] 投稿日: 2007/08/28(火) 13:56:29
.NET 4.0は自動並列化をサポートするけど
そのために中間言語自体に大幅な変更が加わって
.NET 2.0ベースのアプリは完全に動かなくなる
まあ両方のCLRがOSに標準搭載されるから無問題だが



382:デフォルトの名無しさん
07/08/28 15:41:47
>>377
>これすらコンパイル通らないのが嫌なんだ

Fix使おう。
URLリンク(d.hatena.ne.jp)

>public staticメソッドなら型推論が効くから、

Generic Methodならstaticじゃなくても型推論が効く。
staticは関係ないんでは?

>>379
>ところで、末尾再帰の最適化って保証されてるの?

されないのでZipとかUnfoldとか(ないけど作って)使おう。

383:デフォルトの名無しさん
07/08/28 16:12:10
>Microsoftの海賊版対策プログラムでトラブル、正規版Windowsを海賊版と誤判定
URLリンク(www.nikkeibp.co.jp)

384:デフォルトの名無しさん
07/08/28 16:15:33
Visual Studio撲殺委員会
スレリンク(tech板)l50

385:デフォルトの名無しさん
07/08/28 16:29:24
【迂回】M$アホアンチヲチスレ【ノイローゼ】
スレリンク(tech板)l50


386:デフォルトの名無しさん
07/08/28 16:44:41
逮捕まだー?w

387:デフォルトの名無しさん
07/08/28 18:21:24
ASP.NET FuturesのDynamic Data Controlsって、Ruby on Railsと比較してどうなの?
俺はデモを見てすごく感動したのだが。
URLリンク(download.microsoft.com)

388:デフォルトの名無しさん
07/08/28 18:27:20
Visual Studio 2005 Part 22
スレリンク(tech板:86-番)

86 名前: デフォルトの名無しさん [sage] 投稿日: 2007/08/28(火) 15:58:58
Vista対応はダルいんで、引退します。

87 名前: デフォルトの名無しさん [sage] 投稿日: 2007/08/28(火) 17:47:07
バカが減って嬉しい


389:デフォルトの名無しさん
07/08/28 18:28:33
m9。゚(゚^Д^゚)゚。プギャーーーッハッハーヒャヒャヒャヒャヒャヒャヒーーーーー
( ;∀;) イイハナシダナー
アホアンチ脂肪wアホアンチ脂肪wあばばばばwアホアンチ脂肪wあばばばばwアホアンチ脂肪w
( ´∀`)ほすほす
キタ━━(´∀`) ━━!!!!
アホアンチ哀れwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww


♪  ∧_∧
   ( ´∀` )))
 (( ( つ ヽ、   ♪ アホアンチ脂肪♪
   〉 と/  )))       アホアンチ脂肪♪
  (__/^(_)


    ∧,_∧ ♪
  (( (    )
♪   /    ) )) ♪ あばばば♪
 (( (  (  〈        アホアンチ脂肪♪
    (_)^ヽ__)

    ∧,_∧ ♪
  (( (    )
♪   /    ) )) ♪ ほすほすほすほす♪
 (( (  (  〈        アホアンチ脂肪♪
    (_)^ヽ__)

390:デフォルトの名無しさん
07/08/28 19:06:17
>>387
MVCのModelの概念が分かりにくい(欠けてる?)と思う。
コードからテーブルのデータにアクセスできないか試してみたけど、結局やり方が分からなかった。
あとは、Validateをカスタマイズしようとすると、結局GridViewやDetailsViewに委譲するしかなくて不便に感じた。

慣れの問題はあると思うけど、Rails知ってる人を引き込むにはもっと分かりやすくすべきだと思う。

391:デフォルトの名無しさん
07/08/28 22:20:45
MVCってそんなに重要かな
J2EEが主張してたなんちゃってMVCはウンコだと思ったし
MFCのDocument & Viewは押し付けがましくて融通が利かないと思ってたけど

392:デフォルトの名無しさん
07/08/28 23:46:05
>MFCのDocument & Viewは押し付けがましくて融通が利かないと思ってたけど

"と思ってたけど"は不要。

393:デフォルトの名無しさん
07/08/29 00:13:49
多分MVCはクロージャがなかったから
今まではうまく実装できなかったのだと思う
今まででもインターフェース実装してガリガリ書けば作れたけど使い物にならなかった

C# 3.0ならクロージャほいほい使えるから
モデルにもビューにも依存しないコントローラが簡単に書ける
これは便利

394:デフォルトの名無しさん
07/08/29 00:15:38
>>382
>Fix使おう
何かいてあるかわかんねえ・・・
無理だ

staticは関係ないんでは?

395:394
07/08/29 00:17:03
すまん間違えて投稿した

>staticは関係ないんでは?
関係ないっちゃ関係ないけど、いいたいのは
コンストラクタだと型推論が効かないということやね

396:デフォルトの名無しさん
07/08/29 01:31:52
URLリンク(blogs.msdn.com)

これ読んだらちょっと分かってきた

public static class Fun<T>
{
 public delegate U SelfApplicable<U>(SelfApplicable<U> self);
 public static SelfApplicable<Func<Func<Func<T, T>, Func<T, T>>, Func<T, T>>>
  Y = y => f => x => f(y(y)(f))(x);
 public static Func<Func<Func<T, T>, Func<T, T>>, Func<T, T>> Fix = Y(Y);
}

public static Func<T,T> Fix<T>(Func<Func<T, T>, Func<T, T>> func)
{
 return Fun<T>.Fix(func);
}
これを使えば、

var fact1 = Fix<int>(fac => x => x == 0 ? 1 : x * fac(x - 1));

こうやってすっきり書けるわけか
しかしここまでやる意味あるのかな

397:デフォルトの名無しさん
07/08/29 01:55:16
これはきもい

398:デフォルトの名無しさん
07/08/29 02:30:05
もっと短く書けるんじゃないかと思っていろいろがんばってるが
何一つうまくいかないぞ

399:デフォルトの名無しさん
07/08/29 04:05:06
>>391
MVCであること自体は必須だとは思わないけど、

> コードからテーブルのデータにアクセスできないか試してみたけど、結局やり方が分からなかった。

これはやっぱり問題では?

400:デフォルトの名無しさん
07/08/29 08:53:46
アプリはMVCであるべきだけど、フレームワークがMVCを持つと邪魔。

で、どちらかというとV$製品は一見便利で実装時にはジャマジャマ。

401:デフォルトの名無しさん
07/08/29 09:01:49
最近無理やりMVCにしようという流れが多くね?
方法論なのに目的化しちゃってる。

402:デフォルトの名無しさん
07/08/29 09:13:52
>方法論なのに目的化しちゃってる。

あなたの読み間違いです。

403:デフォルトの名無しさん
07/08/29 19:53:11
いや >>401 が言うようなヤツもいるよ確かに。

>>400のように「アプリはMVCであるべき」って暴論すぎる

404:デフォルトの名無しさん
07/08/29 20:14:39
FormのUserControlってViewとコントローラが一体になってるじゃない
それをViewとコントローラに分離したら、だいぶ見通しも汎用性もよくなったよ

俺の意見としては、何が何でもMVCに分離すべきにかなり近い
分離しない理由が思いつかない

405:デフォルトの名無しさん
07/08/29 20:42:38
>>404 めんどくさい

まぁでもできるだけ分離したほうがいいには同意

406:デフォルトの名無しさん
07/08/30 08:45:43
めんどくさいのは、MFCのGUIビルダーのようにユーザーに設定強いてスケルトン吐き出すやつ。

自分でクラス宣言してMVC構造にするのはふつーのコーディング。

例えて言えば、構造化するときに関数を作成するのに関数名考えたり引数考えるのがめんどーって言うか?

407:デフォルトの名無しさん
07/08/30 11:47:28
>>404
MVCは所詮一種のデザパタだろう
それが適切なケースだと思えば利用すればいい
常に使うべきだとまでいうなら、それは一種の宗教だと思うね

大体俺はモデルやらビューやらの汎用性とやらに大いに疑問を感じている
そんなに再利用なんてしてるか?
(コントローラはもともと再利用しにくいものとされているが)

408:デフォルトの名無しさん
07/08/30 11:51:49
strutsは糞ってことで

409:デフォルトの名無しさん
07/08/30 12:06:35
私はなぜフレームワークが嫌いか
URLリンク(local.joelonsoftware.com)

410:デフォルトの名無しさん
07/08/30 12:33:00
>>407

おまいが頭悪いだけ。

ビューは再利用しる!

それから再利用のためだけじゃない。

構造化プログラミングって必ずやるだろ。それは手続き抽象。
MVCをクラスにするってのはデータ抽象+手続き抽象。

411:デフォルトの名無しさん
07/08/30 12:33:56
>>409

おまいヴぁかだな。

悪いフレームワークは存在するだろう。
だから、フレームワークがMVCを強制するんじゃなく、
MVC部分は自由に書かせろ、って逝ってるんだろうが。

412:デフォルトの名無しさん
07/08/30 12:39:01
Viewとコントローラが分かれてないと、
同じ処理をするけど見た目や使用するコントロールが違うものを作るときに
難儀することになる

Modelが分離されてないと、違うクラスのデータを同じコントロールで変更したい時に
困ったことになる

まあこの場一回限り、再利用することなどありえない、というのなら
UserControlに決まったクラスの参照を持たせて
イベントハンドラでガリガリ処理を書いても問題ないっちゃないけど

413:デフォルトの名無しさん
07/08/30 12:41:09
>イベントハンドラでガリガリ処理を書いても問題ないっちゃないけど

それ、何てブビ厨?

414:デフォルトの名無しさん
07/08/30 12:48:28
>>410-411
そんなに一家言持ってるのなら、きちんと就職してそこで能力発揮すればいいのにw

415:デフォルトの名無しさん
07/08/30 12:50:38
>>414
おまいって終始論理的な思考を持てない椰子だね。

会話して損した。

416:デフォルトの名無しさん
07/08/30 12:56:42
そんなことより、そろそろ警察が来るんじゃない?

417:デフォルトの名無しさん
07/08/30 13:26:49
宗教というよりはただの厨房だったようだな

418:デフォルトの名無しさん
07/08/30 13:35:18
何ていうか、















醜いね。

419:デフォルトの名無しさん
07/08/30 13:37:54

       /| ミ
       |/_ζ
       ヽ| l l│<ハーイ
       ┷┷┷


420:デフォルトの名無しさん
07/08/30 14:31:04
m9。゚(゚^Д^゚)゚。プギャーーーッハッハーヒャヒャヒャヒャヒャヒャヒーーーーー
( ;∀;) イイハナシダナー
アホアンチ脂肪wアホアンチ脂肪wあばばばばwアホアンチ脂肪wあばばばばwアホアンチ脂肪w
( ´∀`)ほすほす
キタ━━(´∀`) ━━!!!!
アホアンチ哀れwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww


♪  ∧_∧
   ( ´∀` )))
 (( ( つ ヽ、   ♪ アホアンチ脂肪♪
   〉 と/  )))       アホアンチ脂肪♪
  (__/^(_)


    ∧,_∧ ♪
  (( (    )
♪   /    ) )) ♪ あばばば♪
 (( (  (  〈        アホアンチ脂肪♪
    (_)^ヽ__)

    ∧,_∧ ♪
  (( (    )
♪   /    ) )) ♪ ほすほすほすほす♪
 (( (  (  〈        アホアンチ脂肪♪
    (_)^ヽ__)


421:デフォルトの名無しさん
07/08/30 16:33:31
>>420
トフラニールでも飲んでゆっくり休め

422:デフォルトの名無しさん
07/08/30 21:38:52
VC++6.0@win2000ですが質問させてください。

現在win32 Application、単純な"Hello World"プログラムで
プログラムを作っているのですが、

#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")

と書いているのにInitCommonControls();が定義されていない識別子だと
エラーメッセージが出ます。
このエラーメッセージが出る訳と対処法の方教えて下さい。

423:デフォルトの名無しさん
07/08/30 22:16:06
アンチは相手にしてほしくて書き込んできます。
ですから、リアクションは全てこちら↓に書き込みましょう。w
スレリンク(tech板)


424:デフォルトの名無しさん
07/08/30 22:27:23
>>422
プロジェクトの設定、リンク、ライブラリモジュール、に
comctl32.lib
を追加。

425:デフォルトの名無しさん
07/08/30 22:32:23
>>424
アドバイスありがとうございます。
ただ、それがそれでも駄目なんです。

426:デフォルトの名無しさん
07/08/31 00:43:52
完全なるスレ違いの予感

427:デフォルトの名無しさん
07/08/31 06:52:16
URLリンク(blogs.wankuma.com)
URLリンク(blogs.wankuma.com)

遅延バインディングと遅延評価を勘違いしてる悪寒。

428:デフォルトの名無しさん
07/08/31 07:52:27
遅延バインディング → late binding
遅延評価 → lazy evaluation

LINQを遅延バインディングと呼ぶのは確かに違うわな

429:デフォルトの名無しさん
07/08/31 09:09:37
何で今頃LINQが盛り上がってるの?

430:デフォルトの名無しさん
07/08/31 09:11:17
まだ出来てもいないLINQを今頃とは・・・・

431:デフォルトの名無しさん
07/08/31 10:37:43
       ____
     /_ノ  ヽ、_\
   o゚((●)) ((●))゚o
  /::::::⌒(__人__)⌒::::: \
  |     |r┬-|     |    (⌒)     誰にも相手にされないアホアンチwwwwwwwwwwwwwwwwwwwww
  |     | |  |     |   ノ ~.レ-r┐、
  |     | |  |     |   ノ__  | .| | |
  |     | |  |     |〈 ̄   `-Lλ_レレ
  |     | |  |     |  ̄`ー‐---‐‐´
  \      `ー'´     /


432:デフォルトの名無しさん
07/08/31 10:39:16
NGしてえ

433:デフォルトの名無しさん
07/08/31 10:41:48
プログラマはもっといい加減なことを書かないとダメだと思うな
間違ってないことを言おうとしたらつまんないことしかいえないよ

434:デフォルトの名無しさん
07/08/31 10:44:53
      ___   ━┓  ___    ━┓
     / ―  \  ┏┛/ ―\   ┏┛
    /  (●)  \ヽ ・. /ノ  (●)\  ・
  /   (⌒  (●) /. | (●)   ⌒)\
  /      ̄ヽ__) /   |   (__ノ ̄  |
/´     ___/     \        /
|        \          \     _ノ
|        |          /´     `\
--------------------------------------
このスレはあなたにとって役に立ちましたか?
 ○ 非常に役にたった
 ○ 役にたった
 ○ どちらともいえない
 ○ 役に立たなかった
 ● 全く役にたたなかった


435:デフォルトの名無しさん
07/08/31 10:46:58
もうダメだなこのスレ

436:デフォルトの名無しさん
07/08/31 11:48:43
>>427
こんなところに書いてないで突撃してこい

437:デフォルトの名無しさん
07/08/31 14:21:17
URLリンク(blog.motdotnet.com)

突っ込み所が多すぎる

438:デフォルトの名無しさん
07/08/31 15:08:10
>>437
>>433

439:デフォルトの名無しさん
07/08/31 15:10:49
すげえな
一つとして正しい文がない

440:デフォルトの名無しさん
07/08/31 15:12:49
こういうものこそ突撃しようぜ

441:デフォルトの名無しさん
07/08/31 15:37:18
>>438
いい加減すぎるだろw

442:デフォルトの名無しさん
07/08/31 15:52:26
LINQが発表された時、本気で関数型言語やらないとヤバスって動いた人多かったしね。
それを今からやるとなると、レベルが追いつくのはいつになることやら・・・。

多分、動的言語の方が楽だから「LINQなんて使えねー」って逃げる人が多いんジャマイカ。

443:デフォルトの名無しさん
07/08/31 16:06:03
LINQは別に関数型じゃねえよ
STLなんかよりずっと普通に使える

444:デフォルトの名無しさん
07/08/31 18:25:03
それはない。

445:デフォルトの名無しさん
07/08/31 18:44:59
>>442
今時の動的言語は普通に関数型っぽい要素てんこもりなわけだが

446:デフォルトの名無しさん
07/08/31 18:53:23
型推論やら無名関数・高階関数やらクロージャやら




実はJScript.METなら最初からつかえていたって気がしねぇか
どマイナーだけど

447:デフォルトの名無しさん
07/08/31 18:54:56
うわMETって何だ俺

448:デフォルトの名無しさん
07/08/31 19:09:05
型推論はないだろw

449:デフォルトの名無しさん
07/08/31 20:55:54
>>437
とりあえず分かる範囲内で突っ込んでみた。


>LINQのクエリはLINQライブラリによりExpression Treeに変換されます。
Expression Tree(を実行時に生成するコード)の生成はコンパイラが行う。
LINQ to ObjectはExpression Treeを使わない。
あとLINQライブラリって何?

>このExpression TreeはXMLで記述されており
そんな事実はない。ただのインメモリツリー。

>「LINQ to Objects」プロパイダはコレクションオブジェクトなどを扱います。
「LINQ to Objects」プロパイダなんてない。
ただのメソッド連鎖。

>これにより当初アンダース・ヘルスバーグが説明していた
>RDBのテーブルとコレクションなどのオブジェクトを
>ひとつのクエリで実行できるとしていたことが嘘であることがわかります。
「LINQ to Objects」誤解したままイケイケで書いちゃって大丈夫なの?
まあ複数プロバイダの問題はある意味核心を突いてはいるんだが……

>次にRDBに対するLINQクエリですが……
SQL鯖は詳しくないので略。

>これはクエリをExpression Treeに変換されたXMLを「LINQ to SQL」で
だからXMLじゃないって。

>LINQでは複数のレコードを一括で更新する方法がありません。
この辺も詳しくないのでパス。

450:デフォルトの名無しさん
07/08/31 21:17:24
>>445
せいぜいファーストクラスの関数サポートぐらいなもんでしょ?

カリー化・部分適用・遅延評価・関数合成あたりのありがたみは知っておきたい。

451:デフォルトの名無しさん
07/08/31 21:34:24
>>449
ここでじゃなくて、ちゃんとブログにコメントしてきてあげて。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4270日前に更新/150 KB
担当:undef