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

Swiftスレ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/06/03(火) 04:12:21.08ID:rEEU5ykv
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
https://developer.apple.com/swift/
0249デフォルトの名無しさん2014/06/04(水) 16:23:34.44ID:T4v3WcMA
既存の言語と大差ないのだからわざわざ方言増やすなと思わないでもないが、
Objective-Cのランタイム上で動かす都合上しょうがないか。
GCじゃなくてARCなのもそれだけの為だろうし。
0250デフォルトの名無しさん2014/06/04(水) 16:28:25.67ID:WGeQMsM6
>>248 そうそうそんな時代、Netscapeもすぐに出て来た。

ただ、その頃アウトラインフォントを扱えるのはAppleだけだった。

だから出版業会のコンピュータはMac一色になって行った。
0251デフォルトの名無しさん2014/06/04(水) 16:34:07.39ID:WGeQMsM6
>>249 結構今までの最近の言語と親和性は高いと思うけどな。

別に全く解らない外国語になったわけでも無いし、ほとんどの人間が理解出来るだろ。
単に新しい文化を取り入れるために語彙が多少変化したレベルだろ。 気にするほどじゃ無い。 むしろ歓迎してる人間の方が多いんじゃ無いかな。
0252デフォルトの名無しさん2014/06/04(水) 16:43:17.18ID:od/ZDGTp
何のスレだっけ?
0253デフォルトの名無しさん2014/06/04(水) 16:45:28.37ID:b5Hi+AwG
Apple信者が自慢するスレ
0254デフォルトの名無しさん2014/06/04(水) 16:47:13.83ID:OMtzL7Lr
懐古がわめくスレ
0255デフォルトの名無しさん2014/06/04(水) 16:59:33.58ID:2ij5JthN
sωift
0256デフォルトの名無しさん2014/06/04(水) 17:23:31.98ID:7qsqgZJC
適切に練り上げた順当進化。
パラダイムを揺さぶるようなエポックメイキングはない。
Jobs後のAppleらしい。
でもこういうのは普通に便利。
0257デフォルトの名無しさん2014/06/04(水) 17:26:57.82ID:dG12cibU
昔はアップルと言えばビル・アトキンソンだったよなあ
0258デフォルトの名無しさん2014/06/04(水) 17:31:26.40ID:7YhW0iEb
とっつきやすさがObjective-Cとは比較にならん。
0259デフォルトの名無しさん2014/06/04(水) 17:42:07.87ID:vLt86izD
Obj-Cって字面がちょっと変わってるだけで、そんなに難しいもんじゃないんだけどな
っていうか仕様で言ったらSwiftよりコンパクトなんじゃないか
0260デフォルトの名無しさん2014/06/04(水) 17:46:31.42ID:0+neaqeG
>>250
adobeのPostScriptフォントが先だろ
これに対抗してMicrosoftとappleが共同で作ったのがTrueTypeフォント
0261デフォルトの名無しさん2014/06/04(水) 17:47:14.97ID:rqNkJHrW
言語の使いやすさより、リファレンスやサンプルの使いやすさが大事だと思うわ。
俺にとっては言語のポリシーが帰納的に分かるってことが、使いやすい言語だから。

やりたいこと→リファレンス・サンプル漁る→作る→改変→改変→理解。
全部言語仕様を理解する前にこんな感じで使って行くと思うし。
0262デフォルトの名無しさん2014/06/04(水) 18:09:13.32ID:aeQAlcnR
ちょっとスズキ行ってくる
0263デフォルトの名無しさん2014/06/04(水) 18:28:53.69ID:75n0/ZS9
>>259
Obj-Cは言語仕様はシンプルかもしれないけどその分文字列や配列操作等
他の言語だと簡便なインターフェイスを提供されている状況でも
長ったらしいメソッドを呼び出す必要があったから無駄な記述が増えて
結局面倒くさくなってるんだと思う
0264デフォルトの名無しさん2014/06/04(水) 18:30:25.09ID:WGeQMsM6
>>260 そう、当時AdobeはAppleと密接だった。Adobeが潰れそうだった時助けたのがApple.
だからAbobeのPostScriptを使えるのはAppleだけだった。

