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

Swift part2

レス数が1000を超えています。これ以上書き込みはできません。
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よりさらに遅くなる
0056デフォルトの名無しさん2014/06/16(月) 12:46:18.66ID:3s3EPRTM
ttp://swift.apidocs.jp/
ここも凍結しちゃったじゃねーか
0057デフォルトの名無しさん2014/06/16(月) 13:30:59.52ID:BA4Vlqjx
どこも凍結するぐらいなら丸翻訳じゃなくて自分の言葉で解説書こうって気概がないのかね
0058デフォルトの名無しさん2014/06/16(月) 13:32:22.27ID:3s3EPRTM
気概はある
ただ実力が伴わないだけ
0059デフォルトの名無しさん2014/06/16(月) 13:42:29.53ID:ltNmrQ8C
丸翻訳でも俺は嬉しいな。
ただ間違いなどは放置せずにできるかぎり早く修正してほしい。(あ、別にswiftのサイトでなく一般的にね)
0060デフォルトの名無しさん2014/06/16(月) 13:59:02.60ID:M1XKpz/c
>>55
Obj-C初期のころはそれを手動でやってたからそんなに変わらない気もするけどな
0061デフォルトの名無しさん2014/06/16(月) 14:56:29.40ID:dput4ev1
>>60
いや、少なくとも自分のインスタンス変数にアクセスするときはretainの必要なんてないでしょう

あとIntとかの数値型が単なる値なのかオブジェクトなのかがよく分からん
直感的には、仕様上はオブジェクトだが静的な最適化で可能な限り値にしているという印象なんだけど
0062デフォルトの名無しさん2014/06/16(月) 17:12:38.11ID:+UN+TPrq
>>56
また我々の完全勝利か
敗北を知りたい
0063デフォルトの名無しさん2014/06/16(月) 18:36:41.24ID:E0bC6emx
訳してわかりやすくなるものでもないんだけどなぁ。

プログラミング自体が初めての人でも読み通せるような二次ドキュメントはそのうち出るだろうし、低年齢層向けには自分でも書く予定。
0064デフォルトの名無しさん2014/06/16(月) 18:54:11.62ID:dput4ev1
勝手に訳した文章にAppleのcopyright付けちゃマズイだろw
0065デフォルトの名無しさん2014/06/16(月) 19:23:46.39ID:gRT3C4t/
>>63
早く書いて下さいオナシャス(´・ω・`)
0066デフォルトの名無しさん2014/06/16(月) 21:20:23.87ID:AQ6Cimo3
smalltalk から入ると java よりも OvjectiveC のスクリプトの方がうれしんだけど
だれかwindows版作ってください
0067デフォルトの名無しさん2014/06/16(月) 21:36:56.07ID:BA4Vlqjx
ドザ版とかつくってもライブラリ無きゃ意味ないやん
ObjCの遺産があるわけでも無しに
0068デフォルトの名無しさん2014/06/16(月) 21:48:29.87ID:3s3EPRTM
Windows版が出てもGUIを弄れるようになるのは何光年も先の話だろうね
0069デフォルトの名無しさん2014/06/16(月) 21:50:24.82ID:WJ0/S+Ea
github上の中国語翻訳プロジェクトは9日間で完成したらしいな。翻訳ドキュメント用意しろって1番うるさくて英語が出来ないのが日本人なのに馬鹿だよね。
本を売りたい奴ら、新規参入で自分達の優位性が無くなるのを恐れた奴らがわざと足引っ張った感じ?
勝手に翻訳したらAppleに訴えられるとか本気で言ってるならマジで寒い。営利目的じゃなければ見て見ぬ振りするっての。Appleに問い合わせなんかしたら会社的に認めないって言うしか無いだろ。
お利口に規約を遵守するならNDA以外の利用規約もちゃんと守れよ。
0070デフォルトの名無しさん2014/06/16(月) 21:57:51.99ID:3s3EPRTM
あの規約をそのまま受け取れば、Swift本のサンプル使って説明してるブログもアウトだしな
翻訳プロジェクトに反対するなら、そういったブログにも文句言わなきゃ筋が通らないわな
0071デフォルトの名無しさん2014/06/16(月) 21:58:42.34ID:HGi5iAee
守ってるよ
0072デフォルトの名無しさん2014/06/16(月) 22:00:24.85ID:AQ6Cimo3
>>67-68
clojureとか見てると、やりようによってはいきなり.netやらwin32apiとかサクサク使えるようになるかも知れん
0073デフォルトの名無しさん2014/06/16(月) 22:28:01.31ID:BA4Vlqjx
>>69
まーだグチグチ言ってんのかよ女々しい奴
そんなに勝手訳が素晴らしいことだと思ってるんなら他人の顔色うかがってないでてめえが旗振れよ
それができないならアホみたいに口開けて餌運ばれてくるのを一生待ってろ豚が
0074デフォルトの名無しさん2014/06/16(月) 22:30:41.88ID:AQ6Cimo3
勝手訳を作るヤツより、勝手訳見て事故起こしたときにAppleを訴えるヤツが悪いのではなかろうか
0075デフォルトの名無しさん2014/06/16(月) 22:41:05.23ID:18/brz6L
>>69
濱田乙
0076デフォルトの名無しさん2014/06/16(月) 22:42:18.81ID:tCP0KEn8
まーた濱ちゃん暴れてるのか
0077デフォルトの名無しさん2014/06/16(月) 22:55:48.29ID:x9oldJaG
規約はダシにされただけで実際は売名とか他人任せなとこが嫌われただけじゃね
0078デフォルトの名無しさん2014/06/16(月) 22:59:05.66ID:yw/t4LyK
>>77 全くその通り。
0079デフォルトの名無しさん2014/06/16(月) 23:31:39.45ID:gRT3C4t/
>>69
ほんっと何で善意の翻訳プロジェクトを邪魔するのか理解不能だわ
翻訳されることによってより多くの開発者が助かるというのにさ
0080デフォルトの名無しさん2014/06/16(月) 23:39:58.59ID:ftLcq8Y3
>>79 完成してから呼んで
0081デフォルトの名無しさん2014/06/16(月) 23:40:30.32ID:3s3EPRTM
日本の若き才能の芽が正義感という自己満足を振りかざした心無い者たちの所為でつぶされてしまったな
他国に先んじる滅多にないチャンスだったのに
これで他国に一歩も二歩も遅れをとってしまったな
0082デフォルトの名無しさん2014/06/16(月) 23:41:41.47ID:sBVMujwv
英語読めない馬鹿が使えないままのほうがいいと思う
0083デフォルトの名無しさん2014/06/16(月) 23:42:28.70ID:fY9h/cwD
他国が作ったものを翻訳したら他国に先んじれるのか。凄いな。
0084デフォルトの名無しさん2014/06/16(月) 23:45:28.62ID:3s3EPRTM
他国とは当然英語圏以外の国な
文脈からそれぐらい読み取れるだろう普通
0085デフォルトの名無しさん2014/06/16(月) 23:46:03.57ID:WJ0/S+Ea
>>71
バイナリをnmしてPrivate API調べただけでリバースエンジニアリングでdeveloper規約違反なんだが、この板の連中で守れてる奴がどれだけいるのか
>>73
俺はiBooksで間に合ってるから黙ってろよクソ豚
>>77
それはあるな。ただ濱田以外の所にも飛び火してるのがちょっと可哀想だ
0086デフォルトの名無しさん2014/06/16(月) 23:56:27.74ID:jY0XhzMd
>>82
同意
0087デフォルトの名無しさん2014/06/17(火) 00:06:41.13ID:FcISIoA9
誤訳が氾濫して混乱を起こすのは最悪。やっぱり技術文書くらい英語で読めないとやってけないよね
0088デフォルトの名無しさん2014/06/17(火) 00:11:13.80ID:2S+o/3pR
若くて才能があるならObjective-Cで既に先行ってますから
0089デフォルトの名無しさん2014/06/17(火) 00:13:30.13ID:p+hPxJPg
若くも才能もない濱田は放っておいてやれよ!
0090デフォルトの名無しさん2014/06/17(火) 00:16:09.46ID:UVOdvWvQ
これは有志が立ち上がり意地でも翻訳プロジェクトを完遂させなければならない
今から金勘定して本出版を目論む亡者達、新たな才能を恐れ新規参入の芽を潰すエゴイスト達
こいつ等をギャフンと言わせようぜ!
0091デフォルトの名無しさん2014/06/17(火) 00:37:03.92ID:xYou/7+0
他力本願寺
0092デフォルトの名無しさん2014/06/17(火) 00:42:40.40ID:EhbdkIy4
なんかこれ思い出すわ


アプリ作らない人のツイート 「スマホアプリ作りたい」 「アプリ開発チームを作ろう!」 「土台作りスタート!」 「○○さんとお話なう!」 「社会勉強!」 「日々謙虚に吸収!」
アプリ作る人のツイート 「アプリ作った」
0093デフォルトの名無しさん2014/06/17(火) 01:47:18.15ID:Xb59l5TK
>>90
プログラミングを本格的にやりたいなら、英語くらい読めた方が良いよ。
0094デフォルトの名無しさん2014/06/17(火) 02:02:59.70ID:VOjcWHh/
プログラム経験バリバリでIT用語にも馴染み深い人には英語のドキュメントでもいいんだが
プログラマーの裾野を広げるためには初心者向けはやはり日本語のドキュメントは大切だと思う
いきなりコンスタントとかクロージャとか英語で説明されてもピンとこないだろ
誰でも最初は初心者だ
お前らだった最初は日本語で勉強したんだろ
0095デフォルトの名無しさん2014/06/17(火) 02:04:35.42ID:Yopuhdk9
翻訳がないと他国に遅れを取る理論が江戸時代っぽくて最高にクール
0096デフォルトの名無しさん2014/06/17(火) 03:48:13.58ID:Komm/YfG
流石にあの仕様書読むのは辛いからもう少しチュートリアル的なドキュメントは欲しい
Cookbook的なものもあれば楽なんだが
0097デフォルトの名無しさん2014/06/17(火) 05:31:09.13ID:UVOdvWvQ
>>94
だな
0098デフォルトの名無しさん2014/06/17(火) 06:18:52.56ID:aNY4Egoq
神聖なるAppleのドキュメントをジャップごときが勝手に訳すことがないように
監視体制を強めていかなければならないな

各自Googleを使ってチェックするように
https://www.google.co.jp/search?q=Swift+%E6%97%A5%E6%9C%AC%E8%AA%9E+%E7%BF%BB%E8%A8%B3
0099デフォルトの名無しさん2014/06/17(火) 06:21:52.40ID:sVE27yyD
日本語訳ドキュメントの有無に関係なく初心者にリリース前のベータ版を使って勉強させるのは願い下げだ
0100デフォルトの名無しさん2014/06/17(火) 07:32:16.10ID:a93mABTY
>>94
お前は日本語でも理解力がなさそうだな。
0101デフォルトの名無しさん2014/06/17(火) 07:55:55.79ID:nAQIflRG
>>94
今あるAppleのSwift本はオブジェクト指向プログラミング言語の経験者向けだよ。
定数やクロージャすら知らない初心者にあのSwift本を和訳してあげたところで大した意味はない。
そういう初心者向けにはイロハのイから説明した日本語の本が出るのを待つしかない。
0102デフォルトの名無しさん2014/06/17(火) 08:42:19.60ID:zbdw9uCY
積極的にプログラマーの裾野を広げようとはしてないよね
ローカライズの仕組みはあるのにXCodeのUIすらローカライズしてないし
0103デフォルトの名無しさん2014/06/17(火) 08:47:48.17ID:EhbdkIy4
Xcodeの英語に困るようなら煽り抜きでプログラマ辞めた方がいいな
0104デフォルトの名無しさん2014/06/17(火) 09:21:42.13ID:jiv8bNny
日本からは殆ど生み出して無いのに、日本語訳が無いと出来ません、って言われてもねえ。
0105デフォルトの名無しさん2014/06/17(火) 09:28:42.80ID:6/yqchRO
次スレはこっちでいいな
やはりム板に立てるのは無謀だった

プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/

新言語Swiftを語るスレ
http://anago.2ch.net/test/read.cgi/mac/1401736249/
0106デフォルトの名無しさん2014/06/17(火) 09:37:18.13ID:zbdw9uCY
>>104
アプリ売り上げにはめっちゃ貢献してるで
http://gamebiz.jp/?p=126558
0107デフォルトの名無しさん2014/06/17(火) 11:28:04.74ID:2YPy4J45
他の開発者を一人でも蹴落とすことに必死なお前らが
プログラマの裾野を広げるとか興味あるわけねーよな
0108デフォルトの名無しさん2014/06/17(火) 12:04:18.99ID:uBPGBfxJ
さて、githubのissueで噛み付いてた人たちをウォッチしておくといいよw
本を売ったりなんかすると思うからw
どうせ自分が手動で何かをやりたいけど先にこされたから抵抗してたんだろうよ
0109デフォルトの名無しさん2014/06/17(火) 12:06:13.93ID:uBPGBfxJ
>>37
潰せっていうのはこのサイトを潰せ→サーバを落とせとも捉えることもできるからこれは立派な犯罪行為ですね
>>37を通報しましたよ
0110デフォルトの名無しさん2014/06/17(火) 15:12:27.40ID:FaIP8kLE
>>102>>103
Xcodeをローカライズしてもほとんどカタカナ英語になるだけだろう
0111a2014/06/17(火) 15:13:37.81ID:XdHfRnpM
2.xぐらいまではローカライズされてた気がするが
0112デフォルトの名無しさん2014/06/17(火) 15:20:03.97ID:sWUjkYM4
3.2とかバリバリ日本語だべw
0113デフォルトの名無しさん2014/06/17(火) 16:32:17.37ID:Komm/YfG
日本人っておせっかい多いよね
本家が言うまでほっときゃいいのに
Appleの社員かよと
0114デフォルトの名無しさん2014/06/17(火) 18:13:04.98ID:A2Fzv5xG
×日本人
◎アホー信者
0115デフォルトの名無しさん2014/06/17(火) 21:59:11.58ID:Om/Us7f8
英語読めない奴は先にscalaやっとけ
0116,,・´∀`・,,)っ-○○○2014/06/17(火) 22:51:45.71ID:s/WEXBT5
>>106
ガチャ商法の賜物だな。
日本のデベロッパーの作るものなんてブラウザベースで動くソーシャルゲームの延長よ。
0117デフォルトの名無しさん2014/06/17(火) 23:13:44.86ID:ZxrOKsTJ
おまいらが濱田さんの妨害をするから俺がswiftを学ぶ機会を奪われた
0118─☆─ [ X | I.I.T. ] COURANT DE CONSOLE ◆T1993q9cOh.1 2014/06/18(水) 00:55:10.42ID:rmzFerqe
素直にDarkBASIC使えばいいのにw
0119デフォルトの名無しさん2014/06/18(水) 04:23:46.22ID:LMVkbaIe
NG推奨ワード: ○○○
0120デフォルトの名無しさん2014/06/18(水) 07:37:42.18ID:SROYhCqR
>>69
日本のIT()はもうだめだよドカタばっかだし
技術情報ぐぐっても中国語のサイトがヒットするケースがすごく増えた
日本のサイトでヒットするのは古い情報ばかり

>>82
同意せざるを得ない

>>92
どっかのお役所が日本版ジョブスを作るのにベンチャー募集で補助金上限300万円ってのを思い出したわ
0121デフォルトの名無しさん2014/06/18(水) 07:56:49.25ID:LMVkbaIe
終わった話を何故濱田は蒸し返すのか
0122デフォルトの名無しさん2014/06/18(水) 09:47:02.92ID:udO7Q6yE
なにこの濱田スレ
0123デフォルトの名無しさん2014/06/18(水) 09:51:16.27ID:p9NOTyh8
濱田愛は別のスレで語れよ
0124デフォルトの名無しさん2014/06/18(水) 10:06:15.09ID:rt76yU1l
濱ちゃん、アウトぉ〜
0125デフォルトの名無しさん2014/06/18(水) 11:24:03.95ID:SO+OzQPt
園田さんは日本でswiftを学びやすい環境を作るために持ち前のリーダーシップを発揮するところだったんだ
それを一部のキチガイが妨害した
0126デフォルトの名無しさん2014/06/18(水) 11:25:32.00ID:UBihpAsi
オープンソースでも何でもだけど、ある程度作って形になるものができてから公開するほうがみんなのため
0127デフォルトの名無しさん2014/06/18(水) 12:10:28.26ID:X4fLb7Lk
率先して翻訳してる人にも物言い付けてる奴らがいるけどな。
ていうかもうその話はいいから言語の話しようぜ。
0128デフォルトの名無しさん2014/06/18(水) 12:14:12.49ID:Zr1VoXu0
HaskellとかLispとか面倒くさい概念山盛りの言語ならともかくSwiftくらいなら英語でも十分だろ
0129デフォルトの名無しさん2014/06/18(水) 12:33:30.92ID:wLts3cNa
なんかプログラミングやったことないやつが興味を持ってる様なので、、、
最初は他の言語とかわらねえけどなあ
0130デフォルトの名無しさん2014/06/18(水) 13:10:07.46ID:SO+OzQPt
Go言語の翻訳は良くてSwiftはなんでいけないんだよ!濱田さんはなお前らと行動力が違うんだよ
0131デフォルトの名無しさん2014/06/18(水) 13:21:55.24ID:FL3w6NWr
翻訳してなかったからダメだったんだろ・・
0132デフォルトの名無しさん2014/06/18(水) 13:24:52.54ID:SO+OzQPt
嫉妬乙
0133デフォルトの名無しさん2014/06/18(水) 13:25:06.72ID:g+Ah9yuL
別に翻訳待たなくても日本語で解説してくれてるブログとかいっぱいありますし…
とりあえず濱田はさっさとこのスレから消えてくれませんかねぇ
0134デフォルトの名無しさん2014/06/18(水) 13:33:35.17ID:4JJBGbJ7
おまいらがそうやって園田さんを追い詰めるイコール日本のリーダーが海外に行ってしまうんだよ
0135デフォルトの名無しさん2014/06/18(水) 14:00:57.39ID:453IuISd
濱田はリーダーじゃなくてただの癌だろ
海外行ってくれた方がありがたいわ。英語出来ないみたいだから無理だろうけど
0136デフォルトの名無しさん2014/06/18(水) 14:47:43.17ID:DWPLO9ki
濱田はiBooksを丸々盗んでXHTML,CSSフォーマットはそのまま使って文章だけ変えようとしたんだぞ。 それ自体許される事ではない。
翻訳以前の話。 epub は iBooksを盗んできたXHTMLのまま。 それ自体禁止された行為。

そもそもそんなんでまともな翻訳が出来る訳が無い。 だから誰も参加しなかったんだよ。
どんなあほでもせめて HTMLにはするだろ。 HTMLでも編集しづらいけど。

日本人の恥さらしは消えた方が良い。
0137デフォルトの名無しさん2014/06/18(水) 15:54:33.33ID:4zfTpjTw
嘘を付いたら訴えられるぞ
0138デフォルトの名無しさん2014/06/19(木) 11:00:11.79ID:BcmtgtjI
嘘そのもので訴えられることはないだろ
それによって被害をこうむったとか株価操作の疑いがあったとか
0139デフォルトの名無しさん2014/06/19(木) 12:09:32.58ID:hpF6FD1z
これからものすごい数のswift本ラッシュが来るで。
0140デフォルトの名無しさん2014/06/19(木) 15:45:47.33ID:0DBpyS/Q
先取り!Swift
https://gihyo.jp/dp/ebook/2014/978-4-7741-6609-4
epub本
75ページで600円はボリ過ぎ
内容なさ過ぎみたい。

