トップページ⇒tech
1001コメント338KB

Swift part2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/06/11(水) 14:42:15.02ID:+13mKJ0Z
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

Apple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/

関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
0705デフォルトの名無しさん2014/07/12(土) 19:31:52.68ID:xLJj+FnH
>>704
確かに
.xcodeprojとかもあったな
ところで.swfは釣りっすか?w
0706デフォルトの名無しさん2014/07/12(土) 19:40:07.02ID:hFyjpWla
ショックウェーブフラーッシュ!
0707デフォルトの名無しさん2014/07/12(土) 19:54:39.63ID:6CFefVBC
拡張子3文字とかいつの時代のドザだよ
0708デフォルトの名無しさん2014/07/12(土) 19:56:25.31ID:CDlL/Wk/
>>704
それはMS-DOSというかその前のCP/Mの制限だな。ファイル名8文字+拡張子3文字。
UNIXなんかは元々ファイルシステム上では単一の文字列でピリオド以降を拡張子として解釈するだけだから特に制限はない。
昔のMacOSだとファイル名と別に4文字までのTYPEが付けられる。
0709デフォルトの名無しさん2014/07/12(土) 19:58:38.41ID:QxcUStnc
Microsoftも最近は普通にvcxprojつか長いの使うよ
0710デフォルトの名無しさん2014/07/12(土) 19:59:03.13ID:awTqtEB0
>>704
拡張子が3文字以下なことが多いのは、大昔の制限の名残だよ。
swiftは5文字なんだからそのままでいいでしょ
Scalaの拡張子もscalaだし
0711デフォルトの名無しさん2014/07/12(土) 20:14:12.27ID:CKeavNXA
>>710
冷静に考えよう
scala が 3文字になったら sca ですよ
0712デフォルトの名無しさん2014/07/12(土) 20:15:43.85ID:uQaOo2aV
>>709
そりゃプロジェクトファイルなんて数が少ないからどうでもいいんだよ
MSはソースファイルの拡張子は長くしない
0713デフォルトの名無しさん2014/07/12(土) 21:17:23.03ID:HSia6VRM
可変長配列 [1,2,3] を100万個作るのにかかる時間
C++ (vector) --> 0.068秒
Python -> 0.173秒
Ruby --> 0.169秒
Swift (-Ofast付き) -> 2.32 秒

正式リリースまでにはまともになるのだろうか
0714デフォルトの名無しさん2014/07/12(土) 21:23:12.71ID:74gS95aI
objcと比較しないと意味ないのん
0715デフォルトの名無しさん2014/07/12(土) 21:28:51.25ID:YFp0R0a/
>>704
FATファイルシステムの制限だよね。
0716デフォルトの名無しさん2014/07/12(土) 21:39:21.19ID:HSia6VRM
>>714
測ってみた
ObjC (NSArray) --> 0.414秒
0717デフォルトの名無しさん2014/07/12(土) 21:43:46.26ID:74gS95aI
それはひどいのん
0718デフォルトの名無しさん2014/07/12(土) 21:52:52.01ID:I6M2/WNb
Obj-Cより早ぇんじゃなかったのかよ
糞言語だな
0719デフォルトの名無しさん2014/07/12(土) 21:59:41.56ID:6CFefVBC
* ベータ版です
0720デフォルトの名無しさん2014/07/12(土) 22:07:44.47ID:R5OtEg7d
配列はかなり無理して仕様変更したばかりだしスピードチューニングはこれからだろ。