TrueTypeはその後。

>>261 現代的には正しいと思う。 Swift にはPlaygroundでインタラクティブにデバッグ出来るのが入りやすいと思う。
0265デフォルトの名無しさん2014/06/04(水) 18:58:38.93ID:Wzfw6YqE
結論としては、Obj-Cはクソということでよろしいか
0266デフォルトの名無しさん2014/06/04(水) 19:07:41.13ID:l+0mexgB
Obj-CがクソっていうかObj-Cで縛られてたのが糞
本来CやC++と比較すべきで今どきの高級言語と比較するべき言語じゃない
0267デフォルトの名無しさん2014/06/04(水) 19:33:16.35ID:Dyo1rkeX
let cs = CGColorSpaceCreateDeviceRGB()
let bytes : CMutableVoidPointer = nil
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedFirst.toRaw()) | CGBitmapInfo.ByteOrder32Little
let context = CGBitmapContextCreate(bytes, 128, 128, 8, 512, cs, bitmapInfo)
assert(context)
println("context: \(context)")

出来るもんだな
0268,,・´∀`・,,)っ-○○○2014/06/04(水) 19:53:05.18ID:IxbVXe6H
evalがなきゃLispじゃない
0269デフォルトの名無しさん2014/06/04(水) 19:55:30.57ID:JBQPlllN
先進的で無くても、使い易ければ
いいんだよ

そーいうのは他にやらせておけっての
0270,,・´∀`・,,)っ-○○○2014/06/04(水) 19:57:40.23ID:IxbVXe6H
結局ObjCの資産をそのまま継承するなら
JavaScriptに対するCoffeeScriptとみたいな関係なのかね
0271デフォルトの名無しさん2014/06/04(水) 20:21:53.89ID:tQ3BjKTv
まあメソッド呼び出しはobjc_msgSendでメソッド名渡しなのは変わらんしね
0272デフォルトの名無しさん2014/06/04(水) 20:30:48.98ID:0Kp0kozD
Appleは最終的にObjective-CをSwiftで完全に置き換えようとしているのか?
Appleの人はcoexistとか言ってたけど。
0273,,・´∀`・,,)っ-○○○2014/06/04(水) 20:55:45.48ID:IxbVXe6H
OSXが出たときもJavaが本命でObjCはNeXTコード資産のための
レガシーサポートという位置づけだったのがここまで引きずってるんだから
どう転ぶかは判断しようが無いのでは
0274デフォルトの名無しさん2014/06/04(水) 21:00:10.31ID:7qsqgZJC
Cocoa touchはあいかわらずとっつきにくいんだよな。
0275デフォルトの名無しさん2014/06/04(水) 21:07:26.56ID:xm3VPSs1
>>265
Smalltalk大好きッ子としてはObj-Cは嫌いになれないのだが、同時にC++Loverでもあると表記はキモイことこの上ないのであるよ。

つかObj-Cって割と自由度高いのにApple縛りでものすげぇ損してる感じ。
0276デフォルトの名無しさん2014/06/04(水) 21:08:13.83ID:/kuZAFQe
>>186 出たばかりでもAppleなら問題ないだろう。Core Data + Swift + UITableViewもちゃんと動いている。
0277デフォルトの名無しさん2014/06/04(水) 21:14:58.45ID:u9+TRf9N
インストールディスク買って+VMWareでdeveloper登録からiOSでテストまでやってる人いる?
Swiftを機にiOSアプリやってみたいけどMac高過ぎて
0278デフォルトの名無しさん2014/06/04(水) 21:16:57.44ID:Dyo1rkeX
PlayGround 作った奴天才だな。かなり教育的に使えるわ
0279デフォルトの名無しさん2014/06/04(水) 21:17:35.84ID:xm3VPSs1
>>277
MacMiniでいいじゃん、同じサイズのWindows機より安いと思うぞ。(つかこのサイズだと何故かAtomだらけだし)
0280デフォルトの名無しさん2014/06/04(水) 21:24:49.45ID:yBmYXv9z
アクセス修飾子ってないの?
Java脳なので違和感ある
0281デフォルトの名無しさん2014/06/04(水) 21:27:11.83ID:cQAxVs0p
PlayGroundがブラウザで遊べたらなぁ
職場にMac無いし
0282デフォルトの名無しさん2014/06/04(水) 21:29:50.40ID:UictbWAC
>>35
clang/LLVMを挟むならOS不問にならないものだろうか。
既存のC/C++のライブラリとリンクできたら色々できそうなんだけど。
0283デフォルトの名無しさん2014/06/04(水) 21:43:01.86ID:JBQPlllN
絵文字使える時点でappleは他環境に使わせる気
無いだろねw
0284デフォルトの名無しさん2014/06/04(水) 21:48:06.41ID:Dyo1rkeX
>>283
絵文字って普通の Unicode の絵文字だろ
0285デフォルトの名無しさん2014/06/04(水) 22:07:09.34ID:UictbWAC
Mac持っててもiOS Developer ProgramかMac Developer Program(両方とも$99/year)
に参加してないとXCode 6 betaをダウンロードできないのね。
現状はiOSアプリ開発者が盛り上がってるだけか。
0286デフォルトの名無しさん2014/06/04(水) 22:11:06.04ID:tG9mbRWa
>>282
課題はオブジェクトランタイムかなと思ったけどCore Foundationなんかは既にDarwinでオープンだし、技術的障害はなさそうだからあとはAppleの胸先三寸なのかな。オープン化に期待したいなあ
いやまあobj-cのリプレース目的だけでも大歓迎だけど、ネイティブやれるモダン言語ってC#より低レベル寄りで色々活用できそうだし、地味なwktk感がある

C++1yやDが目指してた世界を、過去のしがらみもVMなしに成し遂げた理想郷…てのは言い過ぎか
obj-c互換はApple的に必須なのはわかるけど、>>271とかちょいひっかかるしw
0287デフォルトの名無しさん2014/06/04(水) 22:15:51.07ID:b9n5cjsp
swiftってmacアプリも開発できるよね?(できるようになるよね?)
0288デフォルトの名無しさん2014/06/04(水) 22:20:09.49ID:Dyo1rkeX
>>287
現段階ではiOSアプリしか作れないとかイカレた勘違いをしてる?
0289デフォルトの名無しさん2014/06/04(水) 22:20:13.83ID:JBQPlllN
うん
0290デフォルトの名無しさん2014/06/04(水) 22:29:28.35ID:OMtzL7Lr
Cocoaだと何度いえば
0291デフォルトの名無しさん2014/06/04(水) 22:53:20.37ID:b9n5cjsp
>>288
なんか自分が見た記事だとiOSのことは書いてあっても
macのことに触れてなかったから不安だった(笑
0292デフォルトの名無しさん2014/06/04(水) 23:19:38.85ID:feLWhvB/
protocolとかnilとかがあれだな
0293デフォルトの名無しさん2014/06/04(水) 23:22:55.39ID:lw8nwtDH
nilってゼロの事でしょ
連想配列をハッシュと呼んじゃうくらいキモイ
0294,,・´∀`・,,)っ-○○○2014/06/04(水) 23:24:46.85ID:IxbVXe6H
Smalltalkからの文化ですがな。
やっぱりRuby使いが惹かれるわけだ。
0295デフォルトの名無しさん2014/06/04(水) 23:47:40.10ID:ZpUZWvA8
Pascalじゃね?
0296,,・´∀`・,,)っ-○○○2014/06/05(木) 00:00:31.18ID:3JZcEM9N
PascalにHashは無いだろ
http://en.wikipedia.org/wiki/GNU_Smalltalk
0297デフォルトの名無しさん2014/06/05(木) 00:12:36.85ID:mHl+sgam
>>281

LightTableから持ってきたらしい。
ちなみにLTの作者は元VisualStudio開発者。
0298デフォルトの名無しさん2014/06/05(木) 00:13:03.81ID:awAmNJBx
これは熱い。メコメコ省略できる
http://qiita.com/uasi/items/0a72bb444002471d832f

let sorted = sort(anArray, { (s1: String, s2: String) -> Bool in
return s1 < s2
})
↓
let sorted = sort(anArray, { s1, s2 in
return s1 < s2
})
↓
let sorted = sort(anArray, { s1, s2 in s1 < s2 })
↓
let sorted = sort(anArray, { $0 < $1 })
↓
let sorted = sort(anArray, <)
0299デフォルトの名無しさん2014/06/05(木) 00:16:34.65ID:9Qbaj8FJ
>>279
アプリ試しに作ってみるためだけに数万もかかるのはちょっと
0300デフォルトの名無しさん2014/06/05(木) 00:20:19.62ID:7TbnobGZ
>>298
うわ、なんだこりゃw
obj-cの反動かとさえ
0301デフォルトの名無しさん2014/06/05(木) 00:25:17.74ID:mHl+sgam
Learn about iOS8
https://developer.apple.com/library/prerelease/ios/navigation/


テンプレプロジェクトをSwiftにしてiOS7の実機で動かしてみたけど、たまにDynamicCastClassExceptionみたいので落ちるのがある。
シミュレータだと大丈夫なので、バグか、それともC#(Xamarin)と実機みたいな関係かな?
0302,,・´∀`・,,)っ-○○○2014/06/05(木) 00:28:50.63ID:3JZcEM9N
Rubyでは当たり前だったりする

