トップページ > プログラム > 2014年07月08日 > 3g0pjX2F

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

18 位/202 ID中時間01234567891011121314151617181920212223Total
書き込み数2000000000000000000100104



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
Swift part2

書き込みレス一覧

【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
447 :デフォルトの名無しさん[sage]:2014/07/08(火) 00:16:50.14 ID:3g0pjX2F
>>436,439
add や puts 等の単純な手続きコールでは、
Java VM, Smalltalk VM, CIL, LLVM どれも差は無いよ

中間レベルと低レベルの違いは前提とするランタイムの有無
Java VM, Smalltalk VM, CILといった中間レベルVMは、
どれもガーベッジ・コレクションや基本ライブラリなどを提供する
"特定のランタイムを前提" にしている
(CIL ならば>>430のWikipediaの図中にある CLI や BCL の部分)

それに対し、LLVMでは処理系開発者が自分でランタイムを実装する
Clang の場合は libc に相当する最小のライブラリがあればいい
Swift の場合は LLVM上でOSX/iOSのランタイムを利用する
Swift part2
492 :デフォルトの名無しさん[sage]:2014/07/08(火) 00:31:15.63 ID:3g0pjX2F
IT業界で、virtual reality の訳語として普及している
「仮想現実」が適当かどうかを議論したいってこと?
Swift part2
555 :デフォルトの名無しさん[sage]:2014/07/08(火) 19:03:58.20 ID:3g0pjX2F
>>549
MacRuby はいかが?

price = if item == "salad"
      3.50
    elsif item == "muffin"
      2.25
    else
      2.00
    end

あるいは:

price = case item
    when "salad"
      3.50
    when "muffin"
      2.25
    else
      2.00
    end
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】
472 :デフォルトの名無しさん[sage]:2014/07/08(火) 22:26:49.18 ID:3g0pjX2F
>>449
>>439は単に手続きコールという処理系の表層を語っていたと判断したけど、
事実は本人にしか分からんね

まぁそれはそれとして、
> LLVMは、中間言語形式だけしか規格しておらず、
> Core Libraryも規格化されてるSmalltalkやJavaの用に移植できない。
の部分は、明らかな「LLVMに関する理解不足」だ

>>447を繰り返すけど、LLVMでは、処理系開発者が Garbage Gollection を含む
Core Library (いやゆるランタイム)を独自に設計/実装することで、
あらゆる言語をサポートできる
・The LLVM Compiler Infrastructure Project
  http://llvm.org/ProjectsWithLLVM/
たとえば Ruby なら、Rubinius や MacRuby といった LLVM 実装が上記ページにある
また Ruby 仕様のサブセットではあるけれど、Ruby の中間レベルVM である YARV を
低レベルVMである LLVM へ翻訳(compile)して実行する yarv2llvm という
実験的なプロジェクトもある
・yarv2llvm Wiki · GitHub
 https://github.com/miura1729/yarv2llvm/wiki/japanese

Ruby のケースと同様に、Smalltalk や Java のソースを直に LLVM へ翻訳することも、
それらVMのバイトコードをLLVMコードへ翻訳することも「技術的には可能」だ


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