作っておけば勝手に早くなってくれるんだから気にすることは無い。
0721デフォルトの名無しさん2014/07/12(土) 22:15:35.10ID:ktHPdOby
>>731
スレチになるけど、Python と Ruby の差が
予想以上に小さいことに驚いた
何か魔法を使っている?
それとも Python 最速伝説は幻想だったのかなぁ ....
07227212014/07/12(土) 22:16:40.41ID:ktHPdOby
アンカをミスしてた
>>713 に訂正
0723デフォルトの名無しさん2014/07/12(土) 22:19:33.25ID:UUivqCYR
>>721
rubyは1.9からVMになってて、かなり高速化した。
まあ、配列作るだけのベンチマークにどれだけ意味があるのか分からんが
0724デフォルトの名無しさん2014/07/12(土) 22:23:10.11ID:QxcUStnc
最適化で削除されているということはない?
0725デフォルトの名無しさん2014/07/12(土) 22:36:49.50ID:B7XGURdf
ちなみに配列の操作はそれほど遅くないよ、配列作るのだけ異常に遅い
ディクショナリ型はどうかなぁ
0726デフォルトの名無しさん2014/07/12(土) 22:42:25.77ID:74gS95aI
python最速伝説初耳なのん
0727デフォルトの名無しさん2014/07/13(日) 00:01:10.09ID:2r9XuANi
>>704
Windowsにもthemeやmanifestなんて拡張子が増えたね
0728デフォルトの名無しさん2014/07/13(日) 03:27:41.34ID:hh7t9GxI
RT >724
0729デフォルトの名無しさん2014/07/13(日) 03:28:55.46ID:hh7t9GxI
>>727
そのうち拡張子にホワイトスペースが含まれる時代がもうすぐ
0730デフォルトの名無しさん2014/07/13(日) 08:43:44.21ID:FukqOMB8
>>678
おまえのソース、みたくないものだな
0731デフォルトの名無しさん2014/07/13(日) 12:53:54.09ID:f0JToqLx
Appleがブログやるなんて時代は変わるもので、
この調子でSwiftコンパイラとlibswift_stdlibもオープンソースにしてくだしあ
0732デフォルトの名無しさん2014/07/13(日) 12:56:08.02ID:zSV3XHBM
ActionScriptにも似てる気がするなSwiftは

Cの良さを捨て去ったSwiftは許せん
0733デフォルトの名無しさん2014/07/13(日) 13:20:52.58ID:hh7t9GxI
Cの良さって
0734デフォルトの名無しさん2014/07/13(日) 13:54:25.32ID:Xj6Z/8Xz
ブログ始めたのか
三日坊主にならなきゃいいが
0735デフォルトの名無しさん2014/07/13(日) 13:59:12.52ID:XamuTFgi
社員がフォーラムに書き散らかしてることまとめてくれるだけでも十分ですわ
https://github.com/ksm/SwiftInFlux
0736デフォルトの名無しさん2014/07/13(日) 14:22:15.47ID:Au996OtX
へぇ、llvm/clangプロジェクトの創始者が担当してるのか
じゃあ安心して今後の改善に期待していいかな?
0737デフォルトの名無しさん2014/07/13(日) 14:42:18.87ID:09pjGLVO
>>735 これはどう言う意味?
> full grapheme clusters, which are composed of multiple code points.


Character

Note that Character is still evolving and will settle down by the final release of 1.0.
One of the reasons that we use double quote syntax to initialize Characters is that they are expected to be able to hold full grapheme clusters, which are composed of multiple code points. This will roll out in a later beta.

-- Chris Lattner