このへんはホントRubyの影響大きいと思う。
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html#//apple_ref/doc/uid/TP40014097-CH24-XID_191
0303デフォルトの名無しさん2014/06/05(木) 00:34:30.36ID:/T91KtMA
>>286
clay/llvmとかgoとかそれっぽいけど、
http://claylabs.com/clay/

swiftのほうが、簡潔さと関数型プログラミング要素は強いね。

当然clayやgoと同じようにシステム向けにも向いてる。
0304デフォルトの名無しさん2014/06/05(木) 00:35:17.34ID:JNiK/tgP
1 < 2 の代わりに <(1, 2) とかできるん?
0305デフォルトの名無しさん2014/06/05(木) 00:35:48.12ID:K1IZV/iA
>>298
The Swift Programming Language読み進めてて
とにかくまずそういう「え?これで適切に動くの?」ってのが
ちょいちょい気になって読むのが止まるw
インタラクティブに試せるから
Xcodeで打ち込んで試しながら学べって感じか。
0306デフォルトの名無しさん2014/06/05(木) 00:38:07.04ID:/T91KtMA
>>287
Xcode6-beta.app起動すると、
osxもiosもテンプレプロジェクトに出て来て、
osxはswift/objc/c/c++選べて、
iosはswift/objc選べる。
0307デフォルトの名無しさん2014/06/05(木) 00:42:37.85ID:awAmNJBx
rubyでも
array.sort_by{ |a, b| b <=> a }
array.sort{ |e| e }
array.sort(&:-)
array.sort &:-
とかできるけど
sort(array, <)
には負けた感ある
0308デフォルトの名無しさん2014/06/05(木) 01:00:35.30ID:8eoXOyJj
Obj-Cのメソッドにブロックを渡す時の書き方が変だ
型を宣言しないといけないのか
この辺慣れないとなー
0309デフォルトの名無しさん2014/06/05(木) 01:09:22.54ID:/T91KtMA
>>302
https://github.com/GwenaelCasaccio/gst-traits/wiki/Method-extensions-for-GNU-Smalltalk

