1 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:18:12 ] ほんとプログラマにとってはMacって 本当に興味が無いOSだよねw Macでの標準的な言語であるObjective Cのスレすら無いし。 過去にはあったんだろうけど。
496 名前:デフォルトの名無しさん [2006/04/17(月) 00:03:09 ] それ買ってObjective-Cっての勉強しようと思ったが、 値段見て愕然とした、米買えなくなるから諦めた。
497 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 00:23:18 ] >>494 違う。最適化コードの出力を禁止するだけ。 組み込みとかでメモリにI/Oが割当たっている時に、 書き込みが省略されたりすると意味が変わってしまう時に使う。 一方ハードウェアの実行時最適化(命令の並べ替え)には影響しないので、 マルッチスレッド下での排他制御には意味を持たない。 メモリバリアとか、メモリの可視性とかを調べよう。
498 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 01:04:49 ] >>497 >>494 は排他なんて言ってない。 変更が反映されると言ってるだけだから、参照だけだろ。 むしろvolatileだけで排他なんかかけたら問題だw
499 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 08:49:31 ] >>498 違う。参照も保証されない。 お前もメモリバリアを勉強し直せ。
500 名前:デフォルトの名無しさん [2006/04/17(月) 09:23:37 ] CのvolatileとJavaのvolatileが混同されているな
501 名前:デフォルトの名無しさん [2006/04/17(月) 12:15:16 ] >>499 そうね。 Cの場合は下記を参照 www.yuasa.kuis.kyoto-u.ac.jp/~yasugi/4/par.html Javaはこのあたり参照 www.netgene.co.jp/java/concurrentTips.html C/C++の場合は、volatileはスレッド間のメモリ可視制御を何もやっていないけど、 Javaについては意味がある。 現状Cocoaの場合、インラインアセンブラでメモリバリアを差し込むか、 メモリバリアを入れるOSコールを呼び出す必要がある。 Cocoaが下請けに使っているpthreadについては、「メモリ同期を行う関数」一覧があるので調べられる。 が、Cocoaのどのクラスのどのメソッドが該当するのかは、ドキュメントが見当たらないので推測になる。 念のために書いておくが、494の認識はマルチプロセッサ登場前は概ね正解だった(それでもCPUによる)。 そのため嘘を書いている本は大量に残っている。 ちゃんとした本はあまり無いが、Effective C++を書いたエロイ人のドキュメントもあるので、 英語が読める人には推奨しておく。 www.nwcpp.org/Downloads/2004/DCLP_notes.pdf
502 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 16:08:59 ] Objective-C の @synchronized ではいかんの? マルチスレッド書いたことないのですいません
503 名前:デフォルトの名無しさん [2006/04/17(月) 17:02:49 ] >>502 問題無い。lock系の操作はメモリバリアが入ってる。 ダメなのは、「4バイト以下のvolatile変数を使えばロックを使わないで済む」という勘違い。 複数のスレッドが変数にアクセスする場合の選択支は二つあって、 ・常にlockして読み書きする。 ・読み書きのポイントにメモリバリアを入れる。 のどちらか。 後者の方が性能面で有利だけど、前者を使う方がミスが少ない。 @synchronizedを使うのが一番確実。 ちなみにダメな理由を大雑把に説明すると、最近のCPUはアセンブラコードの順番を勝手に入れ替えて最適化処理をやっている。 その結果、コード上とは異なる順番でメモリ上の変数が書き換わったりしている。 これは単一のCPUから見る限り問題無い(ように最適化されてる)のだけど、他のCPUで動作するスレッドから見ると不味い事になる。 例えば、カウンタとフラグに関係を持たせたりしていると、タイミング次第で誤動作してしまう。 他にもCPU単位にメモリキャッシュがあったりするので、一部の変数の書き換えだけが延々と他のCPUに見えない時もある。
504 名前:デフォルトの名無しさん [2006/04/17(月) 17:33:08 ] 津波に@synchronizedとNSLock系の上手な使い方について詳しい解説はございませんかのう その・・・日本語で・・・
505 名前:デフォルトの名無しさん [2006/04/17(月) 18:00:46 ] >>540 期待値に達しているか判らないが、萩原本にはNSLock関係も載っている。 コラムのvolatile関係を読み飛ばせば問題無いのでは無いかと思う。
506 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 20:46:35 ] 買っては見たものの、4200円は高杉だろ。
507 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 21:22:31 ] なんだ? リア工房の俺でも買えたぞ
508 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 21:57:51 ] プログラム系の書籍で4桁ぐらいでグダグダいってたら全然買えない 素直に諦めろ
509 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 22:05:04 ] いや、あの内容で4200円かと思うとつい。
510 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 22:38:15 ] パチスロの台の前に30分居たと思えば安いものだ。
511 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 23:59:04 ] 抜きの1/4と思(ry
512 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 00:38:33 ] 時間を買うのであれば安いだろ
513 名前:デフォルトの名無しさん [2006/04/18(火) 07:02:47 ] 米と比べちゃうよね…
514 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 08:59:26 ] 萩本は一ヶ月分の米に相当するということでしょうか。
515 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 19:43:49 ] 米一俵の精神で頑張ってくれたまえ。
516 名前:デフォルトの名無しさん mailto:sage [2006/04/24(月) 21:07:27 ] HMDTのTiger本きたね
517 名前:デフォルトの名無しさん [2006/04/25(火) 01:18:54 ] まだかじった程度だけど、 やっぱC系の言語って基本的に趣味の領域なのかなと。 大規模開発だと「プログラマに任せる」っていう設計思想は 危険すぎるから。 「これで、Objective-Cのオブジェクト型は、原理的に動的型であり、 静的な型は目安にすぎないことが理解できただろう。 言語として型の厳密性を保証することはなく、適切なオブジェクトが 代入させるかどうかの判断は、プログラマやフレームワークにまかされることに なる。実際にコードを書いてみると、このいわばルーズな文法が、非常に 楽であることに気づく。 しかし、次のような疑問も浮かぶだろう。そんないい加減なコンパイルで、 本当に実行時大丈夫なのか、と。これに対しては、次のように答えることが できる。正しいオブジェクトが渡るかどうかはプログラマが保証することで あり、ある程度の経験を積めば、基本的には大丈夫だろう、と。 」 なんてことを自信満々に言っちゃってる『ダイナミックObjective-C』の 作者さんはきっと企業内でコード書いたことないんだろうなあ。 ガベコレも導入するみたいだけど、なぜ Java を捨てたのか?Jobs との因縁か?w こんなマイナー言語をメインに据える Apple ってソフト自社生産の任天堂路線? デザイン的に洗練されれば Windows でもいいのに、Vista のスタートボタンを 糞にした MS に未来はないよ。とほほ
518 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 01:26:51 ] 企業の業務用アプリケーションを構築する際にプロジェクト内に 一定比率で存在するへたれプログラマを相手にしてないんじゃね? > Objective-C の適用領域
519 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 02:40:51 ] >>517 Java は捨てていないし、小規模開発が趣味の世界ではない訳だが。 型云々も大事だけれど、個人的にはクロージャを捨てたのが残念。
520 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 04:32:44 ] >517 著者は企業プログラマじゃなかったっけ?
521 名前:デフォルトの名無しさん [2006/04/25(火) 06:47:31 ] >>519 >Java は捨てていないし つ developer.apple.com/documentation/Cocoa/Conceptual/LanguageIntegration/index.html Important: Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features.
522 名前:デフォルトの名無しさん [2006/04/25(火) 06:54:18 ] >>518 型チェックがあるおかげで、へたれでもとりあえず動くものが作れるってのは 企業にとってプラスなのかマイナスなのか。
523 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 08:07:35 ] >>522 「型チェックがあるおかげで、へたれでもとりあえず動くものが作れる」→× 「型チェックがあるおかげで、へたれがコンパイルを通すのに時間がかかり、スケジュールが遅れる」→○ へたれが作ったものはコンパイルできるってだけで、動くって言いきるには無理があるぞ。 Objective-C ってーか動的な型付け言語は、「プログラマ==ユーザ」という環境下で最大のメリットが 出てくるもんだと思う。
524 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 08:20:11 ] id嫌い 便利なのは認めるけど、自分をあんまり信じられないから コンパイル時の型チェックで内部変更の変更必要箇所を探させてたから チェック方法が1つ減るから。 #Squeak(Smalltalk)も同じ理由で苦手
525 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 09:29:04 ] >521 「とりあえず今までどおり使えるけど、Javaはこれ以後サポートしないよ」 っていうのは、Javaを半ば捨てたのと一緒では? >523 誰かが言ってたんだけど 「どんなプログラマでもJavaでは平均的なプログラマになれる」 「LISPではプログラマは力量にあったプログラムしか書けない」 というのがあった。Javaだったらヘタレを雇っても安心、というのはある。 Obj-Cだったら能力のあるプログラマじゃないと 良いものを書いてもらえなさそう。 そういう意味で >524 には激しく同意。自分は信じられない。
526 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 09:29:30 ] Java VM って Java で書いてあるの?
527 名前:デフォルトの名無しさん [2006/04/25(火) 10:07:15 ] 静的型チェックの無い言語を嫌悪する事は、プログラマの性格的素質としては良い傾向だと思う。 が、単に経験が足りない。 企業内でJavaを使ってWebベースのシステムを書かされているエンジニアは多い。 しかし良く考えれば、XMLやJSPをJavaのコードと結合するためにリフレクションまみれのフレームワークを使わされている。 そしてある日、「それだったら、全部動的言語で良くね?」と悟る。 実際rubyやphpでシステムを書き出すと、馬鹿らしくてJavaを使う気が失せるし、XMLがインフレを起こしている事に気がつく。 その後にObjective-Cを触ってみると、たぶん作者さんと同じ心境になれる。 >>519 クロージャをCのランタイムに載せたら神だと思うが。 匿名クラスや、匿名メソッドと勘違いしていないか?
528 名前:デフォルトの名無しさん [2006/04/25(火) 10:08:09 ] なんかよく分からんが、企業内ではJava使えばいいじゃん。 WinでもMacでも動くんだから。 適材適所でしょ。
529 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:30:06 ] >>526 >Java VM って Java で書いてあるの? 確か、C/C++で書かれてあったはず。
530 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:59:50 ] >>525 Cocoa-Javaはこれ以上新しい機能を追加しないってだけで Javaを捨てたわけではないと思うけど。
531 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 13:05:36 ] >>529 なるほど。 じゃあ、Java 自体が趣味の領域なんだろうね。 >517
532 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 15:41:20 ] C/C++はある程度コントロールできる奴ら(少数)向き チェックの多い言語は書き方がある程度強制されるから多人数向き
533 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 17:03:05 ] OS9にもこれ以上新しい機能は追加されないと思うけど まだ捨てられてないんだっけ?
534 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 19:03:44 ] idはたまに、共通の親クラスつくるの面倒な時とか使う それより面倒なのがプリミティブな型を使うとき ヘッダーにメソッド書いておかないとコンパイルできなかったり、動作がおかしかったり NSNumberを使うとタイプ量が多くて面倒臭い
535 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 19:24:31 ] 発展途上のプリミティブな型がある言語にObjective-Cっぽいところを持ち込んでしまえばいいんじゃ?
536 名前:デフォルトの名無しさん [2006/04/25(火) 20:20:51 ] それがObjective-Cなのではあるまいか
537 名前:デフォルトの名無しさん [2006/04/25(火) 20:35:51 ] つまり、発展途上のプリミティブな型のあるC言語にSmallTalkっぽいところを持ちこんだのがObjective-Cだと言いたいのか? その通りだな。
538 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:05:36 ] >>520 既に退職してる。
539 名前:デフォルトの名無しさん mailto:517 [2006/04/25(火) 21:12:11 ] >>531 あほですか? 低レベル(基礎的)な部分でC系の言語を使うのは全く問題ない。 フレームワークもまたしかり。 ただそういったランタイムor実行環境に依存する部分を公開するのは頂けない。 バグや変更があったときに影響が大きすぎる。 だからObjective-Cは頂けない。なんでもできるとか言って喜んでる奴は やっぱり趣味でコード書いてる奴の言うことだと思う。 構造体化でカプセル化も容易にくずせる言語をObjectiveって... 「オブジェクトっぽいC」もしくは「オブジェクト的な皮を被せただけのC」 ってことなんだね。
540 名前:デフォルトの名無しさん [2006/04/25(火) 21:30:28 ] >>539 うんまあ、最後の段落はまさにその通りなんだけどさ、 キミの使ってるOSって何で書かれてるかな。 多分Cだと思うよ。 それはなんでかな。 ランタイムや実行環境をいじれるからだよね。 ハードウェアに合わせてバリバリチューンも出来るからだよね。 でまあ、キミの価値観だとOSって趣味の領域なのかね。
541 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:32:33 ] モチロンソウヨ
542 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:55:48 ] IT土方向きではないな 最終成果物がイメージ(設計)できると動的のほうが効率いい
543 名前:デフォルトの名無しさん [2006/04/25(火) 22:49:09 ] なんか
544 名前:デフォルトの名無しさん mailto:517 [2006/04/25(火) 22:53:52 ] >>540 まあ極端な言い方をすればそうだね。 OSを純粋な「ソフトウェア」かと言えば俺は違うと思うから。 要は一部の「オタク」的な人間がハードウェアに依存した 部分でごちゃごちゃやってる部分はみたくないというか、 ソフトにとっちゃ本来はどうでもいいことじゃない? これからは少しは変わるかも知れないけど、依然として iLifeを使いたければMac上でなければならないし、Windowsで 使い勝手のよかったソフトはマック上で同じように動かすこと ができないなんて、もしくは買い直せなんてユーザーにとったら やっぱり何それって感じだと思うよ。 所詮はハードのおまけかと。 個人ユースだったらOSがバージョンアップするごとに ソフトが動かなくなっても「好きで付いてきてるんだろ」的な 態度でもなんとかなるけどw、 企業向けじゃそうはいかないからな。 なぜJavaがこれほど社会的な基盤として、また企業の商売道具として 発展し続けているかといえば、ソフトはソフトだと言えるところに 俺はあると思ってる。だからこそオープンソースという勢力を巻き込んで そのソフトを使用するのに今までウン万円も支払わなければいけなかったことが 変わりつつあるんじゃないかな。Eclipse しかり、OpenOffice しかり。 Objective-C をかじってみて気がついたのは、Appleは所詮ソフトを Macのおまけとしかみてないんじゃないかってことなんだよ。
545 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:42:55 ] マルチプラットフォームがうれしいなら GNUstep でも使ったら?
546 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:50:26 ] >そしてある日、「それだったら、全部動的言語で良くね?」と悟る。 それは悟りじゃない。単に面倒くさくなっただけ。 動的言語を使用した方が良い局面が増えているのは事実だが、 一事が万事というのはプログラマ的じゃない。
547 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 06:56:48 ] プログラマ的発想から言えば、出来るだけ今あるものを使いたいと考える。 Objective-Cだってそういう発想から作られている。 でも今現在、出来るだけ今あるものを使おうとすると、Objective-Cはありえない。 JavaやC++の最大のメリットは型チェックでもクラス指向でもなく、使っている人が多いということ。 それとソフトがハードのおまけと考えてるのはAppleより、SunやIBM。 ハードを第一に考えるから、オープンソースに肩入れできる。 Appleも頑張っちゃいるが、Appleにとってはソフトも大事な売り物である以上、 全てをユーザーに委ねる訳にはいかない。 Xcodeがあれば俺は満足だけどね。
548 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 11:56:21 ] >>547 >それとソフトがハードのおまけと考えてるのはAppleより、SunやIBM。 IBM にとってはハードもオマケだろ。サービスで喰ってるんだから。 >ハードを第一に考えるから、オープンソースに肩入れできる。 RedHat みたいな企業の事はどうお考えで?
549 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 12:35:51 ] Objective-C の言語仕様や開発環境がどういうつーより 使用者が多いほうがえらい的な話になってるようなんで 別板いったほうがよくねすか? Java や C++ に開発者がいっぱいいて資産がたくさんあって うれしいならソレ使えばよろし。ここは「メモリを直接ドライブできるのに 動的結合できるなんて、ハァハァ」ていうひとのスレだと思うし。
550 名前:デフォルトの名無しさん [2006/04/26(水) 13:27:32 ] 俺は>>544 が別スレなり板に行けばいい話だと思うな。 どうもCが嫌いみたいだから、C叩きスレとかに行けばいいと思う。
551 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 14:28:12 ] 民主党、共産党と同じでなんでも叩きたいだけでしょ。 その場に応じて主張を変える所なんかもそっくりだし。 枯れ木も山の賑わい。 ほっとけばいいんじゃない?
552 名前:デフォルトの名無しさん mailto:517 [2006/04/26(水) 21:19:11 ] >>547 ではなんで今あって、よっぽど使ってる人が多い言語の Cocoa-Java Interface を Apple は捨てるんでしょうね? Microsoft の .NET 戦略をみてもソフト会社だけあってか、ハードから 隔離させようとしてるのに、Apple は何でこんなマイナーで泥くさい言語にこだわるのか。
553 名前:デフォルトの名無しさん [2006/04/26(水) 21:42:45 ] Cocoa-Javaはこれから先が無いにしても、Javaそのものを排除してるわけじゃなし。 まあAppleの戦略について、ここで語ってもしかたないべ。 ところでマイナーなのは間違いないが、Objective-Cは泥くさいか? エレガントでスマートなコードを書いてる自信はないけどさ。
554 名前:デフォルトの名無しさん [2006/04/26(水) 22:02:38 ] setValue:a forKey:b みたいな書き方、俺は好きだね。 setValueForKey(a,b)なんて泥臭くてw
555 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:09:15 ] >>552 ハードとは十分「疎」になってるでしょ。OPENSTEP は SPARC でも 動いてたんだから。Apple からしたら、Java の様に OS からも「疎」 にする必要は無いし、Objective-C で問題無いんじゃないの。 C の資産を丸ごと使えるわけだから、ユーザベースが少ない事が問題に なるケースは少ないだろうし。
556 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:35:07 ] >>525 Mac OS Xネイティブアプリケーション開発用としては、Javaを捨てたってこと でしょ。そんな余裕があったらCocoaの機能増やすし、JavaはJavaで Cocoaに併せてる暇があったら、さっさと6.0に備える、ってことでしょ。 実際5.0 Release 4のリリースは困難を極めたわけだし。Developer Preview 7 まで行くなんていままで無かったぞ。 Java自体は開発しつづけないと、サーバOSとしての用途が恐ろしく限られて しまうので、結構必死に開発してるようだが。 あとCocoa+Javaという形じゃなくて、Java側からJavaのやり方で、Cocoaの ビューをAWT内で使う方法とかは作られてるね。Cocoa Componentとか。
557 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:36:46 ] つうか、PHP 4で大規模開発なんて、おれは関わりたくないな。
558 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 23:05:32 ] 趣味でObjective-C使ってる自分には、>>554 で十分だと思った。 そこは本質ではないんだろうけど。
559 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 08:37:51 ] Cocoaフレームワークに静的なJava言語が対応しきれないというのも原因なのかもね。 pcweb.mycom.co.jp/column/objc/006/
560 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 10:47:22 ] つか、Sunの企業利益のために割く人的資源は無いって事だろ?
561 名前:デフォルトの名無しさん [2006/04/27(木) 12:37:41 ] Cocoa+Javaは、引数が構造体や配列になっているメソッドがシカトされている事が多い。 機械的にバインディングを作れないので、力尽きたのでは無いかと思われ。 あとJavaのGCが動くタイミングで落ちる等の不具合が、とうとう直せなかったような気がする。
562 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:45:15 ] >>561 そういうバグがあったのか。 もしかしてそれって、 Cocoa+Java で(明示的に生成していない) NSAutoreleasePool でコケてたのと根は一緒?
563 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 20:32:38 ] わかった、Effective Objective-C が欲しいんだな、たぶん
564 名前:デフォルトの名無しさん [2006/04/27(木) 20:51:24 ] >>564 それはすごく欲しい。
565 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 21:30:40 ] 俺様が執筆してくれるわ
566 名前:デフォルトの名無しさん [2006/04/27(木) 22:20:46 ] ははっ
567 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:03:42 ] Objective-C用単体テストフレームワークってありますか? SmalltalkならSUnit、JavaはJUnitがありますが
568 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:07:04 ] OCUnitがXcode2(10.4)から添付されてる。他のもあたるなら ttp://www.cocoadev.com/index.pl?UnitTesting あたり。
569 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 02:43:15 ] >>559 Cocoaの実用的な範囲であれば、リフレクションでなんとかなる。 ポージングとかの変態領域は、JDK7で予定されている動的クラス生成を待つ必要があるだろう。
570 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 02:47:10 ] Cocoa-Javaは、AppKitを使う上では制約が多かったが、既存のJavaライブラリを使う分には便利だった。 何をやるにも困らないぐらいのライブラリがあったし。
571 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 04:01:47 ] >568さんありがとっ!
572 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 08:08:13 ] >>547 >JavaやC++の最大のメリットは型チェックでもクラス指向でもなく、使っている人が多いということ。 激しく同意だなーこりゃ
573 名前:デフォルトの名無しさん [2006/05/01(月) 08:11:04 ] じゃあ誰が使い始めるんだよ?w
574 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:25:49 ] 最大のメリット以外に合致した人じゃないの。 一つしか言語を使っちゃ行けないわけでなし。
575 名前:デフォルトの名無しさん [2006/05/01(月) 11:05:39 ] じゃあその最大のメリットって奴をどうやって計ったんだ?w
576 名前:デフォルトの名無しさん [2006/05/01(月) 13:09:14 ] >>554 set(value := a, key := b) と書かせる言語も幾つかあるね。
577 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 16:13:06 ] >>576 AppleScriptもレコード使えばそういうことができるな。
578 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 23:06:49 ] キーワード引数を取れるのは、Smalltalk, Common Lisp, Dylan, Self, Slate, Python なんかがある。Lisp 系と Smalltalk 系で扱いはちょっと違うけど。
579 名前:デフォルトの名無しさん [2006/05/02(火) 09:57:50 ] >>578 PL/SQLもいけるよ。 Oracleの拡張かもしんないけど。
580 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 10:05:55 ] PL/SQL自体がOracleの私物だろ
581 名前:デフォルトの名無しさん [2006/05/02(火) 11:24:48 ] >>580 IBMやMSのサーバのストアードプロシージャは、PL/SQLじゃないの? てっきりIBMのDB2がオリジナルで、ISOで標準化された物だと思っていたよ。
582 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 12:03:14 ] つ ttp://ja.wikipedia.org/wiki/PL/SQL IBM DB2は SQL PL MSは Transact-SQL というところでスレ違い化してきたので、あとはぐぐって。
583 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 15:27:54 ] os x 10.4.6 で man gcc すると Leopard で garbage collection が追加されると 書いてあるという話... うちでは man gcc-4.0 しないとダメだったけど。 theocacao.com/document.page/258
584 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 19:12:24 ] >578 VBも仲間にいれてやってください・・
585 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 23:35:34 ] スマンね。Windows 系は殆ど知識無いんだ。 Smalltalk 系はメッセージ式の一部であり、構文拡張にもなるのが良いね。 単なる引数のラベルじゃない所が気持ち良い。
586 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 10:23:04 ] >>584 VB のは本質的に違うんじゃない? もしそれが OK なら Perl や Ruby も OK になる
587 名前:デフォルトの名無しさん [2006/05/18(木) 13:15:10 ] rubyの場合は、辞書が一時変数として作られるだけだな。
588 名前:デフォルトの名無しさん [2006/05/22(月) 05:45:33 BE:18511766-#] マカーだけどこのスレちょくちょく購読させて貰うね
589 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 23:28:32 ] >>588 では早速はじめの一月分の金を払ってくださいw
590 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 00:12:11 ] マカーポーシャ
591 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 11:37:57 ] Smalltalk のはキーワード引数じゃなくてメソッド識別子の一部のような気がするけど・・・ いや、「気がするけど」じゃなくて「一部である」と強気に主張してみる。
592 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 14:13:47 ] そんな身構えなくとも、そうだと思う。Smalltalk のキーワードは、 セレクタの一部で分離、再配置はできない仕組み。 Objective-C も原則同じなのでは? receiver do: #something for: #me receiver …… メッセージレシーバ do: #something for: #me …… メッセージ do:for: …… メッセージセレクタ、もしくは、メソッド名 (前者はメッセージ寄りの呼び名、後者はメソッド寄りの呼び名。コロンも含める) #something と #me …… 第1引数と第2引数 一般的な記法に当てはめると、 receiver.do:for:(#something, #me) だから、LISP の機能の流れをくむキーワード引数とは別物。
593 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 09:15:09 ] キーワード引数ならPythonがよくできてる。 位置で指定することも、キーワードで指定することも両方できるうえに、 該当しないキーワードを自動的にDictionaryにいれさせることも可能。 例えばHTMLタグを生成するようなメソッドを定義するとき、知らないキーワードが指定されたら それはHTMLタグの属性名だと判断して属性を出力する、なんてことができる。 スレ違いだけど、参考までに。
594 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 13:28:59 ] そりゃ便利そうだな。 と思ったが、メッセージ送信にそんなコストかけてらんないか・・・
595 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 13:52:28 ] >>594 存在しないキーワード付きの変数が現れたときに、 エラーにするかわりにmapを構築して渡すだけでそ。 コストはゼロでは?
596 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 16:35:54 ] Cocoaの場合、結構NSArrayやNSDictionaryを引数にするメソッドがある。 なので、NSStringみたいな初期化構文はあっても良いかもしれない。 配列 [self dispose:@[@"Basic", @"SQL"]]; 辞書 [self assess:@{@"Basic" => @"garbage", @"SQL" => @"taint"}]; 構文糖だな(--;;