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

Swiftスレ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/06/03(火) 04:12:21.08ID:rEEU5ykv
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
https://developer.apple.com/swift/
0002デフォルトの名無しさん2014/06/03(火) 04:17:00.47ID:u4jrgx59
Apple Developer
https://developer.apple.com/swift/

iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
0003デフォルトの名無しさん2014/06/03(火) 04:34:50.18ID:0Yv/wN/p
Objective-Cのキモイ書き方から解放されるっていう意味では歓迎したい
0004デフォルトの名無しさん2014/06/03(火) 04:38:13.14ID:RuKqYDTE
はえーよw
0005デフォルトの名無しさん2014/06/03(火) 04:42:17.80ID:FE8l7XVP
javascriptみたいなやつか?
0006デフォルトの名無しさん2014/06/03(火) 04:49:00.24ID:nzrdKQgu
発表してすぐにドキュメント公開とは、さすが
オープンソースベースのIDEすら未完成のどっかとは違うな
0007デフォルトの名無しさん2014/06/03(火) 04:57:41.31ID:WOckUK4g
LLVMでScalaっぽいのつくりましたって感じか?
マカじゃないから羨ましい悔しい
0008デフォルトの名無しさん2014/06/03(火) 05:25:48.47ID:FE8l7XVP
kindleで配布はよ
ていうかwebでドキュメント公開しないところがいやらしいな
マカー以外も興味ある人多いのに
0009デフォルトの名無しさん2014/06/03(火) 05:38:35.52ID:rEEU5ykv
書籍の形にはなってないけどドキュメント

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
0010デフォルトの名無しさん2014/06/03(火) 05:39:22.69ID:siem544m
やばい、ナウでヤングでいけてる、それで性能もいいというし。
これからiosとosxの開発賑わうのでは?
若者をapple自軍に呼び込む召喚魔法になりそう
0011デフォルトの名無しさん2014/06/03(火) 05:49:11.67ID:QNehfQ3/
開発環境は?
0012デフォルトの名無しさん2014/06/03(火) 05:59:22.34ID:rEEU5ykv
>>11
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/
0013デフォルトの名無しさん2014/06/03(火) 06:10:21.67ID:soMTJmL9
Objective-C と見た目が違い過ぎて笑う。
でも、流石にObjective-Cよりは遅いんじゃないか?
0014デフォルトの名無しさん2014/06/03(火) 06:13:05.29ID:NLcqYubo
はやすぎワラタw
0015デフォルトの名無しさん2014/06/03(火) 06:31:52.93ID:mG676Gbl
TypeScriptに似てるね。
0016デフォルトの名無しさん2014/06/03(火) 06:32:47.09ID:rEEU5ykv
>>13
WWDCではObjective-Cより速いってグラフ出してたけどどうなんだろうな
もともとLLVMを念頭に置いて設計されてるから有利なのかも?
0017デフォルトの名無しさん2014/06/03(火) 06:46:58.26ID:0v65KPbJ
Microsoftをパクってきたのか。
0018デフォルトの名無しさん2014/06/03(火) 06:50:33.89ID:Fqc6zuT2
結局、なんの言語のパクリなのか、まとめといてくれ。
0019デフォルトの名無しさん2014/06/03(火) 06:51:51.09ID:9Ltabfc6
早いよ。 マシンレベルでも最適化されるし言語仕様自体見ても高速に動きそう。
0020デフォルトの名無しさん2014/06/03(火) 06:52:31.51ID:9Ltabfc6
>>18 Clangの発展形。
0021デフォルトの名無しさん2014/06/03(火) 06:56:19.45ID:9Ltabfc6
新しいプログラミング言語 Swift
http://dev.classmethod.jp/smartphone/swift/

米アップル、iOSアプリの新開発言語にSwiftを導入
http://ggsoku.com/2014/06/ios-8-swift/
米アップルは2日(現地時間)、iOS 8に新開発言語「Swift」を導入すると発表した。

Swiftは非常に軽快に動くことが特徴であり、Objective-CとC言語の中間に位置するようなイメージであるという。
コード体系はC言語を踏襲。
CocoaやCocoa Touchに対応することはもちろん、LLVMコンパイラを利用してビルドされる。

