トップページ⇒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/
0002デフォルトの名無しさん2014/06/11(水) 14:44:54.57ID:+13mKJ0Z
関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/
0003デフォルトの名無しさん2014/06/11(水) 14:46:56.71ID:uk765Nkn
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
0004デフォルトの名無しさん2014/06/11(水) 16:25:11.67ID:uk765Nkn
>1 乙
0005デフォルトの名無しさん2014/06/11(水) 19:50:59.00ID:8PaEVtDP
関連スレ

新言語Swiftを語るスレ
http://anago.2ch.net/test/read.cgi/mac/1401736249/

Wikipedia
Swift (プログラミング言語)
https://ja.wikipedia.org/wiki/Swift_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
0006デフォルトの名無しさん2014/06/11(水) 20:02:44.97ID:WgkUXtPw
質問です
Windows で使うには何をインストールすれば良いですか?
0007デフォルトの名無しさん2014/06/11(水) 20:08:42.47ID:mGpoQXd/
>>6
VMware
0008デフォルトの名無しさん2014/06/11(水) 20:11:55.06ID:uk765Nkn
Qemuとか?
0009デフォルトの名無しさん2014/06/11(水) 20:15:23.62ID:5KWw7cXR
>>6
MacにWindowsをインストールしましょう。
0010デフォルトの名無しさん2014/06/12(木) 02:49:22.24ID:CisCdg7y
検索すると色々出てくるようになったね。

SwiftアプリをiOS 7のiPhone 5にデプロイするまでの手順
http://qiita.com/syokenz/items/b048dc0f03146e012036
実際のCODE
http://qiita.com/susieyy/items/749c4ac5d82d765c12c6#2-5

Objective-C で書いたアプリを Swift で書き換える5ステップ
http://d.hatena.ne.jp/shu223/20140603/1401838227

SwiftでAVFoundationを使ったカメラアプリ
http://shoken.hatenablog.com/entry/2014/06/09/004441
CODE
http://qiita.com/syokenz/items/f0f30c426d05e4042482#2-3

SwiftでTiqav APIを叩くビューワアプリを100行でつくったよ
http://himaratsu.hatenablog.com/entry/swift/tiqav

SwiftでUITableViewミニマムサンプル
http://qiita.com/yuch_i/items/6aa4814a69eab6c1b34b

SwiftでUIViewController+UITableView
http://qiita.com/himara2/items/26acf137af6b917234af

Flickr popular photo viewer with Swift
https://github.com/synboo/SwiftFlickrApp
0011デフォルトの名無しさん2014/06/12(木) 06:07:28.72ID:CisCdg7y
前スレのリンクまとめダイジェスト版

新しいプログラミング言語 Swift
http://dev.classmethod.jp/smartphone/swift/
米アップル、iOSアプリの新開発言語にSwiftを導入
http://ggsoku.com/2014/06/ios-8-swift/
why(matters(Swift) > matters(Yosemite + iOS[8]))
http://blog.livedoor.jp/dankogai/archives/51922323.html
英語wikipediaだと影響受けた言語は[1]のとこから
Objective-C, Rust, Haskell, Ruby, Python, C#, CLU
http://en.wikipedia.org/wiki/Swift_%28programming_language%29
Apple's top secret Swift language grew from work to sustain Objective C, which it now aims to replace
http://appleinsider.com/articles/14/06/04/apples-top-secret-swift-language-grew-from-work-to-sustain-objective-c-which-it-now-aims-to-replace
0012デフォルトの名無しさん2014/06/12(木) 06:08:05.12ID:CisCdg7y
Cの関数は直接呼べるようだ
http://stackoverflow.com/questions/24004732/how-to-call-c-from-swift

Obj-CとSwiftのコードの混在はこの辺だ
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/
これ見ると制限付きではあるがCの関数も呼べそうな雰囲気があるが
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html
In Xcode, the LLVM compiler uses the Clang front end (a C-based languages project on LLVM.org) to parse source code and turn it into an interim format.
https://developer.apple.com/library/prerelease/ios/documentation/CompilerTools/Conceptual/LLVMCompilerOverview/