あれ?これとは違うの?
0310デフォルトの名無しさん2014/06/05(木) 01:11:14.23ID:wJ9V7wb/
メソッドだけならObjCにもカテゴリがある
0311デフォルトの名無しさん2014/06/05(木) 01:16:01.21ID:fuD6ulgX
appleってこういうの多いな
http://swift-lang.org/
http://en.wikipedia.org/wiki/Swift_(parallel_scripting_language)

https://developer.apple.com/swift/
http://en.wikipedia.org/wiki/Swift_(programming_language)

>Looking for the Swift parallel scripting language? Please visit http://swift-lang.org
って書いてあるぐらいだから話つけてるんだと思うが
0312デフォルトの名無しさん2014/06/05(木) 01:26:48.29ID:QKn3CV7z
SwiftスレはあるのにObjectve-Cのスレがないのはなんでや。オワコンなんか
0313,,・´∀`・,,)っ-○○○2014/06/05(木) 01:28:19.41ID:3JZcEM9N
Mac板の「Cocoaはさっぱり!!!」が本スレ
0314デフォルトの名無しさん2014/06/05(木) 01:34:40.45ID:wuUUC+ej
そのCocoaはさっぱりもなくなってたお(´・ω・`)
0315デフォルトの名無しさん2014/06/05(木) 01:35:43.21ID:/T91KtMA
Wikipediaのは、Chris Lattnerが言及してるからみたいだけど、この人は誰だ!