grapheme 字素
http://m.kotobank.jp/word/グラフィーム
0738デフォルトの名無しさん2014/07/13(日) 14:47:04.79ID:XamuTFgi
>>737
アクセントや濁点等の結合文字とか、サロゲートペアとか
文字コード上では2文字でも見た目が1文字なら1文字のCharacterとして扱うということでしょ
0739デフォルトの名無しさん2014/07/13(日) 14:48:19.25ID:Au996OtX
var c:Character = "\u0065\u0306"
こういうこと
0740デフォルトの名無しさん2014/07/13(日) 14:52:53.43ID:09pjGLVO
>>738 有難う。 そう言うことか。 ヨーロッパの人達は困ってたのかな。
日本も昔のASCII時代の濁点は困ってたけど。
0741デフォルトの名無しさん2014/07/13(日) 14:57:34.52ID:BT8HK/tO
>>731
多忙すぎてオープンソースにするかどうかの議論すらやる暇ないそうな
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698.html
0742デフォルトの名無しさん2014/07/13(日) 16:15:17.48ID:mp4RlYuS
まだベータではなくアルファクオリティである
がんばれ
0743デフォルトの名無しさん2014/07/14(月) 15:34:51.35ID:lReUhcBf
http://www.weheartswift.com/make-awesome-ui-components-ios-8-using-swift-xcode-6/
あー、SwiftのREPLってこういう恩恵もあるのか
これは地味に嬉しい
0744デフォルトの名無しさん2014/07/14(月) 16:24:45.59ID:JENp6B27
これはXcode6から追加されるLive Renderingっていう機能で、
Objective-Cでも使えるよ、repl関係ないよ
0745デフォルトの名無しさん2014/07/14(月) 16:32:30.07ID:GToJEt01
Android非対応なのかよ
こんなクローズドな言語イラネ
0746デフォルトの名無しさん2014/07/14(月) 16:50:08.98ID:xs99ZBfy
GoogleがSwiftを採用するかどうかの問題でここで文句言うのは筋違い
0747デフォルトの名無しさん2014/07/14(月) 16:58:55.70ID:lReUhcBf
>>744
ありゃ、そうなのかすまん
IB上ですぐ反映されるっていうから例のPlaygroundみたいに裏で実行してるのかと思ったよ
0748デフォルトの名無しさん2014/07/14(月) 17:08:43.73ID:Z5ME5LpP
SwiftでPerlて、老害もたいがいにしとけよ
0749デフォルトの名無しさん2014/07/14(月) 17:10:01.47ID:4Au1+Pyc
REPLとPerlの区別が付かない人?
0750デフォルトの名無しさん2014/07/14(月) 17:10:03.91ID:sQKqFHYb
  、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rュ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
0751デフォルトの名無しさん2014/07/14(月) 17:28:00.59ID:KGa9EEJe
SwiftでPerl
http://qiita.com/dankogai/items/d63dfda25088165deed5
0752デフォルトの名無しさん2014/07/14(月) 17:29:22.60ID:KGa9EEJe
>>749 多分発想が豊かな人なんだろう。
0753デフォルトの名無しさん2014/07/14(月) 19:04:49.66ID:RZ62ioTL
>>746
C#とか、Rubyとか、Googleは採用してませんが
0754デフォルトの名無しさん2014/07/14(月) 20:17:16.27ID:DuRBXQUq
>>749
(そこ、笑うとこやで、兄やんっ)
0755デフォルトの名無しさん2014/07/14(月) 20:20:50.32ID:xs99ZBfy
>>753
俺に言うな。>>745をよく見なさいw
0756デフォルトの名無しさん2014/07/14(月) 21:51:45.56ID:whZx8tfP
Androidで動いたら全力で訴訟だろうなあ
もしくはマルチ禁止とか無茶苦茶な規約を発動して潰すはず
0757デフォルトの名無しさん2014/07/14(月) 21:55:50.47ID:xs99ZBfy
clangでpublic化させる予定みたいだけど。で、その>>756の根拠は?まさか妄想?
0758デフォルトの名無しさん2014/07/14(月) 22:02:32.94ID:JENp6B27
一般的にはプログラミング言語の言語仕様に特許は生じない
0759デフォルトの名無しさん2014/07/15(火) 01:13:25.82ID:micTd99E
著作権があればええやん
0760デフォルトの名無しさん2014/07/15(火) 01:15:01.52ID:wY3QqZWc
>>758
javaは?
0761デフォルトの名無しさん2014/07/15(火) 06:09:34.87ID:G0sBDiLW
Oracle許さない
0762デフォルトの名無しさん2014/07/15(火) 09:54:28.35ID:X+1U4btA
>>760
あれって実装コードがかぶっていたかららしい。
言語仕様が対象ではない
0763デフォルトの名無しさん2014/07/15(火) 10:30:28.32ID:r2pgp0My
Oracle対GoogleのJava裁判はまだ決着ついてない
JavaのAPI仕様自体には著作権無いって判決が一審で出たんだけど
Oracleが控訴したら二審でこれが覆っちゃってちょっと大変なことになってる
API仕様に著作権あるってことで、このまま確定しちゃいそう
0764デフォルトの名無しさん2014/07/15(火) 10:50:56.90ID:8APAVMM9
それは今までのクリーンルームだのを覆す大変なことやなあ
0765デフォルトの名無しさん2014/07/15(火) 11:13:35.72ID:ySYgfKOJ
>>763
んなあほな。NFSにせよSolarisにしろAPIをオープンにするってのが、サンの戦略だったのに……
0766デフォルトの名無しさん2014/07/15(火) 12:00:46.30ID:og7aDLMg
オープンにする事と著作権があることは別問題。
0767デフォルトの名無しさん2014/07/15(火) 12:05:19.99ID:AlmaazeQ
犬も歩けば棒に当たる。
0768デフォルトの名無しさん2014/07/15(火) 12:11:56.15ID:j3zFGvRv
論より証拠
0769デフォルトの名無しさん2014/07/15(火) 12:23:24.29ID:7MWYl2Sv
ロンそれフリテン
0770デフォルトの名無しさん2014/07/15(火) 13:15:50.71ID:YSAyaOR/
みんな自由に使って盛り上げてくれ!
↓
じゃあ、俺が改変して使いやすくしたのおまえよりいっぱい配るわ
↓
ちょ!おま…