LLVM
http://ja.wikipedia.org/wiki/LLVM
playgrounds を使うとインタラクティブに実行できる。
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/largeshot_2x.png
Emscripten is an LLVM to JavaScript compiler
https://github.com/kripken/emscripten/wiki

C#から見たApple Swift
ttp://d.hatena.ne.jp/matarillo/20140603/p1
苦労者
http://qiita.com/uasi/items/0a72bb444002471d832f
0013デフォルトの名無しさん2014/06/12(木) 08:26:50.44ID:eeB20S1/
一番大事なのは基礎体力
0014デフォルトの名無しさん2014/06/12(木) 14:55:49.67ID:Dr9yNrZb
>>1 に追加
Swift Standard Libraly Reference
https://developer.apple.com/library/prerelease/iOS/documentation/General/Reference/SwiftStandardLibraryReference/SwiftStandardLibraryReference.pdf
0015デフォルトの名無しさん2014/06/12(木) 14:56:25.13ID:csvGFFzv
おもしろ半分で一部変数名を絵文字にしました。見た目かわいいし、読みやすい気がしないでもないです。Chrome上ではトーフになるので悲しいです。
https://qiita-image-store.s3.amazonaws.com/0/2503/f3da5d2b-bf92-d6b2-34d8-31193351b2c4.png
0016デフォルトの名無しさん2014/06/12(木) 16:11:34.97ID:SK659vFt
なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT
http://www.atmarkit.co.jp/news/201004/19/twitter.html

RORのままアーキテクチャの変更で10000%高速化したとな。
ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

ミニブログの Twitterのstats(統計)データ。
http://kaworu.jpn.org/kaworu/2008-01-16-2.php
- 350,000を超えるユーザ。
- 秒間600リクエスト
- 平均毎秒200-300コネクション。最大時は秒間800コネクション
- MySQLは秒間2,400リクエストを処理する
- 180のRailsインスタンスがある。MongrelのWebサーバを使っている。
- 1つのMySQLサーバ(1つの大きな 8コアのサーバ)と1つのスレーブ。スレーブは、統計とレポートのための読み込み専用(リードオンリー)。
- 雑用処理をするための30+のプロセス
- 8台のSun X4100s
- Railsでのリクエストの処理時間は200 msec
- データベースにかかる時間の平均は、50-100 msec
- 16GBの memcached
0017デフォルトの名無しさん2014/06/13(金) 04:45:51.32ID:+gS5HxJ6
俺的メモ

Swift的階乗計算(キャッシュ機能付き)

func memoize<T: Hashable, U>( body: ((T)->U, T)->U ) -> (T)->U {
var memo = Dictionary<T, U>()
var result: ((T)->U)!
result = { x in
if let q = memo[x] { return q }
let r = body(result, x)
memo[x] = r
return r
}
return result
}
let factorial = memoize { factorial, x in x == 0 ? 1 : x * factorial(x - 1) }
println(factorial(5))
0018デフォルトの名無しさん2014/06/13(金) 13:33:56.00ID:ooUx6NQl
swift in action
http://www.thefreedictionary.com/Swift
0019デフォルトの名無しさん2014/06/15(日) 00:35:32.16ID:nznESZLE
>>5
おおwikiも結構充実してきたねぇ

とりまドキュメント翻訳はよ
0020デフォルトの名無しさん2014/06/15(日) 11:11:54.76ID:Yby/fsOm
Swiftは良い所取りをしているが、他の言語とも親和性が良いと思う。解りやすい。
LLVMが、普及し始めてるから個別の言語がなんであれ強調出来そうな環境が整いつつある。

