Swift part10 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/02/20(月) 10:00:13.40ID:ChbPWtRt0
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

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

[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1484217623/

Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/

前スレ
Swift part9
http://echo.2ch.net/test/read.cgi/tech/1476758084/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/05/29(月) 07:01:38.32ID:L9ed4gjcp
フフってなった
昔、SwiftもLLVMだからどこでも動くって言ってたなぁ

まぁKotlinは頑張ってポーティングしてるようだから
実用性はさておき動くんだろうけど
735デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/29(月) 08:51:21.58ID:A7rCPaLD0
>>722
C言語のソースも、人によって全然違うけどなぁ。
とくに、Headerファイルのマクロ定義によってソースの印象がガラッと変わる。
2017/05/29(月) 09:10:28.76ID:96NrxdYRd
>>735
Cと比較したらCのがやりたい放題に決まってるだろ…
関数をアドレス指定で直接コールできる言語やぞ…
比較対象がおかしいわ
2017/05/29(月) 10:41:09.25ID:M6frmmyd0
ポインタとか分からんレベルの人にはやりたい放題出来ないがんじがらめの世界の方がいい気はする
柔軟性はObjective-Cで安全性はSwiftなイメージ
738デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/29(月) 11:13:19.98ID:A7rCPaLD0
>>733
Kotlin/Nativeなんてのがあるのね!
知らんかった。JVM無しで動くコードが作れるのかな?
739デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/29(月) 11:14:56.30ID:A7rCPaLD0
It is not a fully functional release yet,

Kotlin/Nativeがどの程度動くのか?気になる。
740デフォルトの名無しさん (エムゾネ FFbf-4cAo)
垢版 |
2017/05/29(月) 11:27:53.51ID:trx2RJe/F
>>729
ポインタ分からないって人は、参照型の値型の違いが理解出来なくないか?
2017/05/29(月) 12:04:20.43ID:3RO08/qX0
参照型と値型の違いがわからなくても使い方さえ理解できれば簡単なアプリは作れるからな
ある程度の最適化はコンパイラがやってくれるし、ハードの性能も上がってるから、多少の冗長性は無視できる
C言語だとそうはいかない
ポインタを知らないとまずまともなアプリはつくれない
外部のライブラリを利用する場合もポインタの知識は必須になる
ポインタの理解が参照型の理解の助けにはなるだろうけど厳密にはポインタと参照型は同じものでもないし
742デフォルトの名無しさん (スプッッ Sdbf-4cAo)
垢版 |
2017/05/29(月) 12:14:04.16ID:idSzy2HYd
それは、ポインタを知らなくても使い方さえ覚えれば簡単なアプリは作れる、っていっても同じじゃないか?
2017/05/29(月) 12:33:55.33ID:3RO08/qX0
ポインタの場合は概念を理解しないで使い方だけ覚えるってのはちと無理がある
Swiftの参照型は概念をきっちり理解できなくても、大概動くものは作れるし、変なことやろうとしてもIDEやコンパイラが注意してくれる
2017/05/29(月) 13:11:45.84ID:96NrxdYRd
>>740
ポインタしらなくても挙動でわかるだろ
745デフォルトの名無しさん (スプッッ Sdbf-4cAo)
垢版 |
2017/05/29(月) 13:27:25.51ID:idSzy2HYd
>>744
じゃなくて、ポインタの概念を理解出来ない人は、参照という概念も理解出来ないって言う意味だけど
挙動で理解出来てるなら、それは理解出来る人だよ
2017/05/29(月) 13:29:35.62ID:96NrxdYRd
>>745
参照を理解できたからとポインタも理解できたとは言えない
大小が逆
2017/05/29(月) 13:38:22.24ID:3RO08/qX0
そもそも初心者は参照型だ値型だとあまり意識しないんじゃないか
意識しなくてもコードは書ける
Swiftならね
2017/05/29(月) 21:45:25.45ID:lFCv8yRy0
>>741
だからObjective-Cはいろいろと素晴らしいと考える人が少なくないんだと思うけどな
2017/05/29(月) 21:47:34.02ID:e8ZpNhPJ0
今後出現して欲しい本

SwiftプログラマのためのKotlin入門

Androidアプリ作りたいけど、Javaは嫌なんだよなぁ。
2017/05/29(月) 21:59:32.56ID:HMZ0UBYT0
>>749
そんな本なくてもswiftの簡単版みたいなもんだから余裕でかける
2017/05/30(火) 01:08:42.87ID:Q1uksSWN0
iosもandroidも共通で言えることなんだけどさ、もう一段フレームワークが欲しい。どっちもuiライブラリ止まりで、
全体の管理を行う部分が開発者任せで、正直困る。一画面アプリ止まりならそれでもいいんだけどさ。
2017/05/30(火) 01:09:28.67ID:YGoyijxE0
???
2017/05/30(火) 01:21:48.80ID:zlRLzU390
>>751
例えば?
2017/05/30(火) 02:18:06.30ID:Q1uksSWN0
ステート管理だけで言えばreactのreduxみたいなやつとか。
あれってファイルの置き場所とかもある程度誘導されるから迷いが減るんだよね。
2017/05/30(火) 09:52:12.97ID:zOXcPiC1p
ソースファイルの置場所も公式に決まってないSwiftに何期待してるのか
まずはSwift Package ManagerとXcodeで共通化することから始めよう
756デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/30(火) 10:07:35.91ID:LRk+Le9O0
俺もパッケージマネージャが複数あるのが好かんなぁ。

1. Carthage
2. CocoaPods
3. Swift Package Manager

俺は1.がxcodeprojへの変更が少なくて好みだ。
2.はxcodeprojをどう変更してるのかが、見えない。
2017/05/30(火) 10:49:53.98ID:hcHvAlDm0
CocoaPodsはオープンソースだからxcodeprojをどう変更してるかは見えるだろ
758デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/30(火) 10:53:32.01ID:LRk+Le9O0
Swiftとはちょいと違う事で質問です。
UMLモデリングって最近でも使われますか?
使う目的は何でしょう?

1. すでにあるコードの解析
2. これから作成するコードの可視化
2017/05/30(火) 11:24:11.63ID:hcHvAlDm0
そんなこと聞いてどうすんの? と聞き返したくなるような質問すんな
皆が使ってるなら使ってみようかってことか
760デフォルトの名無しさん (アウアウウー Sacf-Evzo)
垢版 |
2017/05/30(火) 11:24:54.00ID:gxWnkgCCa
しかるべきスレへ行ってはどうか
761デフォルトの名無しさん (スプッッ Sdbf-4cAo)
垢版 |
2017/05/30(火) 12:41:12.92ID:8S4zHXFCd
>>758
モデリングのために決まってんだろ
2017/05/30(火) 13:35:34.23ID:MeRfIrpoM
>>755
まさにこれ。決めてほしい。
それかアップル自身が公式にリファレンスとなるアプリをオープンソースにしてほしい。
react-nativeだとf8appがそれっぽいが。

なんかそれなりの規模のオープンソースアプリないかな。
2017/05/30(火) 14:59:25.27ID:zOXcPiC1p
swift.orgのPackage Managerのページにゴミのようなサンプルはあるけど
自身(SPM)のことしか考えてないから、自分で作った方が良いだろうねぇ

Swift Package Manager
https://swift.org/package-manager/#conceptual-overview
Package.swift作って、Sources, Testsディレクトリ作る

CocoaPods
https://guides.cocoapods.org/syntax/podfile.html
Podfile作る, Sources/*.swiftを参照

Carthage
https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile
Carfile作る, Sources/*.swiftを参照

Xcode
上の全部を適当にpodが作った.xcworkspaceのプロジェクトツリーに加える
764デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 11:13:03.77ID:9hyFYnrA0
qiitaのKotlin記事を読んでて出くわしたphrase。

Android アプリ開発者であれば普段から英語を読んでいると思いますし、平易な英語なので大きな問題はないと思います。

俺にはComputer関連の英語文章が難しく感じるのだけど、どうなんでしょう?
exressionを式だと理解するのに、随分時間がかかったと思う。
2017/05/31(水) 12:18:51.47ID:mlMZGH6Ha
和書にも専門用語は英訳も一緒に載ってること多いから違和感無かったけど、入門してすぐ洋書だとそう感じるかも。
766デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 12:45:27.84ID:9hyFYnrA0
たしかに!

順方向伝搬(forward propagation)って書いてあるね。和書には。
expressionを式、statementを文と訳すのは判ったけど、和書には「式文」
ってのが時々出て来て、これ何を翻訳したんだ?

と不安になる。
2017/05/31(水) 16:07:11.28ID:nyiBm3r5H
そんなあなたに
Regular Expression
はどう訳す
768デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 16:13:04.68ID:9hyFYnrA0
>>767
いつも良く使うマッチ式
769デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 16:16:42.72ID:9hyFYnrA0
regular = いつもの
例:regular customer = 常連、regular coffee = 日々よく飲むコーヒー

regular ¥= 正規 = formal, proper
770デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 16:19:06.25ID:9hyFYnrA0
正規表現って訳語は、誤訳だわぁ。
771デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 16:19:30.13ID:9hyFYnrA0
誤訳を永遠と使い続けるのは、よく無い。
2017/05/31(水) 16:25:25.52ID:nyiBm3r5H
>>770
石田晴久が糞って有名ですし
773デフォルトの名無しさん (ワッチョイ fbf3-Y9+t)
垢版 |
2017/05/31(水) 16:37:31.63ID:9hyFYnrA0
>>772
まあ、情報が入手しずらい時代に苦心して日本語を当てたって感じだ。

Microsoftの文書を読んで、まったく意味がわからんかったのを思い出さしてクレルわぁ。DAO ActiveX Library, RDO ActiveX Libraryに関しての記述を読んで、
さっぱり意味不明だった。和文も、英文も。

サンプルコードを見たら一発で理解できた。
774デフォルトの名無しさん (スッップ Sdbf-fYd5)
垢版 |
2017/05/31(水) 19:53:48.08ID:3T0UNs5qd
>>771
じゃあ
リベンジ:復讐
を、なんとかしてよ。

あとfeatureをフューチャーって発音するのもなんとかして欲しい。
2017/05/31(水) 20:15:00.41ID:Iu1e43xk0
>>774
頭悪そ。
776デフォルトの名無しさん (ワッチョイ 9f72-p7jx)
垢版 |
2017/05/31(水) 21:26:00.22ID:DggZESjQ0
>>750
Swiftより簡単なの?
777デフォルトの名無しさん (ワッチョイ fb54-WkB/)
垢版 |
2017/05/31(水) 21:33:41.18ID:Iu1e43xk0
>>750
知ったか
2017/05/31(水) 21:47:41.16ID:WiTkOt3Sd
>>776
果てしなく簡単
2017/05/31(水) 22:53:30.93ID:JH+W+dlz0
swiftが言語仕様固まらないうちにkotlinがios対応しちゃうな。
2017/05/31(水) 23:40:55.86ID:pEaTZtAB0
Swift使ってる自分が好きな人
2017/06/01(木) 08:38:33.85ID:gogTzzXkd
モダンな言語Swiftを使ってる最先端な自分
2017/06/01(木) 09:47:53.31ID:5viUjg+Pd
swiftは作る奴の思考によってパラダイムが変わるから他人のコードがストレスになる糞言語
いっそのことclassを消してしまえばいいわ
783デフォルトの名無しさん (ワッチョイ b9f3-O++a)
垢版 |
2017/06/01(木) 10:35:07.17ID:Mc77jWtu0
>>782
糞に見えるのなら、三流エンジニアだな。使いこなせない事を棚に上げて、悪態ツイテルだけにしか思えん。
一体どこが糞なんだ?
2017/06/01(木) 10:53:52.60ID:kPS6C5Z/0
SwiftとKotlinでちょっと遅延評価リストを比較した

■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/

val a = generateSequence(0){it+1}

//A 問題なし
println("A: "+ a.take(10).toList() )

//B 問題なし
println("B: "+ a.take(10).map{it*10}.toList() )

//C 問題なし
println("C: "+ a.filter{3<it}.take(10).toList() )

//D 問題なし
println("D: "+ a.map{it*10}.take(10).toList() )

//E 問題なし
println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
2017/06/01(木) 10:54:14.25ID:AXJF1Amn0
swiftは言語仕様固まらないうちにAndroid対応しちゃうバカだからな
kotlinのios対応って何周遅れだよ...対応遅すぎる
2017/06/01(木) 10:55:55.93ID:kPS6C5Z/0
■Swift
オンラインコンパイラ: https://swift.sandbox.bluemix.net/

extension Sequence { var array:[Iterator.Element] {get{return map{$0}}} }

let a = sequence(first:0){$0+1}

//A 問題なし
print("A:", a.prefix(10).array )

//B 問題なし
print("B:", a.prefix(10).map{$0*10}.array )

//C 死ぬ
print("C:", a.filter{3<$0}.prefix(10).array )
//C-2 lazy付けたら動く
print("C:", a.lazy.filter{3<$0}.prefix(10).array )

//D 死ぬ
print("D:", a.map{$0*10}.prefix(10).array )
//D-2 lazy付けてもコンパイル不可
print("D:", a.lazy.map{$0*10}.prefix(10).array )

//E
print("E:", a.map{$0*10}.filter{50<$0}.prefix(5).array )
//E-2 lazy付加+分割で何とか動く
do {
let a2 = a.lazy.map{$0*10}
let a3 = a2.filter{50<$0}
print("E:", a3.prefix(5).array )
}
787デフォルトの名無しさん (ワッチョイ b9f3-O++a)
垢版 |
2017/06/01(木) 11:22:30.68ID:Mc77jWtu0
>>786
THX

無限個Sequenceを扱う時には、気をつけます。
2017/06/01(木) 12:01:04.94ID:5DFmWXv80
>>786
let a = sequence(first:0){$0+1}.lazy
でよくね
ここ書いてる時点で無限sequenceだってわかってるんだから

ambiguous云々言われるのは…まぁ…
2017/06/01(木) 13:13:36.56ID:5viUjg+Pd
>>783
日本語理解できないガイジ
2017/06/01(木) 13:17:57.99ID:EiP2TW+2d
たしかにこれはガイジ
理由書いてるレスに理由聞くとか新しすぎる
791デフォルトの名無しさん (ワッチョイ b9f3-O++a)
垢版 |
2017/06/01(木) 13:30:11.13ID:Mc77jWtu0
>>788
//print("D:", a.map{$0*10}.prefix(10).array )
print("D:", a.map{($0 as Int)*10}.prefix(10).array )

=> D: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

修正したらambiguous言わなくなったけど、なんでだ?
2017/06/01(木) 21:02:51.03ID:DEetJIxW0
スタイリッシュを装ってるが
ときどき地がでて$0とか$1とか書いちゃう田舎者
それがSwift
2017/06/05(月) 16:00:36.93ID:AJ9L3Zjp0
今夜Swift++発表か
2017/06/05(月) 16:32:47.80ID:8WFwx/xcp
また新しい文法が増えるのか
2017/06/05(月) 17:46:21.52ID:mNvdXf0od
Swift+=1じゃないのか
2017/06/05(月) 18:51:21.00ID:SveFyKZdp
Swift4なんてなかった
2017/06/05(月) 19:31:26.86ID:3JnnQNM2d
>>795
だな
無駄に++構文無くしたからな
2017/06/05(月) 20:40:53.41ID:jJlkmHCz0
without Cという、表面的な自己満足を実現する言語仕様
という意味では成功してるかもなSwiftは
2017/06/06(火) 09:11:21.70ID:qDrcxP3vM
See what’s next.
The new beta of Xcode 9 is now available,
and includes Swift 4 and SDKs used to build apps with the latest innovations and
powerful capabilities in macOS, iOS, watchOS, and tvOS.


おはギャーきたな
2017/06/06(火) 09:21:00.69ID:Z7hLIrmcd
Swift4…。Apple正気か
2017/06/06(火) 09:25:05.11ID:qDrcxP3vM
2017/05/26 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大
欠陥に気付いた時点から1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求めることできる

Swift3でシステム作って納品する

iOSバージョンが12になる。Swift4が必須になる

客がプロジェクトファイルからアップデート試す。Swift4の必須のエラーが出る。動作の不具合に気づく

気付いた時点から1年以内に通知すれば、5年間無料保証ゲット

つまりSwiftがアップデートするたびに、無償の修正作業を発生するということかな
2017/06/06(火) 09:57:12.15ID:LrtFpx4Mp
> iOSバージョンが12になる。Swift4が必須になる
ダウト
中途半端な知識でモノを言うもんじゃねぇよww

なお、小賢しいPMはSwiftバージョン上がる度に
最新のXcodeでビルドできないのはアポーのせいなんでwwwってメンテ工数をぶん取る模様
2017/06/06(火) 10:07:42.01ID:qDrcxP3vM
それはお前が決めることじゃない。コンペで「今後欠陥に気付いてから5年間無料保証を請け負うお」を提案できる会社だけが仕事を取れることだけのこと

コンペで競争がおき、それを提案できる会社が出てくるから、それが慣習化していくよ。法でデフォルトで定められた無限保証をわざわざ有限保証にするバカはいない。
2017/06/06(火) 10:53:12.48ID:wPDXTWJN0
開発環境を変えてビルド出来なくなるのをソフトウェアの欠陥とは言わないよ
2017/06/06(火) 13:46:11.18ID:utAoocLg0
Xcode 9、リファクタリングとプロトコルのスタブ来たな
インデックス作成もサクサクになってる
GitHub統合とMarkdownエディタもいい感じ
2017/06/06(火) 16:11:39.52ID:utAoocLg0
DoubleWidthの実装がマージされた
https://github.com/apple/swift/pull/9367

Int1024だって作れる
typealias Int128 = DoubleWidth<Int64>
typealias Int256 = DoubleWidth<Int128>
typealias Int512 = DoubleWidth<Int256>
typealias Int1024 = DoubleWidth<Int512>
2017/06/06(火) 20:23:51.33ID:mZslSucp0
また中途半端でトリッキーなもん作ってからに
2017/06/06(火) 20:43:08.26ID:VnL+cFVq0
>>806
これなんか意味あるの?
2017/06/06(火) 20:43:53.36ID:VnL+cFVq0
>>805
objc なみに軽くなった?
あとリファクタリングできる?
2017/06/06(火) 20:54:56.54ID:kDjkRNjY0
無茶言うなよ
2017/06/06(火) 21:26:04.58ID:b/Jm2sx50
こんなことやってて意味あんの?
冗談抜きに自己満言語になってきたな
まじで日曜プログラマー専用言語だろもう…
2017/06/06(火) 22:18:30.88ID:utAoocLg0
>>808
オーバーフローしても計算続けられる
2017/06/06(火) 22:24:58.02ID:LrtFpx4Mp
最初から自己満足言語だから
そして、最初から驚くほどアポー信者が食いつかなかった
教祖様が亡くなるとここまで信仰心が薄れるとは思わなかったよな

ところでメモリ管理の文法と機能はどうなってるんだ
諦めたんかいな
2017/06/06(火) 22:26:08.72ID:b/Jm2sx50
>>813
さらに今となってはSwift教祖のベジータ親父もいなくなったからな
2017/06/06(火) 22:27:50.89ID:utAoocLg0
>>813
ownershipのことならはじめから4がターゲットではない
布石は色々打ってるけど
2017/06/06(火) 23:23:01.91ID:LrtFpx4Mp
>>815
うせやろ・・・4はownershipのABIだけ決めて文法/機能は申し送りなのかいな
確かにStage 2のGoalsに明記はないけどさ、それだけがSwift4の楽しみだったのになぁ

とりあえず、3からの文法互換性はないはずなのでそれで遊ぶか
4 stableまでに転々とする文法と戯れてるわ・・・
2017/06/07(水) 15:47:45.81ID:AtFlxxBS0
皆さんは、マウスorトラックボール、何を使ってますか?
どれが使いやすいのか…
818デフォルトの名無しさん (ワッチョイ b96c-O++a)
垢版 |
2017/06/07(水) 16:06:10.70ID:R71ACYeB0
>>817
Logicoolの無線マウス(non bluetooth) 5 button
2017/06/07(水) 19:00:25.23ID:AtFlxxBS0
>>818
やはりボタンが多い方が効率的ですかね?
2017/06/07(水) 19:25:41.92ID:coTyNxun0
WWDCなのに特に盛り上がってないのは公式のGitHubで既に今後の新機能などが公表されてるから?
2017/06/07(水) 19:46:55.11ID:NxYBwGCp0
盛り上がってるだろ
お前の知らない所で
2017/06/07(水) 21:32:10.30ID:ytp+ypYWM
https://rakuma.rakuten.co.jp/item/f7636558948373120021
2017/06/07(水) 21:32:54.12ID:ytp+ypYWM
買った人いる?
2017/06/07(水) 23:08:32.64ID:AtFlxxBS0
削除されたらしいぞ?
2017/06/08(木) 00:38:04.54ID:uRfPT8Nu0
What's New in Swift
https://developer.apple.com/videos/play/wwdc2017/402/

ビデオ来てる〜
2017/06/08(木) 02:02:17.69ID:bhRxW4Kj0
語尾は伸ばさない
2017/06/08(木) 03:01:54.72ID:uRfPT8Nu0
はい〜
2017/06/08(木) 13:30:06.35ID:7UFSdEc7p
ちがう!!もっと真剣になるのだ!
(知名度はあるけどリアルタイム世代はもう少ない)
2017/06/08(木) 13:48:25.97ID:9TvsnZIC0
>>821
どこで盛り上がってんの?
2017/06/08(木) 15:48:31.51ID:MyrAc3uI0
昔はQiitaとかSlideShareとかで真っ先に投稿するやついたじゃん。
ああいう意識高い系が減ってきたらもう終わりだな。
Swiftなんてもう仲間内でワイワイやるだけの言語になっちゃったじゃん。
2017/06/08(木) 16:05:21.61ID:SSbqo8UTd
iOS/macOS開発者をまとめて仲間内と表現するならそうだろうけど、その範囲を仲間内と言いだしたら、終わってない言語なんて無くないか?
2017/06/08(木) 16:19:58.85ID:oPuedIYNH
>>830
そういう時期はもう過ぎた感じ
2017/06/08(木) 16:35:53.75ID:bhRxW4Kj0
いつまでも昔の事を懐かしんでばかりもいられねーぜ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況