だいたいこんな
0771デフォルトの名無しさん2014/07/15(火) 13:39:50.89ID:4zlWl4sH
まあOracleだし
0772デフォルトの名無しさん2014/07/15(火) 14:14:00.73ID:zrHbAgn8
>>765
黙れ小僧、お前にサンが救えるか
0773デフォルトの名無しさん2014/07/15(火) 14:17:28.25ID:r2pgp0My
Googleがサンを救えば世界は平和になったのか
0774デフォルトの名無しさん2014/07/15(火) 14:24:13.13ID:ySYgfKOJ
>>773
Javaがもっと最前線で熱い言語になってただろう
0775デフォルトの名無しさん2014/07/15(火) 15:05:37.10ID:crlBJ/uW
その結果がDartだよ!


ここなんのスレだっけ
0776デフォルトの名無しさん2014/07/15(火) 17:40:26.17ID:AlmaazeQ
ここはSwiftのスレです。
0777デフォルトの名無しさん2014/07/16(水) 00:17:19.37ID:zFOkDjlK
GoogleがここでJava捨てたらまた周回遅れだもんなあ
0778デフォルトの名無しさん2014/07/16(水) 11:06:00.57ID:CCnp7m7G
>>777
そこはぜひgolangで。
並列処理が書きやすいので、GUIなアプリって結構向いてると思うんだけどなぁ。
0779デフォルトの名無しさん2014/07/16(水) 12:11:04.92ID:dtGU31iT
スクリプトをプログラミング言語というのはおかしいな
0780デフォルトの名無しさん2014/07/16(水) 13:10:05.87ID:H4PcVsCO
つプログラミング言語Ruby (オライリー)
0781デフォルトの名無しさん2014/07/16(水) 14:19:01.12ID:wsy7O7ip
いまだに「スクリプト言語」とかいう死語を使ってる奴がいるのか
0782デフォルトの名無しさん2014/07/16(水) 15:33:25.95ID:Q9CmSXAc
スクリプト「言語」って言っているのはおまえだけみたいだけど
0783デフォルトの名無しさん2014/07/16(水) 15:54:56.91ID:T3V8/QkC
マカっていつも非本質的な部分でもめているよね
0784デフォルトの名無しさん2014/07/16(水) 16:21:44.12ID:VD72Xzm0
動的言語のことをなんでもかんでもスクリプトと呼ぶ奴
0785デフォルトの名無しさん2014/07/16(水) 16:51:21.56ID:j5ySGOGm
BASICはインタプリタ言語!みたいな呼び方だなーとは思ってた。
0786デフォルトの名無しさん2014/07/16(水) 17:06:37.35ID:Qi1kxior
>>785 インタプリタとは言うが、インタプリタ言語なんて言葉は無いだろ。

インタプリタ(interpreter)とは、プログラミング言語で書かれたソースコードないし中間表現にある命令列を逐次解釈しながら実行するプログラムのこと。

インタプリタは次のだいたいいずれかの動作をするプログラムである。