言語の強い部分はそれで書く。各々を一緒に使えれば良いんじゃ無い?
0021デフォルトの名無しさん2014/06/15(日) 11:13:56.18ID:Yby/fsOm
LLVMでネイティブ吐くあたり、仮想マシンが無いってのが面白いね
.Netの巨大戦艦っぷりも萌えるし一概にどっちがいいでもないけど。

MSはMSでarmスマホ・タブとIntel winで同一アプリを動作させるつもりのようだし
あ、でもpNaClみたいな実装すればAppleもそういうアプローチを取れなくもないのかな

こういう夢を最初に見せてくれたのがJavaだったはずなのに、なんか後追いムードだな
0022デフォルトの名無しさん2014/06/15(日) 12:06:21.38ID:htpsUCWR
泥臭いとこはCで書けばいいからね
0023デフォルトの名無しさん2014/06/15(日) 12:59:21.34ID:VrQXXusG
林檎臭い
0024デフォルトの名無しさん2014/06/15(日) 13:00:29.56ID:Yby/fsOm
x 泥臭い
o 楽しい
0025デフォルトの名無しさん2014/06/15(日) 13:43:49.50ID:x/OMujfD
インラインアセンブラは使わせてくれんのか
0026デフォルトの名無しさん2014/06/15(日) 14:38:48.87ID:Yby/fsOm
インライン LLVM が出来るんじゃね?
0027デフォルトの名無しさん2014/06/15(日) 14:56:15.13ID:V4BRBerR
1000 名前:デフォルトの名無しさん[sage] 投稿日:2014/06/15(日) 02:50:08.34 ID:V4BRBerR
糞林檎はゴミ
0028デフォルトの名無しさん2014/06/15(日) 17:04:28.65ID:F7O8xQBW
スレ主は睡眠中
0029デフォルトの名無しさん2014/06/15(日) 18:46:07.29ID:htpsUCWR
iOSとMacでインラインアセンブラの
お世話になるシーンは無いだろな
0030デフォルトの名無しさん2014/06/15(日) 19:09:43.88ID:l3h1lx/C
ソフトウェアシンセとかはYasmでしょ。
0031a2014/06/15(日) 19:35:20.25ID:x/OMujfD
>>29
いや普通に使ってるけど...
clangはgasなインラインアセンブリをちゃんと認識するのでgccの代わりになってたし
0032デフォルトの名無しさん2014/06/15(日) 19:53:57.84ID:V4BRBerR
ただでさえ可読性の低い糞マック言語にアセンブラとか頭おかしいの
俺できるアッピとかさすがマカー
ナチュラルドヤニストオナニー
0033デフォルトの名無しさん2014/06/15(日) 21:55:39.27ID:V4BRBerR
マクドヤルド
0034デフォルトの名無しさん2014/06/15(日) 22:10:00.07ID:2JGpf+eD
Windows版はまだか
0035デフォルトの名無しさん2014/06/15(日) 22:31:03.74ID:fYExPRjO
たとえば勝手にWindows版のコンパイラ実装をやったらライセンス違反とかになるの?
Swiftに限らないけど。
0036デフォルトの名無しさん2014/06/15(日) 22:31:05.18ID:jCYOrdtw
こないだろ
0037デフォルトの名無しさん2014/06/15(日) 22:37:51.57ID:EW8o6WX9
また勝手に日本語化してるよ
潰せ!

日本語資料 -- アーカイブ
http://www.swift.com/jp/events/japanese_material_download_centre/archive1.page?