mentioned directly by Chris Lattner, who specifically calls out "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list"

- See more at: http://glaforge.appspot.com/article/apple-s-swift-programming-language-inspired-by-groovy#sthash.tLMk4cAS.dpuf
0316デフォルトの名無しさん2014/06/05(木) 01:38:17.57ID:/T91KtMA
http://en.wikipedia.org/wiki/Swift_(programming_language)
wikipediaに、Chris Lattnerってちゃんと書いてあった。
0317デフォルトの名無しさん2014/06/05(木) 01:43:24.87ID:mHl+sgam
2010からswift開発始めて、Rustが登場したのは2012年だけど、かなり影響うけてるのか。
0318デフォルトの名無しさん2014/06/05(木) 01:46:18.29ID:2XZ0moAz
>>311
IT系で人気の名前なんだな
0319デフォルトの名無しさん2014/06/05(木) 01:48:51.79ID:/T91KtMA
現在のApple WWDCアプリがSwift製だそうな。
0320デフォルトの名無しさん2014/06/05(木) 04:37:27.76ID:wxkXNxXK
きめぇw
http://image.itmedia.co.jp/ait/articles/1406/03/siwftbeta02.jpg
0321デフォルトの名無しさん2014/06/05(木) 04:40:05.58ID:82BFuaye
もうアップルの頭の中は
中共>日本なんだな
0322デフォルトの名無しさん2014/06/05(木) 04:46:04.60ID:fa/xOZ3s
昔はコンピュータに中国語や韓国語があると
ウィルスに感染したか!?くらいのイメージだったもんだが、
いつの間にかプレゼンスを奪われましたね、日本。
0323デフォルトの名無しさん2014/06/05(木) 04:50:03.37ID:Iunw+H6u
なぁ、なんでconstがletなんだ?
0324デフォルトの名無しさん2014/06/05(木) 04:54:18.65ID:ItySY5z9
これか
無線LANルーター更新でウイルス バッファロー
http://www.chunichi.co.jp/s/article/2014060390170941.html
 パソコン周辺機器大手のバッファロー(名古屋市)がホームページで掲載していたプログラムが改ざんされ、
更新などのためにこれをダウンロードするとウイルスに感染する状態になっていた。
感染したままインターネットバンキングを利用すると、IDやパスワードが漏れる恐れがある。

 同社によると、5月27日午前6時すぎからの約7時間にわたり、