1. ソースコードを直接実行する。
2. ソースコードを何らかの効率的な中間表現に変換し、それを即座に実行する。
3. システムの一部であるコンパイラが生成し出力した、コンパイル済みの中間表現を実行する。ソースプログラムはマシンに依存しない中間的なコードに事前にコンパイルされ、実行時にリンクされ、インタプリタで実行される。

マイクロコンピュータのTiny BASICは1番の例である。Perl、Python、MATLAB、Ruby は2番の例、Javaは3番の例である。
0787デフォルトの名無しさん2014/07/16(水) 17:44:25.57ID:N1NQ+Icu
最近のインタプリタは完全なインタプリタ実行ってほとんどしてないんじゃない?
あらかじめコンパイルしてるでしょ
0788デフォルトの名無しさん2014/07/16(水) 17:49:05.83ID:PJMDKlZs
「直接」とか「即座」とか「中間」の定義からしてくれ
0789デフォルトの名無しさん2014/07/16(水) 18:06:03.74ID:VD72Xzm0
PythonとかRubyみたいなやつも独自のバイトコードに変換して
独自のVMで実行してますので、そういう意味ではコンパイラです
0790デフォルトの名無しさん2014/07/16(水) 18:11:55.83ID:2EKfnOIg
スクリプトで作ったアプリってどんなんあるの?OSXだとだいたい全部動くよねえ?
スクリプトで作られたアプリなんて見たこと無いんだけど。AppleScriptで作られたインストーラとかは稀に見るけど、アプリって言えるもんじゃないしな
0791デフォルトの名無しさん2014/07/16(水) 18:12:13.01ID:Qi1kxior
>>789 >>786 の2を見ろよ。
0792デフォルトの名無しさん2014/07/16(水) 18:15:31.97ID:N1NQ+Icu
>それを即座に実行する

なんかの翻訳っぽいんだけど
翻訳だとしたら誤訳のような気がする

「即座に実行」って
「変換した直後に実行する」という意味に読めてしまう
0793デフォルトの名無しさん2014/07/16(水) 18:16:35.96ID:Qi1kxior
>>790 スクリプトと言うのは元々自分で何かをすると言うのでは無く、他のアプリケーションを動かすためにパラメータを与える役目だから、目的が違う。

その代わり大抵の事は出来るといえば出来る。 人の褌で相撲を取る。
0794デフォルトの名無しさん2014/07/16(水) 18:17:32.82ID:YAHvhD3g
まあファイルに落としてリンクして、、の工程が無いのが即座、かなあ
0795デフォルトの名無しさん2014/07/16(水) 18:17:46.09ID:2EKfnOIg
コンパイル&リンクを意識させなければ、どうでもいいんじゃね元のでいいんじゃねっていうw
0796デフォルトの名無しさん2014/07/16(水) 18:19:20.70ID:2EKfnOIg
>>793
AppleScriptはちゃんとアプリケーションを作ろうと思えば作れるんだけどw
でもそんなことするやつぁほとんどまったくいないのは、やっぱりスクリプトだからだろうなっていう
Pythonもそうかな。知らんけど
0797デフォルトの名無しさん2014/07/16(水) 18:23:40.75ID:f0ZKY8xo
DropboxのPC/Mac版アプリはPythonで書かれてるんだぜ。そのうち変わりそうだけど。
http://www.publickey1.jp/blog/13/dropboxpythonpycon_apac_2013.html
0798デフォルトの名無しさん2014/07/16(水) 18:32:10.46ID:2EKfnOIg
>>797
マジかっ!マジだった。自分の入れているアプリを調べたら結構汚染wされていた。そのうちどれだけまんまアプリなのか詳しくはみていないが
どうも。Pythonやるな。Swiftの紹介でもPythonが出されたのかこういうことか、とか
0799デフォルトの名無しさん2014/07/16(水) 18:51:25.51ID:Qi1kxior
>>798 何か勘違いしてい無い?
Pythonはあくまでも汎用言語で、スクリプトの様な使い方が出来るからと言ってスクリプト専用言語では無いよ。