各日本語の文書は、日本語参考訳です。内容は、英語版が優先します。
スライドや文書資料の無断転用・掲載を禁じます。
0038デフォルトの名無しさん2014/06/15(日) 22:47:49.16ID:2JGpf+eD
だったら、誰か sWinft 作ってください
0039デフォルトの名無しさん2014/06/15(日) 23:16:03.77ID:VrQXXusG
>>37
2009年とか書いてあるな
随分前から情報漏れてたんだな
0040デフォルトの名無しさん2014/06/15(日) 23:35:46.69ID:bSYLEdl4
>>37
無関係の法人に向かって2ちゃんねるからそういうことやると
ゆうくんみたいなるよ?自覚できてるかい?
0041デフォルトの名無しさん2014/06/16(月) 00:50:10.79ID:MvBuJzre
>>37
それアプリの売り上げ入金でお世話になってるやつや
0042デフォルトの名無しさん2014/06/16(月) 01:06:15.39ID:lSk1l0t8
>>37
威力業務妨害で通報しておいたわ
震えて眠れよキチガイ
0043デフォルトの名無しさん2014/06/16(月) 01:53:51.18ID:tCP0KEn8
>>35
二転三転してる Dalvik VM の最終判決次第かな。
0044デフォルトの名無しさん2014/06/16(月) 02:03:37.77ID:lSk1l0t8
今時高いだけのゴミマック買わないと開発すらできまちぇ〜んなんてやってて大丈夫なのかよ

貢ぐ君ばっかだしそれでもいいのかな
0045デフォルトの名無しさん2014/06/16(月) 03:07:02.65ID:MvBuJzre
>>43
あれAPIじゃなかったっけ?
他の複数実装があるやつはみんなOSSライセンスか...
0046デフォルトの名無しさん2014/06/16(月) 08:47:19.98ID:/XLor3gU
SwiftはAppleが主張するほど高速ではない - 最初のベンチマークより
http://www.infoq.com/jp/news/2014/06/apple-swift-performance-hit
0047デフォルトの名無しさん2014/06/16(月) 08:54:21.48ID:nza0XO9q
ひでーなこれ

LLVMの資料によると,積極的な最適化を有効にした場合には,標準への準拠は厳格に遵守されない。
-Ofastはすべての-O3最適化に加えて,数学関数に対するIEEEあるいはISO仕様を緩和する-ffast-mathを有効にする。
したがってこの仕様を保証する必要のあるプログラムでは,処理の結果が不正確になる可能性がある。
さらに-Ofastは,整数値のオーバーフローと配列のインデックスオーバーフローのチェックを無効にするため,
Swiftの安全機能を縮退させることにもなるのだ。
0048デフォルトの名無しさん2014/06/16(月) 09:14:36.30ID:yw/t4LyK
何人かの開発者が指摘しているように,Swiftはまだベータ版である
0049デフォルトの名無しさん2014/06/16(月) 09:51:18.51ID:BA4Vlqjx
>>47
何が酷いんだか
コンパイラのアグレッシブな最適化ってそういうもんだろ
トレードオフ考慮して開発者が選択すればいいだけの話だ
0050デフォルトの名無しさん2014/06/16(月) 09:54:29.24ID:3s3EPRTM
Apple自身もベータ版って言ってるんじゃないの?
0051デフォルトの名無しさん2014/06/16(月) 11:07:24.77ID:w+u1CT//
-Ofastってswift固有でもないし
0052デフォルトの名無しさん2014/06/16(月) 11:16:27.93ID:iCfee1zm
さらに言うならLLVM固有でもない。gccにもまったく同じものがある。
0053デフォルトの名無しさん2014/06/16(月) 11:38:00.09ID:0zDWo/hi
cudaのuse_fast_mathなら、普通の計算には充分な精度はあったよ。
四則演算では、桁あふれの考慮と除算の精度が違う位だったかな。
swift(LLVM)がどうかは知らないけれど、きちんと評価できて必要な対処が
できるのなら、恐れることはないね。
0054デフォルトの名無しさん2014/06/16(月) 11:50:02.27ID:EWixnXGe
int が全部ほんとに整数になってくれてるんだったら使う
0055a2014/06/16(月) 12:33:06.99ID:dput4ev1
確かにインスタンス変数へのアクセスで変なretain/releaseが大量に呼ばれてるのは気になった
これのせいで単純なメソッド呼び出しベンチマークとか取るとObjCよりさらに遅くなる
■ このスレッドは過去ログ倉庫に格納されています