まあ、どちらもタイプセーフJavaScriptという
似たような言語なんだから仲良くしろや。
探検
TypeScript(MS) VS Swift(Apple)
■ このスレッドは過去ログ倉庫に格納されています
2014/06/03(火) 10:20:03.13ID:Tlzh3MoL
2014/06/05(木) 21:33:37.68ID:KZps3rc8
2014/06/05(木) 21:39:02.52ID:W5+wneCa
C#なんかはRoslynで本格的にスクリプト言語として使えるようになりそう
2014/06/05(木) 21:44:51.28ID:23MIBYyX
>>40 それは単にデバッガが動くだけでインタプリタとは言えない気がする。
2014/06/05(木) 21:48:33.40ID:KZps3rc8
2014/06/05(木) 21:48:48.87ID:W5+wneCa
インタプリタが動くって、デバッグ中に対話モードが提供されるってことじゃないの?
2014/06/05(木) 21:51:49.64ID:KZps3rc8
>>44
それはイミディエイトウィンドウという名称で20年前から広く普及している機能だ
それはイミディエイトウィンドウという名称で20年前から広く普及している機能だ
2014/06/05(木) 22:10:36.55ID:lzzD+Ao8
ランタイムがobj-cなら今までの通り、ネイティブコード吐いても中身は動的抽象化済みって構造でしょ
インタプリタみたいに使えてるのは、その都度ワンライナー分のバイナリ吐いて実行してるとしてもランタイムだけ共有すれば済むから軽く済むからじゃないのかしら
固定のVMシステムなしにここまでやれるというのはなんか不安になるレベルだけど、LLVMの恩恵とかフル活用してる感じだし収穫期の技術なんだろな
インタプリタみたいに使えてるのは、その都度ワンライナー分のバイナリ吐いて実行してるとしてもランタイムだけ共有すれば済むから軽く済むからじゃないのかしら
固定のVMシステムなしにここまでやれるというのはなんか不安になるレベルだけど、LLVMの恩恵とかフル活用してる感じだし収穫期の技術なんだろな
2014/06/06(金) 20:53:22.98ID:uAvQfS8F
2014/06/06(金) 21:01:17.09ID:Xr84RnA8
今言っても鼻で笑われるけどね
2014/06/06(金) 22:41:13.01ID:vDxc/t5t
10年前からajaxは流行ってたし、MicrosoftはJScript以外は載せなかった
先見性はあるものの、市場での主導権を握れなかった哀れな連中さ
先見性はあるものの、市場での主導権を握れなかった哀れな連中さ
2014/06/06(金) 22:50:19.27ID:Pmgky8TD
独禁法でやられただけだよね。ドッキンドッキンされなかったら違ってたと思うよ。
2014/06/06(金) 23:03:52.33ID:grZzRNx9
10年前にAjaxなんて言葉あったっけ
2014/06/06(金) 23:13:25.32ID:R+Edbt39
1947年発売だよ
2014/06/06(金) 23:31:09.27ID:qsDOAuAz
洗剤の方のajaxのことかしら
2014/06/07(土) 00:19:43.55ID:n8epCVok
マジかよ
そんな洗剤あったのかよ
逆にその洗剤と掛けた可能性はあるな
そんな洗剤あったのかよ
逆にその洗剤と掛けた可能性はあるな
2014/06/07(土) 00:28:08.45ID:jgc6Krm+
コナミの音楽のいい縦シューと
オランダのサッカーチームが混ざってたけど
いまはKPOPもいるのかよ
TypeScriptもLLVMに乗せるようになったらおもろいな
オランダのサッカーチームが混ざってたけど
いまはKPOPもいるのかよ
TypeScriptもLLVMに乗せるようになったらおもろいな
2014/06/07(土) 02:17:25.67ID:+6c+B5Zd
jQuery的な意味でのAJAXは10年前くらいかな
2014/06/07(土) 02:22:54.93ID:Rlb4AoSA
へえ、最近はjQuery的とかで括られるんだ
……
……
2014/06/07(土) 02:26:43.57ID:+6c+B5Zd
10年前指して言ったつもりなんだけど
2014/06/07(土) 03:04:31.92ID:Rlb4AoSA
や、単にGoogleMapで評判になった非同期処理系にajaxって名前がついたのはjQueryより前だよって話です
今か前かとかじゃなく違和感あんのよ
JavaScript的な意味、とか言ってくれてればなんも引っかからなかったと思う、くらいの話
そもそもajaxと聞いて日本で洗剤と混同する層もいないだろうし、なんか嫌な言いがかりだったと思うわ
すまんです
今か前かとかじゃなく違和感あんのよ
JavaScript的な意味、とか言ってくれてればなんも引っかからなかったと思う、くらいの話
そもそもajaxと聞いて日本で洗剤と混同する層もいないだろうし、なんか嫌な言いがかりだったと思うわ
すまんです
60デフォルトの名無しさん
2014/06/07(土) 06:56:33.45ID:2ccOrqUk ajaxは2005年くらいからのイメージ
2014/06/14(土) 15:56:47.95ID:LvPH/m/s
Swiftの対戦相手はC#だろ
2014/06/14(土) 16:56:14.50ID:2ps+5Cwk
Swiftは良い所取りをしているが、他の言語とも親和性が良いと思う。解りやすい。
LLVMが、普及し始めてるから個別の言語がなんであれ強調出来そうな環境が整いつつある。
言語の強い部分はそれで書く。各々を一緒に使えれば良いんじゃ無い?
LLVMが、普及し始めてるから個別の言語がなんであれ強調出来そうな環境が整いつつある。
言語の強い部分はそれで書く。各々を一緒に使えれば良いんじゃ無い?
2014/06/14(土) 19:24:32.09ID:gvIqw1Hb
>>62
LLVMの設計者が、効率的に動く様に作ったのがSwiftだからなぁ。
LLVMの設計者が、効率的に動く様に作ったのがSwiftだからなぁ。
2014/06/14(土) 19:26:26.18ID:huxF3N6M
.NETもそうだけど、言語間の互換性をとる時代だな
それにたいしてJavaといったら
それにたいしてJavaといったら
2014/06/14(土) 20:07:14.07ID:LJT0GoOm
LLVMでネイティブ吐くあたり、仮想マシンが無いってのが面白いね
.Netの巨大戦艦っぷりも萌えるし一概にどっちがいいでもないけど。
MSはMSでarmスマホ・タブとIntel winで同一アプリを動作させるつもりのようだし
あ、でもpNaClみたいな実装すればAppleもそういうアプローチを取れなくもないのかな
こういう夢を最初に見せてくれたのがJavaだったはずなのに、なんか後追いムードだな
>>64
JavaVM上で動く言語実装自体はいろいろあるじゃない
ネイティブ連携はめんどいけど
.Netの巨大戦艦っぷりも萌えるし一概にどっちがいいでもないけど。
MSはMSでarmスマホ・タブとIntel winで同一アプリを動作させるつもりのようだし
あ、でもpNaClみたいな実装すればAppleもそういうアプローチを取れなくもないのかな
こういう夢を最初に見せてくれたのがJavaだったはずなのに、なんか後追いムードだな
>>64
JavaVM上で動く言語実装自体はいろいろあるじゃない
ネイティブ連携はめんどいけど
2014/06/14(土) 20:17:12.78ID:huxF3N6M
Javaはすぐ訴訟起こすイメージだな
このままだとAndroidも別言語に切り替えになりそうな気さえする
このままだとAndroidも別言語に切り替えになりそうな気さえする
2014/06/14(土) 21:55:49.56ID:gViTkWWV
JVMは仕様が貧弱で、Javaと、JVMを前提にして設計された言語と、
エミュレーション的な動作のオーバーヘッドが問題にならない元々遅いスクリプト以外を動かすのには向かない
対して.NETは最初から共通言語基盤として設計されてるからね
エミュレーション的な動作のオーバーヘッドが問題にならない元々遅いスクリプト以外を動かすのには向かない
対して.NETは最初から共通言語基盤として設計されてるからね
2014/06/15(日) 03:19:25.43ID:Qhn/buVu
>>66 そのつもりだろ。 だからGDKなんてJava以外で開発して使うツールその物。
J2C J2ObjC なんてのも出してる。 JavaからC++やObjective-Cに変換する。
Java自体のスピードの限界も有るし。
J2C J2ObjC なんてのも出してる。 JavaからC++やObjective-Cに変換する。
Java自体のスピードの限界も有るし。
2014/06/19(木) 15:56:47.41ID:OjyeQHX2
今、androidの公式言語をdartにすれば、Java+Oracleを潰せる
2014/06/19(木) 16:09:20.93ID:gduOxxnf
がんがれ
2014/06/19(木) 19:38:11.88ID:6q/EJbCK
Googleはどっかのりんごちゃんと違ってプログラミング言語作りのセンス無いの自覚してるからな
言語作るのに関してはMSは飛び抜けて優秀
言語作るのに関してはMSは飛び抜けて優秀
2014/06/19(木) 20:18:07.97ID:bddQu7Cz
自覚してんのにdartとかgoとか出してんのかよ
2014/06/19(木) 21:16:10.40ID:6q/EJbCK
そういうのは出してるだけで、玩具はあくまで玩具と理解してるよ
Googleはメディアを掌握してるからちょっとしたことでも話題になるけどね
Dartなんて未だにChromeに搭載されてないし、されるようになる気配もなく
特にやる気もないみたい
Googleはメディアを掌握してるからちょっとしたことでも話題になるけどね
Dartなんて未だにChromeに搭載されてないし、されるようになる気配もなく
特にやる気もないみたい
2014/06/20(金) 14:55:02.18ID:x5z8sn97
dartのベンチ結果は既にjavaと同程度だよ。中国なんて、golangの普及がすごいからね
特にやる気が無さそうに見えるのは、最後に自分たちのプロダクトが成功することを信じて疑わない王者の余裕だよ
特にやる気が無さそうに見えるのは、最後に自分たちのプロダクトが成功することを信じて疑わない王者の余裕だよ
2014/06/20(金) 15:58:57.41ID:ukZQYad7
dartはjavascriptへのコンパイラがあるからブラウザへの組み込みをがんばる必要ないでしょ。
コンテンツ作る側も他ブラウザを考えたらJavascriptでも作らなきゃならないのは変わらないし、その辺ちゃんとわかってる人は無理にブラウザに入れようとは思わないよ。
そんな事考えるのはswiftがJavascriptも置き換えて云々とかいうApple信者ぐらい。
コンテンツ作る側も他ブラウザを考えたらJavascriptでも作らなきゃならないのは変わらないし、その辺ちゃんとわかってる人は無理にブラウザに入れようとは思わないよ。
そんな事考えるのはswiftがJavascriptも置き換えて云々とかいうApple信者ぐらい。
2014/06/20(金) 20:21:20.60ID:M/JwZqVI
Dartは当初からブラウザに組み込まれるのが売りだったし
JSに代わって中間言語として使われるはずだったからこそ
あんなJavaモドキなガチガチ仕様にしたのにね
ただのAltJS止まりなら存在価値ゼロのJavaの出来損ない
JSに代わって中間言語として使われるはずだったからこそ
あんなJavaモドキなガチガチ仕様にしたのにね
ただのAltJS止まりなら存在価値ゼロのJavaの出来損ない
2014/06/22(日) 00:29:13.65ID:fu9gwVHY
2014/06/22(日) 01:02:59.67ID:41dfNV8s
ちょっと前から話題のDockerがgoで書かれてるんだよな
これで実績できればサーバー書いたりする言語として普及が進むかも
これで実績できればサーバー書いたりする言語として普及が進むかも
2014/06/22(日) 14:44:46.69ID:rQNdP6ot
比較対象はどう見てもgoだろ
2014/06/22(日) 15:01:35.97ID:JSmk+G44
// Go
type string String
func Tag( name String ) String {
var tag String = "<" + name + "/>"
return tag
}
// Swift
func Tag( name :String ) -> String {
var tag :String = "<" + name + "/>"
return tag
}
ソックリー、ソックリー!
type string String
func Tag( name String ) String {
var tag String = "<" + name + "/>"
return tag
}
// Swift
func Tag( name :String ) -> String {
var tag :String = "<" + name + "/>"
return tag
}
ソックリー、ソックリー!
2014/06/22(日) 17:35:57.18ID:mgZTcG6H
string を + で結合するスタイルはどうも好きになれない
2014/06/22(日) 18:04:29.98ID:rW+mKnZ0
var tag = "<\(name)>"
の方が汎用性が有り美しいかも。
いろんな書き方が出来るSwiftは洗練されてる。
多分Swiftではこの書き方がメインになるのでは? どんな型でも結合出来るし。
の方が汎用性が有り美しいかも。
いろんな書き方が出来るSwiftは洗練されてる。
多分Swiftではこの書き方がメインになるのでは? どんな型でも結合出来るし。
2014/06/22(日) 20:53:12.27ID:Cvja/8tc
2014/06/23(月) 00:26:21.67ID:k0C4cCbl
>>83 NSStringのformatは確かに美しくない。 println(NSString(format:"%5.2f", 1.2345)) //1.23
何か美しい演算子で表現できるようになると良いね。
例えば
var d = 1.234567
//operator infix ~> {}
@infix func ~> (left: Double, right: Int) -> String {
if right == 0 {
return "\(Int(left))"
}
var k = 1.0
for i in 1..right+1 {
k = 10.0 * k
}
let n = Double(Int(left*k)) / Double(k)
return "\(n)"
}
println("\(d~>2)") //1.23
println("\(d~>1)") //1.2
println("\(d~>0)") //1
// 或は------------------
@infix func % (value:Double, format:String) -> String {
return NSString(format:format, value)
}
println( d % "%5.2f") //1.23
println( d % "%5.1f") //1.2
// よりは美しい
何か美しい演算子で表現できるようになると良いね。
例えば
var d = 1.234567
//operator infix ~> {}
@infix func ~> (left: Double, right: Int) -> String {
if right == 0 {
return "\(Int(left))"
}
var k = 1.0
for i in 1..right+1 {
k = 10.0 * k
}
let n = Double(Int(left*k)) / Double(k)
return "\(n)"
}
println("\(d~>2)") //1.23
println("\(d~>1)") //1.2
println("\(d~>0)") //1
// 或は------------------
@infix func % (value:Double, format:String) -> String {
return NSString(format:format, value)
}
println( d % "%5.2f") //1.23
println( d % "%5.1f") //1.2
// よりは美しい
2014/06/23(月) 00:31:08.05ID:IjFKX6YY
フォーマットはセキュリティのリスクがあるからSwiftには入れてないんだ
フォーマットしたかったらNSFormatter使えって言ってたから、そういう仕様なんだよ
フォーマットしたかったらNSFormatter使えって言ってたから、そういう仕様なんだよ
2014/06/23(月) 07:12:49.72ID:KA1AMTg4
多言語対応するなら全く役に立たないし
せいぜいデバッグに使う程度のおまけ機能ってこと
せいぜいデバッグに使う程度のおまけ機能ってこと
2014/06/23(月) 07:58:15.78ID:TmQ3uu+R
倍角文字がね
2014/06/23(月) 09:11:06.74ID:2Cm/+3gI
他言語化する時は結局Swift版のNSLocalizedStringを呼んでstringWithFormatに突っ込むんだろうな
89デフォルトの名無しさん
2014/06/27(金) 09:35:43.36ID:xawLBmcE ◎2chスレッド勢いランキングサイトリスト◎
★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi
※ 要タイトル検索
※ 2chブラウザ併用推奨
★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi
※ 要タイトル検索
※ 2chブラウザ併用推奨
2014/06/28(土) 13:32:22.99ID:OVqhhiRq
Swiftって正規表現による置換は無いの?
Formatはそれで代用できるでしょ
Formatはそれで代用できるでしょ
2014/06/28(土) 15:22:27.04ID:I8uTErQI
FormatだけならFormatterを使えば済む話。
でも正規表現的な物もあった方が良いと思う。
話は変わるが、ターミナル上でSwiftをインタプリタとして動かして見るとちょっとした感動が有った。
これでJavascriptの代わりに使えれば言うこと無いんだが。
もちろん全ての環境で動かすことは難しいだろうから、MacOS iOS環境だけで良いけど。
iOSでターミナルを解放することも無いだろうから、WebKitの中だけでも良い。これは結構実現性が高いと踏んでいる。
でも正規表現的な物もあった方が良いと思う。
話は変わるが、ターミナル上でSwiftをインタプリタとして動かして見るとちょっとした感動が有った。
これでJavascriptの代わりに使えれば言うこと無いんだが。
もちろん全ての環境で動かすことは難しいだろうから、MacOS iOS環境だけで良いけど。
iOSでターミナルを解放することも無いだろうから、WebKitの中だけでも良い。これは結構実現性が高いと踏んでいる。
2014/06/28(土) 16:03:57.22ID:eTuLXdkr
interpeter風実行はgoでもできなかったっけ?
2014/06/28(土) 17:57:36.41ID:zES9UvXE
>>91
Javascriptへのコンパイルを可能にしない限りWebサイトに使えることはないだろう
Javascriptへのコンパイルを可能にしない限りWebサイトに使えることはないだろう
2014/06/28(土) 18:43:31.30ID:I8uTErQI
>>93 既にWebKitにLLVM が乗って、JavascriptのVMが動き始めてるの知ってる? みんな次のバージョンでサポートする。スピードが30%上がる。
iPhoneだとiOS8から。今ベータが動いてる。
swiftはLLVMのLLDBでインタプリタを実現してるから、Javascripが動く環境で動かすのは容易い話であり、WebKitの主導者のAppleが入れてしまえば多分抵抗なくみんな使い始める。
最初はプラグインか何かのオプションになるだろうが。
とは言っても、1〜2年はかかるだろう。
iPhoneだとiOS8から。今ベータが動いてる。
swiftはLLVMのLLDBでインタプリタを実現してるから、Javascripが動く環境で動かすのは容易い話であり、WebKitの主導者のAppleが入れてしまえば多分抵抗なくみんな使い始める。
最初はプラグインか何かのオプションになるだろうが。
とは言っても、1〜2年はかかるだろう。
2014/06/28(土) 18:48:52.76ID:I8uTErQI
LLVMベースが何を意味するか解るか?
Javascript の中間コードとSwiftの中間コードは同じなんだから、JavascriptのVMが動くと言うことはSwiftのVMも動くと言う事。
標準採用されるまでに時間がかかるのは当然。
Javascript の中間コードとSwiftの中間コードは同じなんだから、JavascriptのVMが動くと言うことはSwiftのVMも動くと言う事。
標準採用されるまでに時間がかかるのは当然。
2014/06/28(土) 19:20:18.14ID:zES9UvXE
いや、別言語をAppleの手の中で動かせるのは当然わかる
それが他の環境、WindowsとかAndroidにも対応しないとはやらない
移植性のよさが利点のWebの分断は批判が大きいだろう
そのためにはJavascriptを中間コードから生成せねばならないが、そこでTypeScriptやCoffeeScriptと戦って勝てるのか
WebKitのシェアはblink移行で下がってるから、ハイブリットアプリで内部て使うとかがいいとこじゃない?
それが他の環境、WindowsとかAndroidにも対応しないとはやらない
移植性のよさが利点のWebの分断は批判が大きいだろう
そのためにはJavascriptを中間コードから生成せねばならないが、そこでTypeScriptやCoffeeScriptと戦って勝てるのか
WebKitのシェアはblink移行で下がってるから、ハイブリットアプリで内部て使うとかがいいとこじゃない?
2014/06/28(土) 19:23:26.17ID:zES9UvXE
直接実行できるのだけが利点なら、VBScript、Dartがすでにあるけど、どれもまず聞かないという
2014/06/28(土) 20:08:05.04ID:SXG/e0pD
やろうと思えばそんなにかからんのじゃね
Emscriptenなんてのもあるし
Emscriptenなんてのもあるし
2014/06/29(日) 04:35:38.07ID:oBe1BEgf
>>94
見たらアグレッシブな最適化の部分だけじゃないか。
js をパースして次が LLVM IR ならともかく、話が全然違う。
聞いたことないし GC どうすんのかとかあるし、なんかおかしいと思ったんだよ。LLVM が何かわかってない発言だ。
見たらアグレッシブな最適化の部分だけじゃないか。
js をパースして次が LLVM IR ならともかく、話が全然違う。
聞いたことないし GC どうすんのかとかあるし、なんかおかしいと思ったんだよ。LLVM が何かわかってない発言だ。
100デフォルトの名無しさん
2014/06/29(日) 08:19:56.40ID:mYSKVn4w >>99 どんな記事をみたのか知ら無いが、LLVM IR にコンパイルして実行するんだよ。そのIRを最適化する。
第4層最適化。GCは何らかの方法で実施している模様。
AppleがLLVM JITを使用してWebKitのJSエンジンをスピードアップ
http://www.infoq.com/jp/news/2014/05/safari-webkit-javascript-llvm?utm_reader=feedly
オリジナルの発表
https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/
http://www.webkit.org/blog-files/ftl-jit/ftl_pipeline.png
第4層最適化。GCは何らかの方法で実施している模様。
AppleがLLVM JITを使用してWebKitのJSエンジンをスピードアップ
http://www.infoq.com/jp/news/2014/05/safari-webkit-javascript-llvm?utm_reader=feedly
オリジナルの発表
https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/
http://www.webkit.org/blog-files/ftl-jit/ftl_pipeline.png
101デフォルトの名無しさん
2014/06/29(日) 09:44:26.93ID:f8exIVV0 それ以前にSwiftがオープンになることはないでしょ
そんなことしたら「あえて」特に何も新しくない新しい言語を作った意味が無くなる
意味わかるでしょ?
そんなことしたら「あえて」特に何も新しくない新しい言語を作った意味が無くなる
意味わかるでしょ?
102デフォルトの名無しさん
2014/06/29(日) 10:01:59.85ID:OApS8+mw オープンソースにしない限り、幅広い分野でっていうのは無理だな
Microsoftはオープンソース化が多くなってるのに、appleはどうなんだ
Microsoftはオープンソース化が多くなってるのに、appleはどうなんだ
103デフォルトの名無しさん
2014/06/29(日) 11:26:00.71ID:FVthjcnk >>101
全然意味分からないのでもっと詳しく具体的に説明してください
全然意味分からないのでもっと詳しく具体的に説明してください
104デフォルトの名無しさん
2014/06/29(日) 12:19:42.92ID:mYSKVn4w >>101 Objective-Cですらオープンソースにしてるのに、しない理由が解ら無い。
>>102 Apple は、言語系、Web系は殆どオープンソースだよ。
WebKitとLLVMはその要だろう。
早くオープンソースにしてLLVM実行環境だったら使えると言う状態に持って行って欲しい。
SwiftはLLVMと密接に結びついており、拡張性は高い。オープンソースにはまだなってい無いが、LLVMを軸に動いてる事は事実だし、Appleの判断次第。
使うか使わ無いかは使う側の判断。
C やObjCとも混在出来るし、LLVM IRからは既にJavascript やJavaをすら生成出来る。(一時しのぎにしかなら無いだろうが)
>>102 Apple は、言語系、Web系は殆どオープンソースだよ。
WebKitとLLVMはその要だろう。
早くオープンソースにしてLLVM実行環境だったら使えると言う状態に持って行って欲しい。
SwiftはLLVMと密接に結びついており、拡張性は高い。オープンソースにはまだなってい無いが、LLVMを軸に動いてる事は事実だし、Appleの判断次第。
使うか使わ無いかは使う側の判断。
C やObjCとも混在出来るし、LLVM IRからは既にJavascript やJavaをすら生成出来る。(一時しのぎにしかなら無いだろうが)
105デフォルトの名無しさん
2014/06/29(日) 12:36:23.68ID:mYSKVn4w TypeScriptは、確かに必要性は解るがあくまでもツール的な存在では無いだろうか。
例えば核の言語のプリプロセッサやライブラリ的な存在。
C にプリプロセッサ的に追加したObject-C の様に。
つまりなくても困ら無い。
TypeScriptがJavaScriptの拡張版と言ってもブラウザで直接実行出来無い限り本流にはなり得無い。
Swift はどうかと言うと、核の言語。 王道を歩むつもりの様だからオープンソースになり使う人が多くなれば普及も早いと思われる。
SwiftScriptが出来るかどうかは、単なる憶測の範囲。
例えば核の言語のプリプロセッサやライブラリ的な存在。
C にプリプロセッサ的に追加したObject-C の様に。
つまりなくても困ら無い。
TypeScriptがJavaScriptの拡張版と言ってもブラウザで直接実行出来無い限り本流にはなり得無い。
Swift はどうかと言うと、核の言語。 王道を歩むつもりの様だからオープンソースになり使う人が多くなれば普及も早いと思われる。
SwiftScriptが出来るかどうかは、単なる憶測の範囲。
106デフォルトの名無しさん
2014/06/29(日) 13:35:06.34ID:OApS8+mw >>105
オープンソースになっても、言語仕様的にほかより優れてるの?そうじゃないと他の環境までは、はやらない
所詮Appleの中の言語にとどまると思う
ブラウザの直接実行は、Microsoft,Apple,Google,Firefoxの4勢力が協力しない限り達成不能
そして、Web共通言語のjs以外で足並みを揃えるのは無理だし、Apple的にはほかの会社に自社言語の開発の中心に居座られたくない気がしそう
TypeScriptなんかがプリプロセッサなのはjavascriptによる過去の資源との互換性を保つためで、どの言語にもjsの置き換えを狙うのが無理そうだからだよ
オープンソースになっても、言語仕様的にほかより優れてるの?そうじゃないと他の環境までは、はやらない
所詮Appleの中の言語にとどまると思う
ブラウザの直接実行は、Microsoft,Apple,Google,Firefoxの4勢力が協力しない限り達成不能
そして、Web共通言語のjs以外で足並みを揃えるのは無理だし、Apple的にはほかの会社に自社言語の開発の中心に居座られたくない気がしそう
TypeScriptなんかがプリプロセッサなのはjavascriptによる過去の資源との互換性を保つためで、どの言語にもjsの置き換えを狙うのが無理そうだからだよ
107デフォルトの名無しさん
2014/06/29(日) 13:39:07.70ID:tO69Jiz2 AltJSじゃだめな理由って何がある?
108デフォルトの名無しさん
2014/06/29(日) 14:57:50.22ID:mYSKVn4w >>107 そもそも、HTML内埋め込みインタラプト言語のJavaScript系と、オールマイティーなコンパイル言語系では用途が全く違う。
だから、TypeScript と Swift を対比すること自体に無理が有るけど、Swiftがインタプリタとしても動いたりスクリプトとしての可能性も匂わせてるからこのスレに上がったんだろう。
元々は全く違う用途。
だから、TypeScript と Swift を対比すること自体に無理が有るけど、Swiftがインタプリタとしても動いたりスクリプトとしての可能性も匂わせてるからこのスレに上がったんだろう。
元々は全く違う用途。
109デフォルトの名無しさん
2014/06/29(日) 15:02:09.40ID:OApS8+mw110デフォルトの名無しさん
2014/06/29(日) 15:16:22.91ID:mYSKVn4w >>106 >言語仕様的にほかより優れてるの?
そんな事は言うまでも無い。
各種言語の良い所取りした言語だから、他の言語からも反対する意見は殆ど皆無。
特に今後のコンピュータ言語教育に果たす役割は大きいと思う。
多少癖が有りそうなのは、スピードを重視した仕様 (これは認められるだろう) とC や ObjCとの相互結合を考慮した点( 現実解 )
これらも何ら足かせには成ら無いだろう。 必要ならそれなりのライブラリが出来るだけ。
プリプロセッサを排除した分、言語仕様の中で自分自身をを書き換える(オーバライド) 事が出来るのは今後の発展性を匂わせる。
そんな事は言うまでも無い。
各種言語の良い所取りした言語だから、他の言語からも反対する意見は殆ど皆無。
特に今後のコンピュータ言語教育に果たす役割は大きいと思う。
多少癖が有りそうなのは、スピードを重視した仕様 (これは認められるだろう) とC や ObjCとの相互結合を考慮した点( 現実解 )
これらも何ら足かせには成ら無いだろう。 必要ならそれなりのライブラリが出来るだけ。
プリプロセッサを排除した分、言語仕様の中で自分自身をを書き換える(オーバライド) 事が出来るのは今後の発展性を匂わせる。
111デフォルトの名無しさん
2014/06/29(日) 15:23:53.16ID:3ycH5aDE ID:mYSKVn4w
↑ただの知ったかぶりにしか見えん
↑ただの知ったかぶりにしか見えん
112デフォルトの名無しさん
2014/06/29(日) 15:31:53.02ID:mYSKVn4w >>109 スクリプトとして動きそうと言うだけと、動く事を見据えた言語では仕様が異なる。
Swiftは動的関数な部分が大きい。 最初からそう言う言語だからスクリプトとして動かしても性能を発揮出来る。
遅延評価lazy とか。
Swiftは動的関数な部分が大きい。 最初からそう言う言語だからスクリプトとして動かしても性能を発揮出来る。
遅延評価lazy とか。
113デフォルトの名無しさん
2014/06/29(日) 16:24:07.43ID:OApS8+mw ObjCとの比較を除けば、他言語との比較はまだ文法的に比較してここら辺似てるとか言ってる段階でなんとも言えないなあ
まだベータ版だし、Appleがどこまで公開するかと他環境への展開待ちかな
まだベータ版だし、Appleがどこまで公開するかと他環境への展開待ちかな
114デフォルトの名無しさん
2014/06/29(日) 16:50:02.83ID:mYSKVn4w コンピュータなんだから、どんな言語でも出来ないことはツギハギでも追加して出来る様にして行くから、出来ることは殆ど同じになるんだよね。
要は如何にスマートに実装するかどうかじゃ無いのかな。
ツギハギ言語では辛い場面が出る。
Swiftと言えど、過去のしがらみを全て捨てるわけにはいかなかったみたい。
過去の遺産を使う限り仕方ないだろうね。
生糸から紡ぎ治せれば良かったが、古着をほどいた糸で紡ぎ直したと言う感は否め無い。
要は如何にスマートに実装するかどうかじゃ無いのかな。
ツギハギ言語では辛い場面が出る。
Swiftと言えど、過去のしがらみを全て捨てるわけにはいかなかったみたい。
過去の遺産を使う限り仕方ないだろうね。
生糸から紡ぎ治せれば良かったが、古着をほどいた糸で紡ぎ直したと言う感は否め無い。
115デフォルトの名無しさん
2014/06/29(日) 16:53:33.37ID:FVthjcnk ID:mYSKVn4w からkenokabe臭がする
116デフォルトの名無しさん
2014/06/29(日) 16:59:42.98ID:dKYUFGy4 >>112
動的関数って何?
動的関数って何?
117デフォルトの名無しさん
2014/06/29(日) 21:50:03.17ID:vXcDBpcb >>114
計算モデルを間違わない限りは、なんでも追加などしない。
計算モデルを間違わない限りは、なんでも追加などしない。
118デフォルトの名無しさん
2014/06/30(月) 00:46:05.49ID:3lwG7vbW11999
2014/06/30(月) 00:47:03.04ID:nIm5vaJz >>100
どこをどう読んだらそんな誤解できるんだ。
一部分だけを LLVM IR を通してコンパイルするだけで、Javascript の VM が LLVM で動いているわけじゃない。
ただの JIT コンパイルであって、Javascript の VM から LLVM で JIT コンパイルしたコード小片を呼び出しているだけ。
GC は実装したんじゃなくてWebKit メモリマネージャに同居する手法を紹介してる。
つーか最初に js バイトコードになるってどっちの記事にもあるだろ。
その記事の Webkit の話なら Swift を LLVM IR に持っていく前に、最初の段階で js バイトコードにする必要があるだろ。
>94 の
> (略)Javascripが動く環境で動かすのは容易い話であり、(略)
とはならない。
Swift を js や js バイトコードに変換すれば別だが。
ほんとちゃんと読んでから言いふらしてよ。誤解する人が出て誤解が広まったらどうするんだ。
> swiftはLLVMのLLDBでインタプリタを実現してるから、
これも誤解なんじゃないか。
Playground は VS のエディットコンティニュのようなことをやってるんじゃないのか。
元々 Xcode で Obj-C/C++ の式を実行時に評価できたし、Swift なら多くの場合にセレクタの差し替えで済むわけだから、
LLDB が VM を持っててインタプリットしていると考えるのは不自然だ。
ちょっと検索してみたところでは、インタプリタとして動作していると信じている人は見つからなかった。
ソースがあれば出してくれ。
どこをどう読んだらそんな誤解できるんだ。
一部分だけを LLVM IR を通してコンパイルするだけで、Javascript の VM が LLVM で動いているわけじゃない。
ただの JIT コンパイルであって、Javascript の VM から LLVM で JIT コンパイルしたコード小片を呼び出しているだけ。
GC は実装したんじゃなくてWebKit メモリマネージャに同居する手法を紹介してる。
つーか最初に js バイトコードになるってどっちの記事にもあるだろ。
その記事の Webkit の話なら Swift を LLVM IR に持っていく前に、最初の段階で js バイトコードにする必要があるだろ。
>94 の
> (略)Javascripが動く環境で動かすのは容易い話であり、(略)
とはならない。
Swift を js や js バイトコードに変換すれば別だが。
ほんとちゃんと読んでから言いふらしてよ。誤解する人が出て誤解が広まったらどうするんだ。
> swiftはLLVMのLLDBでインタプリタを実現してるから、
これも誤解なんじゃないか。
Playground は VS のエディットコンティニュのようなことをやってるんじゃないのか。
元々 Xcode で Obj-C/C++ の式を実行時に評価できたし、Swift なら多くの場合にセレクタの差し替えで済むわけだから、
LLDB が VM を持っててインタプリットしていると考えるのは不自然だ。
ちょっと検索してみたところでは、インタプリタとして動作していると信じている人は見つからなかった。
ソースがあれば出してくれ。
120デフォルトの名無しさん
2014/06/30(月) 01:35:18.75ID: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
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
121デフォルトの名無しさん
2014/06/30(月) 02:18:56.74ID:2Uifxpzh >>120 PlaygroundもLLDBが動いてる。
122デフォルトの名無しさん
2014/06/30(月) 09:46:26.06ID:+/AeVnyE >>120
>The Swift REPL (Read-Eval-Print-Loop) acts like an interpreter.
「SwiftのREPLはインタプリタのように動作する」
つまり実際にはインタプリタでは無いんだよ
>The Swift REPL (Read-Eval-Print-Loop) acts like an interpreter.
「SwiftのREPLはインタプリタのように動作する」
つまり実際にはインタプリタでは無いんだよ
123デフォルトの名無しさん
2014/06/30(月) 10:53:35.14ID: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に入る。
そもそもインタプリタの定義なんてこんなもの
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に入る。
124デフォルトの名無しさん
2014/06/30(月) 11:03:44.45ID:+/AeVnyE125デフォルトの名無しさん
2014/06/30(月) 11:22:20.22ID:0ZRqmqkf VSなんかILのインタプリタが搭載されてて
ダンプ情報をデバッガに読ませてエディットコンティニューなんて荒業が可能らしいよ
ダンプ情報をデバッガに読ませてエディットコンティニューなんて荒業が可能らしいよ
126デフォルトの名無しさん
2014/06/30(月) 12:15:26.35ID:O7drrXEn127デフォルトの名無しさん
2014/06/30(月) 15:00:27.03ID: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;
>バリエーション
>動的コンパイルを使っているインタプリタは、内部で実機の機械語に変換し実行する。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;
128デフォルトの名無しさん
2014/06/30(月) 15:05:01.81ID:2Uifxpzh >>127 言い忘れた。 コンパイラは、MacOS上で動かしていてもコンパイル結果をターゲットのARMとしての出力が出来るのは当然。
だからと言ってARMの機械語で動かしている訳でない事も当然。
この意味が解るか? 機械語を実行している訳じゃないんだよ。
だからと言ってARMの機械語で動かしている訳でない事も当然。
この意味が解るか? 機械語を実行している訳じゃないんだよ。
129デフォルトの名無しさん
2014/06/30(月) 15:24:33.50ID:+/AeVnyE >>127
だからさ、LLVM使ってればLLVM-IRとか出力できるのは当たり前なんだって
だけどLLVM-IRのファイル作れてもそれを直接解釈実行する仕組みはどこにあるんだ?
現状LLVMの仕組みを利用してインタプリタの"ような"動作するものはいくつかある
上でも挙がってるSafariの最終レベルのJTTとか、ChromeのPNaClとか、AndroidのARTとか
これらは全部LLVMを使ってるけど、LLVM-IRを解釈実行する仕組みをもってるわけではなくて、
LLVM-IRからネイティブなコードまで変換してから、LLVMとは無関係な機構で実行する
Swiftがスクリプト言語のように使えるとしても、それはLLVMとは関係無い
LLVMはネイティブコードを生成するために使ってるだけ
LLVMと無理やり結びつけて煽るのを止めてくれるかな?
だからさ、LLVM使ってればLLVM-IRとか出力できるのは当たり前なんだって
だけどLLVM-IRのファイル作れてもそれを直接解釈実行する仕組みはどこにあるんだ?
現状LLVMの仕組みを利用してインタプリタの"ような"動作するものはいくつかある
上でも挙がってるSafariの最終レベルのJTTとか、ChromeのPNaClとか、AndroidのARTとか
これらは全部LLVMを使ってるけど、LLVM-IRを解釈実行する仕組みをもってるわけではなくて、
LLVM-IRからネイティブなコードまで変換してから、LLVMとは無関係な機構で実行する
Swiftがスクリプト言語のように使えるとしても、それはLLVMとは関係無い
LLVMはネイティブコードを生成するために使ってるだけ
LLVMと無理やり結びつけて煽るのを止めてくれるかな?
130デフォルトの名無しさん
2014/06/30(月) 15:31:16.96ID:+/AeVnyE >>128
コンパイラなんてただの変換処理系なんだから、
コンパイラを動かしてるマシンやOSとコンパイラが出力するコードが関係無いのは当たり前じゃないか
そんなことをいちいち説明するのに何か意味があるのか?
コンパイラなんてただの変換処理系なんだから、
コンパイラを動かしてるマシンやOSとコンパイラが出力するコードが関係無いのは当たり前じゃないか
そんなことをいちいち説明するのに何か意味があるのか?
131デフォルトの名無しさん
2014/06/30(月) 19:45:48.79ID:nONpRjt1 >>122
インタープリターだもんな
インタープリターだもんな
132デフォルトの名無しさん
2014/06/30(月) 19:47:58.85ID:nONpRjt1133デフォルトの名無しさん
2014/06/30(月) 19:55:11.52ID:64xob6TW ブリよりもブラのほうが言いやすいだろ
134デフォルトの名無しさん
2014/06/30(月) 22:19:13.64ID:HxSDp0H8 >>132
クロマトグラフィーを、クロマティと読んじゃうオッさんなんだろう。
クロマトグラフィーを、クロマティと読んじゃうオッさんなんだろう。
135デフォルトの名無しさん
2014/06/30(月) 22:49:24.44ID:2Uifxpzh >>132 形容詞と名詞の違い。
136デフォルトの名無しさん
2014/06/30(月) 22:59:40.40ID:RSvNaMx4 >>135
どっちも名詞すよ
どっちも名詞すよ
137デフォルトの名無しさん
2014/06/30(月) 23:36:17.56ID: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
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
138デフォルトの名無しさん
2014/06/30(月) 23:39:44.51ID:O7drrXEn いちいちWikipediaで調べるなよwww
139デフォルトの名無しさん
2014/06/30(月) 23:45:21.80ID:xvQZsVmc アセンブリ
斡旋鰤
斡旋鰤
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 旧姓使用拡大に連合会長が反発 「何の説明もない。選択的夫婦別氏制度導入を」 男女共同参画会議 ★2 [ぐれ★]
- 開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 ★2 [ぐれ★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- ジムでインターバルの時にウロウロ歩くやつなんなの?
- 独身のおじさんってなんで変なのが多いの?
- レイプはとっても気持ちがいい
- 大阪行くわよーーーッ!!!
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 🍵緑茶輸出激増で国内価格6倍へ 番茶も飲めなくなる [399259198]
