トップページ > プログラム > 2014年07月09日 > O1jvNzTi

書き込み順位&時間帯一覧

1 位/227 ID中時間01234567891011121314151617181920212223Total
書き込み数0201000000000000012200109



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレ立てるまでもない質問はここで 137匹目
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
【初心者歓迎】C/C++室 Ver.91【環境依存OK】

書き込みレス一覧

スレ立てるまでもない質問はここで 137匹目
312 :デフォルトの名無しさん[]:2014/07/09(水) 01:22:26.44 ID:O1jvNzTi
実測しろ。たぶん遅いだろ。
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
489 :デフォルトの名無しさん[]:2014/07/09(水) 01:59:31.84 ID:O1jvNzTi
どれだけ低級なマシン語相当の記述が可能かどうかだろ。
たぷんJavaバイトコードはLLVMアセンブラに対応させられ逆もできるだろ。アセンブラ言語としての実力は同等では。



Javaバイトコード - Wikipedia
IBMのdeveloperWorksによると、「バイトコードを理解することと、Javaコンパイラにより生成されるバイトコードが何であるかを理解することは、
アセンブリ言語の知識がCやC++プログラマの助けになるのと同じように、Javaプログラマの助けになる」とされている。

0: iconst_2
1: istore_1
2: iload_1
3: sipush 1000
6: if_icmpge 44
9: iconst_2
10: istore_2
11: iload_2
12: iload_1
13: if_icmpge 31
16: iload_1
17: iload_2
18: irem
19: ifne 25
22: goto 38
25: iinc 2, 1
28: goto 11
31: getstatic #84; //フィールド java/lang/System.out:Ljava/io/PrintStream;
34: iload_1
35: invokevirtual #85; //メソッド java/io/PrintStream.println:(I)V
38: iinc 1, 1
41: goto 2
44: return
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
491 :デフォルトの名無しさん[]:2014/07/09(水) 03:10:54.20 ID:O1jvNzTi
仮想マシン上で動作する仮想アセンブラと、
実マシン用にコンバートする仮想アセンブラは原理としては同一言語に統一可能だろ。
動かす側の差でしかないのでは。
スレ立てるまでもない質問はここで 137匹目
319 :デフォルトの名無しさん[]:2014/07/09(水) 17:52:26.66 ID:O1jvNzTi
直線、線分の交点をもとめろ。
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
623 :デフォルトの名無しさん[]:2014/07/09(水) 18:43:24.54 ID:O1jvNzTi
あとでボトルネックになってるか調べる。
単体で100万回実行した時の実測値が遅くても、
本番では10回しか使わなれば差がないことはある。
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
626 :デフォルトの名無しさん[]:2014/07/09(水) 18:58:46.32 ID:O1jvNzTi
関数型は破壊的代入は禁止か避けるのでは?
だから2はダメでは。その部分だけ見ただけで破壊的代入してる。
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
629 :デフォルトの名無しさん[]:2014/07/09(水) 19:12:08.74 ID:O1jvNzTi
境界を越える: Haskell を使った関数型プログラミング

代入 (Assignment)。命令型言語のユーザーは、他のどんなプログラミング手法よりも、代入に依存します。
関数型言語では、1つの変数に対して最大 1 回の代入しか許されません。
ある値を変更する代入は、すべて破壊的代入(destructive assignment) と呼ばれ、許されません。
例えば、ほとんどの関数型言語では、x= x + 1 は許されません。

繰り返し (Iteration)。命令型言語のプログラムは、様々なタイプのデータ構造を、繰り返しを使って処理します。
多くの場合、命令型制御構造では、繰り返しを行うために破壊的代入に依存しています。

副作用 (Side effect)。命令型言語において、異なる値を返す可能性のある全てのメソッドは、同じ入力に対して副作用を持っています。
またアプリケーション変数の状態に影響を与える全てのメソッドも、副作用を持っています。関数型言語には副作用がありません。

関数型言語を使ったことのない人には、破壊的代入や副作用のないアプリケーションの書き方など、想像もできないでしょう。
しかしこうした基本的な特徴は、命令型言語の持つ非常に大きな問題につながるのです。

https://www.ibm.com/developerworks/jp/java/library/j-cb07186/
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
631 :デフォルトの名無しさん[]:2014/07/09(水) 19:48:21.88 ID:O1jvNzTi
func1 と func2 を比べたら、func2は破壊的代入してるからただちに関数型ではないとわかる。
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
501 :デフォルトの名無しさん[]:2014/07/09(水) 22:27:28.01 ID:O1jvNzTi
.Net Frameworkも実行時にネイティブ変換してるだろ。そういう規格で作られてるはずだろ。
これには、仮想アセンブラか仮想機械語を実行する仮想マシンは存在してないはず。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。