同社の無線LANルーターや外付けハードディスクなどをパソコンで使用するために使う10のプログラムに、
ウイルスが混入していた。発覚後、サービスを停止したが、856件のダウンロードがあったという。

 27日午前10時ごろ、利用者から「プログラムを実行したら、中国語のメッセージが表示された」という連絡があり、発覚した。

(後略)
0325デフォルトの名無しさん2014/06/05(木) 04:57:52.99ID:8eoXOyJj
>>323
rustの影響かな?
0326デフォルトの名無しさん2014/06/05(木) 06:58:50.41ID:mQa+SLGK
C++そのまま呼び出せんのかな?
いつもOS依存箇所だけはObj-Cで書いて、それ以外はC++でコーディングしてた
0327デフォルトの名無しさん2014/06/05(木) 07:18:35.52ID:XqFykZgR
>>326
C++は流石に無理。CかObj-Cでラップしないと
0328デフォルトの名無しさん2014/06/05(木) 07:28:04.45ID:pksLVqXr
letとか分かりにくいな。constとかfinalはfixがいい
0329デフォルトの名無しさん2014/06/05(木) 07:30:14.84ID:OarRmHyJ
let は恥ずかしくて使えないな
0330デフォルトの名無しさん2014/06/05(木) 07:52:58.14ID:XFIZn5Ul
>>326
受口をextern "C"しておけばそのまま呼び出せるでしょ。
今までもObjective-C++として使ってなかったのなら、そうしてたはず。
0331デフォルトの名無しさん2014/06/05(木) 08:01:26.50ID:OarRmHyJ
中江有里
0332デフォルトの名無しさん2014/06/05(木) 08:51:39.10ID:BcBKMn/M
let s = 'go'
0333デフォルトの名無しさん2014/06/05(木) 08:55:02.24ID:v0mN5gE+
let it = 'go'
0334デフォルトの名無しさん2014/06/05(木) 08:59:59.18ID:23MIBYyX
>>278 まさにコンピュータ教育を意識して作ったらしい。

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

Swift の考案者は、LLVM創設者の Chris Lattner だそうだ。

documentation guru と同様に compiler optimization ninja と言う言葉が使われてるのは面白い。 それと dogfooding group
(テストグループ)とか、いつも内部で使ってるんだろうな。

すごく面白いから一読を勧める。
特に
Swift's Interactive Playgrounds & REPL

"I hope that by making programming more approachable and fun,
we'll appeal to the next generation of programmers and to help redefine how Computer Science is taught," Lattner stated.

Apple notes that the REPL debugging console in Xcode "includes an interactive version of the Swift language built right in.
Use Swift syntax to evaluate and interact with your running app, or write new code to see how it works in a script-like environment."
0335デフォルトの名無しさん2014/06/05(木) 09:20:29.95ID:XW7Omk0c
>280
ドキュメントのソース部分以外ほとんど見てないから想像だが
export で指定したものが他のモジュールから見えるのだと思われる
デフォルトが private で export で指定したものだけ public ?
C言語や関数型の言語と同じような指定の仕方か

環境使える人詳しく教えて
0336デフォルトの名無しさん2014/06/05(木) 09:28:26.87ID:23MIBYyX
>>282 出来るだろ。  >>293 0 じゃなくて NULL と同じ
>>323 >なぁ、なんでconstがletなんだ?
let j = i
と言う使い方も有り、必ずしも定数とは限らないから。 これ以降変化しないよと言う定義。
0337デフォルトの名無しさん2014/06/05(木) 11:02:18.15ID:oKmamV8t
let j = i って英語だとどういうニュアンスなんじゃろ
0338デフォルトの名無しさん2014/06/05(木) 11:24:31.82ID:fhxWm8Xr
単純にiをjにするってニュアンスじゃないの?

直接的には、iがimmutableってニュアンスは無いと思うけど、
いまはimmutableな変数をなるべく使うべしって流れがあるからletにその役目を与えて、
mutableには別のvarって構文を用意したと