スクリプト的な使い方が出来るのは、Swiftだって同じ。
0800デフォルトの名無しさん2014/07/16(水) 19:04:42.89ID:2EKfnOIg
>>799
サンプルとかこう使ってるというのを見ると、実際にアプリ作っているというのは目にしたことが無く、だいたいにおいてスクリプトとしてしか使ってないんだろうと思い込んでいた部分がありの
PyObjCがあるのも知っていたけど、興味本位でCocoa呼べる使えるーってので、それでってたらそれで終了なのがだったのでし。AppleScriptも同じ

ふつーにアプリ作成する手段か作れるけど作りはしない手段の違い的なw

あがいてみたが、俺が悪かった
0801デフォルトの名無しさん2014/07/16(水) 19:53:44.76ID:m0YcwmXR
>>786
3点、指摘する

まず 1. と 2. の間に、
「1.5 ソースコードを抽象構文木(AST)に変換し、これを評価することで実行される」
という分類が抜けている
これは、Ruby 1.8 までの実装が該当する(1.9 からは YARV へ移行)
また学校の演習課題で作らされる大半の LISP 処理系も、これに該当するだろう

次に、3. はコンパイラの定義であり、インタプリタの定義としては間違っている
3. には「実行時にリンクされ、」という記述があるけれど、
インタプリタはすべてのシンボルのアドレスが解決された中間コードを生成できるから
コンパイラのように外部シンボルを解決するリンカを必要としない
仮想マシン技術を基礎とするすべての処理系はインタプリタであるという
解釈は誤りであって、実行形態によってインタプリタとコンパイラへと分類できる
いいかえると、javac(コンパイラ) と java(仮想マシン処理系)という明解な分離のある
「Java言語処理体系はコンパイラ」であって、これをインタプリタとするのは間違い
なお「javaコマンドはJVMバイトコードのインタプリタ」である、という表現は正しい

最後に、削除した旧 3. に代わって、3'. の定義を追加する
「3'. ソースプログラムはマシンに依存しない中間的なコードにコンパイルされた後、
  マシンに依存するコード(機械語)へ再度コンパイルされてから実行される」
これは LLVM ベースのインタプリタ、たとえば MacRuby が該当する
0802デフォルトの名無しさん2014/07/16(水) 20:19:38.09ID:m0YcwmXR
>>797
DropBoxクライアントは元々 WxPython で書かれていたから、
OSX移植に PyObjC を利用するのは自然な流れだろうね
ただしこれは特殊なケースであって、Python が App Store で扱うような
「一般の OSX/iOS アプリ開発」にも適しているという結論にはならないのでは....
0803デフォルトの名無しさん2014/07/16(水) 20:43:30.79ID:m0YcwmXR
>>796
Ruby のケースだと、RubyMotion(旧 MacRuby) があるよ

旧世代の RubyCocoa や PyObjC では Cocoa をアクセスするには
いちいち ScriptingBridge フレークワークを中継する必要があった
これらに対して新世代の RubyMotion では
Ruby の Object クラスが ObjC の NSObject クラスとして実装されているから、
ブリッジを介することなく直に Cocoa フレームワークを利用できる

結果として、すでに Rails が代表的なWebフレームワークとして
世界で認知されているように、RubyMotion も OSX/iOS 向けの
サードパーティ製スクリプト言語処理系として絶対的な存在になろうとしている
なお RubyMotion は(Swif のような)Apple純正の処理系ではないけれど、
その作者は(Cocoa の内部を知り尽くした?) Apple 所属の社員になる

現実には、プロトタイピングとして RubyMotion を使い
アプリをサクッと作ってはイジってコワすというプロセスを繰り返し、
仕様が固まったら Swift で書き直すという流れが多いだろうと思う
そして Ruby と Swift はどちらもオブジェクト指向はもちろんのこと、
普通のクロージャ(ブロック)を備えるなど関数型プログラミングにも
適しているという共通の特性があるから、両者の相性も良い
0804デフォルトの名無しさん2014/07/16(水) 20:48:45.66ID:PJMDKlZs
Swiftが登場した今プロトタイピングでもわざわざRubyで書く意味はないわ
■ このスレッドは過去ログ倉庫に格納されています