- 1 名前:uy mailto:sage [2012/05/09(水) 00:31:27.68 ]
- 最強のLL=軽量プログラム言語は、どれよ?
エントリーは、Perl、PHP、Python、JavaScript・・・ さあ、死ぬまで語りやがれ!!! ■LLとは? 軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、 コードの作成や修正が容易と見なされるプログラミング言語のことを指す。 ここでいう「軽さ」はプログラマの負担の軽重を指し、 実行速度に優れているという意味ではない。 現在の水準では ・インタプリタ ・動的型 ・正規表現 ・クロージャ などを利用できるものがLLと呼ばれることが多い。(Wikipediaより) 前スレ 【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】 toro.2ch.net/test/read.cgi/tech/1330003774/
- 237 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 12:51:29.75 ]
- >>235
MPC-HC Winamp Foobar2000 けっこうあるぞ、分かれてるやつ…
- 238 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:16:54.45 ]
- 再生中に再生を押す
一時停止中に一時停止を押す でどんな動作をするか想像が付かない
- 239 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:21:39.69 ]
- 機能的にはトグルだけど、UI上独立してる方が認識しやすいとか誤操作防止にはなるかもね。
いまのは知らないけど昔の家電はそんなだし。
- 240 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 16:26:53.57 ]
- >>238
Winampとfoobar2000では再生中に再生を押すと曲を最初から再生し直す 後は特に意味なし
- 241 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 16:44:21.04 ]
- 最初から再生し直すって知ってたら分かるけど、
|←(左向き三角) のようなボタンの方が自然かもな
- 242 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 08:16:12.45 ]
- Rubyのまつもとさんは日本人だから人柄が少しは伝わってくるけど、
PythonのGuidoさんのことって履歴くらいしか知らない... Guidoさんってどんな性格の方なんでしょうか? 優しい/気性が激しい、とか人間らしい情報をもっと知りたい
- 243 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 08:39:07.45 ]
- LLよろず本の流れか
- 244 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:24:27.25 ]
- 人間には表と裏があることを理解しようね
取り繕っている人柄だけで判断すると痛い目みるぞ
- 245 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:55:43.05 ]
- Rubyの糞のような文法を見れば
頭の中が、そして人となりが 透けて見えますね
- 246 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:04:46.99 ]
- お前のレスに人となりが透けて見える
- 247 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 08:27:02.92 ]
- >>245
別にmatzの人格は誰も良いとは言って無いんだぞ? むしろ >>242 も「人間らしい」と書いてるように 悪い面のよく目立つ人物だと言うのはRuby使いからも知られてるのよ
- 248 名前:デフォルトの名無しさん [2012/05/24(木) 11:55:18.97 ]
- >>247
なんでこんなに読解力の低い人間が多いのだろう
- 249 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 11:58:58.22 ]
- 人格がいいと言ってるのを否定したくて>>245を書いたんじゃないと思うよ
- 250 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 12:54:36.94 ]
- オレオレ仕様が糞ってこと?
- 251 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 16:41:07.24 ]
- ラリー:祈りのオチャメな人、ホイド:唯物史観・功利主義者、まっず:イケけてるモルモン人
- 252 名前:デフォルトの名無しさん [2012/05/24(木) 17:57:21.23 ]
- おまいらが何と言おうと勝手だが、俺はもうPHPの入門書買ってしまった。よってPHPの文句は言うなよ。
- 253 名前:デフォルトの名無しさん [2012/05/24(木) 18:08:45.66 ]
- PHP, Perlでプログラミング始めるのはお勧めできない。
言語仕様がクソだし、 低速なWebアプリしか作れない Rubyも実質的に低速Webアプリ専用といっていい。 Rails風フレームワークが多数ある今、あえてはじめる意味も小さいと思う Javaか、C#を覚えるのが一番効率がいい。 クライアントアプリ、高速なWebアプリ、SmartPhoneアプリなんでも作れる。
- 254 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 18:51:55.52 ]
- Perl はそもそもWeb用言語じゃないですし…
- 255 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:02:45.55 ]
- システム管理用のスクリプトなんてニッチな用途だし
そんなもののためにわざわざ別の言語覚えるのは非効率。 スクリプト言語は、遅いからWebアプリぐらいしか 実質的に使い道がないってこと。
- 256 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:12:04.41 ]
- 何でもその言語で作るんじゃなくて
使い分けなんだよな、言語は
- 257 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:13:53.09 ]
- >>256
それ、このスレじゃ禁句
- 258 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:14:19.30 ]
- 普通のアプリを結構作ってるが、スクリプト言語で遅いと感じられる事って
意外と少ないんだけどなぁ
- 259 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:14:25.56 ]
- 書いててきもてぃーって言語はないの?
- 260 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:22:38.17 ]
- JavaScriptのjQuery
あれは書いてて快感が
- 261 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 19:48:33.25 ]
- >>260
素のJavaScriptの酷さから解放された快感があるね でも読む側は… C#のLINQとか拡張メソッド、メソッドチェーンを使いだしたとき、"きもてぃー"って感じた 俺の場合は。
- 262 名前:uy [2012/05/24(木) 20:35:27.27 ]
- rubyの
each_with_index.map each_with_index.inject は天才だと思った
- 263 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:37:56.34 ]
- >>256
たいていのことはなんでもできちゃって、しかも速い言語(C#やJava)が あればスクリプト言語なんて不要だよ スクリプト言語では実現できないことはたくさんあるが、 スクリプト言語じゃないとできない開発なんてほぼない
- 264 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:59:11.85 ]
- たくさんの実現できないこと詳しく
- 265 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:18:46.51 ]
- >>263
まずコンパイルの手間が無くソースをそのまま実行できるのは スクリプト言語の大きな利点 たとえばC/C++インタプリタのCINTみたいのもあるけど、 これは例外的な扱いだろな こんな基本的な事に気が付かないなんて、 WindowsのGUIしかしらないお子様だろ
- 266 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:30:07.19 ]
- JSなしでは生きられない
- 267 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:34:15.74 ]
- >>264
速度が遅いからアプリ開発に使いものにならない 高速なdebugができない 実行時に初めてエラーがでるなど、スクリプト言語は開発効率が悪い
- 268 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 21:37:28.84 ]
- >>265
267にかいたが、コンパイルなんてのはそれなりのPCで SSD構成であればすぐ終わる。 スクリプト言語では、デバッグの効率が悪いから、 コンパイルにかかる時間よりはるかに多くの時間を失う。 タイピングしてる時間よりも、デバッグに費やしている時間のほうが はるかに長い。 これに気がつかないことこそお子様だよ
- 269 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 22:19:12.76 ]
- JSが大好き
お子様が大好き
- 270 名前:uy [2012/05/24(木) 23:46:45.18 ]
- 「動的言語が使い物にならない!」なんて、言っちゃうのは
自分バカですとか言ってるようなもんだよね・・・ 「動的言語での開発じゃ周りがついてこない」ならわかるけどw
- 271 名前:uy [2012/05/24(木) 23:54:13.33 ]
- あと、「動的言語は遅い!」とかいってる奴も
本当に動的言語での開発で、速度がネックになってどうしようもならなった事あんの? たとえばどこで?
- 272 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:15:34.22 ]
- >>271
他人(過去の自分)の書いたコードを修正する時かな。 メソッド名とかを変更しようと思っても 影響範囲がどこまで有るか人間が調べないとわからない。 同じ名前だけど違うメソッドとか有るので検索した結果を 一つ一つ調べて修正するまでが遅い。開発のネックになるよ。 静的型付け言語だと、メソッド名を選んで一つ変更すれば プロジェクト全体の変更が自動で行われる。確実に速いね。
- 273 名前:デフォルトの名無しさん [2012/05/25(金) 00:23:00.12 ]
- >>270
さっそくRuby信者が登場w トラフィックがどうしようもならなくなってから考えるのは低レベル。 それよりずっと前にレスポンスが悪い状態になってる。 TwitterがRuby捨てたのも有名な話。 FacebookなんてPHPで始めてしまったために全部開発しなおしになった。 そういう事例があるから、海外の最近のインターネットサービスの企業は、 最初からスクリプト言語を避けてる。 スケーラビリティを考えて、最初からJava, C#, Scalaで作る。 いまやRailsに影響受けたフレームワークが多数あるから、開発生産性も悪くない。 日本はあいかわらずPHPばっかり せっかくJava選んでもStrust1とか化石フレームワークつかってたりな 日本は、言語もフレームワークも時代遅れ。
- 274 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:35:54.34 ]
- >>273
Ruby厨もなにもここスクリプト言語同士でやりあうところなのに コードも書けないのにドヤ顔でそこいらのブログに書いてあることをつらつら並べられてもつまらん
- 275 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 00:53:32.00 ]
- >>271
暗号化処理で あと枝狩りとかオセロゲームで
- 276 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:04:17.57 ]
- >>274
ここでスクリプト言語の争いやってるってことは、 このスレのほとんどのやつはスクリプト言語しか使えないってこと。 JavaやC#はまったく知らないひとが大半だろう。 そこらのブログに書いてある? URLあげてみてくれ
- 277 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:06:23.98 ]
- 日本自体がオワコン
- 278 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:09:30.03 ]
- フロントは動的でおけ。バックは静的か動的でも超軽め。
フロントはどこも変わらず Twitter=Rails Facebook=PHP Amazon=Perl だろ。 バックは書き換えられてるだろうな。 フロントPHPちょっとJavascriptがっつり、バックJavaとか多くね。
- 279 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:10:06.97 ]
- IT関連で日本に世界的な企業なんて無いしな。
- 280 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:17:56.33 ]
- むしろJavaを避けてObjective-Cで作れば面白いかもしれないよ
- 281 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:19:14.11 ]
- >>273
TwitterもFacebookもRubyやPHPをこの世から消滅させろとか言ってないのに
- 282 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 01:33:38.42 ]
-
>>280 Objective-Cは速いし、化ける可能性あるな まだ定番のWeb appilication frameworkがないようだけど スクリプト言語より将来性ありそうだ SmartPhoneまで扱える汎用性を考えたら、 Java, Objective-C, C#.net, VB.netとかだな >>278 FacebookのPHPは独自ツールでコンパイルされてると聞いた。 実質的にC言語だと思う。 >>279 PHP大好きの楽天はもっさり。ページ移動に3秒とかざら。 CyberAgentはAmebaでMongoDB(NoSQL)使ったり、新しい技術使ってるイメージ。 Mixi, グリーとかなに使ってるんだろ。
- 283 名前:uy mailto:sage [2012/05/25(金) 01:55:52.41 ]
- >>272
実行速度のことを言ったんだけど、 メソッド名の変更は、動的言語では正しく置き換えるのは厳しいな でも別にそれ古いメソッドも残して、古いほうよばれたらデバッグ時に警告でるようにすればいいだけじゃね
- 284 名前:uy mailto:sage [2012/05/25(金) 02:06:17.74 ]
- >>275
暗号化のロジック部分だけ静的言語でかけばいいんじゃない オセロは重くなる箇所なんてねーだろ AIにしたって定石パターン拾ってくるだけ 枝狩りって何のこと言ってるのか
- 285 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 02:13:15.46 ]
- >>283
あなたはRuby以外で、どの言語つかったことあるの? リファクタリングは、タイプセーフな言語のが効率よくできるのは確かだよ 型の記述なんて1個2秒くらいなんだからStaticで書いたほうが 結局、時間の節約になるんだよ。 仕様変更あっても、IDEでさくさく直せる。 >古いほうよばれたらデバッグ時に警告でるようにすればいいだけじゃね 「コンパイルが不要」ってスクリプト言語のお決まりのセールストークだけど、 型宣言をさぼると、そうやって他のところでしわ寄せが来る。 その分、テストプログラムの作成やらで時間がとられる。
- 286 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 02:22:23.30 ]
- 〜実録 テストを書かないJavaプログラマ〜
未完
- 287 名前:デフォルトの名無しさん [2012/05/25(金) 02:53:39.89 ]
- >253
だから否定するなっての。しかもここはスクリプト言語スレなんだからC#もJavaもスレ違いだ。
- 288 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 02:54:54.80 ]
- >>284
動的言語は遅いってことになるんじゃないの? で、反論できなくなれば、そこのロジック部分だけ静的言語 で書けばいいんじゃないって言い続ければ動的言語は遅いってことにならないなw あほかw AIとかそんな単純じゃねーよ だったらお前が書いてみろよ 大体その定石だって作るのは静的言語だろうが 静的言語の成果物を元にしないと動的言語の方で 十分高速なものを作れないんだったら、 やっぱり動的言語は遅いの
- 289 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 03:14:20.71 ]
- LLの(軽|重)量級のフレームワークのどれを計測しても
データ層の重さと比較したら誤差。 成功した会社はデータ層を、金が集まったら適当な言語・技術で書き直してる。 データ層以外は思ったより、そのまま使っている会社が多い。 どんな言語で開発しようと、当あたって金ができたら、考えればよい。 むしろ超重量級で開発してメジャーになったが スケールできなくてコケたものなどがあったら教えてほしい。
- 290 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 03:32:42.46 ]
- >>283
> でも別にそれ古いメソッドも残して、古いほうよばれたらデバッグ時に警告でるようにすればいいだけじゃね 警告でたあと、どっちみち変更しないといけないじゃん。 なんで、そんな面倒なことしなくちゃならんの? あ、動的言語だからか。
- 291 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 03:35:42.18 ]
- >>286
テストを書いたって、エラーが起きたことが分かるだけで 何が原因でエラーになったかはわからんのだよ。 エラーの原因を調査するのにも時間が掛かる。 それにテストってのはエラーがあることは証明できるが エラーがないことの証明はできないんだよ。 テストってのを本当に知っていれば分かるはずだよね? なんでテスト万能だと思ってるの? テスト書くにも時間が掛かる。省けるテストは省きましょう。
- 292 名前:uy mailto:sage [2012/05/25(金) 03:46:04.73 ]
- >>285
ruby以外で使ってるのはC++ でも他言語の構文も概念もおおよそは把握してるよ そのメソッド名変更の件については一考する 動的言語が考えなければいけない箇所だ >>288 はい?オセロごときのAIが単純じゃないって、寝ぼけてんの? まぁゲームアルゴリズム何にもわからん子がAIなんて書いたら 大変な事になるんだろうけど 携帯アプリでもオセロや将棋が動いている所を見ると、それほど重い処理はいらないように見えるよね >で、反論できなくなれば、そこのロジック部分だけ静的言語 >で書けばいいんじゃないって言い続ければ動的言語は遅いってことにならないなw すげー勘違いだな、 動的言語を使ってても、全てのメソッドやクラスを静的言語で部分実装できるものではない 動的言語のソースコードから静的言語でネイティブに吐き出せる部分は限られてくるし、 下手に吐き出すと余計に遅くなる事もある、 暗号化について完全に吐き出せる箇所だから、遅くなるんだったら静的言語で書けって言ってんだよ どういう暗号化のアルゴリズムを描いたら、動的言語で処理が追いつかなくなるのか知らんけど ろくでもないソースコードかいているんじゃなければいいな
- 293 名前:uy mailto:sage [2012/05/25(金) 03:54:41.18 ]
- やっぱ俺が思うに
動的言語遅いとか言ってる奴は 普通のプログラマからしたら考えられないくらいの遅いコードを書くから 今まで高速な言語のおかげでそのゴミカスアルゴリズムが、影響を及ぼす事はなかったけど ちょっと速度制限のある動的言語でソース書かせると、そこら辺が如実に表れてしまうのではないか ふむ、まともなアルゴリズムがかけないのならば仕方がない 動的言語への移行を推奨していくのも難しいところだな
- 294 名前:285 mailto:sage [2012/05/25(金) 04:08:13.25 ]
- >>286
必要な場所は、テストコードは書いてるよ 静的なら凡ミスは全部コンパイラ、IDEが指摘してくれるが、 動的だとコンパイラ、IDEでエラー拾えないから、テストの時間が長くかかる >>289 書き直すのは時間もコストもかかるから、最初からある程度高速な言語で やろうって企業も増えてる。 JavaもC#も、最初の学習コストは少し高いかもしれないが、開発生産性は 決して低くないよ。 上に書いたようにリファクタリング、デバッグの時間が大幅に短くなるから。 >スケールできなくてコケたものなどがあったら教えてほしい。 スケールできなくてこけるような企業は、有名になってないw
- 295 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 04:10:37.83 ]
- >>293
ベンチマークの結果から 動的言語が遅いのは明らかだよ。 その遅さが問題になるかどうかは、何に使うかで決まる。 アクセス数1日に1万人のサイトを1台のサーバーで運用とかいうような 小さな規模では問題にならないだろう。 だが1台のサーバーで100人、1000人以上を収納するような ウェブサービスなら問題が発生する。 遅くても問題無いというのは、単に君が小さな規模のものしか作ってないだけの話。 アルゴリズムは同じ人が作るんだから言語が違っても 同じ物が出来るんだから、まともなアルゴリズムが書けないとか 関係ない話。まともだろうがまともじゃなかろうが 同じアルゴリズムで速度に差が出る。
- 296 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 04:19:29.96 ]
- やっぱり動作速度よりも開発速度のほうが重要だよな。
静的型付け言語だと、動的型付け言語に比べて修正のコストが大幅に低い。 コードの量よりも、修正の際の調査のほうが時間かかるからね。 静的型付け言語のコードが冗長といっても決まり文句みたいなものだから コードの行数がコードリーディングの負担になることはないし。
- 297 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 07:05:03.77 ]
- ここで静的型付け言語の方が開発効率良いって
言ってる奴って、実はコード全く書けないから 5分くらいで書ける簡単なお題出すと 追っ払えるよ、マジおすすめ 静的型付け言語の方が効率良いはずなのに、5分で書けるコードが 一日待っても二日待っても出てこないw え?俺等が5分でやる仕事に何日もかかるの?みたいな
- 298 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 07:11:05.09 ]
- 考えた特定のアルゴリズムを実装しやすい言語がある
- 299 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 07:24:56.72 ]
- 開発効率は結局のところ動的と静的でどっちがいいのか
コーディング 静的 > 動的 リファクタ 動的 > 静的 デバッグ 動的 > 静的 (コンパイル時間とか考慮すると微妙?) 一人でちゃちゃっと作る小規模なのは静的で、多人数で大規模なのは動的でって感じなっちゃう?
- 300 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 07:32:14.53 ]
- >>299
おい、静的と動的が全部逆になってねーか?
- 301 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 07:34:56.86 ]
- >>300
マジだ…死にたい コーディング 動的 > 静的 リファクタ 静的 > 動的 デバッグ 静的 > 動的 (コンパイル時間とか考慮すると微妙?)
- 302 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:12:24.43 ]
- >>297
それは追い払ってるんじゃなくてHaskellを呼び寄せてるんだぜ。 JavaをHaskellに変更するコストは、PerlをCに変更するコストよりも大きい。
- 303 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:20:53.60 ]
- Haskellで>>220はちょっと見てみたかったな
- 304 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:24:39.82 ]
- こんなスレタイだから、俺の「スクリプト言語不要論」に全員が思いっきり
反論してくるかとおもったが、静的の効率のよい面を支持してくれる人もいるようだなw >>301 C# (Visual Studio)は差分でビルドできるからコンパイル時間は気にならないな。 一瞬で終わるし
- 305 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:28:45.77 ]
- >>304
そんな一瞬でコンパイルの終わるC#使いのあなたに>>220 TkやSDLでなくても.NETでおkよ
- 306 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:37:18.15 ]
- 220あぽんされててわろす
- 307 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:45:45.64 ]
- >>297
えとね。静的型付けの方が開発効率がいいというのは 多人数で行う中小規模の開発の話なんだ。 トラックのほうが速く多くのものを運ぶことが出来るでしょ? でも小さな手荷物を近くのコンビニまで運ぶのなら 手で運んだほうが速いんだよ。 5分でここに書けるコードと、 実際のコードでは極端に差があるってのは わかるよね。
- 308 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:48:38.04 ]
- >>306
ああそうか。あぼんしてる人もいるのね >>230,232,233のRuby実装
- 309 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 09:37:03.05 ]
- >>292
携帯とかじゃなくてPC用のオセロゲームを考えていたんだけど こっちはまあいいや。 静的言語の成果物を元にしないと動的言語の方で 十分高速なものを作れないんだったら、 やっぱり動的言語は遅いの
- 310 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 09:44:53.11 ]
- 定石データベースに一致しない盤面の場合は、勝利の期待値を探索することになる
すべて保持するわけにはいかないからね で、探索も全解探索だと、時間がかかりすぎて実用的じゃないから、適切な深さで探索の枝を打ち切る 数手を探索する程度でもそれなりに強い
- 311 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 10:57:03.16 ]
- 俺の個人的な意見としてだけど
静的型推論付き>動的>静的型推論なし かなあと思う、単純な型なら推論なしでもいいが ジェネリクスやテンプレート、高階関数(関数ポインタ)などを複数含む型になると 流石に思考の妨げになってしまう印象
- 312 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 11:04:09.14 ]
- Prolog言語はどれに分類されますか
- 313 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 11:09:58.24 ]
- あれは根本的なところが違うからなんとも…
- 314 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 11:32:24.90 ]
- 強いて言えば関数型
- 315 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 12:03:36.31 ]
- Prologは「論理型」という別パラダイムに分類するのが定石
- 316 名前:uy mailto:sage [2012/05/25(金) 12:52:56.00 ]
- >>295
>同じ物が出来るんだから、まともなアルゴリズムが書けないとか >関係ない話。まともだろうがまともじゃなかろうが 動的言語であろう許容範囲内の速度が出ればいいわけで それを出せない場合において初めて静的言語の導入を考えるんだろが あと、同じ物は出来ないだろ 静的言語でかかれたソースコードを動的言語でそっくりに書き直す事は出来るだろうが、 それじゃ動的言語を使う意味が薄すぎる ちなみにその逆は出来ないと考えたほうがいいよ
- 317 名前:uy mailto:sage [2012/05/25(金) 13:00:15.96 ]
- >>309
だ〜か〜ら、オセロのどこが複雑なんだよって PC版オセロとかいっても どうしてもAIが遅いとかいって勘違いをして処理速度を考えるなら オセロ程度なら全ての譜面の状態をオンメモリで記録したとしても 10MBいかねーんじゃねーの?事前計算のAIにしとけばAIの処理速度なんて0だろがアホか 将棋や麻雀でそれは厳しいだけでオセロごときじゃ余裕 次からは将棋や麻雀を例にだしておけ それと、まだ勘違いしてんの? 動的言語っていうのは、「静的言語で作られたライブラリを使いやすくする為の機構」だと思えよ 標準ライブラリとかRubygemsがすべてrubyだけでかかれてるとか思ってるのか・・・
- 318 名前:uy mailto:sage [2012/05/25(金) 13:04:04.00 ]
- ソースコードの書きやすさを捨ててまで、プログラミングをする価値って何?
RubyをアンチしてPython使うぜみたいな奴ならわかるけど 動的言語を全批判とかwお話にならないわ
- 319 名前:uy mailto:sage [2012/05/25(金) 13:18:16.42 ]
- つうか、思ったけど将棋や麻雀にしても
そこら辺のゲームで実行速度が問題になることはないような気がしてきた この話は忘れたまえ、パズルゲーとボードゲーは動的言語で書ける
- 320 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 13:36:23.17 ]
- >>310も言っているが、
オセロにしても将棋にしても すべての盤面を記憶してるわけでもないし、 毎回全解探索してるわけでもないだろ? 全解探索せずに探索を打ち切ること=枝刈り 動的言語で書ける・書けないという話はしないが 全パターンが10MBで収まるとかオセロをナメすぎ
- 321 名前:uy mailto:sage [2012/05/25(金) 13:46:05.10 ]
- >>320
>全パターンが10MBで収まるとかオセロをナメすぎ 本当に?
- 322 名前:uy mailto:sage [2012/05/25(金) 13:50:52.71 ]
- 俺の携帯アプリに
強さモード3つあって 20kb程度で動くオセロのアプリあるけど どうやって動いてるんだろうな
- 323 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 13:53:08.25 ]
- ちょっと考えただけでそんなのすぐ分かるだろw
オセロは8*8=64マスあるが各マスに対してコマ無し/白/黒の3通りのパターンがあるから 盤面の状態は3^64パターン。(無効なパターンもあるけど) で1パターンについて何bit使って打つ手を表すか知らんが 適当にコレ*無効パターンの割合=1で打ち消しあうとしよう すると必要な容量は3^64bits = 4 * 10^23 MB。ほんと10MBとか何寝ぼけたこと言ってるんだよって話
- 324 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 13:54:22.85 ]
- >>312
型という観点からPrologを見ると、実は無限のバリエーションで データを授受できる。ところが実際のPrologプログラミングでは 構造体はリストだけで、ほとんどの引数にはスカラー型データが くる。これはPrologプログラマがPrologをRDBであると意識して いるからだと思う。一応は、整数、実数、文字列の区別があるが Prolog教科書の索引に型という項がないことからも分かるよう に、全く型について意識されることはないのがむしろ特長。
- 325 名前:uy mailto:sage [2012/05/25(金) 13:55:28.10 ]
- どうせ3**64の譜面を全記憶とかw
そんなレベルのアルゴリズム思い浮かべてるから 10MBという大容量があっても足りなくなるんだろ ドカタはおそろしい
- 326 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:00:01.38 ]
- まったくだなー
オセロ程度なら全ての譜面の状態をオンメモリで記録したとしても10MBいかねーんじゃねーの? なんて低レベルな発想が思い浮かぶだなんてこれだからドカタは恐ろしい
- 327 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:00:26.61 ]
- オセロのソフトウェアはたくさんあるが、
すべて局面が10MBに収まるなら 誰かがフリーソフトの一部として配布するだろう? 実際はそんなものはない。 最も有名なオセロソフトWZebraにも、 ある程度盤面のデータ(book)が入ってるが、 それでも探索の深さをちょっと増やすだけで コンピュータが1手打つまで結構待たされる。 自分で体験してみろ。 www.radagast.se/othello/download.html
- 328 名前:uy mailto:sage [2012/05/25(金) 14:02:00.63 ]
- >>323
ワロタwwwww 言ってるそばから まずは隣接しているコマ同士の譜面の全パターンの抽出 で、その中から「ゲームルール上」ありえる譜面のみを抜き出す で、全部を抜き出せばおそらく俺のアバウトな計算では10MB程度と、でた。 あとはさぁ、譜面を回転させることによって4分の1には簡単に出来るんだから せめて 3**64 / 4 はやっとけよ この程度も一瞬でひらめかないレベルなんか
- 329 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:06:59.82 ]
- 探索の枝の話も分からないようだから言っても無駄か
- 330 名前:uy mailto:sage [2012/05/25(金) 14:07:47.29 ]
- ゼブラってw
また古いもの持ち出してきたな お前の中ではゼブラが最強なんだろう よかったな
- 331 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:13:46.39 ]
- ドヤ顔で1/4くらいなら簡単にできるとか面白いやつだなーほんと
- 332 名前:uy mailto:sage [2012/05/25(金) 14:13:59.13 ]
- 10MBも与えてるのにオセロつくれませーん とか
流石に、ドカタだな ゲーム機や、PCスペックが今よりもはるかに低い大昔から 動かせてた種類ゲームだというのに ドカタは10MBもあって作れないのか 3**64の譜面を記憶させないとダメなのか・・・w つれると思ったよそこ、絶対それ考えてると思った 低脳の発想は読みやすい
- 333 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:16:56.68 ]
- >>322
・序盤の定石を記憶 ・以降は数手先読み このくらいの処理なら容量食わないしそれなりに強い
- 334 名前:uy mailto:sage [2012/05/25(金) 14:24:59.29 ]
- それがどうした
- 335 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:26:38.08 ]
- ルール上起こりうる譜面をすべて記憶してるとでも思ってるんだろ?
- 336 名前:uy mailto:sage [2012/05/25(金) 14:29:37.82 ]
-
┏━━━━━━━━━━━━━━━━━┓ ┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │○│●│ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │●│○│ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃└─┴─┴─┴─┴─┴─┴─┴─┘┃ ┗━━━━━━━━━━━━━━━━━┛
- 337 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:30:49.79 ]
- ┏━━━━━━━━━━━━━━━━━┓
┃┌─┬─┬─┬─┬─┬─┬─┬─┐┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │●│●│●│ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │●│○│ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃├─┼─┼─┼─┼─┼─┼─┼─┤┃ ┃│ │ │ │ │ │ │ │ │┃ ┃└─┴─┴─┴─┴─┴─┴─┴─┘┃ ┗━━━━━━━━━━━━━━━━━┛
|

|