Rustはimmutableもmutableもletで宣言するけどデフォルトはimmutableで、
mutableな変数を定義するときにはlet mutとかするねえ
0339デフォルトの名無しさん2014/06/05(木) 12:46:01.63ID:VmoRAZhY
letは値や式に一時的に名前を付けるイメージじゃないかな。数学で言うところの〜と置く、みたいな。letって言葉を使ってるのはHaskellとかの関数型言語に合わせたんじゃないだろうか。
varはvariable=変数=変化するもので、容れ物や箱やメモリそのものみたいなイメージ。
mutableかimmutableかの違いだけにみえて、内部実装的にもかなり取り扱いが違うんじゃないかと予想。
0340デフォルトの名無しさん2014/06/05(木) 13:01:00.00ID:/748C5a2
letはBASICの代入文を思い出す
0341デフォルトの名無しさん2014/06/05(木) 13:01:33.97ID:/lL990/k
日本のプログラミング教育はSwiftでいいんじゃね
世界でiPhoneシェア一番高い国だし
0342デフォルトの名無しさん2014/06/05(木) 13:04:11.37ID:ICYd1xse
http://togetter.com/li/675599

>Swiftの関数はHaskell風。これはいい。マシン語が透けて見える。CPUの歓声が聞こえてきそうだ
0343デフォルトの名無しさん2014/06/05(木) 13:07:28.65ID:23MIBYyX
Appleの新プログラミング言語、Swiftを使って半日くらいでFlappy Birdのクローンが書けた
http://jp.techcrunch.com/2014/06/05/20140604a-developer-cloned-flappy-bird-using-apples-new-programming-language-swift-in-a-matter-of-hours/
以前の開発言語、Objective-Cに比べて、Swiftに新たに備えられた高度な機能がデベロッパーの生産性を大きく向上させるだろうという予測が実証されたかたちだ。

Murrayは実際に使ってみて「新しくiOSアプリの開発に取り組むプログラマーに対してハードルを下げる「というAppleの目標は達成されたと考えている。
Murrayによれば、Swiftの大きなメリットの一つはPlaygroundsと呼ばれる機能だという。
ここではコードを編集しながら、それが実際にどう動作するかをリアルタイムで見ることができる。

「4時間よりはかかったが9時間まではかかっていない。ログによると空のフォルダーからデモが作動するようになるまで9時間近くかかっているが、その間に食事もしたし、子供を寝かしつけたりしていたのでね」と語った。

ソースコード
https://github.com/fullstackio/FlappySwift
0344デフォルトの名無しさん2014/06/05(木) 13:11:20.47ID:fhxWm8Xr
>>343
まだシンタックスハイライト対応してないのかwがんばれGithubちゃんw
0345デフォルトの名無しさん2014/06/05(木) 13:41:38.15ID:5c6Sl3cl
多分constじゃないのはletが代入の可否を返す式だからだと思うよ
if let it = go {it.foo()}(実質「goがnilじゃない場合foo()を実行」と同義)
みたいな使い方するみたいだし

>>267
言語的に特別扱いしないでC言語周りが使えるのは何気に凄いな
0346デフォルトの名無しさん2014/06/05(木) 14:00:04.98ID:epSx9FaU
ifの比較と代入間違える凡ミスをなくすための
let強制だとしたらいくらなんでもやり過ぎだな
0347デフォルトの名無しさん2014/06/05(木) 14:01:03.50ID:fhxWm8Xr
>>345
letが値を返す式というわけじゃ無いと思うが自分は確かめるすべが無い
Language Reference見る限りifの次に式か宣言の両方が書けるということになってる

let 〜は宣言で、宣言は式じゃないから
let a = let b = 0
みたいには書けないんじゃないかな?
0348デフォルトの名無しさん2014/06/05(木) 15:40:25.97ID:MTRKCqc9
オブジェクト指向は愚かな考え。
http://peace.2ch.net/test/read.cgi/tech/1393660194/
■ このスレッドは過去ログ倉庫に格納されています