LLVM
http://ja.wikipedia.org/wiki/LLVM
LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。

LLVM は、JavaとJava VMの関係のように、まず仮想機械をターゲットとした中間コード(ビットコード)を生成し、その仮想機械向けコードを特定のマシンの機械語に変換する。

playgrounds を使うとインタラクティブに実行できる。
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/largeshot_2x.png
0022デフォルトの名無しさん2014/06/03(火) 07:12:38.78ID:iQXQSz/x
Enumもあるし、Genericsもあるのか。ますますTypeScriptに近いな

Swiftのprotocolっていうのは、TypeScriptのアンビエント宣言のことかな?
0023デフォルトの名無しさん2014/06/03(火) 07:16:40.40ID:iQXQSz/x
タイプセーフ言語らしい。

Type Safety and Type Inference

Swift is a type safe language. A type safe language encourages you to be clear about
the types of values your code can work with. If part of your code expects a
String, you can’t pass it an Int by mistake.

Because Swift is type safe, it performs type checks when compiling your code and
flags any mismatched types as errors. This enables you to catch and
fix errors as early as possible in the development process.
0024デフォルトの名無しさん2014/06/03(火) 08:32:34.25ID:tLJazyzK
1レスでマスターできるSwift言語入門
他言語のよせあつめだから、マスターするにはこれだけで十分w
(まあざっとしか見てないから間違ってたらすまん)

タイプセーフ言語。全般的に型ある。型キャストもある。
Generics搭載、アトリビュートあり

var(変数)とlet(定数)。変数・引数の定義は「名前: 型」の順番
文字列リテラル = よくある文字列クラス。文字列の中で変数展開や関数実行可能
for、for in、while、do while、if、swtchがある。
ループ系はラベルが使えてbreak、continueできるタイプ
switchは、caseにそこそこ色んなモノが使えてFallthroughキーワードでフォールするタイプ

関数はfuncで定義。デフォルト引数と名前付き引数が使える。
可変引数は...、inoutキーワードで引数で戻り値を返せる。クロージャある。アロー演算子もある。

タイプセーフEnum。おなじみのclassとstruct。thisはself。
(たぶん)単一実装継承。インターフェース(protocols)継承は複数可能
overrideキーワード、プロパティ(set、getキーワード)あり
コンストラクタ=init、デストラクタ=deinit。
自動リファレンスカウンタ方式。Weak Referencesあり
extensionで既存クラス拡張可能

例外、try-catchは不明(なし?)
0025デフォルトの名無しさん2014/06/03(火) 08:39:53.35ID:SsmCsZ51
>>20
clang は言語か?
0026デフォルトの名無しさん2014/06/03(火) 08:44:53.58ID:Tlzh3MoL
どっかで見たような言語だな。
0027デフォルトの名無しさん2014/06/03(火) 08:46:43.13ID:va6vQ78Z
米アップル、iOSアプリの新開発言語にSwiftを導入
http://ggsoku.com/2014/06/ios-8-swift/
米アップルは2日(現地時間)、iOS 8に新開発言語「Swift」を導入すると発表した。

Swiftは非常に軽快に動くことが特徴であり、Objective-CとC言語の中間に位置するようなイメージであるという。
コード体系はC言語を踏襲。
CocoaやCocoa Touchに対応することはもちろん、LLVMコンパイラを利用してビルドされる。

LLVM
http://ja.wikipedia.org/wiki/LLVM
LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。

LLVM は、JavaとJava VMの関係のように、まず仮想機械をターゲットとした中間コード(ビットコード)を生成し、その仮想機械向けコードを特定のマシンの機械語に変換する。

http://www.apple.com/apple-events/june-2014/
0028デフォルトの名無しさん2014/06/03(火) 08:49:02.50ID:WvSy6YGV
>>24
例外無いの?
golangと同じかね
0029デフォルトの名無しさん2014/06/03(火) 08:51:46.23ID:L+zlmaIc
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

javascript ジェネレータはよ
■ このスレッドは過去ログ倉庫に格納されています