- Swift part2
281 :デフォルトの名無しさん[sage]:2014/06/30(月) 01:06:27.05 ID:2Uifxpzh - >>280 Google developer tools and APIs for iOS
ふ〜ん、この為にJava to Object-Cなんて作ってたのか。 この流れだと、Java to Swiftも出てきそうだな。 iOSユーザを取り込みたいんだろうな。
|
- TypeScript(MS) VS Swift(Apple)
120 :デフォルトの名無しさん[sage]:2014/06/30(月) 01:35:18.75 ID:2Uifxpzh - >>119 Playgrounds はXcodeのデバッグウインドーで動くもの。 リアルタイムデバッガと言って良いだろう。
LLDBが動くのは、ターミナル上でSwiftインタプリタを動かしたとき。 インタプリタ上のデバッグコマンドはLLDBコマンド。 実際は、Xcodeがインタプリタの実権を握っているのかもしれないが動作を制御しているのはLLDB インタプリタを動かして、 :helpを打てばLLDBのコマンドリストが出てくる。 完全なインタプリタとは言い切れないがほぼリアルタイムにコンパイル実行しているから使い勝手は全くインタプリタ。 途中でLLDBコマンドを使ってPythonを呼び出したりもできる。 1> :help The Swift REPL (Read-Eval-Print-Loop) acts like an interpreter. Valid statements, expressions, and declarations are immediately compiled and executed. The complete set of LLDB debugging commands are also available Swiftのインタプリタモードが楽しい http://qiita.com/dll7/items/206d5bf0cb72942b3681 1> let t = 10 t: Int = 10 2> let t = 1.0 t: Double = 1 3> let t = "a" t: String = "a" 4> t = "hello" 5> println(t) hello
|
- TypeScript(MS) VS Swift(Apple)
121 :デフォルトの名無しさん[sage]:2014/06/30(月) 02:18:56.74 ID:2Uifxpzh - >>120 PlaygroundもLLDBが動いてる。
|
- TypeScript(MS) VS Swift(Apple)
123 :デフォルトの名無しさん[sage]:2014/06/30(月) 10:53:35.14 ID:2Uifxpzh - >>122 だったらどうなんだ?
そもそもインタプリタの定義なんてこんなもの https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF 1.ソースコードを直接実行する。 2.ソースコードを何らかの効率的な中間表現に変換し、それを即座に実行する。 3.システムの一部であるコンパイラが生成し出力した、コンパイル済みの中間表現を実行する[1]。 ソースプログラムはマシンに依存しない中間的なコードに事前にコンパイルされ、実行時にリンクされ、インタプリタで実行される Javaなんかよりよほどインタプリタの王道に近い動きをするぞ。 Perlなんかよりも使いやすい。 REPL https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop この定義では、LISPもコマンドラインスクリプトもREPLに入る。
|
- TypeScript(MS) VS Swift(Apple)
127 :デフォルトの名無しさん[sage]:2014/06/30(月) 15:00:27.03 ID:2Uifxpzh - >>123 のWikの中の説明では中間コードを取らないインタプリタも有る。
>バリエーション >動的コンパイルを使っているインタプリタは、内部で実機の機械語に変換し実行する。i Swift/REPL はこれにあたる。 Using Swift As General Purpose Scripting Language http://www.strathweb.com/2014/06/using-swift-general-purpose-scripting-language/ -emit-assembly Emit assembly file(s) (-S) -emit-bc Emit LLVM BC file(s) -emit-executable Emit a linked executable -emit-ir Emit LLVM IR file(s) ここにあるようにアセンブラから、LLVM IRまで様々なファイルを作り出せる。 LLVM IRが動かない訳が無い。(REPLモードの時にIRが使えるかどうかは知らないが) 呼び方なんか何でも良い。 汎用スクリプト言語として使えると言う事実。 これが全て、 You can use Swift as general purpose scripting language for all kinds of OS tasks or any automation scripts;
|
- TypeScript(MS) VS Swift(Apple)
128 :デフォルトの名無しさん[sage]:2014/06/30(月) 15:05:01.81 ID:2Uifxpzh - >>127 言い忘れた。 コンパイラは、MacOS上で動かしていてもコンパイル結果をターゲットのARMとしての出力が出来るのは当然。
だからと言ってARMの機械語で動かしている訳でない事も当然。 この意味が解るか? 機械語を実行している訳じゃないんだよ。
|
- TypeScript(MS) VS Swift(Apple)
135 :デフォルトの名無しさん[sage]:2014/06/30(月) 22:49:24.44 ID:2Uifxpzh - >>132 形容詞と名詞の違い。
|
- TypeScript(MS) VS Swift(Apple)
137 :デフォルトの名無しさん[sage]:2014/06/30(月) 23:36:17.56 ID:2Uifxpzh - 驚いたな。 こんな質問が飛び出すとは。
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E8%A8%80%E8%AA%9E アセンブラは、アセンブリ言語を機械語に変換するプログラムソフトの事。 コンパイラに対応。 アセンブリ言語の意味で「アセンブラ」または「アセンブラ言語」(Assembler Language)と呼ぶ場合も多い assembler
|
- TypeScript(MS) VS Swift(Apple)
140 :デフォルトの名無しさん[sage]:2014/06/30(月) 23:45:39.62 ID:2Uifxpzh - >>138 いや最近の安い辞書に assembler と言う訳が載っていないことに驚いたんだよ。
昔はassemblerの方が一般的だったのに。 質問が出てきた意味が解った。 assemblyの語源はassembler 。 少なくともプログラムする人間は、コンパイラ、アセンブラと言う言葉位は知っておいてほしいな。
|