こっちは本じゃ無いけど、まとまってる。
プログラミング言語Swift日本語チュートリアル ~ 前編(Apple公式ドキュメントSwift Tour±α
http://xavier.hateblo.jp/entry/2014/06/12/223346

[iOS][Mac] Swift を学べる記事のまとめ
http://dev.classmethod.jp/smartphone/iphone/learn-swift/
0141デフォルトの名無しさん2014/06/19(木) 16:06:23.90ID:QOqR9llH
さっそく関係者さん宣伝ごくろうさまです
0142デフォルトの名無しさん2014/06/19(木) 16:34:27.12ID:0DBpyS/Q
? 少なくとも売ってる物はけなしてるんだけど?

公式本が良く出来過ぎてるから、下手な解説本はけなされるだろうな。
無いよりはマシかもしれ無いけど。
0143デフォルトの名無しさん2014/06/19(木) 16:40:25.02ID:QOqR9llH
宣伝4ね
0144デフォルトの名無しさん2014/06/19(木) 16:41:09.80ID:BcmtgtjI
宣伝されると困る人がいるようだw
0145デフォルトの名無しさん2014/06/19(木) 16:58:57.63ID:umgUaSFH
それは濱田さ
0146デフォルトの名無しさん2014/06/19(木) 19:05:51.88ID:LVCYZZpV
iOS本を書いてる作者を見るとSwiftをまともに解説できる作者がいるとは思えない
型推論ありの静的言語を使ってまともなプログラムを書いたことのあるプログラマーは少ないし
0147デフォルトの名無しさん2014/06/19(木) 20:06:49.40ID:YGWyXUme
まともなプログラマなら型推論有りの静的言語書いた事ぐらいあるだろ普通……
そんな珍しいものでもあるまいし
0148デフォルトの名無しさん2014/06/19(木) 20:10:12.15ID:LykmxWBZ
iOSとか本自体が増えたから一部に不適格者は居るだろうけど
一部を見て全体を貶めようとするのは、個人的な憂さ晴らしでしかないからマトモに取り合う必要はないだろ
0149デフォルトの名無しさん2014/06/19(木) 20:17:26.39ID:HRCPZ4Ny
>>140
まだまだプレリリースだというのに早漏だのう
0150デフォルトの名無しさん2014/06/19(木) 20:27:06.05ID:EnR6mUtN
>>140
75ページって、Swift本の詳細を端折って意訳した感じかな
しかも3人の共著
よっぽど急いで出したかったんだね
0151デフォルトの名無しさん2014/06/19(木) 21:08:53.96ID:kFn3RAhT
>>140
一番上の本、epubで75Pしかないのに600円とかwwwwwボッタクリもいいところだなw
こういう奴等が善意の翻訳プロジェクトをことごとく潰したりしてる気がするなぁ
この3人の著者は要注意に入れて俺はこいつらの本は絶対に買わないと心に決めた
0152デフォルトの名無しさん2014/06/19(木) 21:21:15.81ID:hED1WWRp
他力本願で自分で訳す気ゼロの濱ちゃんとは言え、潰したのは許せねえ
見ていろよ濱田! お前の仇は取ってやる!!
0153デフォルトの名無しさん2014/06/19(木) 21:24:59.53ID:zIYLi9WT
まだ茶番続くのかよ
0154デフォルトの名無しさん2014/06/19(木) 22:14:30.94ID:HRCPZ4Ny
クラスメソッド特有の、先行者利益狙いの内容の薄い本だわ
クラスメソッドはiOS7のときの怒濤の記事数と反比例した内容の薄さにもビックリしたが…
0155デフォルトの名無しさん2014/06/20(金) 08:40:48.51ID:E70jMkdF
75Pで600円?
安いじゃないか

同人誌としては
0156デフォルトの名無しさん2014/06/20(金) 10:56:24.96ID:CCZRVeL/
なに?Swiftちゃんの薄い本だと!?

いきなり擬人化から入る日本人としては、解説本より先に夏には萌え本が出ると思います!
0157デフォルトの名無しさん2014/06/20(金) 11:31:01.87ID:IQz8StZM
LLVMの可愛い同人誌はもうあるしな
0158デフォルトの名無しさん2014/06/20(金) 11:50:20.92ID:rYyNUA8p
LLVMはメタルドラゴンだろ。一体どんな同人誌だよ…
0159デフォルトの名無しさん2014/06/20(金) 12:57:23.02ID:NyETg04V
swift使えば海外送金も簡単になりますか?
0160デフォルトの名無しさん2014/06/20(金) 12:58:49.77ID:0PgNV7xO
>>159
なりませんよ
0161デフォルトの名無しさん2014/06/20(金) 13:35:27.40ID:ltBAGUPz
あからさまの宣伝だと叩かれるから悪口言ってるふりをした誘導宣伝うぜえな
0162デフォルトの名無しさん2014/06/20(金) 13:48:19.15ID:13YA0ieC
自分で取捨選択できないやつにかぎってそんなこと言うんだよな
0163デフォルトの名無しさん2014/06/20(金) 16:30:17.45ID:a0oeUuGM
濱田か
0164デフォルトの名無しさん2014/06/20(金) 17:07:22.05ID:PmYa9Irn
とりあえず皆と同じように叩いとけば良いとかいう風潮危険
濱田とかいうのが叩かれてるのは2chコピペのアフィリエイトが叩かれてるのと同じ感じがする
0165デフォルトの名無しさん2014/06/20(金) 17:10:31.82ID:3e7ZxbC3
つまり叩かれて当然ってことか
0166デフォルトの名無しさん2014/06/20(金) 17:11:39.48ID:kEPVLal9
>>164 自分の目で見たのか? ひどい物だったぞ。
Githubは、iBooksのコピペ。 訳は一切なし、翻訳結果の所有権は自分に有る主張。
Webの方は、広告だけで一切自分の書いた物なし。
0167デフォルトの名無しさん2014/06/20(金) 17:13:10.40ID:PmYa9Irn
そうか、それは叩かれてもいいかな
0168デフォルトの名無しさん2014/06/20(金) 17:14:45.81ID:CCZRVeL/
>>159
むしろ面倒だろSWIFT……というか海外送金自体が面倒だし……
0169デフォルトの名無しさん2014/06/20(金) 17:16:51.10ID:vduwxYH8
広告なんて一切なかったけどなw
必死だなw
0170デフォルトの名無しさん2014/06/20(金) 17:50:47.25ID:JctBwY7H
>>169
よう濱田
0171デフォルトの名無しさん2014/06/20(金) 19:53:31.53ID:lZjD2ymP
>>161
褒める==>ageうぜえ
貶す==>炎上ステマうぜえ
マスゴミ脳だね。
0172デフォルトの名無しさん2014/06/20(金) 20:34:28.42ID:rYyNUA8p
>>166
> 翻訳結果の所有権は自分に有る主張。
マジかよw
むしろこういう奴が舵を取ろうとした事が有志の日本語翻訳コミュニティの形成を阻害させたな
0173デフォルトの名無しさん2014/06/20(金) 20:38:23.94ID:fiYVjyLm
プロフィールで名前/年齢/職業を公開していたけど、
すべて偽造というか架空の人物設定なんだよな?

実名だとしたら、自分なら恥ずかしくて生きていけんわ(w
0174デフォルトの名無しさん2014/06/20(金) 20:44:08.81ID:kEPVLal9
C# のスレにあったサンプルを Swiftで書いてみた。 基本的には同じだが、Swiftの方が楽。

//------------ C#  (空白は全角を使っている)
class Program
{
  static void Main(string[] args)
  {
    var list = new List<Tuple<int, string>>();

    list.Add(Tuple.Create(31, "Jan"));
    list.Add(Tuple.Create(28, "Feb"));
    list.Add(Tuple.Create(31, "Mar"));
    list.Add(Tuple.Create(30, "Apr"));
    list.Add(Tuple.Create(31, "May"));

    list.Sort((Tuple<int, string> t1, Tuple<int, string> t2) => (t2.Item1 - t1.Item1));

    foreach (var t in list)
    {
      Console.WriteLine("{0} {1}", t.Item1, t.Item2);
    }
  }
}
//--------- Swift
let lists:(days: Int , month: String)[] = [ (31, "Jan") , (28, "Feb") , (31, "Mar") , (30, "Apr") , (31, "May") ]
sort ( lists , { $0.days < $1.days } )
println( lists )

/* ---------- このSwiftの sort 部分は、次のようにも書ける
sort ( lists , { ( t1, t2 ) -> Bool in t1.days < t2.days } ) // 或は
sort ( lists , { t1, t2 in t1.days < t2.days } ) 
*/
0175デフォルトの名無しさん2014/06/20(金) 20:47:10.84ID:DSYIvwNi
http://ja.wikipedia.org/w/index.php?title=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)&diff=prev&oldid=51929060

ゆうちゃんの売名意欲はんぱない
0176デフォルトの名無しさん2014/06/20(金) 20:51:35.67ID:CCZRVeL/
>>175
30分経たずに取り消されててワロタw
0177デフォルトの名無しさん2014/06/20(金) 21:07:33.19ID:IQz8StZM
https://ja.wikipedia.org/wiki/%E6%BF%B1%E7%94%B0%E5%84%AA

右上の業績欄で吹くww
0178デフォルトの名無しさん2014/06/20(金) 21:19:13.04ID:M/JwZqVI
>>174
C#はこう書ける
var list = new{new{days=31,month="Jan},new{days=28,month="Feb"},new{days=31,month="Mar"},new{days=30,month="May"},new{days=31,month="May"}};
foreach (var t in list.OrderBy(x => x.days))
 Console.WriteLine(t);
あるいはこんなことも
var dic = new Dictionary<int, String> {{31,"Jan"},略,{31,"May"}};
foreach (var t in
 from t in dic
 orderby t.Key
 select new { days=t.Key, month=t.Value })
 Console.WriteLine(t);
0179デフォルトの名無しさん2014/06/20(金) 21:27:54.81ID:CCZRVeL/
>>177
Swift-jpアカウントで追加したリンクが消されててワロタ
0180デフォルトの名無しさん2014/06/20(金) 22:46:31.47ID:0PgNV7xO
 
Wikipediaって、誰でも自己紹介書いていいのか?
0181デフォルトの名無しさん2014/06/20(金) 22:48:16.71ID:DSYIvwNi
書いちゃダメだろ、つうか書こうとも思わないだろ普通
0182デフォルトの名無しさん2014/06/20(金) 22:56:33.10ID:4Z5Rc51b
>>180
http://ja.wikipedia.org/wiki/Wikipedia:%E8%87%AA%E5%88%86%E8%87%AA%E8%BA%AB%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E3%81%A4%E3%81%8F%E3%82%89%E3%81%AA%E3%81%84
0183デフォルトの名無しさん2014/06/20(金) 23:33:58.00ID:kEPVLal9
>>180 ダメだよ。 個人的な事や宣伝目的な物は削除対象。 誰か削除依頼出せよ。
0184デフォルトの名無しさん2014/06/21(土) 00:25:46.40ID:+flxE0eC
@濱ちゃん
Swift言語の簡易リファレンスを纏めたチートシートcdn2.raywenderlich.com/wp-content/upl…
2014年6月04日 - 3:38pm
0185デフォルトの名無しさん2014/06/21(土) 00:40:00.78ID:kku3Zr/2
濱ちゃん、アウトぉ!
0186デフォルトの名無しさん2014/06/21(土) 01:24:05.68ID:jGMnyNE3
あまちゃんのははまちちゃんが書いたからセーフなのか
内輪だけど
0187デフォルトの名無しさん2014/06/21(土) 01:30:26.51ID:JBSU6pk5
濱ちゃんって架空のキャラがswift解説する本出せばワンチャンある
0188デフォルトの名無しさん2014/06/21(土) 01:35:52.89ID:5/17O7zj
この人も自身が運営するCaveTubeを自分で登録して削除されてたな
https://twitter.com/madogai
0189デフォルトの名無しさん2014/06/21(土) 04:53:39.17ID:qifWmRUG
functionの引数でexternal nameとlocal nameが設定できるけど別々の名前にするメリットって何ですか?
0190デフォルトの名無しさん2014/06/21(土) 05:59:44.67ID:qifWmRUG
このサンプルコードを見てなんとなく使い所が分かりました

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)

でもこれなら個人的には
func moveByX(x: Double, y: Double) {
self.x += x
self.y += y
}
って書く方がすっきりしてる様に思いました。好みですかね?
0191デフォルトの名無しさん2014/06/21(土) 07:06:22.95ID:Gm5EhJPM
>>189 external parameter name を付けるとバラメータの意味をはっきりさせ、理解しやすくなる。

例 func 探す( 文字列: String , 文字: character )
と解りやすく書いておいたつもりでも、呼び出し元が

探す( a , b )
探す( "abcdefg" , "c" )
では意味が解りにくい。

func 探す( 元文字列 文字列: String , 探索文字 文字: character )
或いは
func 探す( #元文字列: String , #探索文字: character )
としておけば

呼び出しは解りやすくなる。
探す( 元文字列: a , 探索文字: b )
探す( 元文字列: "abcdefg" , 探索文字: "c" )
0192デフォルトの名無しさん2014/06/21(土) 07:23:30.52ID:Gm5EhJPM
>>190 その理解は多分間違っている。
上の例は、Objective-C の書き方でexternal nameをつけてる例。
swift 流に上の例を書き直すと、
finc moveBy( x deltaX: Double , y deltaY: Double )
moveBy( x: 2.0 , y: 3.0 )

2番目は、たまたま外側の名前の、x , yをパラメータに使ってるが、ローカル名で却って解りにくくなる。

2番目を呼出すと、
moveByX( 2.0 , 3.0 )
数字の意味が解らなくなる。
0193デフォルトの名無しさん2014/06/21(土) 08:52:29.04ID:eLk4E9G5
外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気
http://www.atmarkit.co.jp/ait/articles/1406/19/news012_2.html

個人的にも一番感心したのは、やっぱり新言語Swiftの発表でした。
ここ数年Mac、iOS系の開発から遠ざかっていて、最新のObjective-C文法などにも疎くなっていたので、
そろそろ勉強し直さないといけないなぁと本気で危機感を感じていたところに、
Appleからリセットボタンを押された気分です(笑)。

あらためてiOSアプリを開発したいなと肩を押された気がしているデベロッパーは
僕だけではないと思います。

興味深いのは、通常、Swiftのような新言語が発表されると、
従来の言語に慣れ親しんだユーザーからは賛否両論の議論が湧き上がるのですが、
今回のSwiftに関しては、かなりポジティブな意見が目立つように見えます。
こうした反応を見ていても、Swiftがいかに今時の言語をよく研究して、
良い所取りをして開発されたのかが見える気がします。
0194デフォルトの名無しさん2014/06/21(土) 08:56:03.29ID:6ZbZYmYu
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi

※ 要タイトル検索
※ 2chブラウザ併用推奨
0195デフォルトの名無しさん2014/06/21(土) 21:00:36.35ID:qifWmRUG
>>192
こう書けたら分かりやすかったのにと思います。
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y: Double) {
self.x += x
self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)

実際は以下のようにxの方だけ#を付けないとエラーが出てしまいます。
func moveBy(#x: Double, y: Double)
1つ目の引数だけ扱いが違うのがちょっとややこしいです。

もしくは例に挙げてもらったこれ
func moveBy(x deltaX: Double ,y deltaY: Double)
手間は少し増えるけどミスは減りそうです。
0196デフォルトの名無しさん2014/06/21(土) 21:01:54.05ID:tQVBpUxD
linuxで開発できないからクソだな
ガラパゴス言語4ね
0197デフォルトの名無しさん2014/06/21(土) 21:03:55.24ID:qifWmRUG
結局、メリットは分かりやすくなるって事ですね。
0198デフォルトの名無しさん2014/06/22(日) 01:33:00.56ID:pfgiPEoY
>>195 structやclass 内の func は例外で第1パラメータと第2パラメータの扱いが特殊ですね。
一般記法と混同しないように、第2パラメータには外部パラメータ名を付けるように書くのが良いみたいです。
そして第1パラメータ名を関数名の最後につけるのが流儀のようですね。 Objective-Cに合わせたのでしょうが美しくないですね。

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(x: Double, y y: Double) {
  self.x += x
  self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)
0199デフォルトの名無しさん2014/06/22(日) 01:57:21.67ID:CiHQU1Qw
ガラパゴスで有り続けて欲しいね
0200デフォルトの名無しさん2014/06/22(日) 02:07:55.97ID:m6loeTNZ
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y y: Double) {
  self.x += x
  self.y += y
}
0201デフォルトの名無しさん2014/06/22(日) 14:02:15.67ID:JSmk+G44
goとそっくりだね。
互換性のあるとこだけで書けば、
goとソース互換なんじゃね?
0202デフォルトの名無しさん2014/06/22(日) 14:06:38.79ID:LFHoiLVx
そっくりではない
微妙に違ってる
0203デフォルトの名無しさん2014/06/22(日) 14:17:51.27ID:65iLGPB8
>>202
解ってるよ。
その微妙な違いさえ回避できれば互換性を保てるってことよ。
0204デフォルトの名無しさん2014/06/22(日) 14:38:25.92ID:65iLGPB8
>>192
こういう事かえ?

/* Swift */
point.moveBy( X: 1, Y: 2 )

/* Objective-C */
[ point moveByX: 1 Y: 2 ];

"Smalltalk"
point moveByX: 1 Y:2.
0205デフォルトの名無しさん2014/06/22(日) 15:10:04.67ID:wFLrKJry
>>203
型の指定の仕方の時点で違うから回避できないだろ
0206デフォルトの名無しさん2014/06/22(日) 15:23:29.20ID:2jURMw15
// 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
}
0207デフォルトの名無しさん2014/06/22(日) 15:42:53.56ID:0vkagaTc
ー>って矢印を模した表記は厨臭いからやめたほうがいいよ
ベータだしまだ仕様変えられるだろ
いちいちシフト打鍵が必要でタイプ数も増えるしいいこと無い
0208デフォルトの名無しさん2014/06/22(日) 15:44:40.34ID:iuL+D4vh
ruby厨乙
0209デフォルトの名無しさん2014/06/22(日) 15:52:08.83ID:CVWWoFqE
rubyは->(){}があるから・・・
0210デフォルトの名無しさん2014/06/22(日) 15:57:25.29ID:NV1BDSQb
戻り値をそこに書くのが今風なのかのう
0211デフォルトの名無しさん2014/06/22(日) 16:06:46.64ID:rW+mKnZ0
>>207 言語仕様が今更変わる訳が無い。 今風で解りやすくて良いだろ。
0212デフォルトの名無しさん2014/06/22(日) 16:22:09.18ID:MNXrUkEo
/* C++ */
auto Tag( const std::string name ) -> std::string
{
 std::string tag = "<" + name + ">";

 return tag;
}

戻り値を型を省略出来るようにした言語の宿命なんだろ。
0213デフォルトの名無しさん2014/06/22(日) 16:31:13.55ID:tNIRX/kG
//go
function := func() {};

// swift
var function = func() {};

// C++
auto function = [](){};
0214デフォルトの名無しさん2014/06/22(日) 16:55:19.24ID:M4OuaEw5
->を使ったり、戻り値を後ろに書いたりするのは、例えば
「文字列を引数にとって文字列を戻す関数」を引数にとって「文字列を引数にとって文字列を戻す関数」を戻す関数
なんていうのを記述しようとしたときのわかり易さに大きく影響すると思われ
0215デフォルトの名無しさん2014/06/22(日) 17:15:55.50ID:LtMDfcfl
単に無名関数の戻り値型を省略や推論させるための都合だよ。
他の宣言も型が後ろに来るのは、無名関数に合わせてるだけ。
0216デフォルトの名無しさん2014/06/22(日) 17:38:44.43ID:mgZTcG6H
ソースの互換性にこだわるひとって
HTML 中に PHP と javascript 埋め込むくらいの気持ち悪さを感じる
0217デフォルトの名無しさん2014/06/22(日) 17:45:50.87ID:iuL+D4vh
python厨乙
0218デフォルトの名無しさん2014/06/23(月) 10:19:24.43ID:v8LgD0QE
インスタンス変数に直接アクセスできないの気持ち悪い。
やるべきじゃないのかも知れないけど、Qiotaで誰かが書いてたみたいに
例えばゲッタを呼び出すたびにインクリメントされるプロパティとか書けない。
別途インスタンス変数を用意してcomputational propertyとして定義するとか、筋の悪い書き方になる。
そうやったとしてもアクセス指定子もないから元のプロパティに直接アクセスできちゃうし。
どうしてこんなことになったんだ
0219デフォルトの名無しさん2014/06/23(月) 10:36:40.08ID:k0C4cCbl
>>218 こういう事?
http://qiita.com/Lewuathe/items/63801688817c38614cf4
0220デフォルトの名無しさん2014/06/23(月) 10:59:07.21ID:IjFKX6YY
アクセス指定子はやるって言ってるんだから待ってれば

_付きで宣言したら自動的にprivateになればいいなぁ
0221デフォルトの名無しさん2014/06/23(月) 11:45:05.55ID:knxG2Zrc
protectedは?
0222デフォルトの名無しさん2014/06/23(月) 12:40:13.55ID:2Cm/+3gI
>>218
それってObjective-Cでもやってる事はcomputed propertyでしょ。auto synthesizeが効いてて自分で_hogeを宣言する必要がないだけで実質同じじゃない?
0223デフォルトの名無しさん2014/06/23(月) 12:42:50.21ID:2Cm/+3gI
全てがpublicな変数になっちゃうのはprivateを実装する予定だとフォーラムかどこかで見た気がする。
0224デフォルトの名無しさん2014/06/23(月) 12:53:19.14ID:knxG2Zrc
呼び出すたびにインクリメントする処理はクロージャを使えば簡単にかける

func makeCounter() -> () -> Int {
var count = 0;
return {
++count
}
}

let c = makeCounter();
println(c()) // 1
println(c()) // 2
println(c()) // 3
0225デフォルトの名無しさん2014/06/23(月) 12:59:36.86ID:zCax8W1Q
javascript の方が判り易いかも
0226デフォルトの名無しさん2014/06/23(月) 13:25:30.45ID:rcMzefHm
linuxでswiftできるほうほうをおしえて
0227デフォルトの名無しさん2014/06/23(月) 13:28:49.27ID:zETqdp8T
VNC
0228デフォルトの名無しさん2014/06/23(月) 13:59:22.51ID:k0C4cCbl
VMWARE
0229デフォルトの名無しさん2014/06/23(月) 14:11:58.69ID:IjFKX6YY
>>226
http://swift-lang.org/main/
0230デフォルトの名無しさん2014/06/23(月) 16:08:46.48ID:k0C4cCbl
>>223 beta2 リリースノート

• Access control (public/private members) is not enabled in this seed.
• It is not possible to build static libraries which contain Swift code in this release.
0231デフォルトの名無しさん2014/06/23(月) 16:33:17.77ID:v8LgD0QE
>>219
てかそれだよ、俺が見たのは
>>222
1つのことやるのに2つプロパティを作るのが気持ち悪い
名前も別々につけなきゃいけないし
0232デフォルトの名無しさん2014/06/23(月) 16:37:33.87ID:knxG2Zrc
ゲッタ内で更新処理を書くのも気持ち悪いよね
0233デフォルトの名無しさん2014/06/23(月) 17:09:38.07ID:IjFKX6YY
副作用的で嫌な気もするな
ObjCでゲッタに書く処理といえば遅延初期化が典型的だったけど、それは@lazyでできる
他にゲッタで値を変える必然性のあるケースって何かあるだろうか
0234デフォルトの名無しさん2014/06/23(月) 20:07:54.04ID:bY8lx62F
値は変えることはよいし
自分自身を呼び出したら無限ループするのもあたりまえ
0235デフォルトの名無しさん2014/06/23(月) 22:44:10.74ID:yZxj5sEO
メソッドの+-ヘッダや[ ]記法、好きだったのになぁ。。
0236デフォルトの名無しさん2014/06/23(月) 22:45:58.55ID:knxG2Zrc
いや、Obj-Cもなくなるわけじゃないから
0237デフォルトの名無しさん2014/06/23(月) 22:52:46.74ID:yZxj5sEO
while(YES) {
[Objective-C retain];
}
0238デフォルトの名無しさん2014/06/23(月) 23:38:38.48ID:BKKkXYpe
>>232

Object
 subclass: #Example
 instanceVariableNames: 'value'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Example'.

! Example methodsFor: 'Accessing' !
value
 ^ value ifNil: [ value := 0 ].
!
value: aNumber
 value := aNumber.
!!

Accessingで値を取り出す時値を書き換えるってのは、割りと古典的な方法なんだけどね。
objectが重要じゃなくて値が重要って場合は別解としてこういう使い方もあるけど。

! Example methodsFor: 'Accessing' !
value
 ^ value ifNil: [ 0 ].
!
value: aNumber
 value := aNumber.
!!
0239デフォルトの名無しさん2014/06/24(火) 00:13:09.22ID:o+ts05fh
何故いきなりSmalltalk書き出した?
0240デフォルトの名無しさん2014/06/24(火) 00:16:28.10ID:o+ts05fh
つか、遅延初期化ならSwiftは@lazy属性で指定できるよ
0241デフォルトの名無しさん2014/06/24(火) 00:21:29.84ID:nsfoMIba
>>239
古典的だから
0242デフォルトの名無しさん2014/06/24(火) 09:52:46.32ID:AAHBTYvg
GOCHA!
0243デフォルトの名無しさん2014/06/25(水) 21:58:00.07ID:79R/fCgL
レスがめっきり減ったな
Swiftもそろそろオワコンか
0244デフォルトの名無しさん2014/06/25(水) 22:26:41.23ID:8AOeuyaK
Appleで閉じたベータ版ならこんなもんでは
信者混じりの初速がおかしかっただけでしょう

アクセスコントロールはよ
シングルトン書きにくくてもにょる
0245デフォルトの名無しさん2014/06/25(水) 22:55:47.78ID:yyfslmCP
シングルトンはEnum使えばいいんじゃね
0246デフォルトの名無しさん2014/06/25(水) 23:18:47.49ID:79R/fCgL
???
0247デフォルトの名無しさん2014/06/26(木) 00:50:20.58ID:ifBtr7TR
enum < ふえぇ…拡張されたといってもそんな太いの無理…
enum < …いゃぁっ!! やっぱり無理だようっ、まだ列挙子だもん、デザパタなんて入らないよぅぅっツ!!
enum < うぅ…ま、満足してくれた? アクセス制御ちゃんが来てくれないからって…無理しちゃいけないよ…はぅ…

なんでもない
今、近場の病院をググってる所だ安心しろ
0248デフォルトの名無しさん2014/06/26(木) 06:00:34.87ID:fv8mroUT
そうか
0249デフォルトの名無しさん2014/06/26(木) 23:33:31.01ID:BVAAIzQv
>>244
いい加減Singleton卒業しろよ。
保守しづらくてたまらんわ。
0250デフォルトの名無しさん2014/06/26(木) 23:39:50.30ID:WAwEPjdj
Singleton卒業した後は、どこに入学したらいいですか?
0251デフォルトの名無しさん2014/06/26(木) 23:42:07.98ID:qPqjUHLv
グローバル変数
0252デフォルトの名無しさん2014/06/26(木) 23:59:18.79ID:BVAAIzQv
真面目な話Monostate pattern。
Singletonと違ってMonostate patternで
作ったclassのobjectは
他のclassのobjectと置き換えが容易。
並列処理を新たに追加する場合や、
複数のobjectが必要になった場合なんかは特に助かる。
0253デフォルトの名無しさん2014/06/27(金) 00:49:08.49ID:9hXQR0vq
モノステートで済む場所ならよく書いてるけど多態絡むとね
つか置き換え要求があり得るならばシングルトン一択では?
多分お互いの考えてる想定ケースが違うんだろうけど

続く二行がなおのこと意味不明
最後のなんか、そもそもシングルトンもモノステートも適用しちゃいかんだろ
0254デフォルトの名無しさん2014/06/27(金) 00:54:10.86ID:CRdQJr4Y
語ってみたかっただけだろ
0255デフォルトの名無しさん2014/06/27(金) 01:25:11.37ID:6uE5vYGa
いよいよ脱アルゴリズムの時代きたか
0256デフォルトの名無しさん2014/06/27(金) 01:28:29.47ID:bk/xChkn
我らがObj-Cはいづこへ…(´・ω・`)
0257デフォルトの名無しさん2014/06/27(金) 06:16:05.51ID:/tBLbKnn
>>256
オブジェクト指向は愚かな考え。
http://peace.2ch.net/test/read.cgi/tech/1393660194/
0258デフォルトの名無しさん2014/06/27(金) 07:58:35.16ID:bmd/FTib
>>250
時代はDI(Dependency Injection)だよ。
疎結合になって保守しやすいし、テストも書きやすくなる。
ていうか、Javaの世界ではとっくにDIが当たり前だから。
いまだにフレームワークでもSingletonなんて使ってるのはObj-Cだけ。
0259デフォルトの名無しさん2014/06/27(金) 08:13:09.44ID:3Ogs4WPv
シングルトンがカスなのは同意するが、スマホアプリ程度でDIなんぞ要らん
0260デフォルトの名無しさん2014/06/27(金) 08:32:48.24ID:jMn+w+Bh
Objective-CでSingleton使ってるやつってどんなのがあったけ?
0261デフォルトの名無しさん2014/06/27(金) 09:51:17.33ID:CmsfI9Sw
DI って、ただのprotocol使ったdelegateじゃね?
0262デフォルトの名無しさん2014/06/27(金) 10:05:50.14ID:BbQZN6SM
Objective-Cは言語仕様改定で機能を+1してくんじゃなくて
オブジェクト指向だったらなにが必要かって
考えたオブジェクト指向フレームワークの中身がCって形だから
書き方が冗長になる以外は「最近の言語の新機能だぁ!」
みたいなのだいたい再現できるよね。
0263デフォルトの名無しさん2014/06/27(金) 10:49:17.65ID:iTSjXKIw
>>260
sharedFoo とか defaultBar とか
0264デフォルトの名無しさん2014/06/27(金) 12:57:01.86ID:cQ+q76Vp
>>263
そんなもん存在せんぞ
0265デフォルトの名無しさん2014/06/27(金) 13:04:18.24ID:5Q+HtdSG
NSUserDefaultsとかUIApplicationとかUIDeviceとかNSFileManagerとか
0266デフォルトの名無しさん2014/06/27(金) 13:23:23.08ID:cQ+q76Vp
>>265
shareFooやdefaultBarで検索してもそんなもん出てこない。
0267デフォルトの名無しさん2014/06/27(金) 13:27:17.30ID:5Q+HtdSG
>>266
お前がそう思うんならそうなんだろうな
お前の中ではな
0268デフォルトの名無しさん2014/06/27(金) 13:49:32.26ID:W1qQ5+Xl
グローバル変数で十分
0269デフォルトの名無しさん2014/06/27(金) 17:00:40.07ID:iTSjXKIw
>>266
本気で言ってそうでヤバいなお前
0270デフォルトの名無しさん2014/06/27(金) 17:23:52.29ID:pR5dE5tV
>>268
どうやってグローバル変数でシングルトンの代わりをするんだよ
0271デフォルトの名無しさん2014/06/27(金) 17:25:27.50ID:CRdQJr4Y
ブヒー
0272デフォルトの名無しさん2014/06/27(金) 20:50:53.32ID:02IBmcrS
>>270
そういうセリフは、シングルトンをグローバル変数の替わり以外で使ってる人だけが言うべき
0273デフォルトの名無しさん2014/06/27(金) 21:04:07.92ID:RdmQ7muW
厶板はFoo Bar Hoge禁止なのを未だ知らんヤツがいるとは。
新参か?
0274デフォルトの名無しさん2014/06/27(金) 21:10:17.31ID:GbdV8FAO
>>265
NSUserDefaultsとNSFileManagerはシングルトンじゃないよ
0275デフォルトの名無しさん2014/06/27(金) 21:11:15.91ID:ASBax8F1
メタ構文変数禁止とかバカ丸出しでしょ・・・
0276デフォルトの名無しさん2014/06/27(金) 22:32:21.50ID:TatRAlv+
>>272
? 268にお前ん中ではなって言えば良かったって話?
0277デフォルトの名無しさん2014/06/27(金) 23:04:31.16ID:B7q6S9HD
Foo Bar Hogeとか使って質問してくるヤツは
決まって何がしたいのか説明不足だからな
他所ならともかく2chじゃ煙たがられる
0278デフォルトの名無しさん2014/06/27(金) 23:32:16.42ID:5Q+HtdSG
hogeを嫌う奴はハゲと相場が決まっている
0279デフォルトの名無しさん2014/06/29(日) 08:40:06.96ID:wFk5OUc5
https://www.youtube.com/watch?v=YLHyeSuBspI
0280デフォルトの名無しさん2014/06/30(月) 00:44:34.70ID:3lwG7vbW
https://www.youtube.com/watch?v=jrjfZ2ltvgE
0281デフォルトの名無しさん2014/06/30(月) 01:06:27.05ID:2Uifxpzh
>>280 Google developer tools and APIs for iOS

ふ〜ん、この為にJava to Object-Cなんて作ってたのか。
この流れだと、Java to Swiftも出てきそうだな。
iOSユーザを取り込みたいんだろうな。
0282デフォルトの名無しさん2014/06/30(月) 01:21:22.38ID:qZLVrmNH
Object-C
0283デフォルトの名無しさん2014/06/30(月) 01:27:17.53ID:2e+iCNCB
このスレ、リンク貼るだけとか無口な奴が多いな
0284デフォルトの名無しさん2014/06/30(月) 01:32:39.92ID:CGk8SAom
みんなロボット。人間いません。
0285デフォルトの名無しさん2014/06/30(月) 02:47:02.02ID:o++cUP1Q
なんでStringにlengthメソッドとかないんだろ
部分文字列の切り取りもやけにめんどくさい
糞すぎる
0286デフォルトの名無しさん2014/07/01(火) 09:14:05.17ID:Spoe+hFi
Swiftって、ヒアドキュメントも使えないのか
なんかモダン言語の特徴を取り入れたとか言ってるわりには、いろいろ糞だよね
0287デフォルトの名無しさん2014/07/01(火) 09:50:58.67ID:oY1WpWsO
ヒアドキュメントが必要になるのはとかコードとリソースを分離できてない証拠
書き捨て用途も多いスクリプト言語と違って、Swiftはアプリケーション構築が第一最大の目的だからそんなもの要らん
0288デフォルトの名無しさん2014/07/01(火) 10:45:28.17ID:FsIt2ttm
>>285 マルチポスト 新Mac板参照
>>286 これだけは仕様追加されるまで待つしかないな。 どうして最初から入れなかったのか不思議でしょうがない。
文字列関係は大幅な仕様追加が有るはず。 早ければゴールデンマスター辺りで第1段
0289デフォルトの名無しさん2014/07/01(火) 12:15:57.46ID:OoZ2DZwm
>>287
真面目なプログラムならその通りだが、
学習時やパイロット、簡易テストなんかの折にヒアドキュメントがあると楽だとは思うね。
0290デフォルトの名無しさん2014/07/01(火) 13:43:27.02ID:FsIt2ttm
>>287 HTMLを処理する時などあると便利で見やすくなる事が有るんだよね。
ちょっとしたThunk youメッセージとか、処理結果表示とか。

サーバサイドのプログラム用途ではかなり重要な機能だよ。
別ファイルにして一番困るのが埋め込み変数が評価されない事

例えば
var a=1

str="aは\(a)だよ" //今はインラインだから埋め込まれる
println("#1 a=\(a) "+str) //#1 a=1 aは1だよ
a=2
println("#2 a=\(a) "+str) //#2 a=2 aは1だよ

//「aは\(a)だよ」  と言うファイルを別に作ってstrに読み込んだとしよう
str="aは\\(a)だよ" //aは\(a)だよ と等価
a=3
println("#3 aは\(a) "+str) //#3 aは\(a)だよ  文字列としてしか評価されない

自分で埋め込み変数で分離して実行時に結合とかすれば似たような事は出来るが美しくない。
0291デフォルトの名無しさん2014/07/01(火) 14:24:10.63ID:oY1WpWsO
テンプレートエンジン使うだろ常識的に考えて
0292デフォルトの名無しさん2014/07/01(火) 14:49:41.78ID:B592/H3e
正規表現も言語レベルでサポートされてねーし、FileのI/O関数すら無ぇー
結局いろいろやろうとしたらCocoaの糞みたいなライブラリを使わなきゃなんねーみたいだな
Obj-C使うのと大して変わんねーじゃねーか
いや、むしろObjCとSwiftを行ったり来たりする手間が増えた分、糞度が増した感じだな
0293デフォルトの名無しさん2014/07/01(火) 15:11:46.08ID:H8OdYCOp
>>285
つutf16count
この名前にしたのは、UTF-16のカウントだよサロゲートペアは考慮しないよ、ってのを明確にするためだと思う。

サロゲートペア考慮した文字列をカウントするメソッドをlengthにすればいいじゃんと思うかもだが、NSStringがすでにlengthプロパティ持ってる。
0294デフォルトの名無しさん2014/07/01(火) 16:54:57.26ID:HKbfE0uo
Objective-Cのランタイムで動いていることを忘れて、
みんなワガママ言いたい放題だな。
0295デフォルトの名無しさん2014/07/01(火) 18:30:17.98ID:xH+GAfzK
AppleはそのランタイムもSwift言語も両方自由に弄れる立場なんだからワガママもクソもないわ
ScalaのJavaに由来する糞な部分を叩くのがワガママだというのとは訳が違う
0296デフォルトの名無しさん2014/07/01(火) 19:06:31.76ID:8cxNwtXU
>>259
Apple がランタイム(Cocoa)を自由にいじれる訳ないだろう
これまでの ObjC デベロッパを切り捨てるはずもない

Microsoft が Win32API/COM を捨て .Net を強く推そうとしても、
いつまでたってもデベロッパが .Net へ移行しないから
Win32API を切り捨てられないのと同じ

Swift の登場を受けて OSX/iOS 開発に初めて手をだした奴等が
ObjCランタイムにとまどうのは理解するけど、
従来からのObjCデベロッパにとって Swift の道は最良に近い選択肢
0297デフォルトの名無しさん2014/07/01(火) 19:07:30.23ID:8cxNwtXU
アンカを間違えた、>>259 ではなくて >>295 に訂正
0298デフォルトの名無しさん2014/07/01(火) 19:18:16.51ID:B592/H3e
Obj-Cのネーミング規則に迎合しちゃったから、SwiftからCocoaの呼び出しははいびつな仕様になっちゃったよね
しかも、型が違うもんだから、相互変換が必要とか
使う側は、今使ってる変数が、SwiftのStringなのか、NSStringなのか、Arrayなのか、NSArrayなのか意識しながら
コーディングしないといけない
このカオスっぷりは、結局、新参者を遠ざけることになるんじゃねーの?
0299デフォルトの名無しさん2014/07/01(火) 19:26:24.15ID:oY1WpWsO
Appleはレガシーをずるずる引きずったりしないよ
合理的な段階は踏むけど、出来る限り早くObjective-Cは捨てられると思うよ
いままでも色んな場面でそうして来た
0300デフォルトの名無しさん2014/07/01(火) 19:36:43.80ID:8cxNwtXU
>>298
いいんじゃねえの
ObjCプログラマなら、文字列変数の型が char * なのか
NSString なのかは、常に意識してるから慣れたものだし
C が Swift に代わっただけで、そのメリットは大きい

どのみちデータ型でつまずくようなレベルだと、
Java/C#/C++ の静的OOPに慣れたデベロッパには
Smalltalk由来のメソッド動的束縛は理解できないから、
消えてくれたほうが世の為
0301デフォルトの名無しさん2014/07/01(火) 19:41:21.00ID:B592/H3e
Swiftを使う事のメリットって、バグだらけのPlaygroundが使えることと、
強力なSwitch文とEnum、それとStructが使えることと、Genericsのサポートぐらいか
あと、Arrayのソートが早い?んだっけ? 試してないけど。絵文字変数とか別にどーでもいいし
その他はあまり文法的なメリットは感じないな。つか大して変わんない。
どっちみちアプリ作るにはCocoaのクラスがいるし。
クロージャにしても、Obj-CならBlocksがあるし、perform〜系の呼び出しや、callbackが素で使えるのもObj-Cの方が使い勝手がいい
Carbon APIの呼び出しもObj-CからTall-freeで呼び出せる
ん〜っ、なんだかなぁ
実際、どーなんだろ、同じアプリをObj-CとSwiftで書くなら、Swiftの方が何倍早いとかデータあるのかね?
Flapybirdのソース見たけど、あれObj-Cで書いても大して記述量変わんねーよね?ほとんどSpritKitの呼び出しだし
0302デフォルトの名無しさん2014/07/01(火) 19:56:30.70ID:9nsBHmdy
Obj-Cに微妙に挫折した身としては、JSとかに近い書き方できるだけでも嬉しいな
0303デフォルトの名無しさん2014/07/01(火) 20:07:43.29ID:B592/H3e
あ、あとタプルを忘れてた
0304デフォルトの名無しさん2014/07/01(火) 20:11:02.02ID:oY1WpWsO
安全性は確実に増すだろ
その分テストも減らせて開発スピードも上がるんじゃね
記述量とかどうでもいい
0305デフォルトの名無しさん2014/07/01(火) 20:32:54.59ID:FsIt2ttm
>>295 言語仕様を見れば、まだ作成途中と言うことが解るだろ。
これだけ基礎がしっかりしてれば後はお化粧の話。
Objective-Cのライブラリを当面そのまま使い、徐々にSwift likeに合わせて行くんだろ。
手始めにNSStringをStringの拡張として使える様にしてるから、Stringでフォーマットも使える。 言語仕様に入れられないのは若干のUnicodeの処理の違いを最終的にどう辻褄を合わせるかがきまらないからだろう。
0306デフォルトの名無しさん2014/07/01(火) 20:36:44.49ID:l9yjQtpJ
何がダメってセミコロンがねーところ
あと、条件式のかっこがなかったりとか微妙に違う感出してるとこ
ObjC残しとくくせに紛らわしいんだよ
0307デフォルトの名無しさん2014/07/01(火) 20:40:25.90ID:l9yjQtpJ
Obj-Cいろいろと不評だけど、OOP部分とレガシーな部分が明らかに違うことが
わかる表記になってて、個人的には、なれればむしろ、レガシーなCと共存関係が
わかりやすくて好きだったんだけどな
文字列の操作がめんどいって声があるなら、そこだけ+で出来るようにちょいへん
してくれたらよかった
0308デフォルトの名無しさん2014/07/01(火) 20:52:13.49ID:YM4fCUiI
セミコロンつけたきゃ勝手につけろよ
0309デフォルトの名無しさん2014/07/01(火) 21:05:05.42ID:B592/H3e
Swiftが後方互換性を残したまま進化してくれるならいいが、Deprecatedの嵐は勘弁して欲しいものだ
それでなくても、年1回のOSのバージョンアップとCocoaのDeprecated攻撃でもうへとへとなんだよ
0310デフォルトの名無しさん2014/07/01(火) 21:24:35.06ID:/YDQ45k+
>>309
いや、おそらくdeprecatedの嵐はいよいよ激しくなるんじゃねーの?
当分はSwift自体の拡張や仕様変更も相当あるだろうし
CocoaもSwiftベースに書き換えられるんだろうから。

もともと建て増し建て増しでどうにもならなくなったObjC2.0じゃ
この先進化のさせようがないってんでSwiftに乗り換えることにしたんだろうし。
0311デフォルトの名無しさん2014/07/01(火) 21:26:59.14ID:B592/H3e
勘弁してくれ
0312デフォルトの名無しさん2014/07/01(火) 21:30:55.29ID:oY1WpWsO
新しいことを学び続ける気力を失った瞬間が、そいつにとってのいわゆるプログラマ○才定年説というやつだろう
0313デフォルトの名無しさん2014/07/01(火) 21:39:04.99ID:B592/H3e
Deprecatedは、新しいことというより、初期設計時の先見性の無さの現れだろ
0314デフォルトの名無しさん2014/07/01(火) 21:56:32.31ID:pwV/PQsP
発表では乗り換えるなんて言ってないのになんでこの人の頭の中では乗り換える事になってんの?
0315デフォルトの名無しさん2014/07/01(火) 22:05:25.96ID:/YDQ45k+
>>314
Appleは乗り換えるとは言ってないけど、将来的には乗り換えるつもりだろうと思っているよ。
二つの言語を同水準でサポートし続ける理由がないし、
ObjCをこの先もずっとサポートしていくつもりならわざわざSwiftを導入して
移行に伴う混乱を誘発する理由もないから。

Appleが何も言っていない以上は違う意見の人を説得できるとは思ってない。
乗り換えるなんてことはありえないと思うなら俺とは前提が違うってことだね。
0316デフォルトの名無しさん2014/07/01(火) 22:17:11.06ID:l9yjQtpJ
かつてのCocoa-Javaが消え去ったように、Objective-Cも消え去るのだろう…。
0317デフォルトの名無しさん2014/07/01(火) 22:18:26.53ID:fEVjLc77
>>316
それ……消えるの……Swiftになるフラグ……
0318デフォルトの名無しさん2014/07/01(火) 22:27:11.00ID:B592/H3e
MacOSもiOSも既存のほとんどのフレームワークもObj-Cで書かれてんだろ?
Obj-Cを切り捨てるってことは今後最低でも10年は無いと思うけどね
C言語の構文やデータ構造がそのままの文法で書けるってだけでも価値がある
Appleがらみのライブラリだけでなく、Unixの膨大なライブラリもあるし
WWDCでも、Obc-Cの既存コードをSwiftで書き換えることはお勧めしないって言ってたし
それやるなら既存コードはそのままにして、新機能だけSwiftで書けって言ってたし
今の所はまだObj-Cが消える可能性より、Swiftが残る可能性の方があやしい
Appleがやっぱやめましたって言う可能性もあるし、ユーザーがついてこなくて自然消滅の可能性だってある
0319デフォルトの名無しさん2014/07/01(火) 22:40:41.30ID:FsIt2ttm
ID:B592/H3e あぼ〜んしたらすっきりした。

Object-Cと言う言語が消える事は無いが、ライブラリなど徐々にSwiftに移行していくだろうな。
当然の流れ。
今後のSwiftは言語の若干の手直し(拡張)とライブラリ群の整備だろうな。
0320デフォルトの名無しさん2014/07/01(火) 22:47:36.43ID:/YDQ45k+
>>318
ああ、俺もあとどれぐらいでObjCが消えるかなんて分からない。
10年より先かもしれないしもっと早いかもしれない。
今後の情勢次第でSwiftが消える可能性があるだろうと言われればそうかもしれないとしか言えない。
少なくとも現時点のAppleは、いずれ乗り換えるつもりでSwiftを発表したんだろうと思うというだけ。

あとWWDCで既存コードの書き換えが推奨されないというのは俺も知ってるけど
似たような話はretain/releaseを手動でやってるコードからGCへの移行でも言われていた。
「今問題なく動いているものをいじるな」というだけの話で、
AppleがObjCとSwiftを今後どうするつもりかという話とは関係ないと思う。
0321デフォルトの名無しさん2014/07/01(火) 22:51:53.67ID:l9yjQtpJ
>>318
>C言語の構文やデータ構造がそのままの文法で書けるってだけでも価値がある
これはほんとそうだよな
以前、Cでπの多倍長計算のコードを書いてたことがあって、それをCocoaアプリに
仕立て上げてみた時も、コアの計算アルゴリズムの部分はほぼファイルコピーで
UI部分だけObjective-Cで書いてアプリが出来上がったとき、Objective-Cの
素晴らしさを実感したことを今でも覚えてる

Cocoaは、最初Objective-Cって何だよっておもってCocoa-Javaから始めたくち
だったけど、Objective-Cが実はCなんだと(正確にはC+OOP)だと気づいたとき
一気に障壁が下がってそれ以降すんなりObjective-Cでコーディングできてた

Modernさという意味ではSwiftに劣るけど、やっぱObjective-Cが好きなのかも

.mファイルの中に、Cの関数とObj-Cのメソッドが並んでるコードは最初気持ち
悪かったけど、ある意味最も自然な形で拡張された素直な言語だなと思う
0322デフォルトの名無しさん2014/07/01(火) 23:08:31.21ID:yfeDN/3+
Swiftなんざ作るぐらいなら、素直にSmalltalk入れさせろよと思うがな。

#( 1 2 3 ) do:
[ :each |
].
Smalltalkなら20年前に出来てたこんな機能が、
Objective-C 2.0 で新機能扱いとかウンザリ。
0323デフォルトの名無しさん2014/07/01(火) 23:09:00.30ID:g+9FQYl7
俺は結構早めにSwiftに移行すると踏んでる。
iOS関連ってOSSが多くて(特にUI)、質も高い。
そして、OSS書いてる人たちが結構な割合で、少なくとも新規プロジェクトはSwiftで書くのではないかと思う。
0324デフォルトの名無しさん2014/07/01(火) 23:14:39.02ID:l9yjQtpJ
といいつつ、Objective-Cもすぐにはなくならなそうで少し安心したし、
おれもSwiftもちょっと嗜んじゃおうかなw
0325デフォルトの名無しさん2014/07/01(火) 23:21:33.88ID:Qf/S0Wzj
10年後も残ってるかどうかとか言うけどそれ全ての言語に言えるんじゃね
0326デフォルトの名無しさん2014/07/01(火) 23:23:50.43ID:B592/H3e
アクセス指定子も無いし、まだフレームワーク作りにはとっかかりにくいわな
Swiftで使う場合は、Obj-Cみたいにヘッダーだけ参照ってわけにいかないし
0327デフォルトの名無しさん2014/07/01(火) 23:24:59.14ID:tLoVbtUq
既存フレワとの互換レイヤ的なAPIやOSSがガンガン出てくるんじゃないの?
0328デフォルトの名無しさん2014/07/01(火) 23:28:23.59ID:l9yjQtpJ
今でもシェア高く実用されてるプログラミング言語で最も歴史のあるのってやっぱCだよね?
やっぱCってすげーって思う。それだけ蓄積されてる資産も大きいし
0329デフォルトの名無しさん2014/07/02(水) 01:50:36.64ID:gjMteLus
それはすごいことに気付きましたね
0330デフォルトの名無しさん2014/07/02(水) 03:22:32.57ID:0X8S8x1q
>>301
あのソース見て一日で書けたのはSwiftじゃなくてSpriteKitのおかげじゃんって思った
0331デフォルトの名無しさん2014/07/02(水) 05:58:15.54ID:wD3UzLWL
Cが残っているからObjCもアップル関係では残っていくのでは。
たぶん、Swiftでのみしか利用できない様々なAPIとか、環境とかがどんどん増えて自然にそっちに多数の人は誘導されてくんじゃないかな。
0332デフォルトの名無しさん2014/07/02(水) 07:18:04.99ID:Q2HfdUEv
>>325
Swiftの場合そもそもプラットフォームが残ってるのかという問題がなあ
iPhoneやMacが健在だとしても、もっとサーバーサイド比率が大きくなって
クライアント側は簡易なスクリプトが僅かに残ってるだけになってそう
0333デフォルトの名無しさん2014/07/02(水) 12:12:23.06ID:wD3UzLWL
まあ言えそうなのは、アップルの目論見くらいかなと。
0334デフォルトの名無しさん2014/07/02(水) 12:39:10.54ID:+LR919/Z
どうせリリースするなら、もうちょっとこなれてから出せよ
あと1年ぐらい待ってもよかっただろ
0335デフォルトの名無しさん2014/07/02(水) 12:43:55.14ID:W8x6b9d7
>>332
逆だろ
サーバ側はモデルに特化して、JSONだけ返す。
UIまわりはすべてクライアントサイドで実装が今の流れ。
0336デフォルトの名無しさん2014/07/02(水) 12:44:50.20ID:W8x6b9d7
>>334
実際にリリースしてから浮き彫りになる問題もある。
そんなこと言ってたらいつまでもリリースできない
0337デフォルトの名無しさん2014/07/02(水) 13:13:10.53ID:C0tb1eHd
Googleが、Java to Object-Cを出したり、iOS SDKを出したり攻勢に出てきているから守勢に回ったままではいけないから急ぐ必要があったんだろ。
Xamarinなどサードパーティーの開発ツールも台頭の兆しが有るからね。
急ぐ必要はないがSwing to Javaを出して反撃してほしい。
0338デフォルトの名無しさん2014/07/02(水) 13:19:16.62ID:DNTNWI96
敵はgolang
0339デフォルトの名無しさん2014/07/02(水) 14:04:29.37ID:C0tb1eHd
>>338 敵にはならないだろ。 何か違う所で踊ってるみたい。
golangは言語的には少し首をかしげる所が多い。
0340デフォルトの名無しさん2014/07/02(水) 15:23:20.05ID:7E/KXNMp
Object-Cやなくて、Objective-Cやで。プログラマなら間違えたらアカン
0341デフォルトの名無しさん2014/07/02(水) 16:47:11.64ID:3GppMyES
>>316-317
あれは面白いことにJavaじゃObjective-Cを代替するには役不足だったんで
サポート停止されたんだよなぁ。Swiftはそれを踏まえて作ってはいるみたいだし
0342デフォルトの名無しさん2014/07/03(木) 08:58:36.06ID:s8dcLjiN
>>341
「力不足」だよね?
0343デフォルトの名無しさん2014/07/03(木) 09:07:45.05ID:Q4dDnky3
誤用の指摘とかどうでもいいし
0344デフォルトの名無しさん2014/07/03(木) 13:00:11.80ID:ocaDq0om
>>341
赤っ恥www
0345デフォルトの名無しさん2014/07/03(木) 13:12:53.11ID:0tabs9DN
いや、誤用じゃないんでむしろ誤用だと思ってつっこんでる奴の方が…
0346デフォルトの名無しさん2014/07/03(木) 17:25:46.66ID:P7mc1MKH
>>345
必死だな。
0347デフォルトの名無しさん2014/07/03(木) 18:39:36.50ID:VyOuWYyM
2ch で誤字誤用の指摘をするのは恥ずかしいことだが、弁解や釈明や言い逃れをする恥ずかしさに比べれば無いも同然。
0348デフォルトの名無しさん2014/07/03(木) 18:57:04.96ID:bRkIiAVF
いや、バカが釣れるからどんどん指摘すべし。
0349デフォルトの名無しさん2014/07/03(木) 20:31:24.65ID:FhkBxcg0
javascriptive-cが最強だって
0350デフォルトの名無しさん2014/07/03(木) 20:41:48.37ID:ap5XVsa0
>>349
kwsk
0351デフォルトの名無しさん2014/07/04(金) 00:10:43.27ID:UzbhYlbZ
>>339
首を傾げるってどんなトコ?
個人的な使い勝手はJava超過Smalltalk未満なんだけど。
0352デフォルトの名無しさん2014/07/04(金) 00:37:01.19ID:msFVWI+x
>>351
Swiftはモダンで洗練されている、かつ大衆が好む言語
Smalltalkはモダンでもないし、大衆向けでもない。素晴らしいけどな

いいじゃん、個人的はって断わってるところ見ると自覚はしてるんだろ?
0353デフォルトの名無しさん2014/07/04(金) 01:39:34.04ID:Kc5FuQQY
現状swiftってDSLみたいなもんだし汎用言語と比べるのはあんまり意味がないんじゃね
0354デフォルトの名無しさん2014/07/04(金) 01:49:22.89ID:msFVWI+x
>>353
言いたいことは分かるが、SwiftはDSLでは無く汎用プログラミング言語な。
言語として汎用であるから、文法などを比較することに意味はあるよ
0355デフォルトの名無しさん2014/07/04(金) 09:35:51.65ID:ibPrybjY
>>345
じゃ、主張としては「JavaのほうがObject-Cより良い」ってこと?
だとしたら言い回しがおかしい
0356デフォルトの名無しさん2014/07/04(金) 10:35:40.73ID:55Iwzgg5
安定のゴミスレだな
0357デフォルトの名無しさん2014/07/04(金) 10:58:34.80ID:MI6unMOz
まーな
0358デフォルトの名無しさん2014/07/04(金) 20:11:26.61ID:ki9fyfkR
>>352
聞きたいのはswiftとgolangの批判だよ。
0359デフォルトの名無しさん2014/07/04(金) 21:06:13.84ID:AqR4CHdL
批判するなら「特に何も優れていない」ということに尽きるな
広く普及していて同じくらい優れた言語は既にたくさんあるわけで、
既存の言語じゃいけない理由がないならわざわざ新しく作るのはリソースを分断させるだけの迷惑行為だ
0360デフォルトの名無しさん2014/07/04(金) 21:07:23.38ID:RlFM+Deh
blub言語ってわけ
0361デフォルトの名無しさん2014/07/04(金) 21:36:09.61ID:UzbhYlbZ
>>359
非難じゃなくて批判(事実を突き合わせた上での判断)を聞きたいわけなんだが。
個人的な批判としてはgoのinterfaceと委譲は非常に出来が良かったと思う。
最もあのinterfaceは他の言語でsignatureとして実装されてたから、
真新しいものでも無かったんだけど。

それから、importの別名。これもC++なんかでusingとして
既に存在してた機能じゃあるが、
Javaなんかじゃ使えないからそれらの言語に比べりゃ便利だった。

goは全般的に実用的で、大半の言語よりは使い勝手が良い方だと見てる。
0362デフォルトの名無しさん2014/07/04(金) 21:54:25.59ID:PdXssMnS
>>359
既存の言語じゃいけないんじゃないの、アップルにとっては。

 ・Cocoaランタイムのネイティブコードを吐く
 ・アップルの意向でいつでも仕様変更できる

というニーズがアップルにはあるんだろうから、既存の言語で適当なのを見つけてくるのは大変だろうよ。
サードパーティにとって迷惑なのはわかるが、癖の少ない文法でまとめてくれたのは不幸中の幸いだわな。
0363デフォルトの名無しさん2014/07/04(金) 22:22:28.79ID:4r2s5G7/
なによりObjective-CやCとの相互乗り入れが出来る言語なんてApple以外が作る訳ないんだから、新言語以外は有り得ない。
将来を見据えた発展性のあるまとまった言語仕様だと思うよ。
まだ若干荒削りな所は有るけど整備されて行くだろう。
0364デフォルトの名無しさん2014/07/04(金) 23:34:18.36ID:6bXGoclV
どうせ1年か2年したらC/Objective-Cなんて切り捨てるだろうし互換性なんてどうでもいいだろ
パフォーマンス上げてついでにモダンにしたいんだったらC++でいいんじゃ?
オペレータオーバーロードも名前空間も型推論もクロージャもジェネリクスもあるし
0365デフォルトの名無しさん2014/07/04(金) 23:40:13.47ID:iKaePYIV
何をどうしたらそうなる。頭沸いてるのか
0366デフォルトの名無しさん2014/07/04(金) 23:57:02.00ID:BPBQ8Qlo
C++より後発でCと互換があって、より無難にオブジェクト指向的な拡張を施したがあるんだけどそれ使おうぜ
0367デフォルトの名無しさん2014/07/05(土) 00:20:46.36ID:pTDYhgjU
>>366 それでiOSアプリが開発できるなら使ってやるよ。
0368デフォルトの名無しさん2014/07/05(土) 00:28:00.53ID:3XcLVhBt
>>367
つまり今まで通りだな
0369デフォルトの名無しさん2014/07/05(土) 00:41:55.02ID:5PqNKKxq
>>361
go を批判/非難する気はないけど、
go が普及しないのは >>359 が書いているように
「既存の言語じゃいけない理由がない」からだろ
おまけに「全般的に実用的で、大半の言語よりは使い勝手が良い」程度の
利点しか無い、言い換えるとバランスのとれた優等生だけど個性が無い

GoogleがAndroidの開発言語として(Java ではなく) go を採用していたら、
状況は変わっていたかもしれない
ちょうど UNIX の開発言語として C が勝ち Pascal族を排除したように、
Rails の開発言語として Ruby が有名になり Python に影がさしたように ....
Google がそうしなかったのは、Microsoft が C# を必要とし
Apple が Swif を必要としたほどには、Go が必要ではなかったってことさ
0370デフォルトの名無しさん2014/07/05(土) 01:19:50.20ID:pTDYhgjU
>>368 iOS周りは殆どの開発者が早い段階でSwiftに移行していくぞ。
年末位には本格的になってくるだろう。 殆どの開発者が歓迎してる。
Obkective-Cだと敷居が高いけどSwiftなら始めてみたいと言う層も結構いそう。
これでMacの売り上げが上がるな。

言語間の構文比較 Swiftの軽さが際立つ。

Swift:--------
println("Hello, World!")

Go:----------
package main
import "fmt"
func main() {
  fmt.Println("Hello, World!")
}

Java:--------
class ArbitraryClassName {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

Objective-C:----
#import <stdio.h>
int main( int argc, const char *argv[] ) {
  printf("Hello World!");
  return 0;
}
0371デフォルトの名無しさん2014/07/05(土) 01:30:17.23ID:Hq9eeGT6
>>370
メイン関数(メソッド)がない静的型付け言語って意外と少ないよな。大正義Scala先生もmainいるし。

形安全でサクサク開発という意味だと、1番いい言語化もしれない
0372デフォルトの名無しさん2014/07/05(土) 01:33:23.30ID:lG7Vks4t
いや、一行だけのプログラムで構文比較して軽いとかいうなよ
コードゴルフするわけでもあるまいし
0373デフォルトの名無しさん2014/07/05(土) 01:35:11.49ID:Hq9eeGT6
>>369
Goは元々システム向け言語だからな。AppEngineに採用されたり、Android上で(NDKとしてだっけ?)動かせたり、最近はアプリ向けにも動きがあるけど。

GoogleだとSwift的な役割な期待されるのは、Dartだと思う。JavaScriptの代替のイメージが強いが、開発担当によると、クライアント、サーバ両方で使える汎用言語目指しているらしい。
0374デフォルトの名無しさん2014/07/05(土) 01:36:50.25ID:Hq9eeGT6
>>372
最もミニマムなコードを比較することに意味はあるでしょ。だってそれ以上短くできないんだから。
そこに設計思想が現れるわけよ
0375デフォルトの名無しさん2014/07/05(土) 01:54:55.86ID:Mg3y7G5e
設計思想の嬌声が聞こえてきちゃうんですね
0376デフォルトの名無しさん2014/07/05(土) 02:20:02.33ID:pTDYhgjU
>>373 Dartは、あくまでもWebアプリ用だよ。
VMで実行するか、Javascriptに変換して実行するかの二つに一つ。
端末側アプリの開発用では無い。

端末は、Java, go
主流はJavaのままだろう。 Googleとしては、goに移行させたいかもしれないけど。
0377デフォルトの名無しさん2014/07/05(土) 02:28:47.28ID:Hq9eeGT6
>>376
まあこれ見てよ
http://m.jp.techcrunch.com/2014/07/01/20140629googles-dart-programming-language-is-coming-to-the-server/

GoはC/C++の置き換えを目指しているのではないかと思う。一般的な例外機構を採用しなかったり、パフォーマンスとコンパイル速度に重きを置いている。
AndroidのサポートがSDKではなくNDKだしね。

これ以上はスレ違いだからやめとくけど
0378デフォルトの名無しさん2014/07/05(土) 02:29:19.64ID:5PqNKKxq
>>373
>Goは元々システム向け言語だからな。

そう、ただし Go は GCとスレッドをサポートしているから、
C というよりも Java や C# (および Swift)と真正面から競合する言語だね
だから Google が Android というOS記述言語に Go を採用しなかったのは、
メジャーな 「Java(= Oracle)を排除できるほど Go には魅力(優位性)が無い」と
Google が戦略的に判断したからじゃないのかな

Google はWebサービスに関しては巨人かもしれないけど、
Microsoft や Apple と比べれば「OS ベンダーとしては後発」になる
Go が普及しないのは、生まれの不幸といえるのかもしれない
遠い将来、Android がスマフォ/タブレット市場を独占し、
Apple が離脱するような時代が到来すれば、Go に再び陽があたるかもね
0379デフォルトの名無しさん2014/07/05(土) 02:35:25.49ID:dvkFKgZc
これをSwiftに書き直したらどんな感じよ
type TinyOperation interface {
 MoveTo( target Point )
 LineTo( target Point )
}
type Operation interface {
 TinyOperation
 QuadraticBezierTo( target, control1 Point )
 CubicBezierTo( target, control1 control2 Point )
}
type OperationAdapterForTiny struct {
 TinyOperation
 /* その他略 */
}
func ( _ *OperationAdapterForTiny )QuadraticBezierTo( target, control1 Point ){ /*略*/ }
func ( _ *OperationAdapterForTiny )
CubicBezierTo( target, control1 control2 Point ) { /*略*/ }

type TinySVG{ /*略*/ }
func ( _*TinySVG )MoveTo( target Point ) { /*略*/ }
func ( _*TinySVG )LineTo( target Point ) { /*略*/ }

func Main() {
 path := &OperationAdapterForTiny{ /*略*/ }
 path.TinyOperation = &TinySVG{}
 path.CubicBezierTo( &Point{ 1, 0 }, &Point{ 1, 2 }, &Point{ 2, 2 } )
}
0380デフォルトの名無しさん2014/07/05(土) 02:40:10.84ID:765Tx3Gv
>>374
カップラーメン:お湯を注いで3分待つ
お店のラーメン:家から出て歩いて店行って食券買って待つ

ほらこのようにラーメンが出てくる待ち時間を比べたら圧倒的にカップラーメンが早い!(キリッ
こうですか?><わかりません><
なんで食券のとこから比べないんですか?
0381デフォルトの名無しさん2014/07/05(土) 02:52:36.64ID:oVhlbldd
>>379の補足。
>>379の要点は、TinySVGは移動と線分の描画しかできないが、TinySVGに
移動と線分の描画だけあればBezier曲線を描画できる
OperationAdapterForTinyを取り付けることでOperation型に
適合しているところ。
0382デフォルトの名無しさん2014/07/05(土) 03:25:44.93ID:5PqNKKxq
>>381
Swift を勉強したいのなら、まず自分でコードを書いてみるのがいいでないの?
他人にやらせるんぢゃなくて....
0383デフォルトの名無しさん2014/07/05(土) 19:27:50.62ID:b45VDszC
ちょっと以下のコードを見て欲しいんですが

var dict:Dictionary<String,String>? = Dictionary<String,String>()
dict["a"]="abc" //<--ここでsubscriptメソッドがないって怒られる

変数宣言の部分を変えずにどうすれば代入できるか教えてくださいm(_ _)m
0384デフォルトの名無しさん2014/07/05(土) 20:20:31.31ID:b45VDszC
>>383

すんません自己解決しました

var dict:Dictionary<String,String>? = Dictionary<String,String>()
var dict2 = dict!
dict2["a"]="abc"
0385デフォルトの名無しさん2014/07/05(土) 20:37:13.38ID:zVIhfQ1o
>>384
もともとのdictの方の値は変わらなくていいの?
0386デフォルトの名無しさん2014/07/05(土) 21:15:00.62ID:b45VDszC
>>385
参照渡しだと思い込んでました

var dict:Dictionary<String,String>? = ["aaa":"bbb"]
var dict2 = dict!
dict2["a"] = "abc"
dict = dict2

ってことですね
0387デフォルトの名無しさん2014/07/05(土) 21:20:56.81ID:zVIhfQ1o
オプショナルな配列やディクショナリはイミュータブルになるらしい。
だから、いったんアサインしたらもう要素の変更や追加は出来なくなる。
ディクショナリをどうしてもオプショナルな変数として使ってあとで要素を変更したかったら、つどアサインし直すしかない
0388デフォルトの名無しさん2014/07/05(土) 21:29:25.00ID:b45VDszC
>>387
なるほどー。納得しました。
ということはこういう挙動になるのは
String,Array,Dictionaryくらいってことですかね。
0389デフォルトの名無しさん2014/07/05(土) 21:41:09.53ID:zVIhfQ1o
>>388
Stringはそもそもイミュータブルだからあまり気にする必要はないと思うけど、ただアンラップは必要

var s: String? = "aaa"
s += "bbb" // ← これはエラー
s = s! + "bbb" // これはオッケー
0390デフォルトの名無しさん2014/07/05(土) 21:45:19.44ID:xdz/XkUa
最近は横文字がそのままカタカナになってる事が
多くて読みづらくて困る。ルー語じゃないんだから日本語にしてほしいなぁ。

任意型の配列や辞書は変更できなくなるらしい。
だから、いったん割り当てたらもう要素の変更や追加は出来なくなる。
辞書をどうしても任意型の変数として使ってあとで要素を変更したかったら、つど割り当てし直すしかない
0391デフォルトの名無しさん2014/07/05(土) 22:05:51.00ID:zVIhfQ1o
>>390
日本語の公式解説が無い今の時点で独自の和訳日本語を使うと後で混乱のもとになる。
任意型という表現が公式なものならいいが、そうでない場合、誤解を生む可能性がある。
あと、ディクショナリ、イミュータブル、アサインという言葉は、特にIT関係者の間ではもう十分に浸透してると思う。
イミュータブルを単に変更としてしまうと、changeやmodifyと勘違いされる可能性がある。
0392デフォルトの名無しさん2014/07/05(土) 22:08:12.01ID:lG7Vks4t
いっそ明らかに普及したものを除いて英単語そのまま書くのを押したい
0393デフォルトの名無しさん2014/07/05(土) 22:41:31.79ID:5PqNKKxq
>>391
>イミュータブルを単に変更としてしまうと、changeやmodifyと勘違いされる可能性がある。

ミュータブル(mutable)とイミュータブル(immutable)の日本語訳は、
昔からそれぞれ可変と不変だろ
ミュータブルを変更を訳す人が無知なだけ
>>390だって「もう要素の変更(update)や追加(add)は出来なくなる」と
解釈するのが普通だと思うけどね
0394デフォルトの名無しさん2014/07/05(土) 22:57:59.34ID:0zi9Gl/Q
ArrayとDictionaryって結構直感的でない所多いよなあ。
ま、DictionaryなどのコレクションはOptionalにしない方が良いだろうな。
0395デフォルトの名無しさん2014/07/06(日) 00:04:21.89ID:7pAe/j5J
>>393
意訳だから辞書通りじゃなくていいでしょ。
日本語で判ればいいのよ判れば。
あとupdateは変更より更新じゃない?
downdateできちゃダメだから。
0396デフォルトの名無しさん2014/07/06(日) 03:36:23.05ID:3qD8tN7V
Rubyで連想記憶のことをhashって名前にしているのはセンス悪いよね。
機能じゃなくて、それを実現しているアルゴリズムの名前付けちゃうのはだめって
カーニハン先生が言ってた
0397デフォルトの名無しさん2014/07/06(日) 03:50:44.25ID:fVlVkcLx
>>396
Rubyは例外処理もrescueだのensureだの変な名前つけるし、後発だから奇をてらいたかったんだよきっと
勘弁して差し上げろ
0398デフォルトの名無しさん2014/07/06(日) 04:04:37.77ID:GjvnhWDM
>>397
rescue ensuerはSmalltalk由来だよ。
ちょいちょいSmalltalk由来の用語や機能があって
年々その色が濃くなってる。
0399デフォルトの名無しさん2014/07/06(日) 04:10:19.27ID:GjvnhWDM
>>391
辞書、可変、不変、割り当てって言葉も十分浸透してると思うぞ。
0400デフォルトの名無しさん2014/07/06(日) 04:20:48.60ID:8W/9eoDc
カタカナで書くのは対訳のある単語とない単語が混ざってアレになるのを避けるためじゃね
それなら初めから全部カタカナで書いたほうが楽
0401デフォルトの名無しさん2014/07/06(日) 06:44:45.70ID:pBYyLByM
>>387
もうこれでいいや
optionalなarrayやdictionaryはimmutableになるらしい。
だから、いったんassignしたらもう要素の変更や追加は出来なくなる。
dictionaryをどうしてもoptionalな変数として使ってあとで要素を変更したかったら、つどassignし直すしかない
0402デフォルトの名無しさん2014/07/06(日) 08:56:57.09ID:wroK/xvX
OptionalもArrayもDictionaryも型名なんだから大文字含めてそのままでいいだろ
0403デフォルトの名無しさん2014/07/06(日) 12:18:34.54ID:vgKebaqN
同じ用語でも言語ごとに違いあったりするから型名やキーワードはそのまま使ったほうが無難といえば無難
0404デフォルトの名無しさん2014/07/06(日) 12:19:30.74ID:imSiv+lN
If you assign an array or a dictionary to an optional value, it will be immutable.
So once you assign a value to the variable, you can neither add nor update any items to the value.
If you want to use an optional value of that type and update the items of the value after it has assigned, you need to assign a new instance which include the new items every time.
0405デフォルトの名無しさん2014/07/06(日) 12:26:30.27ID:WD1US8Yy
英語読めないやつはSwift手出すの止めとけ
エロい人が日本語の解説本だすまで待て

トップを走りたいなら英語勉強しろ
0406デフォルトの名無しさん2014/07/06(日) 12:36:18.28ID:g9cBJIwi
やっぱ>>404か>>390のどっちかだな。
カタカナ英語は気持ち悪い。
0407デフォルトの名無しさん2014/07/06(日) 12:56:53.22ID:kiq0BT0K
プログラムを算譜、インターフェースを境界面とちゃんと訳す木村泉先生訳の
本でも読んで正しい日本語訳とか何かを考えろよお前ら
0408デフォルトの名無しさん2014/07/06(日) 13:43:23.01ID:MR0J7zgQ
収納的属性、電算的属性
0409デフォルトの名無しさん2014/07/06(日) 14:02:52.83ID:g9cBJIwi
変数
関数
参照
構造体

C言語の時代は良かったな
明治時代の魂が残ってた
0410デフォルトの名無しさん2014/07/06(日) 14:13:25.10ID:EiccLsDu
マジで言っていそうで気持ち悪い
0411デフォルトの名無しさん2014/07/06(日) 14:29:15.53ID:g9cBJIwi
templateとclassを訳せなかったC++世代はヘタレだな
0412デフォルトの名無しさん2014/07/06(日) 14:29:42.13ID:XSnNqaqG
関数頭部とか90年代の変な訳語はなんなんだあれ
0413デフォルトの名無しさん2014/07/06(日) 14:37:39.17ID:g9cBJIwi
今は宣言と定義で定着したな
0414デフォルトの名無しさん2014/07/06(日) 15:11:26.51ID:WD1US8Yy
何でもかんでも日本語に訳せばいいとは思わないけどね
英語で意味を感じられればそれでいい
何てったって現地人はそうなんだから
0415デフォルトの名無しさん2014/07/06(日) 15:14:04.09ID:UgKQDcKg
ジェネリクスω
0416デフォルトの名無しさん2014/07/06(日) 15:28:58.82ID:uiO74oNf
>>414
やっぱ先輩ぱネェっす
0417デフォルトの名無しさん2014/07/06(日) 16:55:58.22ID:vf+otpu+
>>414
現地人は外国語じゃなく母国語で理解してると思うよ。
0418デフォルトの名無しさん2014/07/06(日) 17:48:50.09ID:4Al3+AY7
ちょんのわくせー
0419デフォルトの名無しさん2014/07/06(日) 18:33:02.81ID:vf+otpu+
classの色んな言語表現。

Клас, ААП
?
???

自国語に訳せてない国ってやっぱ少ないのな。
0420デフォルトの名無しさん2014/07/06(日) 19:35:34.29ID:6AiziFNr
訳せてないってことは語彙がない。概念がない。
新しい概念を導入するなら無理に日本語で作る必要は無い。
0421デフォルトの名無しさん2014/07/06(日) 19:44:55.59ID:BmWAhxas
わかればいいんだよ馬鹿どもが。もっと身のある話をしろ
0422デフォルトの名無しさん2014/07/06(日) 20:44:38.22ID:vf+otpu+
>>420
じゃお役所言葉で日本語になってるものは日本語でいいよね。
0423デフォルトの名無しさん2014/07/06(日) 21:28:06.85ID:wcmxE/LV
computer system を日本語訳してくだしあ
0424デフォルトの名無しさん2014/07/06(日) 21:30:12.91ID:q8UnPLrb
そういやタッチとかスワイプって訳されてないな
さわさわ?
0425デフォルトの名無しさん2014/07/06(日) 21:48:23.16ID:uI+Octwc
>>423 電子計算機システムまたは電子計算機機構
0426デフォルトの名無しさん2014/07/06(日) 21:50:23.05ID:c4JqBC4F
電子計算機ってなんかもっとカッコいい訳があっていい気がするんだよな
0427デフォルトの名無しさん2014/07/06(日) 21:58:15.04ID:eWlTyoxb
>>390
インサイドマックは、横文字が横文字のままで英単語と日本語が混ざった
とても日本語の翻訳文書と言えるものでは無かったけどな。
あんな最悪な翻訳本はなかなか無いぞ
0428デフォルトの名無しさん2014/07/06(日) 22:03:34.13ID:wcmxE/LV
>>426
電影算盤とか?
0429デフォルトの名無しさん2014/07/06(日) 22:10:41.39ID:XSnNqaqG
"継承"で学んだけど、英文の説明の中でのインヘリタンス(inheritance)の方が
遺伝的形質を受け継ぐ意味がよく伝わってイメージでわかるとは思ったかな。
継承だと持ち替えて渡してる感じだけどインヘリタンスは"伝統"みたいに
切れ目なく続いてるイメージの言葉なんだ、あれ。
0430デフォルトの名無しさん2014/07/06(日) 22:12:34.62ID:wcmxE/LV
相伝とか
0431デフォルトの名無しさん2014/07/06(日) 22:45:18.45ID:eWlTyoxb
インヘリタンスよりポリモーフィズムの日本語訳にしっくり来るのがないな
0432デフォルトの名無しさん2014/07/06(日) 22:45:48.32ID:eWlTyoxb
>>426
電脳で良いんじゃない?
0433デフォルトの名無しさん2014/07/06(日) 22:47:47.99ID:8W/9eoDc
>>431
多態とか多相じゃね
0434デフォルトの名無しさん2014/07/06(日) 22:52:26.14ID:vf+otpu+
>>426
電算機とか
0435デフォルトの名無しさん2014/07/06(日) 22:54:10.86ID:q8UnPLrb
そんなこと言い出したらオブジェクトとかプロパティとか
0436デフォルトの名無しさん2014/07/06(日) 23:01:23.67ID:wcmxE/LV
カタカナがいやなら、もう中国語をそのまま持ち込めばいいよ
0437デフォルトの名無しさん2014/07/06(日) 23:13:35.44ID:QMJgvLLE
critiqueを批判、blameを非難、variableを変数と訳してきた先人の努力を馬鹿にすんな。
0438デフォルトの名無しさん2014/07/06(日) 23:58:51.89ID:kiq0BT0K
templateはひな形でいいんじゃないかと思う。
virtualは何がいいんだろう? 実質か?
0439デフォルトの名無しさん2014/07/07(月) 00:04:07.19ID:S+o9LG15
>>437
そういえば「文字変数」なんて変な日本を違和感なく使ってるな
0440デフォルトの名無しさん2014/07/07(月) 00:09:06.82ID:q8c61ayr
いい加減ウザすぎ
0441デフォルトの名無しさん2014/07/07(月) 00:32:29.39ID:+HnIPqmo
>>438
仮想で定着してるだろ
0442デフォルトの名無しさん2014/07/07(月) 01:37:56.73ID:QwaEb3jX
仮想と実質じゃ受け取る意味はまるで違うんだが
どうしてこうなったんだか
0443デフォルトの名無しさん2014/07/07(月) 03:55:41.85ID:q8c61ayr
仮に想定した関数
仮に想定したメモリ(領域)
なにも不思議でもなんでもないだろ。いい加減うるせーよw
0444デフォルトの名無しさん2014/07/07(月) 07:22:40.86ID:dSawaSg/
トラフィックをトラヒックと表記するのはそろそろやめて欲しい
0445デフォルトの名無しさん2014/07/07(月) 07:49:41.67ID:UwWyk3rG
2チャネルを2チャンネルと…
0446デフォルトの名無しさん2014/07/07(月) 08:09:22.00ID:x5DTrf0D
>>442
> どうしてこうなったんだか
オメーの使ってる辞書がマヌケなだけだな

http://www.oxforddictionaries.com/us/definition/american_english/virtual
Almost or nearly as described, but not completely or according to strict definition:
0447デフォルトの名無しさん2014/07/07(月) 08:16:54.82ID:Z4mY2qtS
辞書じゃなくて >438 だろ。落ち着け。
0448デフォルトの名無しさん2014/07/07(月) 08:18:26.31ID:x5DTrf0D
Virtual: 実質
って書いてある辞書があるんだろ。
0449デフォルトの名無しさん2014/07/07(月) 08:20:46.18ID:X/HL5rf/
落ち着いて447を読めよ
0450デフォルトの名無しさん2014/07/07(月) 08:23:42.95ID:x5DTrf0D
>>438 == >>442
0451デフォルトの名無しさん2014/07/07(月) 09:02:46.16ID:iqLntt6B
virtualの意味 - 英和辞典 Weblio辞書
http://ejje.weblio.jp/content/virtual
【形容詞】【限定用法の形容詞】(比較なし)1(表面または名目上はそうでないが)事実上の,実質上の,実際(上)の



日本語読解力が不自由だと >>438 みたいな人間になるのか
0452デフォルトの名無しさん2014/07/07(月) 09:09:04.90ID:mEpbzYkR
Virtualは、未だ完成してない大体のもの、状態、のこと?
0453デフォルトの名無しさん2014/07/07(月) 09:12:33.56ID:dSawaSg/
完成してるかしてないかはどうでも良い
っていうか C++ の virtual 関数のことを言ってる?
0454デフォルトの名無しさん2014/07/07(月) 09:16:25.39ID:K8QQxYM3
>>446 お前ね辞書は先頭行が正しいと思ってじゃねーのか? 中学の辞書の引きかたからやり直せ。
0455デフォルトの名無しさん2014/07/07(月) 09:19:07.55ID:K8QQxYM3
>>451 その辞書がくそ。 見るなら2行目の虚像から想像すべき。 realの反対と書かれてるだろ。

Computing Not physically existing as such but made by software to appear to do so:
a virtual computer
See also virtual reality.

1.2Carried out, accessed, or stored by means of a computer, especially over a network:
a virtual library
0456デフォルトの名無しさん2014/07/07(月) 09:21:09.44ID:x5DTrf0D
>>454
これ以外は「実質」と訳される可能性のある定義はのってない。
お前はどれが「実質」と訳されたと思ったんだ?
恥ずかしがらずに言ってみな。
0457デフォルトの名無しさん2014/07/07(月) 09:22:00.76ID:K8QQxYM3
コンピュータ用語としてどの辞書も書かれてるのに何を見てるんだか。
ロングマン英和。
2. 仮想の、インターネット(コンピュータ)上の
0458デフォルトの名無しさん2014/07/07(月) 09:24:27.92ID:dSawaSg/
>>455
real の反対は imaginary であって
virtual は決して虚像ではないよ
0459デフォルトの名無しさん2014/07/07(月) 09:26:24.40ID:dSawaSg/
virtual が本当に real の反対って意味なら
そもそも virtual reality なんて例出せるはずがないω
0460デフォルトの名無しさん2014/07/07(月) 09:26:30.16ID:K8QQxYM3
>>456 俺はその辞書の2番3番目を見ろと言ってるだけ。
大抵の辞書の1番目には実質的なと言う訳が載ってる事は載ってる。
でもどの辞書も2行目にはコンピュータ用語としての仮想の訳が載ってる。
0461デフォルトの名無しさん2014/07/07(月) 09:29:40.99ID:K8QQxYM3
>>458.459 >>451 の辞書に載ってる例を言ったまで。 <> real
virtual image <> real image
0462デフォルトの名無しさん2014/07/07(月) 09:32:50.50ID:x5DTrf0D
>>460
virtualの訳として「実質」が相応しいと言い出した奴(>>438,>>442)を弄ってるんだよ。
話の流れ読めないバカは引っ込んでろ。
0463デフォルトの名無しさん2014/07/07(月) 09:32:50.78ID:dSawaSg/
すくなくともそのリンク先の <> real の例では
2 の方が【光学】と限定的に書かれているのだから採用すべきではないな
0464デフォルトの名無しさん2014/07/07(月) 09:40:19.13ID:KviRjZif
そろそろSwiftのはなししてください
アマツバメとかは無しで
0465デフォルトの名無しさん2014/07/07(月) 10:10:16.02ID:5fSmqSt+
先取り!Swiftって本、密林見ると結構売れてるみたいね

1位 ─ Kindleストア > Kindle本 > コンピュータ・IT > プログラミング
1位 ─ 本 > コンピュータ・IT > プログラミング > その他
2位 ─ Kindleストア > Kindle本 > 科学・テクノロジー > 工学
0466デフォルトの名無しさん2014/07/07(月) 10:16:07.08ID:5fSmqSt+
目次をみると、公式本以上の情報が載ってるようには思えないけど、英語難民が多いってことか
そして、optionalはそのまま、optionalと書いてるな
いい訳語が見つからなかったのか
0467デフォルトの名無しさん2014/07/07(月) 10:24:17.06ID:IyIUUBDt
required・optionalは必須・任意じゃね?
0468デフォルトの名無しさん2014/07/07(月) 12:14:48.36ID:GwyaFZsE
語彙の話は専門スレ立ててやっとけよ。このはSwiftのスレだっつーの

>>465
どう見てもクズ本だが、日本語ってだけで売れるんだからボロい商売だな。
0469デフォルトの名無しさん2014/07/07(月) 13:25:40.88ID:x5DTrf0D
>>467
Swiftのドキュメント読んだ事ないバカは引っ込んでろ
optionalはSwiftの言語機能, requiredと対の機能ではない

ところでアマゾンを密林と呼んでるキミは、retinaでなく網膜と呼んでるんだよな。当然。
0470デフォルトの名無しさん2014/07/07(月) 13:29:04.80ID:6dTggk85
訳とスラングの違いもわからないバカなの
0471デフォルトの名無しさん2014/07/07(月) 13:33:07.60ID:x5DTrf0D
日本語をスラングにするのやめてくれない?
バカっぽくてイラつくから。
0472デフォルトの名無しさん2014/07/07(月) 13:56:48.04ID:6dTggk85
カルシウム足りないバカなのん
0473デフォルトの名無しさん2014/07/07(月) 14:41:17.95ID:NzVZBKqW
>>466
英語が浸透してない明治時代ならともかく
現在は、用語は英語表記でいいと思います。
日本語訳で慣れちゃうと、英語の記事を見た時に、各単語の対応がわからなくなりそうです。
0474デフォルトの名無しさん2014/07/07(月) 15:16:55.24ID:X/HL5rf/
キレまくりですな ID:x5DTrf0D
0475デフォルトの名無しさん2014/07/07(月) 15:34:33.13ID:eRMueaNX
コンピュータ関係の文章なんてほぼ全部横書きなんだしカタカナにする必要すら無いと思う
英単語そのまま使えばいい
0476デフォルトの名無しさん2014/07/07(月) 15:50:32.00ID:x5DTrf0D
amazonすら密林と訳さないとダメなバカが存在するのでムリ。
0477デフォルトの名無しさん2014/07/07(月) 15:54:00.84ID:q8c61ayr
くだらないことを延々と。くだらないことに拘るのはくだらなくないんだろうけど、なんで?
そんなくだらないことで躓くんだったらプログラミングなんて辞めてしまえw

ドキュメントを読むのはその意図することであって、その意図することを汲み取るのにたかが単語で躓くんだったらいろいろ無理だろう
極稀にデスクトップ/Desktopをディスクトップとか言う人とがいるが、一応一度だけ注意するけど何を言いたいかわかるので拘らない俺から見た感想

>>473,475は誰に向かっていっているのだろうか。ここにSwiftの日本語訳している人がいるのか?だったらすまんw
0478デフォルトの名無しさん2014/07/07(月) 18:57:57.82ID:G41qGWIh
virtual
1. very close to being something without actually begin it
2. existing or occurring on computers or on the Internet
さすが Merriam-Webster's 学習英英辞典、現代英語にマッチしている
0479デフォルトの名無しさん2014/07/07(月) 19:12:26.90ID:kE/eYkG1
>>469
関数や変数は言語機能なのに関数、変数って言うじゃんかよ〜。
日本語で話す分には任意変数で良いんじゃね?
0480デフォルトの名無しさん2014/07/07(月) 20:25:38.99ID:x5DTrf0D
>>479
The Swift Programming Language読んでから言え。
Optionalsなの。名詞なの。形容詞じゃないの。Optionalと名付けられた言語機能なの。
0481デフォルトの名無しさん2014/07/07(月) 20:33:17.61ID:5fSmqSt+
君たち、そろそろSwiftの話でもしないか?
0482デフォルトの名無しさん2014/07/07(月) 20:33:57.43ID:w/Yi4FUy
んなこと言ったら構造体もstructureじゃんよー
0483デフォルトの名無しさん2014/07/07(月) 20:34:41.93ID:w/Yi4FUy
んなこと言ったら構造体もstructureじゃんよー
0484デフォルトの名無しさん2014/07/07(月) 20:38:57.04ID:5fSmqSt+
んなこと言ったら構造体もstructureじゃんよー
0485デフォルトの名無しさん2014/07/07(月) 20:39:51.59ID:hWtIlU+j
>>481
んじゃま、質問させてくれ

Swiftでトレイトやmixinみたいなことするにはextension使えばいいことはわかったが、メソッド名被ったらどうなんの?
0486デフォルトの名無しさん2014/07/07(月) 20:44:41.40ID:x5DTrf0D
>>482
The Swift Programming Languageを読んで無い奴は発言禁止
0487デフォルトの名無しさん2014/07/07(月) 20:58:13.92ID:K8QQxYM3
>>485
誰かが同じメソッド名で機能を追加してたら? 多分宣言時にコンパイルエラーが出るのでは? 未確認
そう言えばどこまでグローバルになるんだろう? モジュール内だけ?
0488デフォルトの名無しさん2014/07/07(月) 23:22:48.07ID:ZK9kTzTs
Amazonは地名
0489デフォルトの名無しさん2014/07/07(月) 23:51:01.96ID:9sa10Ekx
virtualの訳語が仮想というのがいいのかどうか、もちろんそれはいろんな意見があっても
いいと思うけど「辞書に仮想って書いてある、そんなことも知らねえのか」みたいな
書き込みをドヤ顔でしている奴はさすがにオツム大丈夫なのかな、と心配になる。

まさにその訳語が適当かどうか、というのが上の文脈だろうから。
まさか辞書に書いてあれば全部正しい、とか信じているのだろうか?
0490デフォルトの名無しさん2014/07/08(火) 00:30:38.11ID:14YrHML8
おつむ大丈夫か? コンピュータ用語として仮想という訳が定着してるvirtualに対して、
「仮装は相応しくない。実質が相応しい。」と言い出したバカが一匹いただけ。
0491デフォルトの名無しさん2014/07/08(火) 00:31:12.25ID:FztXU1R5
ここは英訳について語り合うスレですか?
0492デフォルトの名無しさん2014/07/08(火) 00:31:15.63ID:3g0pjX2F
IT業界で、virtual reality の訳語として普及している
「仮想現実」が適当かどうかを議論したいってこと?
0493デフォルトの名無しさん2014/07/08(火) 00:35:07.59ID:oyVcgyUK
virtual reality が 仮想現実と訳されてるから
virtual address が 仮想アドレスと訳されてるから
virtual memory が仮想メモリと訳されてるから
0494デフォルトの名無しさん2014/07/08(火) 00:41:59.08ID:14YrHML8
このバカは
「仮想と辞書に書かれている」と「実質とは辞書に書かれていない」の違いがわからないのだろうか?
0495デフォルトの名無しさん2014/07/08(火) 00:52:16.37ID:SmxPoMVm
>>488
単数形 Amazon
複数形 Amazones
0496デフォルトの名無しさん2014/07/08(火) 00:53:11.73ID:FztXU1R5
| ̄| ∧∧
|ニニ( ゚Д∩コ
|_|⊂  ノ
   / _0
  (ノ

 えっ…と、板違いの糞スレ
\はここかな…、と/
  ̄ ̄ ̄V ̄ ̄ ̄ ̄
  ∧∧ ∧∧
 ∩Д゚≡゚Д゚)| ̄|
  ヽ  |)ニニニ|
   | |〜 |_|
   ∪∪


  ∧∧ ミ  ドスッ
  (  ) ___
  /  つ 終了|
〜(  /   ̄|| ̄
 ∪∪   || ε3
      ゙゙~゙~
0497デフォルトの名無しさん2014/07/08(火) 00:58:21.57ID:SmxPoMVm
>>451
「空母ではないが実質空母と同じ艦。」
とかいう使い方を想定してるんだろな。
0498デフォルトの名無しさん2014/07/08(火) 00:59:41.91ID:FztXU1R5
つ http://awabi.2ch.net/english/
0499デフォルトの名無しさん2014/07/08(火) 01:03:42.07ID:VaiEGeQz
English板から飛ばされて来ました
次スレはここですか?
0500デフォルトの名無しさん2014/07/08(火) 01:17:08.04ID:WA0uMVhU
virtual/və́ːrtʃuəl/
形容詞比較なし〖通例 名詞 の前で〗
1 (厳密には違うが)実質上の, 事実上の
▸ a virtual promise
事実上の約束
▸ a virtual ruler of the country
(名目上はそうでないが)その国の事実上の統治者.
0501デフォルトの名無しさん2014/07/08(火) 01:19:53.22ID:WA0uMVhU
2 〘コンピュ〙
a. (コンピュータによる)仮想空間に存在する, 仮想現実の, バーチャルの
▸ virtual environments仮想環境.

Mac付属のウィズダムだと、語義の説明としては1番目が実質、仮想というのは
コンピュータ業界で使われだしたってことみたいだな。
0502デフォルトの名無しさん2014/07/08(火) 01:22:22.38ID:WA0uMVhU
みんな大好きw やねうらおセンセイのページにこんなのあった

virtualを「仮想」と訳していいものか
http://d.hatena.ne.jp/yaneurao/20100803

仮想現実とか当たり前のように使っていたが、調べて見ると面白いね。
0503デフォルトの名無しさん2014/07/08(火) 01:33:04.83ID:14YrHML8
本来の意味に加えてコンピュータ用語として
Computing Not physically existing as such but made by software to appear to do so:
という意味があり、これに仮想をあてた
全然違和感ないな
0504デフォルトの名無しさん2014/07/08(火) 01:45:21.59ID:IouEiGQ4
>http://business.nikkeibp.co.jp/article/tech/20100331/213753/?P=3&;ST=spc_cloud
>" 「仮想」と聞くと、かなり前のことですが、日本IBMでシステムズエンジニアをしていた方が「virtualを仮想と誤訳した責任は
>我々にあります」と反省の弁を述べたことを思い出します。米IBMがvirtual memoryを発表した時、日本IBMが仮想記憶と翻訳
>しました。virtualの意味は「事実上の」「実質的」ですから、virtual memoryとは「本来のメモリーではないが事実上メモリー
>として使える技術」を指します。ところが、仮想記憶と訳したため、実体がない想像上のメモリーという印象を与えてしまい、
>しかもコンピュータの世界でvirtualが出て来ると必ず仮想と訳されるようになりました。同氏は「もっといい訳にしておけば」
>と悔やむ所以です。とはいえ今考えてみても、しっくり来る言葉はなかなか見つかりません。言葉の難しさを感じます。"
0505デフォルトの名無しさん2014/07/08(火) 02:12:36.17ID:A4FGW6xl
あまりのくだらなささに笑っ…いや、あきれた
0506デフォルトの名無しさん2014/07/08(火) 02:14:31.83ID:0y3NchTW
何の話してたんだっけ?
0507デフォルトの名無しさん2014/07/08(火) 02:17:04.99ID:V1zINVuL
最初のスターウォーズの公開の頃はフォースは理力で、ダークサイドは暗黒面だったのに
今は単にカタカナ表記になって趣がなくなったな
0508デフォルトの名無しさん2014/07/08(火) 02:23:23.03ID:A4FGW6xl
>>506
たぶん>>390が諸悪の根源w
>>389あたりが意味ある(?)話をしていたんだろうな
0509デフォルトの名無しさん2014/07/08(火) 02:40:49.45ID:14YrHML8
http://www.etymonline.com/index.php?term=virtual
| Computer sense of "not physically existing but made to appear by software" is attested from 1959.
1959年には現在コンピュータ用語として使われているvirtualとして使われている。
一方、商用機でVMがサポートされたのは60年代なので、その記事はヨタ記事と判断して良い。
0510デフォルトの名無しさん2014/07/08(火) 02:47:01.78ID:V1zINVuL
>>509
キミ本当にバカなん?
「仮想」って訳語の話でしょ。
0511メモ2014/07/08(火) 04:31:24.37ID:SGOgDbT/
Xcode 6 beta3 で Swift Arrayの仕様がまともになったようだぜ

Array in Swift has been completely redesigned to have full value semantics like Dictionary and
String have always had in Swift. This resolves various mutability problems &amp;#8211; now a 'let' array
is completely immutable, and a 'var' array is completely mutable &amp;#8211; composes properly with
Dictionary and String, and solves other deeper problems. Value semantics may be surprising
if you are used to NSArray or C arrays: a copy of the array now produces a full and
independent copy of all of the elements using an ef&amp;#64257;cient lazy copy implementation. This is a
major change for Array, and there are still some performance issues to be addressed. Please
see the Swift Programming Language for more information. (17192555)!
0512デフォルトの名無しさん2014/07/08(火) 05:52:06.61ID:ntuzzAHh
Swiftスレすげー伸びてると思って追ってみたらなんだこれw
0513デフォルトの名無しさん2014/07/08(火) 07:05:58.97ID:+YqnTSNq
>>495
http://ejje.weblio.jp/content/Amazon
0514デフォルトの名無しさん2014/07/08(火) 07:22:49.27ID:g4XblxdO
ハウンター (ナタリ)★.5
まだ見てる途中だが、こりゃつまらん。ナタリってキューブだけだな。
0515デフォルトの名無しさん2014/07/08(火) 07:41:56.43ID:RbezwLvS
virtual dictator 実質独裁者
virtual penis こけし
0516デフォルトの名無しさん2014/07/08(火) 07:48:20.28ID:msYhinmO
Apple’s New Swift Programming Language Gets Significant Beta 3 Updates
http://www.mactrast.com/2014/07/apples-new-swift-programming-language-gets-significant-beta-3-updates/

For more information, see the Xcode 6 Beta 3 Release Notes. (PDF)
http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes_.pdf
0517デフォルトの名無しさん2014/07/08(火) 07:49:40.33ID:14YrHML8
>>510
かわいそうなくらいアタマが悪いな

IBMのSEが「仮想」という訳をつけた時にvirtualには
「事実上の/実質的」という本来の意味しか無かったが仮想と誤訳したと言うヨタ記事を>>504がほじくり出して来たわけだ。
それがウソだと言っている。
0518デフォルトの名無しさん2014/07/08(火) 07:52:26.05ID:RbezwLvS
virtual wife 内縁の妻
0519デフォルトの名無しさん2014/07/08(火) 07:53:13.91ID:FztXU1R5
もういいだろいい加減
つまらない
0520デフォルトの名無しさん2014/07/08(火) 07:55:53.76ID:RbezwLvS
virtual function 関数では無いが関数として使える何か

代替と訳すのも微妙だし訳しづらい言葉だな
0521デフォルトの名無しさん2014/07/08(火) 07:56:17.41ID:NQK6iWyP
わざわざ肥溜めに顔突っ込んで臭い臭い言う意味がわからない
0522デフォルトの名無しさん2014/07/08(火) 08:02:20.83ID:FztXU1R5
>>521
悪かったな
0523デフォルトの名無しさん2014/07/08(火) 08:11:38.99ID:msYhinmO
>>511
1. Array in Swift has been completely redesigned to have full value semantics like Dictionary and String have always had in Swift. (17192555)
2. You now declare arrays as [Int] instead of as Int[], as shorthand for Array<Int>.
3. NSDictionary* is now imported from Objective-C APIs as [NSObject : AnyObject]. (16870626)
4. nil is now a literal in the language, not a global constant of _Nil type. (16951729)
5. The half-closed range operator has been changed from .. to ..< to (16951729)
6. APIs imported from C no longer use type aliases like CInt or CFloat, which obfuscated the underlying type.
  They are now imported as Int32 and Float, etc.
7. APIs imported from C that use C pointers are now imported with a much simpler API type structure

Apple’s new coding language Swift receives significant update for developers alongside new Yosemite and iOS seeds
http://9to5mac.com/2014/07/07/apples-new-coding-language-swift-receives-significant-update-for-developers-alongside-new-yosemite-and-ios-seeds/
0524デフォルトの名無しさん2014/07/08(火) 08:37:00.15ID:oyVcgyUK
変更が多すぎて解説ブログ書いてた人たち泣くだろ
0525デフォルトの名無しさん2014/07/08(火) 08:45:04.02ID:bNgjlK07
>>517
>IBMのSEが「仮想」という訳をつけた時にvirtualには「事実上の/実質的」という本来の意味しか無かったが仮想と誤訳した
>と言うヨタ記事を>>504がほじくり出して来たわけだ。
>それがウソだと言っている。

バカだなあ。virtualのもともの英語の意味は変わってなくて、たまたまコンピュータ関係の翻訳で「仮想」という
訳語を使ったところ、それがあっという間に普及してしまった、で使いだした本人はあまりいい訳語じゃなかった
かな、と反省しているだけの話じゃん。

それ以前にコンピュータ関係で「仮想」という訳語を使っている文献があるぞ、という指摘ならわかるが、誰も
そんなことを言っていないようなことを持ち出して否定したつもりってID: 14YrHML8 は知恵おくれかなんかなの?w
I
お前が英語が分からないことは分かった。で、翻訳や訳語を決める苦労については理解もできていないし、そもそも
頭がポンコツすぎてまともに議論もできない、でもドヤ顔だけはしたがるポンコツということは良くわかったから、
これ以上恥の上塗りするなよなw
0526デフォルトの名無しさん2014/07/08(火) 08:47:46.46ID:yl+f0MCx
>>524
彼らは嬉々として書くよ
0527デフォルトの名無しさん2014/07/08(火) 08:52:34.95ID:msYhinmO
>>525 別に日本人が翻訳で仮想と訳したから世界中でコンピュータ用語としての意味が変わったわけじゃないぞ。
コンピュータ用語としてのVirtualは日本語には関係なくコンピュータ用語としての意味が有る。

http://www.oxforddictionaries.com/us/definition/american_english/virtual
1.1Computing Not physically existing as such but made by software to appear to do so:
a virtual computer
See also virtual reality.

1.2Carried out, accessed, or stored by means of a computer, especially over a network:
a virtual library
0528デフォルトの名無しさん2014/07/08(火) 09:05:43.81ID:14YrHML8
>>525
可哀そうなくらい頭悪いな。

> バカだなあ。virtualのもともの英語の意味は変わってなくて、たまたまコンピュータ関係の翻訳で「仮想」という
本来の意味が変わったなんて言ってない。コンピューター用語としては"not physically existing but made to appear by software"という意味で使われ始めていた。
それを仮想と訳すのは適切。
0529デフォルトの名無しさん2014/07/08(火) 09:10:26.01ID:yl+f0MCx
用はvarでコレクションを宣言した場合、mutableに(要素の追加、削除、変更が可能)、letで宣言した場合immutableになるってことだよな。
varだとNSMutableArray、letならNSArrayになるイメージかな
0530デフォルトの名無しさん2014/07/08(火) 09:13:58.03ID:MN/bBwl/
>>526
嬉々として新情報書く前に、古くなったゴミ情報をきちんと消してほしいな

もともとAppleがベータにNDAかけてるのは、未確定の情報がむやみに広がらないようにという意味もあったのに
0531デフォルトの名無しさん2014/07/08(火) 09:25:06.64ID:yl+f0MCx
>>530
てかどこまでがNDAの範囲なんだろうな。Swift本は一般公開されてるけど、今回のようなupdateはXCode6 betaに関する情報だからアウトなんだろうか。
0532デフォルトの名無しさん2014/07/08(火) 09:29:07.55ID:msYhinmO
>>531 違うよ。 iBooks本に書かれた内容だから公開。 但しまだ改定内容は iBooks改定版が公開されていないから公式ではないが今日明日中には公開になるだろう。
iBooks本の変更日だけは7月8日と変更されてるから。
0533デフォルトの名無しさん2014/07/08(火) 09:34:39.90ID:ntuzzAHh
iBooks本のアップデートまだ出てないのか
0534デフォルトの名無しさん2014/07/08(火) 09:40:45.74ID:1LGDIph+
先取り本もアップデートしてくれるのかね
0535デフォルトの名無しさん2014/07/08(火) 09:48:03.36ID:MN/bBwl/
しなかったら総スカンだろうさすがに
0536デフォルトの名無しさん2014/07/08(火) 10:11:05.29ID:C2MRrI02
>>533
iBooksアップデートされたね。
0537デフォルトの名無しさん2014/07/08(火) 10:23:56.80ID:ntuzzAHh
>>536
サーバキャッシュかな?うちまだアップデート見れない
0538デフォルトの名無しさん2014/07/08(火) 10:59:23.94ID:msYhinmO
アップデートを検知したら更新マークが本棚の本に付くよね。 付かないな。
削除してダウンロードしなおしてもまだ古い内容。
0539デフォルトの名無しさん2014/07/08(火) 12:41:46.97ID:MN/bBwl/
iBooksでアプデされないだのなんだの言ってる情弱wwwww
Developer Libraryで読めよ
0540デフォルトの名無しさん2014/07/08(火) 12:53:35.62ID:elJJFsyV
ウェブは確認済み。iBooksは検索が便利だしメモも残せて変更点を確認しやすいから待ってるだけだよ。そんな事も分からない情弱なの?w
0541デフォルトの名無しさん2014/07/08(火) 13:00:27.91ID:H9e9SkRf
ま、なにはともあれ言語仕様に関する事ならブログとかに書いて言い訳だ。
やったー
0542デフォルトの名無しさん2014/07/08(火) 13:04:17.40ID:1iJuF6UL
>>529
可変不変が宣言の修飾子で切り替わるのか。
使い道がイマイチわからんな。
0543デフォルトの名無しさん2014/07/08(火) 13:07:49.76ID:1LGDIph+
Webページにメモ書いたりマーカ引けるブラウザのプラグインもあるけどな
0544デフォルトの名無しさん2014/07/08(火) 14:25:43.00ID:SGOgDbT/
Swiftって、KVOとかKVCはどうするつもりなんだろ
あくまでCocoa Touchを主眼に置いてて、Cocoaは無視なのかな
0545デフォルトの名無しさん2014/07/08(火) 15:29:02.88ID:bNgjlK07
>>527
>>>525 別に日本人が翻訳で仮想と訳したから世界中でコンピュータ用語としての意味が変わったわけじゃないぞ。
>コンピュータ用語としてのVirtualは日本語には関係なくコンピュータ用語としての意味が有る。

はぁ? んなの当たり前じゃん。誰が意味が変わったとか書いているんだよ。
チンカス野郎はあまりに恥ずかしくてもう引っ込みがつかなくなったのかw
間違えたのなら素直に「ごめんなさい」ができるようにしなきゃダメだろ。

そっちの意味合いの場合に「仮想」という訳語が合ってるかどうかが問題なわけで。
「仮想」が他の訳語に比べて良い、という主張ならまだ意味が分かるが(というか、それを
言わなきゃダメだと思うが)、それすらできてないんだから頭の悪さに恐れ入るw
0546デフォルトの名無しさん2014/07/08(火) 16:21:53.93ID:ntuzzAHh
>>544
今のところKVOは無いって海外サイトで見た記憶がある。Property Observersあれはちょっと違うもんな。
0547デフォルトの名無しさん2014/07/08(火) 16:41:01.92ID:1LGDIph+
言語的に進化どころか、退化しとるやん
0548デフォルトの名無しさん2014/07/08(火) 16:45:57.06ID:MN/bBwl/
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html#//apple_ref/doc/uid/TP40014216-CH7-XID_10

Key-Value Observing
Information forthcoming.

後回しにしてるだけで、そのうち来るでしょ
0549デフォルトの名無しさん2014/07/08(火) 17:17:18.57ID:KMzZlwYF
↓こういう、すべてが式ってのが好きなんだが、入れてくれないかな

let price =
if item == "salad" {
3.50
} else if item == "muffin" {
2.25
} else {
2.00
};
0550デフォルトの名無しさん2014/07/08(火) 17:32:40.42ID:MN/bBwl/
>>549
let a = b = 10
これもわざわざ出来ないようにしてるぐらいだからあり得ん
0551デフォルトの名無しさん2014/07/08(火) 17:51:57.63ID:msYhinmO
>>549 三項演算子は?
0552デフォルトの名無しさん2014/07/08(火) 17:59:51.57ID:Cz3pNHi/
lisperだろ……
0553デフォルトの名無しさん2014/07/08(火) 18:26:31.51ID:blb+s9uO
クロージャを使えば全てが式になります
0554デフォルトの名無しさん2014/07/08(火) 18:44:32.63ID:msYhinmO
let price = ( item == "salad" ? 3.50 :
item == "muffin" ? 2.25 : 2.00 )
0555デフォルトの名無しさん2014/07/08(火) 19:03:58.20ID:3g0pjX2F
>>549
MacRuby はいかが?

price = if item == "salad"
      3.50
    elsif item == "muffin"
      2.25
    else
      2.00
    end

あるいは:

price = case item
    when "salad"
      3.50
    when "muffin"
      2.25
    else
      2.00
    end
0556デフォルトの名無しさん2014/07/08(火) 19:31:20.63ID:blb+s9uO
>>549
ifが式だと便利なのはもうちょっと複雑な場合でしょう
let price =
if item == "salad" {
let salad_price = get_salad_price()
if salad_price == nil {
3.50
} else {
salad_price
}
} else {
2.00
};
とかね
0557デフォルトの名無しさん2014/07/08(火) 19:44:48.34ID:ntuzzAHh
>>548
ていうか、Objective-Cブリッジで書けば今でもKVO自体は使えるのか
Swiftだけでできないってだけで
0558デフォルトの名無しさん2014/07/08(火) 19:50:01.29ID:msYhinmO
>>549 この場合三項演算子より、Dictionaryの方がスマートだな。

let food = [ "salad": 3.50 , "muffin": 2.25 , "other": 2.00]
var item = "muffin"
let price = food[ item ] //2.25
0559デフォルトの名無しさん2014/07/08(火) 19:59:23.60ID:TApsHvSZ
ただの一例を必死に書きなおしてもしょうがない
0560デフォルトの名無しさん2014/07/08(火) 20:04:53.25ID:P6whpC+s
取るに足りないことに拘って一貫性を壊す奴が一番迷惑なんだよな
0561デフォルトの名無しさん2014/07/08(火) 20:54:53.70ID:SGOgDbT/
これはOK
let x = [1,2,3].map({ String($0) })
let x:[String] = [1,2,3].map({ return String($0) })

↓これだと型推論きかない
let x = [1,2,3].map({ return String($0) })

なんで?
0562デフォルトの名無しさん2014/07/08(火) 21:15:48.89ID:SaRg/vLy
お馬鹿だから
0563デフォルトの名無しさん2014/07/08(火) 21:30:09.40ID:MN/bBwl/
単にまだコンパイラの型推論が不完全なだけだと思う
0564デフォルトの名無しさん2014/07/08(火) 22:03:30.65ID:SaRg/vLy
return文から推論する能力がないんだな。少なくともいまのところ
0565デフォルトの名無しさん2014/07/08(火) 22:10:20.61ID:1LGDIph+
しかし、ベータも3になったのにPlaygroundは未だにちょっとしたことで落ちるな
まともにテストしてねーのか
0566デフォルトの名無しさん2014/07/08(火) 22:23:56.49ID:1ZFygV1q
クロージャ作るとすぐ落ちるね
0567デフォルトの名無しさん2014/07/08(火) 22:26:57.36ID:ay/TmEch
>>565
テストが完了したベータって何?
0568デフォルトの名無しさん2014/07/08(火) 22:29:21.33ID:1LGDIph+
>>567 読解力無い人?
0569デフォルトの名無しさん2014/07/08(火) 22:34:39.03ID:ntuzzAHh
>>565
Yosemiteで動かすと大丈夫、、とかね。知らんけど。
0570デフォルトの名無しさん2014/07/08(火) 22:46:52.41ID:k+B2+0uE
>>568
だからそのテストを今あんたらにやらせてるんでしょ?
そんなこともわかってないやつがデベロッパやってることに驚くわ
文句あんならベータなんか使うなよタコ
0571デフォルトの名無しさん2014/07/08(火) 22:55:47.84ID:1LGDIph+
あらら怒っちゃった...
ベータ1から存在してる誰でもすぐに気づきそうなバグなので愚痴のひとつもいいたくなるだろ
0572デフォルトの名無しさん2014/07/08(火) 22:59:27.52ID:hjz6cmzU
開発あまりしてないようだからわからないようだね
ベータなんだからあなたのすることは愚痴ることでなくて、報告すること
開発続けていればそのうちわかるよ
0573デフォルトの名無しさん2014/07/08(火) 23:00:38.34ID:IDQCR4dM
Swiftの仕様すら固まっとらん段階なんだから黙ってバグレポート出して正座して待っとけよ
0574デフォルトの名無しさん2014/07/08(火) 23:06:19.28ID:1LGDIph+
2ちゃんで愚痴ってこんなに絡まれるとは思わんかったわ
しかもID違う人からw
0575デフォルトの名無しさん2014/07/08(火) 23:12:13.29ID:vanWZNwy
>>574
愚痴るのはいいけど、ベータ版ってこんなもんだよ。
プログラミング言語って10年以上掛けて成熟していくもんだけど、Swiftはもっと短い時間で成熟させようとしてるしね。
0576デフォルトの名無しさん2014/07/08(火) 23:12:18.25ID:i4Jr+ODi
ちょっと様々な言語に詳しい人にお聞きしたいんですが、Swiftの言語としての独自仕様ってどういうのがあります? 
OptionalValueはSwiftオリジナルなのかなーとか思ってるんですが。
0577デフォルトの名無しさん2014/07/08(火) 23:13:10.92ID:IDQCR4dM
>>574
自分から絡みついてんじゃん
0578デフォルトの名無しさん2014/07/08(火) 23:20:06.73ID:1LGDIph+
面白いからちょっとテストw

>>567 バーカ
>>570 氏ね
>>572 必死だなw
0579デフォルトの名無しさん2014/07/08(火) 23:20:49.20ID:vanWZNwy
>>576
optionalは普通に他言語にあるでしょ。Scalaとか
Javaでさえ(ライブラリレベルだけど)サポートしてるしねぇ
0580デフォルトの名無しさん2014/07/08(火) 23:26:06.92ID:hjz6cmzU
>>578
なんか余裕ぶっているのが哀れw明らかにそうじゃなさげなのが見え透いているだけに
いままでの言動から浅さがわかるんだけど、本人にはわからないんだろうなというのは、わかっていたらその浅はかさは出ないだろうからな
というテストに対する反応はどう?
0581デフォルトの名無しさん2014/07/08(火) 23:28:29.13ID:vanWZNwy
でも、SwiftのOptionalsはわかりやすくていいよね。
Rubyの述語のメソッド末尾に?付けたりするセンスと同じでいい感じ。
0582デフォルトの名無しさん2014/07/08(火) 23:29:01.66ID:1LGDIph+
あれw もしかして3回線持ち?
0583デフォルトの名無しさん2014/07/08(火) 23:29:52.59ID:1ZFygV1q
>>581
末尾に?を付けるのはC#のNullable Typesをパクっただけ
0584デフォルトの名無しさん2014/07/08(火) 23:32:41.22ID:vanWZNwy
>>583
知ってる。でもあれはOptionalsとは意味合いが違うじゃん?
0585デフォルトの名無しさん2014/07/08(火) 23:36:04.29ID:hjz6cmzU
>>582
ぼくに反するヤツなんてそういるわけなーいって?
いや、違うよ。俺はID:hjz6cmzUだけだよ。可哀想に、なお哀れ
もうよしたほうがいいよw
0586デフォルトの名無しさん2014/07/08(火) 23:40:14.82ID:1LGDIph+
あれ? ちょっと文体変わった?
0587デフォルトの名無しさん2014/07/08(火) 23:41:21.19ID:hjz6cmzU
可哀想に…
0588デフォルトの名無しさん2014/07/08(火) 23:43:13.81ID:1LGDIph+
しかし、一匹しか釣れなかったな…
0589デフォルトの名無しさん2014/07/08(火) 23:43:26.78ID:IDQCR4dM
自意識過剰っつうか自己愛強過ぎっつうか
0590デフォルトの名無しさん2014/07/08(火) 23:49:43.10ID:hjz6cmzU
ただの底が浅いヤツでしかなったけどなあ。終始一貫してw
0591デフォルトの名無しさん2014/07/08(火) 23:50:52.87ID:3Wa9eLVl
>>584
lisp由来
0592デフォルトの名無しさん2014/07/08(火) 23:51:46.48ID:1LGDIph+
飽きたな
そろそろ寝るか
0593デフォルトの名無しさん2014/07/09(水) 00:42:32.08ID:lknlO7J2
>>576
Swift の Optional の概念は、
ML や Haskell といった静的型付けな関数型言語では一般的なもの
たとえば ML族(SML/OCaml/F#) では Option 型と呼ばれ、
NONE または SOME x という値を持つ
Haskell や Scala では Maybe 型と呼ばれ、
Nothing または Just x という値を持つ

ただし、この Optional という概念は Java や C# のような非関数型言語でも
実装できるけど、それをAppleが(関数型言語ではない) Swift における
言語仕様の一部として公式に取り入れたことは、特筆すべきことだ

あと Apple 固有の事情ではあるけれど、動的型付けと静的型付けを
混在できる(混在させざるをえなかった?)のは、Swift の独自仕様だと思う
0594デフォルトの名無しさん2014/07/09(水) 00:51:11.73ID:V9xUyLw3
Java8はOptionalクラスをサポートして、Stream APIっていうので活用してる
まあ、言語仕様自体に組み込まれてるSwiftの方が使い勝手は良さそうだよね
0595デフォルトの名無しさん2014/07/09(水) 00:53:11.40ID:sDYfLtkS
型付けが混在してると言えばgroovyやdart
0596デフォルトの名無しさん2014/07/09(水) 00:55:32.61ID:sDYfLtkS
そう言えばkotlinのnullable型が文法含めてswiftと同じだったかも
0597デフォルトの名無しさん2014/07/09(水) 00:58:48.23ID:SDA1RKlK
mainが無い所は、スクリブトなどの軽量言語に似てるし、デバッグ環境も含めて動的な要素も含んで作られてる様に見える。
ターミナル上でインタプリタlikeに動くのも特筆に値するのでは?
0598デフォルトの名無しさん2014/07/09(水) 01:01:46.20ID:sDYfLtkS
ターミナル上でインタプリタっぽく動くのはreplって名前で大昔からあるよ
0599デフォルトの名無しさん2014/07/09(水) 01:20:33.77ID:D+h9bFI0
遠い遠い太古の昔、まだt-rexが地上の王者として君臨していた頃、terminalの奥深くひっそりと、replはその影を潜めておった。
0600デフォルトの名無しさん2014/07/09(水) 01:20:39.12ID:lknlO7J2
>>594
おぉ Java でも対応されたんだ、知らなかった、ありがとう

というか NullPointerExcption の問題(いわゆる ヌルポ)は、
大昔から指摘され続けていた
これは Java5 で総称型がサポートされた時点で解決できていたハズなのに、
ようやく..... といった感じがする(ラムダ式を待つ必然性は無かったはず)
0601デフォルトの名無しさん2014/07/09(水) 01:31:07.79ID:CAl1OnKc
C#のNullableも言語仕様じゃん
0602デフォルトの名無しさん2014/07/09(水) 02:37:40.83ID:V0tl3oDx
Swiftの任意型ってObjective-Cのnilと同じようなもんじゃないの?
0603デフォルトの名無しさん2014/07/09(水) 04:45:29.09ID:ot7dWtX9
Unmanaged<CGImage>!からUIImageを作成する方法を教えて下さい。
以下の様なコードを書いてみましたが、img2,img3はmissing argumentと言われビルドできず、
filename()では一応ファイル名がとれているのですが、img1はnilが帰ってきてしまいます。
リファレンスを見てinit(CGImage CGImage: CGImage!)を使えるかと思ったのですが…

var img1 = UIImage(named:r.defaultRepresentation().filename())
var img2 = UIImage(CGImage:r.defaultRepresentation().fullResolutionImage())
var img3 = UIImage(CGImage:r.thumbnail())

xcodeはbeta3を使用していて、実行はシミュレータでの結果になります。

-- 該当部分の全コード(改行を減らすため一部{}等をまとめています)
@IBAction func onClick(sender : AnyObject) {
let block2: ALAssetsGroupEnumerationResultsBlock =
{(r,i,s) in
if(r) {
var img1 = UIImage(named:r.defaultRepresentation().filename())
var img2 = UIImage(CGImage:r.defaultRepresentation().fullResolutionImage())
var img3 = UIImage(CGImage:r.thumbnail())
println("¥(r.defaultRepresentation().filename())")
}}
let block1:ALAssetsLibraryGroupsEnumerationResultsBlock =
{(g,p) in if(g) {g.enumerateAssetsUsingBlock(block2)}}

let l = ALAssetsLibrary()
l.enumerateGroupsWithTypes(ALAssetsGroupType(ALAssetsGroupAll)
,usingBlock:block1
,failureBlock:{(error) in println("Problem loading albums: ¥(error)")})}
0604デフォルトの名無しさん2014/07/09(水) 08:58:16.58ID:FvPT3vrY
OptionalがあってもEitherがないと片手落ち感ある
まぁクリスは1.0出した後にやるかもしれなくもないみたいなこと言ってたけど
0605デフォルトの名無しさん2014/07/09(水) 11:23:39.40ID:NzqKfchI
結構変わったなぁb3
0606デフォルトの名無しさん2014/07/09(水) 11:43:37.58ID:L1cL1sUs
動的言語ライクに使えることを目指すのなら
PythonやGolangみたいに標準ライブラリが充実しててほしいんだけど、
Cocoaとかいう中途半端なものがあるからなぁ
0607デフォルトの名無しさん2014/07/09(水) 12:24:45.48ID:V4w6/u2b
>>606
動的型付けとライブラリの充実度に関係はないだろ。
あと、Cocoaはアプリ用のライブラリだ。
0608デフォルトの名無しさん2014/07/09(水) 12:27:24.80ID:BA14jeAU
>>606
> 動的言語ライクに使えることを目指すのなら

別に目指してないと思うけど。
CocoaのAPIを直接叩けて文法的に洗練されたものを作りたかっただけだろうから、
動的束縛もその限度で使えれば十分でしょ。
0609デフォルトの名無しさん2014/07/09(水) 12:37:18.51ID:D+h9bFI0
>>606
一介の開発者風情がApple様のお作りになられたSwiftに文句を垂れるなど100万年早いわ
提供されるものを有り難く使えばいいんだよ
あと見つけたバグはちゃんと報告しとけよ
それがお前に出来るせめてもの恩返しだからな
0610デフォルトの名無しさん2014/07/09(水) 12:38:43.44ID:zxLhieEh
静的言語はオブジェクト指向的な動作をしないからイライラするんだよね。
Aを継承してBを作って
Bの変数に入れてBのメソッド起動すればBのメソッドが実行されるのは当たり前だけど
Aの変数に入れて同じメソッドを実行するとなぜかスーパークラス(A)の方が呼ばれるという。
あれ?お前Bじゃなかったん?っていう。
実行オーバーヘッド無くすために、それが実際に何のオブジェクトかはガン無視して、変数の型で呼ばれる関数が決まるんだと。
なのでObjective-Cのプロトコルみたいなことができない。
むかしC++でそういう訳わからない目にあって、それ以来、静的言語が大嫌いになった。
0611デフォルトの名無しさん2014/07/09(水) 12:43:13.50ID:7UJfLcS8
>>610 さすがにそれは無ぇーわw もう一回勉強してこい
0612デフォルトの名無しさん2014/07/09(水) 13:23:31.25ID:9OrXBMkc
SwiftのOptionalってライブラリで定義されている型じゃなくて言語組み込みの機能なの?
0613デフォルトの名無しさん2014/07/09(水) 13:26:44.93ID:7UJfLcS8
そりゃそうだろ
0614デフォルトの名無しさん2014/07/09(水) 13:35:41.85ID:SDA1RKlK
>>612 そうだから使い道も大きい。
0615デフォルトの名無しさん2014/07/09(水) 14:21:22.52ID:D+h9bFI0
Swiftもyacc/lexで作られてんのかね?
0616デフォルトの名無しさん2014/07/09(水) 14:24:28.53ID:xN5CObL0
Swiftが参考にしたというRustとかHaskellでは言語組み込みの機能じゃなく、
標準ライブラリで定義されている普通の型なんだけど、
SwiftでそうなっていないのはSwiftのユーザ定義型の表現力が低いのか、
ほかの言語のOptional型より高機能なのか、
ライブラリでできることはライブラリでやるという思想がないのか。
どれなんですか?
0617デフォルトの名無しさん2014/07/09(水) 14:29:12.89ID:1SU4YkH/
>>610
お前の知識がないだけ
オーバーライドでググれ
0618デフォルトの名無しさん2014/07/09(水) 14:31:02.75ID:D+h9bFI0
>>616
DustとかHaskellって、IntやFloatもOptionalに出来るの?
0619デフォルトの名無しさん2014/07/09(水) 14:46:50.01ID:T0c7+k+3
スバルに謝罪
0620デフォルトの名無しさん2014/07/09(水) 14:48:24.45ID:WHgli7Oz
スズキじゃなかったっけ
0621デフォルトの名無しさん2014/07/09(水) 15:03:45.03ID:SDA1RKlK
>>615 LLVMで作ってる。 
>>616 標準だからこそ、コンパイル時に矛盾を発見できるしARCでプロパティーの監視を出来る。
ライブラリでやったらこう言うルールを適用する事が出来なくなる。
バグが少なくなるしコーディングも楽になる。
0622デフォルトの名無しさん2014/07/09(水) 15:09:38.96ID:V9xUyLw3
>>621
おまえ半端な知識でゴミな書き込み撒き散らしすぎ
プログラミング言語について語るのにyacc/lexが何なのか知らないとか有り得ないだろ
0623デフォルトの名無しさん2014/07/09(水) 15:15:33.69ID:BpA+NCPK
>>617
virtualがデフォじゃない時のC++のこと言っているんだろ
virtualがデフォでない時のC++をあげつらって、それが全てと言うのもなんだと思うが
0624デフォルトの名無しさん2014/07/09(水) 15:17:53.48ID:D+h9bFI0
>>621
>>>615 LLVMで作ってる。

SwiftのソースコードからLLVMの中間言語へ落とし込む構文解析処理のつもりだったんだけど、
LLVMに構文解析ジェネレータ的なツールがあるってこと?
0625デフォルトの名無しさん2014/07/09(水) 15:31:29.83ID:D+h9bFI0
ちょっと調べてみたけど、
SwiftもClang使ってるとしたら、どうやらハンドメイドらしいね

ttp://stackoverflow.com/questions/6319086/are-gcc-and-clang-parsers-really-handwritten
0626デフォルトの名無しさん2014/07/09(水) 15:32:19.69ID:k93gpKQE
OK: var n = Array<Int>.Element(1)
NG: var m = Array<Int>.GeneratorType.Element(1)
0627デフォルトの名無しさん2014/07/09(水) 15:59:26.87ID:7c6OdUYP
>>626
なぜかこれは通る
Array<Int>.SliceType.Element(1)
0628デフォルトの名無しさん2014/07/09(水) 16:21:15.19ID:SDA1RKlK
>>625 どこで見たか忘れたが、clangに実装してるみたいなのを見た覚えがある。
Swing コンパイラのパラメータにclang module のcache pathを指定するオプションが有るから、少なくともclang moduleは使ってるみたい。

Swingは、至る所で型類推を使ってるから、yacc/lexでは無理。
Appleがclangの成果を使うのは自然。
0629デフォルトの名無しさん2014/07/09(水) 16:35:05.29ID:7c6OdUYP
当然Clangベースだろうけど、
型推論は意味解析部の担当だから、yacc/lex は関係ないべ
0630デフォルトの名無しさん2014/07/09(水) 16:35:43.55ID:13pwJSHl
Beta3入れてみたけど、配列の型宣言、例えば
Array<Int> のシンタックスシュガーが Int[] だったのが [Int] に変更されてる。
この書き方はキモい。
0631デフォルトの名無しさん2014/07/09(水) 16:38:26.85ID:FvPT3vrY
http://i.imgur.com/PkgHr1y.png
0632デフォルトの名無しさん2014/07/09(水) 16:41:30.17ID:c4TpZOQ0
>>628
なんでJavaでGUIしようぜ、みたいな話になってんだよw
0633デフォルトの名無しさん2014/07/09(水) 16:45:55.08ID:ELx5bFYc
>>626
バグっぽい
0634デフォルトの名無しさん2014/07/09(水) 17:09:08.81ID:YSvBHpPH
>>630
俺は合理的だと思うぜ
辞書の糖衣構文を[Int: String]にしたら、配列を[Int]にするのは自然だろ?
0635デフォルトの名無しさん2014/07/09(水) 17:32:00.97ID:YSvBHpPH
あと、値の文法と同じなのもよい
[0] -> [Int]
["key": "value"] -> [String: String]

Haskell辺りの受け売りなんだろうか。
0636デフォルトの名無しさん2014/07/09(水) 17:34:11.31ID:ICY9ltLE
キモいと思ったが、なるほど。辞書との類似で考えると自然に見えるな。
0637デフォルトの名無しさん2014/07/09(水) 17:47:42.60ID:pbWvCCMu
>>618
できる。
Rustの場合、メモリ上の表現はタグ+数値になるから、サイズはただのintよりは大きくなる。
Haskellは知らない。
Swiftはどうなるの?

>>621
ARCのプロパティ監視の話は良くわからないけど、
SomeかNoneかのチェック行うのを強制する以上の機能がSwiftにはあるという理解でよい?
0638デフォルトの名無しさん2014/07/09(水) 17:56:08.44ID:FvPT3vrY
Optionalは標準ライブラリでただのenumとして定義されてる
ただ、SomeType? って書き方とか、if let でバインディングしたりとかの
シンタックスシュガーが用意されていて、そういう意味で言語組込み的

自分で enum MyOpt<T> { case Some(T), None } て感じで同等のものを書けるけど
標準のOptionalほど手軽に使えるようにはならんというだけ

ID: SDA1RKlK は言ってること無茶苦茶なので聞くだけ無駄
0639デフォルトの名無しさん2014/07/09(水) 18:04:04.07ID:5irmvKQ3
なんだかわからんがム板のswiftスレと相互に書き込みを勝手コピペする
あたまおかしいのがいるから気をつけたほうがいいぞ
0640デフォルトの名無しさん2014/07/09(水) 18:05:15.10ID:IWdr99Ar
おまえだよ。
0641デフォルトの名無しさん2014/07/09(水) 18:05:54.37ID:SDA1RKlK
>>638
“you must declare every weak reference as having an optional type.”

抜粋: : Inc、Apple. “The Swift Programming Language.” Apple Inc., 2014-07-03T07:00:00Z. iBooks.
この素材は著作権で保護されている可能性があります。

iBooks Storeでこのブックをご覧ください: https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329
0642デフォルトの名無しさん2014/07/09(水) 22:16:33.41ID:ZBnUrNfy
>>638
なるほど。
nullable型みたいな書き方をシンタックスシュガーとして提供してるのは素敵ですね。
0643デフォルトの名無しさん2014/07/09(水) 23:16:05.10ID:9bZjyImW
本家のnullableもそんな感じのシンタックスシュガーだけどね
0644デフォルトの名無しさん2014/07/09(水) 23:41:14.39ID:YYUTfgKI
Swiftのenumがすごいんですけど、これも他の言語にあるんでしょうか?

SwiftyJsonからの抜粋なんですが

enum JSONValue {
case JNumber(NSNumber)
case JString(String)
case JBool(Bool)
case JNull
case JArray(Array<JSONValue>)
case JObject(Dictionary<String,JSONValue>)
case JInvalid(NSError)
/*省略*/

みたいに定義できて要素別にいろんなオブジェクトを持たせられられたり

var first: JSONValue? {
switch self {
case .JArray(let jsonArray) where jsonArray.count > 0:
return jsonArray[0]
/*省略*/
}
}

}

switch文のcaseの中にwhere区を入れて条件追加指定できたりとか。
こんなの初めて見ました。
0645デフォルトの名無しさん2014/07/09(水) 23:52:00.81ID:9bZjyImW
パターンマッチといって、関数型言語では非常に一般的だよ
Swiftのそれに一番似てるのはScalaかな
0646デフォルトの名無しさん2014/07/09(水) 23:54:49.87ID:sDYfLtkS
rustのenumが名前も機能も同じでパターンマッチは上の通り
0647デフォルトの名無しさん2014/07/09(水) 23:55:12.30ID:V9xUyLw3
Haskellとかの代数的データ型みたいなもんなのか
0648デフォルトの名無しさん2014/07/10(木) 00:00:44.87ID:VGRzIMNM
OCamlの型はこのenumそのものだよ
0649デフォルトの名無しさん2014/07/10(木) 00:34:36.38ID:OizG2bfl
またお前らのくだらん言語自慢か
言語ヲタ集がプンプンするスレだな
0650デフォルトの名無しさん2014/07/10(木) 00:42:24.85ID:0msrkDWD
言語に興味なくても、関数型1つくらいはかじるだろ
0651デフォルトの名無しさん2014/07/10(木) 00:55:50.19ID:Y0rbSAXS
>>644
データ型の一つに直和型というものがある
・直和とは集合を互いに交わりの無い部分集合へ分割することを意味する[数学用語]
・Haskell では代数型と、教科書「型システム入門」ではバリアント型とも ....)
・ 他にレコードやタプルは直積型に分類される
このSwift のswitch文は、この直和型を有効利用するために導入された構文になる
そして、他の人達(>>645-648)が指摘しているように、静的型付けな関数型言語の世界では、
すでに直和型とパターンマッチによる多分岐はありふれた存在になっている

で、ここからが本題なんだけど、直和型というのは関数型言語の専売特許ではなくて、
Pascal(Delphi)におけるレコード型の可変フィール(variant field)や
Adaの可変レコード型(variant record type)として、手続き型では古い時代から知られていた
ところがOOP言語が世の常識となるにつれ、直和型の概念が多くのプログラマから忘れられた
さて、ここで Apple は(関数型言語ではない) Swift で直和型を復活させたことになるのだけど、
これが意味するものは何か、近未来の新言語設計にどんなインパクトを与えるのか.....
なかなか興味深い話題だと思う
0652デフォルトの名無しさん2014/07/10(木) 01:07:29.71ID:rjypBW2y
直和型なんてHaxeにもあるしな〜にがAppleは復活させただ死ね林檎信者
0653デフォルトの名無しさん2014/07/10(木) 01:22:21.83ID:O9lWsLgo
そろそろSwiftの話をしようか
絶賛コメだけじゃなく冷静な批評でもいいのよ
0654デフォルトの名無しさん2014/07/10(木) 01:24:54.21ID:9na9WfzA
たぶん冷静な批評なんて無理。>>652は特に
0655デフォルトの名無しさん2014/07/10(木) 02:33:50.13ID:BC+DaKWG
この言語については本当に
「そんなにAppleが憎いなら使わなくていいのよ?」
で、あたまおかしな人を即パージできるからな。
0656デフォルトの名無しさん2014/07/10(木) 03:28:17.54ID:E7hqdO7D
Swiftならではの良い所ってのが皆無な時点で
エポックメイキングな言語とはいえないよね
他の言語を参考に適当に混ぜてちょっとだけ特色出してみましたw
的な言語
そういう意味では、MSのTypeScriptや、GoogleのGo言語を後追いしたにすぎないね
0657デフォルトの名無しさん2014/07/10(木) 04:25:12.25ID:maMZBDnX
定評のある言語仕様だけを取り入れてきれいにまとめ上げてくれればそれでよい
0658デフォルトの名無しさん2014/07/10(木) 05:51:18.93ID:D385SCPI
良い所取りして、Objective-Cの全財産が使える言語は他に無い。

誰がなんと言おうと、Appleにとって最善の言語となった。
終わり
0659デフォルトの名無しさん2014/07/10(木) 11:17:45.53ID:Z+u99TiJ
CarbonがCocoaになってPowerPCがIntelになったように、
こんどはARMになってCocoaが葬り去されるんですね楽しみです
0660デフォルトの名無しさん2014/07/10(木) 11:57:24.05ID:Z+u99TiJ
好き勝手な演算子を定義できる隠し機能だとさ
https://gist.github.com/mattt/f457625af116721ffb57
0661デフォルトの名無しさん2014/07/10(木) 12:08:09.28ID:WUOyQ2ab
>>659
Cocoaはそのままだろ
0662デフォルトの名無しさん2014/07/10(木) 12:10:20.82ID:jxZKmF3s
>>661
APIと言語の違いが分からないような人に近付いちゃダメ。
0663デフォルトの名無しさん2014/07/10(木) 12:25:15.94ID:Z+u99TiJ
SwiftにあわせてAPIも一新みたいな冗談のつもりだったけど..まあいいや
0664デフォルトの名無しさん2014/07/10(木) 12:39:58.73ID:xv3o/8yi
CarbonとC言語、Foundation/Cocoa/etc.とObjective-C
現実的には言語とAPIは密接に関係してるから
そのうちSwiftネイティブなAPIセットを作るんじゃねというのは
あながちおかしなこと言ってるわけでもないと思う
0665デフォルトの名無しさん2014/07/10(木) 12:41:47.50ID:xv3o/8yi
そんなこと起きないだろうけど
0666デフォルトの名無しさん2014/07/10(木) 13:08:56.63ID:GRhY2avW
Swiftでnamespaceついたし、プリフィクスの無い世界に行きたい
それにSwiftから見たCocoaは
Implicitly Unwrapped Optionalだらけの魔界だ
真にType safetyな世界に行くには、1からAPIを作り直すほか無いだろう
0667デフォルトの名無しさん2014/07/10(木) 13:56:03.17ID:xv3o/8yi
ダウンキャストの危険性を示すために as じゃなくて、as! にしてほしい
0668デフォルトの名無しさん2014/07/10(木) 14:06:43.59ID:o0OR8ld+
>>667
as?ではなくas使う時点で危険と認識すればよし
0669デフォルトの名無しさん2014/07/10(木) 16:18:30.34ID:NUwbDbLi
>>664
CoreFoundationはどこに位置するの?
0670デフォルトの名無しさん2014/07/10(木) 16:33:09.15ID:U0c3Ed3K
イニシャライザ周りはいろいろと配慮されてるんだね
convenient initとdesignated initが言語仕様として区別されるとか
super.init を呼びわすれるとコンパイルが通らないとか
0671デフォルトの名無しさん2014/07/10(木) 16:43:07.44ID:lVukJkUe
>>660
数学記号のこと言ってるなら

https://devforums.apple.com/message/1000934#1000934
> It's not documented yet, but the set of allowed operator characters
> includes 'math' and 'symbol' characters in the Unicode BMP,
> and operator characters can be augmented with combining characters.
> The full set of supported characters will be documented in one of the following seeds.
0672デフォルトの名無しさん2014/07/10(木) 16:49:23.73ID:jYdaLKAG
>>671
うんこの絵文字とかはダメなのか
しかし、こんな機能必要かねぇ
0673デフォルトの名無しさん2014/07/10(木) 16:56:56.80ID:rqwHIJIb
>>660
ああ、当然こういうことも出来るのか。すげえな楽しいわ。
0674デフォルトの名無しさん2014/07/10(木) 19:09:01.95ID:XIjKZonp
こういうのが楽しいのは作ってる本人だけ
0675デフォルトの名無しさん2014/07/10(木) 19:23:27.83ID:vGHCaEiD
絵文字使えるとかもなんなの?
理由がわからん
0676デフォルトの名無しさん2014/07/10(木) 19:25:27.65ID:rqwHIJIb
実用性は兎も角、教育的に使える
0677デフォルトの名無しさん2014/07/10(木) 19:27:00.67ID:jYdaLKAG
http://codepad.org/Ya07v8AL
NSInvocationを使ってる NSUndoManager がふつうに使えたので安心した
0678デフォルトの名無しさん2014/07/10(木) 23:13:49.04ID:Y22Tg+si
C++でさえ日本語いけるのに何を今更

#define 判定 if
#define 次の間繰り返す while
#define 戻す return
#define 次の別名を作る typedef

次の別名を作る void 無し;
次の別名を作る char 文字;
次の別名を作る int 整数;
次の別名を作る float 単精度浮動小数
次の別名を作る double 倍精度浮動少数

#define 短い short
#define 長い long
#define 符号付き signed
#define 符号無し unsigned
#define 入出力用 volatile
#define 不変 const
#define 可変 mutable
#define 穏健 static
#define 名前空間 namespace
#define 使う using
0679デフォルトの名無しさん2014/07/10(木) 23:25:09.13ID:P/v5Wc4f
Swiftの新規性を発見したら懸賞金でも出るのか
0680デフォルトの名無しさん2014/07/10(木) 23:28:51.53ID:lVukJkUe
クラスメソッドの記事、オプショナルチェーンの節が書いてること無茶苦茶じゃね?


メソッドも呼び出せる! Swiftの強力な「列挙型」
http://codezine.jp/article/detail/7886?p=3

> このInt?型の返り値に対し、Int型に定義されているdescription()メソッドを呼び出したいとしましょう。(略)
> let numStr: String = "134"
> numStr.toInt().description() // エラー
>
> しかし、「.」の前に「?」を置くことでそれが可能になります。この仕組みがオプショナルチェーンです。
> let numStr: String = "134"
> numStr.toInt()?.description() // Some "134"
0681デフォルトの名無しさん2014/07/10(木) 23:57:21.29ID:D385SCPI
>>679 記事か本に書くネタ探しでしょ。
0682デフォルトの名無しさん2014/07/11(金) 00:29:23.34ID:aG0lM3e/
>ImplicitlyUnwrappedOptionalを強いて日本語に訳すとしたら暗黙的アンラップオプショナルといった具合でしょうか。

クソワロタ。カタカナにしただけじゃねぇか
0683デフォルトの名無しさん2014/07/11(金) 01:01:57.33ID:RRV/Pxnb
暗黙の裸体任意型で良いんじゃね。
0684デフォルトの名無しさん2014/07/11(金) 01:20:04.92ID:CNdrj7fp
これエラーになるんだけど、バグだよね?
class A {}
class B : A {}
protocol AAA { func hoge(x: B) }
class Hoge : AAA { func hoge(x: A) {} }
0685デフォルトの名無しさん2014/07/11(金) 02:23:59.31ID:MKluaUW0
前スレ609でイニシャライザ(コンストラクタ)とメソッドと関数で呼び方違うのがきもいって書いたけど、
定義するときの書き方が違うだけで一応どの書き方でも書けるんだな
・イニシャライザ
init(message: String, to: String) {...} // 全部キーワードつける
init(_ message: String, to: String) {...} // 最初だけキーワードつけない
init(_ message: String, _ to: String) {...} // 全部キーワードつけない
・メソッド
func say(message msg: String, to: String) {...} // 全部キーワードつける
func sayMessage(message: String, to: String) {...} // 最初だけキーワードつけない
func sayMessageTo(message: String, _ to: String) {...} // 全部キーワードつけない
・関数
func print(message msg: String, to target: String) {...} // 全部キーワードつける
func printMessage(message: String, to target: String) {...} // 最初だけキーワードつけない
func printMessageTo(message: String, to: String) {...} // 全部キーワードつけない
0686デフォルトの名無しさん2014/07/11(金) 08:14:28.21ID:uNtAoQ80
SmalltalkやApple以外のObjective-CだったらObjectを作るときはInstaece creatonを
使う方法が一般的だったんだが、
なんで初期化子を直呼びする様になったんだ。
不便極まりない。
0687デフォルトの名無しさん2014/07/11(金) 08:17:27.29ID:PGMEzY6R
他の言語で一般的=正しい
という至極真っ当でAppleらしからぬ思想の言語だから
0688デフォルトの名無しさん2014/07/11(金) 08:17:36.76ID:mjjIchhE
>>680
>Int型に定義されているdescription()メソッド
description はメソッドじゃなくてプロパティ

>numStr.toInt().description() // エラー
エラーになるのはメソッドとして呼ぼうとしてるからで
numStr.toInt().description // これなら普通におk

>しかし、「.」の前に「?」を置くことでそれが可能になります。
>numStr.toInt()?.description() // Some "134"
だから .description() ってやってる限り無理だっつってんだろ


こいつコード動くか実際に試さず書いてるな
これだからクラスメソッドは信用できないんだ
0689デフォルトの名無しさん2014/07/11(金) 10:55:34.77ID:Lx3So7Yg
RT >686
0690デフォルトの名無しさん2014/07/11(金) 11:08:18.34ID:MKluaUW0
>>685で全部キーワードつけられることがわかったので、
そのときのObjCとSwiftのブリッジングってどうなってるんだろう?と思って試してみたら
Swift→ObjCは
init(message: String, to: String) → initWithMessage: to:
init(_ message: String, to: String) → init: to:
init(_ message: String, _ to: String) → init: :
・メソッド
func say(message msg: String, to: String) → sayWithMessage: to:
func say(message: String, to: String) → say: to:
func say(message: String, _ to: String) → say: :
ObjC→Swiftは
initWithA: b: → init(a: 〜, b: 〜)
みたいにメソッド名が自動変換されるんだな
じゃぁ func say(message msg: String, to: String) の他に func sayWithMessage(message: String, to: String) とか、
initWithA: B: の他に initA: B: とかがあったら同じ名前になって競合するんじゃねーの?と思ったら、片方が無かったことにされた・・・
まぁ、実際そんな名前ついたイニシャライザやメソッドがあるなんてことは無いだろうし、問題は起きないんだろうけど
0691デフォルトの名無しさん2014/07/11(金) 11:27:42.48ID:CNdrj7fp
というかdescriptionは、IntにもOptional<T>にも定義されてるから
numStr.toInt()?.description でも
numStr.toInt().description でもコンパイル通るのよ
こんな特殊なものを例に上げたのがまちがい
0692デフォルトの名無しさん2014/07/11(金) 12:38:41.57ID:jyGo9R2g
>>684
http://stackoverflow.com/questions/24682387
0693デフォルトの名無しさん2014/07/11(金) 13:13:47.55ID:GkReUTvU
>>689
?
0694デフォルトの名無しさん2014/07/11(金) 19:39:36.60ID:jyGo9R2g
循環参照に怯えながらコードを書くのがApple開発の醍醐味
0695デフォルトの名無しさん2014/07/11(金) 22:48:06.60ID:izMO91L2
あるあるすぎる
0696デフォルトの名無しさん2014/07/12(土) 01:43:26.47ID:pUnCThIk
ためしにSwiftからシステムコール呼んだりしてみてるけど、
C言語との連携は結構よくできてるわ
0697デフォルトの名無しさん2014/07/12(土) 02:16:53.71ID:R5OtEg7d
>>696 簡単なサンプル上げて。
0698デフォルトの名無しさん2014/07/12(土) 02:42:46.74ID:pUnCThIk
>>697
mmapでバイナリファイル読む例
http://codepad.org/SQH29SHl
0699デフォルトの名無しさん2014/07/12(土) 06:52:52.22ID:Pi6lV0ru
適当なアルゴリズム実装してReleaseビルドしたらPythonより遅い
そんな馬鹿なと思ってプロファイラ見たら配列生成の内部ストレージ確保が
めっちゃ時間食ってるみたい
0700デフォルトの名無しさん2014/07/12(土) 08:44:15.61ID:7baV5ONW
タダでも使えるようになったな
0701デフォルトの名無しさん2014/07/12(土) 13:57:25.38ID:R5OtEg7d
公式Swiftブログからダウンロード出来る。
https://developer.apple.com/swift/blog/
0702デフォルトの名無しさん2014/07/12(土) 14:17:49.48ID:R5OtEg7d
SwiftでJavaScript
http://qiita.com/dankogai/items/052a3ad6f32d114a33fc
0703デフォルトの名無しさん2014/07/12(土) 19:20:58.04ID:xLJj+FnH
どーでもいいけどSwiftのソースファイルの拡張子って.swiftなのね…。
0704デフォルトの名無しさん2014/07/12(土) 19:24:00.64ID:BxmHv/rK
>>703
アップルはすぐ長ったらしい拡張子つけるよね。xcworkspaceとか。
てか、拡張子って3文字以下じゃないと駄目みたいな決まりなかったっけ?
swfとかでいいのにね。
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で書く意味はないわ
0805デフォルトの名無しさん2014/07/16(水) 20:50:54.39ID:e7m+LwGU
>>801 正しいと思ったらWikiPediaを修正しておいてね。

http://ja.wikipedia.org/wiki/インタプリタ
0806デフォルトの名無しさん2014/07/16(水) 21:11:25.88ID:m0YcwmXR
>>805
原文の英語だと
  1. parse the source code and perform its behavior directly
と正しく記述されているのに、それを翻訳したと思われる日本語版だと
"parse ..." (... を構文解析する)という動詞が抜け落ちて
  1. ソースコードを直接実行する。
という意味の異なる間違った文章になってしまっているね

結果として>>786みたいに日本語版の一部をコピペして恥を晒す
可哀想な人があらわれるから、まったく困ったものだ(自業自得かな?)
教訓としては、「Wikipedia を鵜呑みにするなかれ」ではないかと思われ
0807デフォルトの名無しさん2014/07/16(水) 21:57:04.70ID:m0YcwmXR
>>806 を補足(蛇足?)すると、日本語版の翻訳者は後に実装例として挙げられる
Tiny Basic の知識不足から誤訳を犯してしまった可能性がある
たしかに Tiny Basic の先祖で最も有名な処理系である Palo Alto Tiny Basic、および
それから派生した東大版 Tiny Basic は、まさに「ソースコードを直接実行」していた
だから翻訳の過程で原文の要点であった動詞 parse が抜け落ちてしまったと思われる

なお、Texas Tiny BASIC と派生した東京版 Tiny Basic はソースコードを中間言語へ
コンパイルしてから実行しているから、>>786 であれば 2. に該当する
(この処理系の中間言語における命令は MCALL/ICALL/JUMP/TEST のたった4つしかない)
その意味では、原文(英語版)の記述も(間違いではないが)不完全とも言える
0808デフォルトの名無しさん2014/07/17(木) 06:49:58.42ID:/y/RnBj0
>>804
しかも有料だよね。
まざわざRubyで書きたいっていうのはなんか理由があるの?
Railsみたいな革新的なライブラリがついてくるとか?
別にObjective-CだってARC以降はプロトタイピング向きな言語な気がするんだけど。
(xcodeで補完効きまくりですし)
Swiftも
0809デフォルトの名無しさん2014/07/17(木) 09:17:15.71ID:+5AP17pr
Swiftは自前の標準ライブラリを備えないのかな、
あくまでFoundationを使えってか?
0810デフォルトの名無しさん2014/07/17(木) 09:26:15.01ID:JY1J2GGq
他にやることあるから後回しにしてるだけだよ
0811デフォルトの名無しさん2014/07/17(木) 09:45:14.65ID:o/1vn53B
>>809
> Swiftは自前の標準ライブラリを備えないのかな、

何言ってんだこいつ?
0812デフォルトの名無しさん2014/07/17(木) 09:56:48.14ID:ngwyrowy
FoundationのクラスやCのstdlibやシステムコールを利用しないと
ファイルも開けない状況にあるってことだよ
もちろんそういう思想で設計されててもいいわけだけど
0813デフォルトの名無しさん2014/07/17(木) 10:05:46.96ID:scWoSQot
低能な811は libswift_stdlib の stdlib の意味が分からない
0814デフォルトの名無しさん2014/07/17(木) 10:13:51.57ID:if1Me/3q
今のところ文字列のエンコード機能すらまともに実装されていないけど
実装できるようにプロトコルが整備されてたりするから
これからちゃんと整備されていくと思う
0815デフォルトの名無しさん2014/07/17(木) 10:20:50.09ID:Uj+1kpFl
基本はヤドカリ的な言語ということで
0816デフォルトの名無しさん2014/07/17(木) 10:26:43.55ID:Ux+wv01Z
動作環境が、MacOSXとiOSの2つだからなあ
0817デフォルトの名無しさん2014/07/17(木) 10:45:42.13ID:rlU5V3za
Objective-Cからやってる人にはあたりまえすぎる話なんだけど
Objective-Cは言語仕様を拡張するのではなくフレームワーク(クラス)で
機能を拡張して、それを空気のように利用するのが標準の世界だったので
Swiftもすぐ俺が欲しいこういう機能が"言語仕様"の変更で追加されるさ!
っていうのはえらい違和感のある思考だなと。
0818デフォルトの名無しさん2014/07/17(木) 10:49:58.15ID:o/1vn53B
>>813
何言ってんだこいつ?w
0819デフォルトの名無しさん2014/07/17(木) 10:54:05.93ID:FTaCnKxi
Swiftは言語仕様ができましたってレベルのものなんだから、
ライブラリだのAPIだのフレワだのってのはこれからだろ。
0820デフォルトの名無しさん2014/07/17(木) 11:09:08.53ID:S5pGSZlh
ム板の言語スレってほとんどコードが出てこないんだな
0821デフォルトの名無しさん2014/07/17(木) 11:49:00.16ID:q6z1PJAH
>>814 実装もへったくれもないんだよ。 ライブラリで提供できるようなものは言語仕様には取り込まないと言う方針なだけ。
何処で説明しようが同じ。 
基本はシンプルが良い。 将来にわたって成長し続ける言語に足かせをはめる必要はない。
例えば、sortやreduce等はライブラリ。

今でも使いたければ使えば良い。 正規表現でもMathでも

>>819 既にObkective-CやC標準ライブラリなどで整ってるだろ。
多少のお化粧直しは徐々にやって行くだろうが基本はすでに出来上がっている。
だからこそ何万と言うProjectが動き出し使われ始めている。

この記事は良く書かれている。
Why Apple’s Swift Language Will Instantly Remake Computer Programming
http://www.wired.com/2014/07/apple-swift/?mbid=social_fb
オープンソースになる事も信じていると書かれている。
0822デフォルトの名無しさん2014/07/17(木) 12:09:10.21ID:sNTaX6ES
>>820
著作権者が2ちゃんに帰属してしまうからな
0823デフォルトの名無しさん2014/07/17(木) 13:56:27.81ID:PhzSxWx+
>>797
あー、それがDropboxのクライアントアプリが糞な原因だったか
0824デフォルトの名無しさん2014/07/17(木) 16:44:35.90ID:Q42QanQb
でもいままで気づかなかった>>823
0825デフォルトの名無しさん2014/07/17(木) 21:23:32.30ID:QyTpwaqK
>>174
C#は型推論があるから

list.Sort((t1, t2) => (t2.Item1 - t1.Item1));

って書くしAddしなくてもListを作る時に直接中身も書き込めるし
C#ではまずTupleなんか使わん
だいたいListじゃなくて配列使うよね 型推論使って

var list = new[]{ a, b, c } みたいに

ずいぶん意図的なコードだは
0826デフォルトの名無しさん2014/07/17(木) 21:28:58.09ID:lkXmPqNZ
C言語のコードと簡単に連携できるのはSwiftの良い点だなあと思う
速度が必要な部分だけCで書くってのは他の言語だと面倒なのよね
0827デフォルトの名無しさん2014/07/17(木) 21:50:31.65ID:YfxyUNf+
>>821
記事長い。3行で
0828デフォルトの名無しさん2014/07/17(木) 22:30:50.47ID:rGkVfvvx
Stringから中間のsubstringを切りだすのはこうするしかないのかな?
"hello, world".substringFromIndex(1).substringToIndex(4)
0829デフォルトの名無しさん2014/07/17(木) 23:03:27.20ID:o/1vn53B
面倒だな。

extension String {
subscript (r: Range<Int>) -> String {
get {
let subStart = advance(self.startIndex, r.startIndex, self.endIndex)
let subEnd = advance(subStart, r.endIndex - r.startIndex, self.endIndex)
return self[Range(start: subStart, end: subEnd)]
}
}
}

let str : String = "Hello World!"
let str2 = str[Range(start: 1, end: 5)]
println("str2: \(str2)")

参考:http://stackoverflow.com/questions/24044851/how-do-you-use-string-substringwithrange-or-how-do-ranges-work-in-swift
0830デフォルトの名無しさん2014/07/17(木) 23:16:04.71ID:ef5hHmVV
内部表現がUCS4ならランダムアクセスできるだろうけど
そうじゃないのは、NSStringとの兼ね合いかな
0831デフォルトの名無しさん2014/07/17(木) 23:18:10.92ID:o/1vn53B
可変バイト数の文字列を切り出すのはコストがかかると言うことを意識させる設計なのかね?
素直に substring を作らせないのは。
0832デフォルトの名無しさん2014/07/17(木) 23:29:03.42ID:q6z1PJAH
Charactor関連は大幅改定が有るらしい。 
なんと言うんだっけ、仮名の濁点込みの2文字を1文字とみなすような処理を入れる。
ヨーロッパのウムラウトとか。

その辺りがはっきりして周辺を公開するんだろう。
0833デフォルトの名無しさん2014/07/18(金) 00:39:33.98ID:+ss85pLs
ubuntuとwin7しか持ってないけどおれもswift書きたいなー (〃’дσモジモジ
0834デフォルトの名無しさん2014/07/18(金) 00:46:01.41ID:l87SXbW6
>>778
並列処理ならSmalltalkの方が楽だっりするけどねぇ

その1
[
 Transcript show: 'hello'.
] fork.

その2
thread := Thread with: Example.
thread example: 'message' example: 'message'.
0835デフォルトの名無しさん2014/07/18(金) 00:52:13.74ID:jJjfVEWg
忘れられた Grand Central Dispatch
0836デフォルトの名無しさん2014/07/18(金) 00:53:40.63ID:+ss85pLs
俺はswiftもobjective-cも知らないけどswiftだけでアプリ作れるの?
両方知らないと書けないはちと辛い。

>>778
androidってメインスレッド以外からui触れないんじゃなかったっけ。
0837デフォルトの名無しさん2014/07/18(金) 00:55:26.79ID:YBUygO17
var i:UInt16 = ~0
i += 1
// Arithmetic operation '65535 + 1' (on type 'UInt16') results in an overflow)
だとコンパイルエラーで弾いてくれる
i++ は素通りして 0 になる。
これは仕様どうり?それとも未定義動作なんかね?
0838デフォルトの名無しさん2014/07/18(金) 00:58:06.22ID:r9KeFm24
構文の仕様はリファレンスに書いてあるけど、動作の仕様は出てないだろう
0839デフォルトの名無しさん2014/07/18(金) 01:01:21.02ID:jJjfVEWg
>>836
サブスレッドで何らかの計算をして、終わったら、メインスレッドに通知してUIを更新するんだよ
Androidだけじゃなくて多くのプラットフォームはメインスレッド以外でのUI操作を禁止している
0840デフォルトの名無しさん2014/07/18(金) 01:02:38.24ID:YBUygO17
それとは別に、
~0 なんて書かなくても、 UInt16.max で最大値拾えるのは偉いですね
0841デフォルトの名無しさん2014/07/18(金) 01:51:24.41ID:lVzblgew
>>837
++i はIncrementableプロトコル?のメソッドを呼びだす(これがoverflow検出をしていない)
i + 1 のほうは、@llvm.uadd.with.overflow.i16(i16 %0, i64 1) を呼ぶのでちゃんと落ちる
最適化をONにすると ++i のほうも、@llvm.uadd.with.overflow.i16になるのでちゃんと落ちる
0842デフォルトの名無しさん2014/07/18(金) 05:53:25.15ID:COVjDTzr
単なるインクリメントだけですごい量のコードが実行されてるのね...
http://codepad.org/zD3osbLE
0843デフォルトの名無しさん2014/07/18(金) 07:52:58.79ID:YBUygO17
Optimization Level: Fastest[-O] にすると
実際のエラー箇所(i++)からズレた所にエラー出る場合があり
var i= Int.max
i++
println(i)
var dic = ["Objective": "C", "Jonathan": "Swift"] // ← EXC_BAD_INSTRUCTION
for (k,v) in dic {
 println("Key: \(k), Value:\(v)")
}

さすがにXcodeのバグかな? β版だし
0844デフォルトの名無しさん2014/07/18(金) 09:19:56.83ID:LjrJMd1h
ベータ版という名のもとの甘え
こんだけ不備や不満が多けりゃ正式版出ても使いもんになりそーもねーな
0845デフォルトの名無しさん2014/07/18(金) 09:51:01.02ID:DOB4ifCF
おめえ、リンゴを知ら無いな。 虫がつくリンゴほど美味しい。
マークのリンゴもかじられてるだろ。
0846デフォルトの名無しさん2014/07/18(金) 11:29:30.98ID:1qUti6yQ
>>844
お前出来たての言語触ったこと無いだろ
底辺プログラマ乙
0847デフォルトの名無しさん2014/07/18(金) 13:08:45.42ID:LjrJMd1h
出来たての言語という名の甘え
いわゆる、ゆとり言語
0848デフォルトの名無しさん2014/07/18(金) 13:12:56.57ID:4QtDR5Vb
頭悪そうなのを競う遊び?
0849デフォルトの名無しさん2014/07/18(金) 15:38:58.36ID:qSGRIP8i
4年間開発してましたとかほざいてるけど
開発リソースが投入され始めたのはごく最近だろうな
AppleのLLVMチームの能力に乞うご期待
アンチよ刮目せよ
0850デフォルトの名無しさん2014/07/18(金) 16:00:15.70ID:vSuYMOCy
よその部署のプロジェクトなんて知らない人がほとんどだしな
だからAppleのエンジニアもWWDCで何が発表されるのか楽しみにしてる
0851デフォルトの名無しさん2014/07/18(金) 16:00:59.41ID:vSuYMOCy
リソースの投入の話ね
0852デフォルトの名無しさん2014/07/18(金) 18:01:01.78ID:qSGRIP8i
超デスマーチだろう
何人死人が出るか
0853デフォルトの名無しさん2014/07/18(金) 20:31:35.45ID:wvajd9D1
らとなーさんが思い付いて着手してからの年月よりは、チーム組んで製品化目標が決まってからどんくらい経つのかを知りたい所だ

まあObj-Cが安定してる手前、言い方悪いけど遊ぶ側からすりゃ焦る必要は何もないんだけどもw
秋に出すにはあと正味何日くらい計上できるのかな
他人事ながらそわそわする
0854デフォルトの名無しさん2014/07/18(金) 22:21:45.41ID:DOB4ifCF
>>853 本格的になったのは、2013年7月からだろ。
2011年からそれまでは数人のメンバーでやってた。
0855デフォルトの名無しさん2014/07/18(金) 22:26:57.51ID:QEbII3eu
x.1までがベータ
0856デフォルトの名無しさん2014/07/18(金) 22:27:02.65ID:ox1sKAm6
Rubyなんざ開発開始から10年以上も経ってんのにこのザマだからな。
バグは減ったが相変わらず遅え。
4年でバグがあるなんて大したことねえよ。
0857デフォルトの名無しさん2014/07/18(金) 22:35:35.36ID:q8Shzk6v
>>856
Rubyが遅いのは仕様だろ
人間にめっちゃ優しい代わりに機械に厳しい
そういう言語
速さなんて求めちゃいけない
0858デフォルトの名無しさん2014/07/18(金) 22:37:26.79ID:DOB4ifCF
>>856 Ruby は松本氏一人で作ったんだぞ。 出来たから使ってくれと作者が言ったのを覚えている。
趣味で作った様な感じだった。
0859デフォルトの名無しさん2014/07/18(金) 22:41:12.32ID:aJ6CuKWd
Pythonなんざ開発開始から10年以上が経過しても
いまだにまともなクロージャを実装できないザマだからな。
たしかに4年でバグがあるなんて大した事ねえよな。
0860デフォルトの名無しさん2014/07/18(金) 22:42:30.03ID:Ouyc3HJ6
>>856
Rubyが遅い?寝言は寝て家
0861デフォルトの名無しさん2014/07/18(金) 23:21:22.07ID:AYfxGtzX
松本が、トヨタケーラムで就業時間中にコッソリ作って、盗み出したんだっけ。
0862デフォルトの名無しさん2014/07/18(金) 23:39:44.32ID:aJ6CuKWd
ほう、当時のトヨタケーラムでは
オブジェクト指向スクリプト言語を開発していたのか
それはそれは、すごいスクープだな(棒
0863デフォルトの名無しさん2014/07/18(金) 23:50:35.17ID:q8Shzk6v
Matz自身、速さを求めたら(一流のエンジニアが集まって最適化をしている)Javaには勝てない、
なので速さ(機械中心)じゃなくて読みやすさ、書きやすさ(人間中心)で設計したから成功した、
というようなことを語っていた気がする
>>862
トヨタケーラムが作ってたんじゃなくて、当時トヨタケーラムにいたまつもとが、暇すぎて、
じゃぁずっと作りたかったオレオレプログラム言語作るか〜って作ったのがRuby
0864デフォルトの名無しさん2014/07/18(金) 23:59:25.38ID:aJ6CuKWd
>>863
うろ覚えだけど、うなぎパイ産地の浜松にいた頃という記憶があるね

いずれにせよ、相手を貶めるためなら嘘を流しても正当化されるという
>>861の発想は、左翼系マスゴミと共通するものがあるな
0865デフォルトの名無しさん2014/07/19(土) 00:08:23.66ID:e9eDRNFj
>>859
クロージャがないんじゃなくて、匿名クロージャが無いだけだろ
0866デフォルトの名無しさん2014/07/19(土) 00:13:54.15ID:y0FLl86N
>>863
いや言語の性質がどうって話じゃなくて、単に開発リソースが足りないから言語の改良を優先してるだけ
最適化を頑張ってたら言語の改良に手が回らないし、最適化によって処理系が複雑になるほど改良や保守そのものが困難になる
0867デフォルトの名無しさん2014/07/19(土) 00:19:15.71ID:BlBRS1yh
君たちここはSwiftスレです、国粋主義言語Rubyの話はやめなさい
0868デフォルトの名無しさん2014/07/19(土) 01:01:05.54ID:eaRnxt2E
>>865
いや、
 「Python には(匿名関数参照はあるけれど)クロージャは存在しない」
というのが正しい
クロージャは単なるラムダ式ではなくて「局所環境」という概念を含む
局所環境とは、対象とするクロージャ内部だけで有効な変数や関数の宣言を意味する

Python のラムダ式の構文ではその定義に純粋な式しか許さず、なおかつ
関数型言語における let 式や where 節に相当する局所宣言構文が存在しない
だから、変数宣言を含むコードを関数の引数やリターン値として(=第一級市民として)扱いたい
場合には、ラムダ式(=匿名関数)は役に立たず、わざわざ名前のついた関数を宣言しなければならない

これに対して、まともなクロージャを備えるモダンな Swift/C#/Lisp/JavaScript/Ruby といった
言語では、クロージャ内部で局所変数を宣言できるから、たとえばソート・ライブラリ関数の
引数として渡す複雑な比較処理を、クロージャ内部のコードとして簡潔に表現できる
(なおクロージャという概念は、言語によってラムダ式/無名関数/ブロック等と名称が異なる)
結果として、プログラマは C# の LINQ や JavaScript の jQuery のような関数型プログラミングを
基礎としたメソッド・チェーンを何の苦も無く自在にプログラミングできている
(おそらく Swift でもクロージャを積極的に活用したプログラミング技法の情報が溢れるようになる)

まとめると、
 「クロージャの欠落したPython は(手続き型言語だから)関数型プログラミングには適さない」
と言える
0869デフォルトの名無しさん2014/07/19(土) 01:09:47.09ID:eaRnxt2E
>>867
ああスマソ、ジャグァとかメルツェデスみたいな言葉が大好きで
海外文化を心酔する舶来主義言語 Python の話題ばかりしていた

クロージャは Swift でも重要な概念だけど、くどかったかもしれないね
0870デフォルトの名無しさん2014/07/19(土) 01:15:38.46ID:BlBRS1yh
>わざわざ名前のついた関数を宣言しなければならない

そうだけど「わざわざ名前のついた関数を宣言しなければならな」くてもクロージャなんですよ。
関数オブジェクトがその生成点でのレキシカルスコープのEnvironmentを保持していればクロージャなんだよ。

Pythonが関数型プログラミングには適さないのは、まあそりゃそうだ。
0871デフォルトの名無しさん2014/07/19(土) 01:22:51.17ID:XBc61slo
関数内関数もクロージャなのん
0872デフォルトの名無しさん2014/07/19(土) 01:33:27.30ID:eaRnxt2E
>>870
>>867 からの批判もあるし、Swift とは直接関連しない Python に関する議論の続きは、
Pythonスレ、バトロワスレ、LL系関数型スレ等のいずれかでやったほうがいいんでないかな?
もし誘導してくれれば相手するよ

とりあえず、クロージャとは
 「局所環境を伴う匿名関数(=ラムダ式)」であって、それを識別子に束縛したものが関数宣言である」
というのが(手続き型言語 Python を除く)モダンな言語における一般的認識だと指摘する

# ということで、眠いから自分は落ちる
0873デフォルトの名無しさん2014/07/19(土) 01:46:10.04ID:GP+uZW4Y
お客様のなかにプログラミング言語理論の専門家はいらっしゃいませんか?
0874デフォルトの名無しさん2014/07/19(土) 02:02:36.86ID:GP+uZW4Y
SECDマシンすら実装したことない奴がクロージャを語るな
0875デフォルトの名無しさん2014/07/19(土) 02:20:09.97ID:60ExAOfp
>>873と>>874の間の約15分間になにがあったんだい?
0876デフォルトの名無しさん2014/07/19(土) 02:26:37.65ID:7rL7EX6a
これがいわゆるポリモーフィズム(多態性)である
0877デフォルトの名無しさん2014/07/19(土) 05:10:16.20ID:SmxhOcgK
ぜひ関数型言語の素晴らしさを語っていただきたい。
業務で関数型言語使ってるという人いるの?
関数型を使うとこんなに幸せって事例を聞きたい
0878デフォルトの名無しさん2014/07/19(土) 07:16:11.61ID:y0FLl86N
>>877
COBOLの置き換えにはいいかもね
IPO仕様がそのまま動くわけだから
0879デフォルトの名無しさん2014/07/19(土) 10:28:03.99ID:ati29DcN
>>864
ウソだと言い出したお前に、立証義務がある
rubyがトヨタケーラムのリソースを一切使用していなかった事を立証しろ

まず、rubyのリリース通知はトヨタケーラムのドメインからでていたが、
会社の許可はとっていたのか明らかにしろ
0880デフォルトの名無しさん2014/07/19(土) 10:31:28.27ID:icDb3AwV
>>879 アホか、
0881デフォルトの名無しさん2014/07/19(土) 10:53:04.54ID:AhQAimMt
テキスト処理なんかは関数型言語は得意だろう
逆にGUIになるとからっきしなイメージ
0882デフォルトの名無しさん2014/07/19(土) 11:04:11.31ID:ati29DcN
自白してるじゃねーか、ウソを流して相手を貶めてるのはどっちだ?

http://web-engineer.buyuden.net/interview/matz/
Matz:はい、仕事中もやってましたね。今じゃコンプライアンスがどうこうって言って難しそうですけどね。いい時代でしたね。
0883デフォルトの名無しさん2014/07/19(土) 11:17:51.88ID:Dgn7whGs
>>882
だから仕事中に作ってたとしてもそれを自分のものとして発表するのを「盗み出す」とは言わないんだって
会社が仕事として作れって言ってたんじゃないんだから。
仕事中に私物を作ってたのか!バカもん!と怒られることはあっても、それは会社のものだ!泥棒!と言われる筋合いはない。
0884デフォルトの名無しさん2014/07/19(土) 11:20:49.41ID:0s6Yl60V
契約次第
会社から金貰ってる以上
勤務中に違うことするのは
場合によっては業務上横領
盗みと一緒
0885デフォルトの名無しさん2014/07/19(土) 11:27:15.14ID:R4yDQs9r
>>884
契約次第ってのは嘘ではないが、一般的に労働契約は業務専念義務を伴う。
なのでまっつの行為は労働契約違反だが、使用者が大目に見てたってことだろ。

あと業務上横領ってのは大嘘。
横領という行為は「自己の占有する他人の物」についてしか成立しないので
どう構成しても横領にはならない。
0886デフォルトの名無しさん2014/07/19(土) 11:27:21.66ID:Dgn7whGs
>>884
もちろん、契約内容によってはそうだろう。
じゃないと研究職とか成り立たないからな。
でも、トヨタケーラムはそうではなかった。
でなきゃ、とっくに権利主張して裁判沙汰になってるだろ。
それで終わり。
0887デフォルトの名無しさん2014/07/19(土) 11:31:30.79ID:ati29DcN
>>883
会社から給料貰ってる就業時間内に会社のリソース使って開発したものを、
個人の所有と認めている企業なんて存在しない。

反論するなら実例あげてみろ。
就業経験の無いニートって奴は困ったもんだ。
0888デフォルトの名無しさん2014/07/19(土) 11:32:29.35ID:ati29DcN
>>886
アホ、研究職だってそうだよ。
0889デフォルトの名無しさん2014/07/19(土) 11:35:55.07ID:Dgn7whGs
>>885
横領についても、よく考えたらそうだな。
てか、 ID:ati29DcNは先に結論があって、それらしい言葉を並べ立てて無理やり論理を構築してるだけなので
何を言っても無駄
反原発と一緒
0890デフォルトの名無しさん2014/07/19(土) 11:39:22.89ID:60ExAOfp
最後の一文でだいなし
0891デフォルトの名無しさん2014/07/19(土) 11:46:14.53ID:ati29DcN
証拠が出てきたら屁理屈付け始めたか

他人のものを許可無く自分のものにすることを「盗む」と言うんだよ。
トヨタケーラムは盗まれた事、盗まれたものの価値を分からずに放置しただけ

訴えられてないからセーフとか万引き高校生か、お前は。W
0892デフォルトの名無しさん2014/07/19(土) 11:54:38.28ID:60ExAOfp
民事は警察も介入しないのはなんでなんだろうと。そこまで拘るのはなんで?
世の中にはお前の気に食わないことがいっぱいあると思うが、そこまでそれに拘るのはなんで?世直しの第一歩とか?w

焚き付けるならトヨタケーラムに裁判するように持ち込みなさいな。トヨタケーラムが無視するようだったら、お前はトンチンカン以外の何者でもない
0893デフォルトの名無しさん2014/07/19(土) 11:57:46.33ID:0s6Yl60V
権利主張は認められる可能性がある
0894デフォルトの名無しさん2014/07/19(土) 12:08:07.59ID:Dgn7whGs
民事と刑事の区別もついてない、
言葉の意味もわかってない、
馬鹿馬鹿しい、単にMatz叩きたいだけ
アップル信者ってこんなのばっか
0895デフォルトの名無しさん2014/07/19(土) 12:10:47.73ID:60ExAOfp
最後の一文付けるのはわざとなスタンスなのかww
0896デフォルトの名無しさん2014/07/19(土) 13:30:45.40ID:0TZ3km8d
硬いこと言えばそのとおりだが、従業員が仕事中に趣味で作ったものまで権利主張しない会社なんていくらでもある。
マドレーヌと一緒。
0897デフォルトの名無しさん2014/07/19(土) 13:49:31.25ID:9ljzGYTI
おまいら、Swiftの勉強しろよ。
色んな意味で滅多に無いチャンスだぞ。
0898デフォルトの名無しさん2014/07/19(土) 14:08:45.22ID:0s6Yl60V
>>897
goのときもDartのときも同じこと言ってた香具師がいた
0899デフォルトの名無しさん2014/07/19(土) 14:15:21.48ID:RW06H2gr
>>887
googleの1/10ルールって就業中のリソースで作るものでないの?
大企業で知識労働者を集約するとこだと、そういうの多いだろ
0900デフォルトの名無しさん2014/07/19(土) 14:19:05.66ID:qqkZh89L
チャンスはいつでも転がってるんだよ
滅多に無いなんてことはない
目に入ってないだけ
0901デフォルトの名無しさん2014/07/19(土) 14:25:56.67ID:9ljzGYTI
>>898 チャンスの大きさを自分で見極められるかどうかで力の入れ方を決める事は出来るだろ。

Swiftのケースは、GoやDartより大きなチェンジだろ。 その衝撃は全く違う。
チャンスは色々有るが、大きなチャンスと言うのは滅多に無い。
それを捕まえられる人間は一握りかもしれ無いけど、やって見る価値は有ると思う。
0902デフォルトの名無しさん2014/07/19(土) 14:47:12.30ID:Dgn7whGs
DelphiやC#、Objective-Cの歴史をみればわかると思うけど
一企業に独占された不自由な言語が普及することはまずない
Swiftも同じ末路を辿ると思う。江添亮さんも言ってる
0903デフォルトの名無しさん2014/07/19(土) 14:51:11.83ID:eaRnxt2E
>>874
クロージャを正しく理解するのには、関数型言語の処理系を
自分で書いてみるのが一番だという意見には同意するね
ただしSECDマシンの実装というレベルでなくても、
パーズした抽象構文木(AST)を直接的に評価する
単純なインタプリタで十分だと思う
(これは >>801 の 1.5 に分類されるインタプリタの実装方式)

たとえば単純な言語処理系におけるASTを評価した値のデータ型について、
関数型言語の一つである Stanndard ML(SML) による定義を以下に示す
 datatype value =
  Integer of int   (* 整数型の値 *)
 | Boolean of bool (* 論理型の値 *)
 | Primitive of prim (* '+', '-', '=' といった組み込み関数 *)
 | Closure of id * AST.expr * env (* クロージャ *)
 | (* 以下略 *)
ここで SML の datatype 宣言は Swift の enum に相当し、
直和型(バリアント型)のデータ型を定義する構文である(>>651)
日本語で表現すれば、「値(value)とは整数(bool)または論理値(bool)または
組み込み関数(primitive)またはクロージャ(closure)である」となる
クロージャについては、たとえば SML のラムダ式表現 fn x => x + 1 であれば
「識別子(id) x および式(expression) x + 1 および環境(environment)」と定義される
ここで x * y * z は Swift にもあるタプルのデータ型、いわゆる直積型を意味する

インタプリタ全体の設計については、以下で詳しく解説されている
・MLプログラミング入門(IV), コンピュータソフトウェア 12(4), 305-317, 1995-07-17
  http://ci.nii.ac.jp/naid/110003743870
学会誌特有の硬い口調、かつ整理されていないコードで読みづらいけど、参考になる

他にも関数型言語 OCaml による Ruby サブセット実装なんてのもある
・RubyのインタープリタをOCamlで実装してみた。 - yoshihiro503の関数的日記
 http://ocaml-nagoya.g.hatena.ne.jp/yoshihiro503/20090429
0904デフォルトの名無しさん2014/07/19(土) 15:18:57.00ID:YZuWtgiM
>>902
えぞえってSwiftの記事で爆死してたけど、何の釈明もないよね。
0905デフォルトの名無しさん2014/07/19(土) 15:21:03.98ID:PYFMBFkf
>>854
数人がせこせこやってたプロジェクトに社全体の未来を託していいのだろうか
最終的なGOサインを出したのはフェデリギ?
0906デフォルトの名無しさん2014/07/19(土) 15:25:27.28ID:I1ObDJCO
>>905
数人ってもメインがラトナーなわけで。
今は数も増えてるだろうし

つかLLVM/Clangにも同じこと言えるんじゃね?まあ、こっちは使う側はあまり意識しないでいいけど
0907デフォルトの名無しさん2014/07/19(土) 15:35:46.93ID:eaRnxt2E
>>877
まず、このスレにで対象とする話題は「関数型言語」ではなくて
「関数型プログラミング」というプログラミング・スタイルであり、
しかも Swift と関連したネタにしておいたほうがいいと思う

で、関数型プログラミングというスタイルであれば、>>868で書いたように
C# の LINQ や JavaScript の jQuery といったライブラリやフレームワークが
多くの業務プログラマの間で、すでに活用されている
今さら jQuery を放棄して、以前の DOM をゴリゴリ書き換えていく生活へ
返りたいと希望する JavaScript プログラマは皆無だろう

もちろん Ruby であれば、標準ライブラリはもちろんのこと、
業務アプリ開発にも採用される Rails では当たり前のように活用されている
たとえば最近の Rails では、(LINQ から影響を受け) SQL のクエリ文を
メソッド・チェーンを使って組立てるのが一般的スタイルになっている

これまで(手続き型言語である C をベースにした)Objective-C のプログラマにとって、
こうした関数型プログラミングは縁遠かった
これが新言語 Swif の登場によって、世間ではすでに常識化している
モダンなスタイルを使えるようになる、ってことだね

(Swift を含む)関数型ではない言語における関数型プログラミングの利点については、
以下の記事が参考になると思う(Ruby の記事だけど、他の言語にも当てはまる)
・Rubyによる関数型プログラミング
 http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
0908デフォルトの名無しさん2014/07/19(土) 15:35:54.32ID:RW06H2gr
>>897
古典AIでも勉強しなおす方がマシ
0909デフォルトの名無しさん2014/07/19(土) 16:06:30.52ID:b+p9VEiT
>>905
会社全体の未来を託すような基盤技術の立ち上げは凄く優秀な少人数に任せるに限るよ
最初から凡人を大量に投入したりしたら目も当てられないようなものができあがる
0910デフォルトの名無しさん2014/07/19(土) 16:54:45.57ID:T59/5GeD
>>871
Closure = gcc拡張の関数内関数
Closure != C++の関数内classの静的関数

因みにBorlandのC++だとこんなClosureがあった。

Example example;
int (__closure *function)(int) = &example::Something;

今のC#で言うdelegateだけど、これもClosure。
Closure != 無名関数
で有る点は意識したほうが良いと思う。
0911デフォルトの名無しさん2014/07/19(土) 17:14:00.06ID:T59/5GeD
>>907
あれは関数型プログラミングとは言えないと思う。
単なるSmalltalkへの回帰じゃん。

( 1 to: 10 ) select: [ :each | 5 < each ].
これと同じ。

関数型って言うなら

numberFor := [ :value | [ value value. ] ].
zero := numberFor value: 0 asValue.
one := numberFor value: 1 asValue.
two := numberFor value: 2 asValue.
array := [ :index | ( { zero. one. two} at: index value ) ].
array value: zero.
array value: one.
array value: two.

こんな感じで配列だろうが値だろうが全部関数として扱えなきゃ、
関数型Programingと言えないだろ。
0912デフォルトの名無しさん2014/07/19(土) 17:21:22.88ID:lyDv2rWU
>>906
ラトナーってそんな凄いのか
0913デフォルトの名無しさん2014/07/19(土) 17:26:17.41ID:T59/5GeD
因みにSmalltalkはLispの影響が強くて

a := 1 asValue.
b := [ 1 ].

c := a value = c value.

最初からこんな風に値を関数化する仕組みを備えてる。
0914デフォルトの名無しさん2014/07/19(土) 17:28:15.02ID:T59/5GeD
>>913の訂正

?
c := a value = c value.

○
c := a value = b value.
0915デフォルトの名無しさん2014/07/19(土) 17:42:09.74ID:dnFFlfmE
プログラマならSwiftやObjective-Cなんて2週間も遊べば大体わかるわけで
それよりCocoaとかのフレームワーク群に慣れ親しむほうがずっと重要だわさ
どんなプラットフォームでも言えることだけど
0916デフォルトの名無しさん2014/07/19(土) 17:49:53.87ID:Dgn7whGs
>>912
LLVMの理論つくった奴だぞ
21世紀のデニス・リッチー、または21世紀のリーナス・トーパルズって呼ばれてる
なんでアップルみたいな邪悪な企業に雇われて、Swiftなんて不自由言語作ってるのかわからん
フリーソフトウェア運動に加わればコンピュータ黎明史に未来永劫名を刻めるだろうに
0917デフォルトの名無しさん2014/07/19(土) 17:58:21.93ID:6ZRdCiPy
歴史に名を刻んだだけじゃ飯は食えんからな。
zipを開発したカッツの様に酒に溺れて死ぬ惨めな人生は歩みたくないだろ。
0918デフォルトの名無しさん2014/07/19(土) 18:01:48.17ID:1hzYIwWV
>>917
それは自業自得じゃね?
ま、名前が売れるのはプログラマ冥利に尽きるよ。Appleなら飯には困らんだろうし
0919デフォルトの名無しさん2014/07/19(土) 18:03:21.23ID:fcBWg80N
>>916
LLVMで効率的に動く言語としてSwift作った訳だが。
0920デフォルトの名無しさん2014/07/19(土) 18:05:02.39ID:7rL7EX6a
ID:Dgn7whGs を見て本の虫を思い出した。奴も似たような主義者だしな
0921デフォルトの名無しさん2014/07/19(土) 18:29:29.01ID:vMQWEed1
Swiftはオープンソース化される可能性がありそう
C#はMono実装がUnityとかで使われてるんじゃない? よく知らんけど
0922デフォルトの名無しさん2014/07/19(土) 18:32:06.45ID:60ExAOfp
>>920
ID:Dgn7whGsはどこまでネタで書いているのかわからんけどな。マジだったらヤバすぎw
0923デフォルトの名無しさん2014/07/19(土) 18:33:14.05ID:qyAKsTm0
>21世紀のリーナス・トーパルズ
それはいくらなんでも過大評価じゃ...
0924デフォルトの名無しさん2014/07/19(土) 18:54:33.09ID:d+Cj230E
江添さんも有名になったな
0925デフォルトの名無しさん2014/07/19(土) 18:57:09.32ID:OcOureUr
>>923
21世紀のリーナスとは初耳だが、LLVM功績はそれぐらい称えられてもいいと思うけどな。
iOSもAndroidもLLVMを採用しているし、その内LinuxもLLVM/Clangでコンパイルされるかもしれない
0926デフォルトの名無しさん2014/07/19(土) 19:02:58.36ID:y0FLl86N
C#もVBも十分普及してるし
JavaはAndroidとかいう海賊版が流行る前から圧倒的トップシェアだよ
まあJavaはIBMもいるけど、ライセンス方式なので昔から完全に一企業独占なのは変わりない
0927デフォルトの名無しさん2014/07/19(土) 19:06:45.57ID:d+Cj230E
GCCという「わざと」超複雑怪奇に作られたバックエンドしかなかった時に
彗星のごとく現われたLLVMさん
0928デフォルトの名無しさん2014/07/19(土) 20:13:47.48ID:71/bQDSL
リーナスなんてタダのパクリじゃないですかやだー
0929デフォルトの名無しさん2014/07/19(土) 20:14:49.24ID:9ljzGYTI
>>925 既にLinuxは殆どClangでコンパイル出来てる。 次のLinuxのバージョンは完全Clangコンパイルバージョンで出て来る予定。
やっとgccの束縛から解放される。

Visual StudioでもLLVMは動いてる。
0930デフォルトの名無しさん2014/07/19(土) 20:23:43.59ID:0TZ3km8d
>>916
なんかリーナスが21世紀に終わってるみたいに聞こえるだろw
0931デフォルトの名無しさん2014/07/19(土) 20:29:05.99ID:eaRnxt2E
>>911
まず「あれは ...」「これと ...」「こんな ....」といった代名詞だらけで、
主張したい事を自分自身の言葉で表現できていない
何度か議論していれば何を指しているのかを推測するけど、
単発カキコ他人には意味不明な文章になっている
書き直したほうがいいと思われる

とりあえず、2点を指摘しておく

まず Smalltalk の歴史を知らないみたいだから説明しておくと、
Smalltalk は関数型言語 LOGO をベースにシミュレーション言語 Simula の
影響を受けて誕生したオブジェクト指向言語の始祖である
LOGO をベースとしているのだから、Smalltalk が関数型プログラミングに
適しているのは、ごく自然な結論である
従って、もし回帰と呼ぶのなら Smalltalk のベースになった LOGO への回帰とすべきだろう
(なおクロージャという概念を Smalltalk ではブロックと呼んでいる)

次に「関数型」と「オブジェクト指向」をごっちゃに理解していると思われる
Smalltalk は純粋オブジェクト指向言語だから、配列だろうが単純値だろうが、
そしてメソッドであろうとも、全部オブジェクトとして扱える
それに対して関数型言語では、関数はオブジェクトとして(=第一級市民として)扱えるけれど、
(その逆に)関数以外のオブジェクトは関数として扱うことはできない
つまり関数型言語では、関数オブジェクトだけに適用(apply)を許すという特別な扱いをする
この違いを理解していないから、「関数型Programing」とやらの定義も間違えていると思われる
09329312014/07/19(土) 20:34:12.19ID:eaRnxt2E
>>931の日本語が変だったので訂正する

X: 単発カキコ他人には意味不明な文章になっている
O: 単発カキコでは、とうてい他人には意味不明な文章になっている
0933デフォルトの名無しさん2014/07/19(土) 20:35:51.54ID:emSpeoNV
[要出典]
0934デフォルトの名無しさん2014/07/19(土) 20:36:12.25ID:0s6Yl60V
>>902
ezoeもタマにはいいこと言うじゃん
0935デフォルトの名無しさん2014/07/19(土) 21:33:38.09ID:h1yXqgt1
>>931
LOGOは違わね?

print apply [[x] :x + :x ][7]

上記の様にLOGOはBlockを評価するにはapplyが必要で、
関数と互換性が全然ない。
関数とBlockの扱いが別でいいと言うなら
C++やJavascriptのように関数と無名高階関数を
同様に扱える言語は当てはまらないじゃん。

関数型Programingの方は言語機能というより、lambda計算の方を示したつもりだよ。
http://ja.wikipedia.org/w/index.php?title=%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97
0936デフォルトの名無しさん2014/07/19(土) 21:37:51.62ID:9ljzGYTI
で、Swiftについてはどう言う評価をするんだ?
他の言語はどうでも良い。
0937デフォルトの名無しさん2014/07/19(土) 22:01:40.35ID:emSpeoNV
[要出典]
0938デフォルトの名無しさん2014/07/19(土) 22:27:03.18ID:0W2JdBO/
次のbetaが楽しみだ
火曜には出るかなー
0939デフォルトの名無しさん2014/07/20(日) 08:24:32.80ID:+HQAUTTc
これからは関数型プログラミングがーーとわめいてる人はおっさんなのか
関数型のエッセンス取り入れるなんて今時あたりまえすぎて
殊更に言うことでもないだろう
0940デフォルトの名無しさん2014/07/20(日) 09:43:03.17ID:b2ADfW78
一番うれしいのはヘッダファイルが要らないことだったりする...
0941デフォルトの名無しさん2014/07/20(日) 11:03:25.26ID:QhoAtEXm
>>940
むしろメジャーな言語でヘッダがあるのCとC++とObj-Cだけですし...
0942デフォルトの名無しさん2014/07/20(日) 11:14:02.69ID:b1uNa6xY
ヘッダはまあ無くても良いけど、ソースからドキュメントを生成するルールとかも策定して欲しいぜ
ヘッダの代わりに
0943デフォルトの名無しさん2014/07/20(日) 13:41:45.35ID:ra/3lMl1
ヘッダは分割コンパイルのためにあるから、その分割コンパイルという概念がない言語にはありえないのでは?
0944デフォルトの名無しさん2014/07/20(日) 14:04:30.84ID:7Fl+zG/o
>>943
大抵のコンパイル言語にはライブラリを先にコンパイルしといて
あとでそれをリンクする仕組みがあるよね?
0945デフォルトの名無しさん2014/07/20(日) 14:17:44.10ID:NF3FNXda
ヘッダはプリプロセッサの為に有るんだよ。
プリプロセッサを無くしたSwiftに無いのは当然。
0946デフォルトの名無しさん2014/07/20(日) 14:27:34.21ID:2j39JLYE
プリプロセッサ無くなったの?
じゃあプリプロセッサマクロは使えなくなったの?
0947デフォルトの名無しさん2014/07/20(日) 15:06:08.48ID:wVC56iFt
プリプロセッサなくなってたら、コメントも使えないね^^
0948デフォルトの名無しさん2014/07/20(日) 15:23:32.02ID:NF3FNXda
>>946

ここにSimple Macro とComplex Macro , Condition compileについてのSwiftでの記述が有る。
https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/buildingcocoaapps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-XID_20

Simple Macros
#define FADE_ANIMATION_DURATION 0.35
は、global Constantを使いなさい。
let FADE_ANIMATION_DURATION = 0.35

何故ならCやObjCで書かれたSimple Macro様の物は、global variable としてSwiftに読み込まれるから。

Complex Macros
対応する物はSwiftには無い。 代わりにジェネリックとfunctionで似た様なことが出来る。
だから、CやObjCで書かれたComplex Macro はSwiftで利用することは出来無い。

Build Configurations
Swiftはbuild configurations の評価に従ってコンパイルされる。
true false の値とcommand line flag, プラットフォームテストfunction を使う。
-D <#flags#>

#if build configuration
statements
#else
statements
#endif
0949デフォルトの名無しさん2014/07/20(日) 16:08:02.27ID:XG+cug7c
void*の扱いが面倒だけど、これは仕方がないか
let context:CGContext! = reinterpretCast(NSGraphicsContext.currentContext().graphicsPort())
0950デフォルトの名無しさん2014/07/22(火) 02:37:57.89ID:SMQ/MZMx
Xcode 6 beta 4
OS X 10.10 Yosemite preview 4
iOS 8 beta 4
出ました
0951デフォルトの名無しさん2014/07/22(火) 10:07:40.31ID:brrWCVo/
NSUInteger maps to Swift's Int type in iOS and OS X system frameworks and to UInt in !user code . (17473606)!
これどういう事? > UInt in !user code
0952デフォルトの名無しさん2014/07/22(火) 10:53:18.12ID:m0OGWg9n
beta4 でのコレ↓
var i: UInt16 = UInt16.max
++i
最適化無し(-Onone)でも実行時エラーが出るように修正されましたね
0953デフォルトの名無しさん2014/07/22(火) 10:53:39.33ID:pTtZ8nRg
アクセス修飾子キタ━━(゚∀゚)━━!
0954デフォルトの名無しさん2014/07/22(火) 11:02:19.27ID:m0OGWg9n
>>951
縁の下(framework)では Int って事にするけど、ユーザーが書くコード側では UInt
だからどこか深い部分に関わらない限りは気にしなくていいよって事かと
0955デフォルトの名無しさん2014/07/22(火) 11:16:20.14ID:m0OGWg9n
Range周りは仕様変更が続くなあ
stride(from: 0, through: 10, by: 3) と書けるようにしたから
(0..<10).by(3)  みたいには書けないよ。もうそんなmethod無いからwって・・・
別に残してくれても良かったと思うけどなあ
0956デフォルトの名無しさん2014/07/22(火) 12:04:37.22ID:brrWCVo/
>>955 前の方がずっとわかりやすかったのにね。
せめて stride ( 0..<10 , by: 3 ) としてほしかった。
0957デフォルトの名無しさん2014/07/22(火) 12:26:15.46ID:pTtZ8nRg
まだSourceKitは荒ぶるな
鎮まりたまえ〜
0958デフォルトの名無しさん2014/07/22(火) 12:37:09.40ID:kVgxKTl3
もう for (int i=0, i<10, i+=3) でいいよ
0959デフォルトの名無しさん2014/07/22(火) 19:47:40.52ID:3XIByciF
うむ。分かりやすいのが一番
0960デフォルトの名無しさん2014/07/22(火) 22:28:32.25ID:OS8Ua5qm
関数型のスタイルっていうのは全部再帰で書くことだろ
一切副作用を使わずfor文のi++もなくし配列もなくして
単連結リストと末尾再帰で表現するのが関数型
そこを見ないと本質が見えなくなる
0961デフォルトの名無しさん2014/07/22(火) 22:34:54.53ID:nSYxmQ2R
状態を関数モデルで無理矢理扱うための苦肉の策だろ
別に関数モデル使うのが目的じゃなくて本来の目的は宣言型プログラミングなんだから、
それを損なうような再帰の乱用は考えもの
0962デフォルトの名無しさん2014/07/22(火) 23:07:47.19ID:Xdd3r5lq
純粋関数型という制限がないと、たんなるプログラミングの好みの問題となる。
0963デフォルトの名無しさん2014/07/22(火) 23:14:53.12ID:vNYu1ctv
>>960
> 関数型のスタイルっていうのは全部再帰で書くことだろ

それは間違いじゃないけれど、正しくもない

ちょうど関数型言語アンチスレに、同じ様な初心者からの
質問が過去にあったから、それを紹介しとく

> 413 :デフォルトの名無しさん:2013/06/20(木) 19:42:10.61
> 関数型言語ってループは末尾再帰で書くんですよね?

・【アンチ】関数型言語は使えない【玩具】 2
  http://peace.2ch.net/test/read.cgi/tech/1330429547/413-418

Swift と同じく関数型言語ではない Ruby のケースも例に含まれているから、
「Swift における関数型プログラミング」にも参考になると思う
0964デフォルトの名無しさん2014/07/22(火) 23:26:48.85ID:OS8Ua5qm
状態・副作用丸出しのオブジェクト指向に
ラムダ式という便利なコールバックを加えただけのことで
関数型でもなんでもない運用をするのが
オブジェクト指向と関数型のハイブリッド言語と言われるものの特徴だと思うよ

これを関数型に分類しようとすると本質を見失うだけ
0965デフォルトの名無しさん2014/07/22(火) 23:39:02.75ID:pTtZ8nRg
Swiftは純粋関数型やるための言語じゃない
関数型の本質を語りたいならこのスレじゃない
0966デフォルトの名無しさん2014/07/22(火) 23:39:39.31ID:vNYu1ctv
>>964
たしかに >>960 の「単連結リストと末尾再帰で表現する」のは、
関数型言語の背景にある抽象的な理論(ラムダ計算モデル)にとって本質だよね

ところで、ここは「関数型言語ではない Swift」のスレなわけだけど、
その本質とやらを見失うと「Swift における関数型プログラミング」にとって、
どんな具体的な悪影響があるんだろう?

とりあえず >>907 の末尾で紹介したネット記事から、以下の一節を引用しとくね

 それでは、このガイドでは「理論的な関数型の純粋性を信奉する
 風変わりなスタイルを布教するつもりがない」ことを明らかにしていこう。
 逆に、私の試みのポイントは、 コードの品質を向上させたいときは
 いつでも関数型プログラミングを使用すべきであるけれど、
 それ以外のときには(関数型プログラミングは)まさに誤った解決手段である、
 というものである。

もしも関数型言語のウンチクを語りたいだけなら、スレ違いだから
関数型言語スレへ移動して、そこで大いに議論すればいいと思う
0967デフォルトの名無しさん2014/07/22(火) 23:44:46.27ID:OS8Ua5qm
いやいや関数型じゃないものを関数型プログラミングというのは
誤解を招くだけというかただの詭弁じゃない
0968デフォルトの名無しさん2014/07/22(火) 23:50:30.53ID:pTtZ8nRg
誰も誤解しないし、お前みたいなのを隔離するために"純粋"関数型という言葉が存在する
これ以上スレ違い続けるなよ
0969デフォルトの名無しさん2014/07/22(火) 23:53:30.16ID:RYGlxIg7
>>964
>関数型でもなんでもない運用をするのが
それは違わね?
手続き型のプログラミングをしてる人でも、あまり意識することなく関数型の恩恵に与られるのがSwiftみたいな言語の特徴だと思うけどな。
1番分かりやすいのがコレクション操作、集計処理だろう。(map,filterとか)

本質って大多数にはどうでもいいわけ。オブジェクト思考も同じ。
0970デフォルトの名無しさん2014/07/22(火) 23:56:36.29ID:OS8Ua5qm
純粋関数型も関数型も別に根っこは変わんねえよ
コレクションに対して高階関数を渡して処理するのはオブジェクト指向で普通にやってること
仮想関数の実装方法がラムダに変わっただけなものを関数型なんて言い出すから馬鹿にされる
ちょっとベターにしただけのただのオブジェクト指向だよ
0971デフォルトの名無しさん2014/07/23(水) 00:05:20.67ID:UkE72Sh4
みんな関数型を誤解している!
理解できるのはこの世で僕だけだ!

こうですか
0972デフォルトの名無しさん2014/07/23(水) 00:05:41.49ID:gU9I4UPn
>>970
ちょっと頭冷やした方がよくね?
高階関数を渡して処理するOOPはあるが、高階関数を渡して処理するからOOPではないだろ?
それは関数型の考え方に対応したOOPってだけだよ。
OOPの定義は全く別物だよ。

あと、純粋関数型も(非純粋)関数型も変わんないってことは、非純粋関数型のSwiftも関数型って認めてるじゃん。自己矛盾してるね
0973デフォルトの名無しさん2014/07/23(水) 00:12:33.82ID:gU9I4UPn
>>953
public,internal,privateかあ
protectedはないんだね
0974デフォルトの名無しさん2014/07/23(水) 00:12:52.90ID:S/T3pfYX
>>972
純粋って書いてない関数型言語でも
基本的にループはしないで再帰で書くし配列より単連結リストを使うってことだよ
0975デフォルトの名無しさん2014/07/23(水) 00:15:19.44ID:gU9I4UPn
>>974
その前提がおかしいだろ
純粋関数型でなければ、どちらで書くかはプログラマが決めるんだよ。そうでなければ、非純粋の意味がないでしょ
0976デフォルトの名無しさん2014/07/23(水) 00:16:01.35ID:phognMRi
internalとprivateの違いは何だ?
0977デフォルトの名無しさん2014/07/23(水) 00:16:27.75ID:gU9I4UPn
>>976
internalはターゲット内。
0978デフォルトの名無しさん2014/07/23(水) 00:20:25.53ID:S/T3pfYX
>>975
別に純粋関数型だって手続き型みたいに書くこともできるし
手続き型言語だって関数型のスタイルで書くことも出来る

言語の標準スタイルが関数型なのかどうかが問題なのであって
Swiftのスタイルは関数型ではないというだけの話
0979デフォルトの名無しさん2014/07/23(水) 00:42:10.76ID:gU9I4UPn
>>978
なんか勘違いしてるようだが、俺の発言は>>960への反論だからな?
Swiftのメインの考え方が関数型と言っているわけではなく、関数型のスタイルも取り入れているよと主張しているだけだ。
0980デフォルトの名無しさん2014/07/23(水) 00:57:36.64ID:S/T3pfYX
関数型のスタイルを取り入れてるっていうのが
全然関数型じゃないって話だよ
関数型のスタイルは>>960

コレクションに高階関数を入れて処理するなんてのは関数型でもなんでもないわけ
たとえばRubyのmapに!をつけて中身変更したら関数型じゃなくなって!つけなければ関数型なのか? ってこと
どっちも別に関数型とは関係ないただの便利なコレクションライブラリでしかない
0981デフォルトの名無しさん2014/07/23(水) 01:17:36.24ID:UT9I22cv
>>980
杓子定規なやつだなー
そのただの便利なコレクションライブラリは関数型の考えなしで成り立つのかね?
0982デフォルトの名無しさん2014/07/23(水) 07:05:28.23ID:Pu3k1ugl
1 to: 5 do: [ :each | ].

元祖OOの考え方だろうな。
0983デフォルトの名無しさん2014/07/23(水) 07:11:15.82ID:Pu3k1ugl
std::find_if( collection.begin(), collection.end(), 5 < _1 );

C++も関数型なんて言葉が持て囃される前から
関数Objectと言う言葉が使われてた。
OOには元々処理を引数に取るってのが含まれてる。
0984デフォルトの名無しさん2014/07/23(水) 07:35:19.89ID:Qr1azPSk
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/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0985デフォルトの名無しさん2014/07/23(水) 07:49:45.87ID:xa9IqUVv
関連スレ
プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/
0986デフォルトの名無しさん2014/07/23(水) 08:00:48.29ID:xa9IqUVv
Swift Blog
https://developer.apple.com/swift/blog/

Resources
https://developer.apple.com/swift/resources/
(Xcode 6が無料でダウンロードできる)

Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
0987デフォルトの名無しさん2014/07/23(水) 11:18:37.49ID:BhM4HbtC
こっちに合流でいいだろ
マカがム板にスレ立てなんて10年早いんだよ

プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/
0988デフォルトの名無しさん2014/07/23(水) 11:32:57.71ID:LQb75DXj
マカーにとって10年早いのは本望じゃね
0989Swift part32014/07/23(水) 11:43:28.22ID:x29J8vdY
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
Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
Swift Blog
https://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
https://developer.apple.com/swift/resources/

関連スレ
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/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0990Swift part32014/07/23(水) 11:45:21.51ID:x29J8vdY
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
Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
Swift Blog
https://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
https://developer.apple.com/swift/resources/

関連スレ
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/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0991デフォルトの名無しさん2014/07/23(水) 11:48:08.32ID:x29J8vdY
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/

立てた。なんかビューアの操作ミスって連投して済まん。
0992デフォルトの名無しさん2014/07/23(水) 12:17:20.00ID:Sn+nXjer
>>987
却下
0993デフォルトの名無しさん2014/07/23(水) 12:39:08.41ID:DBq3gC0T
>>987
ここはゴミ避けのフィルタなんだから無くしちゃダメ
0994デフォルトの名無しさん2014/07/23(水) 12:58:25.27ID:Sn+nXjer
>>993
てめーみてーなカスのな
0995デフォルトの名無しさん2014/07/23(水) 17:28:30.53ID:F2A3Bmpn
埋め
何年後にオープンソースになるか?
2年、2016年
0996デフォルトの名無しさん2014/07/23(水) 18:25:24.22ID:UkE72Sh4
俺は年内にはなると思うけどな

梅
0997デフォルトの名無しさん2014/07/23(水) 18:29:06.91ID:xMQ/Q89h
gcc でコンパイルできるようになるのが先だな
0998デフォルトの名無しさん2014/07/23(水) 18:39:21.75ID:DU5/VHeY
オープンソースにしたって誰も喜ばないだろ。
アップルはコミュニティで標準化を待つなんて悠長なこと言ってられないから勝手にどんどん機能拡張してくだろうし
GNUの連中はそれに追従できないだろう。
Appleと仕様違いすぎて誰も使わなくなったGNUのObjective-Cと同じになるのは目に見えてる
iOS/OS Xにある程度のリソースを割けるアップルのデベだけが使うのが理にかなってる
iOS/OS X専用ドメインスピーシフィックランゲージみたいなもんだ
0999デフォルトの名無しさん2014/07/23(水) 18:40:16.88ID:F2A3Bmpn
>>997 アホか、gccは捨ててClangにしてるのに。
確かSwiftはClangでコンパイルしてると聞いた。
Clangだから、CやObjective-Cと柔軟に相互乗り入れ出来るんだよ。
1000デフォルトの名無しさん2014/07/23(水) 18:43:16.96ID:F2A3Bmpn
ClangはほぼAppleが作った様な物だから他がどう言おうが勝手に発展させて行けば良い話。

Swiftライブラリは言語とは別の話。 勝手に発展させれば良い。
libcとの互換性は有るんだし。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。