探検
プログラミング言語Swift Part4 [無断転載禁止]©2ch.net
1名称未設定 転載ダメ©2ch.net(8級) (ワッチョイ 33a8-bj6g)
2017/01/19(木) 03:18:15.58ID:YIGkvQUZ0iBooks:
The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
Using Swift with Cocoa and Objective-C
https://itunes.apple.com/jp/book/using-swift-cocoa-objective/id888894773?mt=11
ドキュメント:
The Swift Programming Language
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/
Swift Standard Library
https://developer.apple.com/reference/swift
他
http://swiftdoc.org/
https://swift.org/
https://developer.apple.com/swift/blog/
関連スレ
http://echo.2ch.net/test/read.cgi/tech/1476758084/l50
過去スレ
http://potato.2ch.net/test/read.cgi/mac/1408762479/
http://anago.2ch.net/test/read.cgi/mac/1401736921/
http://anago.2ch.net/mac/kako/1401/14017/1401736249.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
65名称未設定 (ニククエW c94c-HpRm)
2017/06/29(木) 12:13:37.96ID:6R9S/rjX0NIKU release設定ではデフォルトでオプティマイズ有りだしドキュメントにもオプティマイズしろって書いてあるし
逆にオプティマイズしたらデバッガがトレースできなくなるからdevelopビルドはデフォではオプティマイズされてない。
だからSwiftでreleaseするにはオプティマイズ有りきが前提でしょ
逆にオプティマイズしたらデバッガがトレースできなくなるからdevelopビルドはデフォではオプティマイズされてない。
だからSwiftでreleaseするにはオプティマイズ有りきが前提でしょ
66名称未設定 (ニククエ Sp71-yTFi)
2017/06/29(木) 12:16:52.34ID:5wTQh4SOpNIKU あれは全然人間が読めるコードじゃん、、、
むしろ、嗜みとして読めるようになっとけよ
むしろ、嗜みとして読めるようになっとけよ
67名称未設定 (ニククエ 92d5-ddzC)
2017/06/29(木) 13:35:36.43ID:3xD8aBqp0NIKU68名称未設定 (ニククエ Sp71-yTFi)
2017/06/29(木) 15:40:29.67ID:5wTQh4SOpNIKU swiftでFizzBuzz問題のコード書いてemit-llvm-irとかでダンプしれ
その環境もないなら知らんわ
その環境もないなら知らんわ
69名称未設定 (ニククエ 2dd9-ddzC)
2017/06/29(木) 15:52:53.03ID:k3Vsu0VT0NIKU >>68
>emit-llvm-ir
ir = intermidiate representationなのね
Web Assembliesにllvmのコードが使われるって聞きました。
なんの事かよく知らんですけど、ブラウザで3Dゲームできるんだってねぇ。
>emit-llvm-ir
ir = intermidiate representationなのね
Web Assembliesにllvmのコードが使われるって聞きました。
なんの事かよく知らんですけど、ブラウザで3Dゲームできるんだってねぇ。
71名称未設定 (ササクッテロリ Sp71-yTFi)
2017/06/30(金) 15:53:23.24ID:tKeIdFOUp おう、良かったな。これでお前もLLVMコード読めるようになったじゃん。
すげーな
すげーな
72名称未設定 (ワッチョイ 92d5-ddzC)
2017/06/30(金) 16:15:43.80ID:/Gd3ljh80 情報処理試験でCASL選択してたから余裕だったわ
73名称未設定 (ワッチョイ 2dd9-ddzC)
2017/06/30(金) 16:30:38.81ID:uEaqeql6074名称未設定 (スプッッ Sde1-HpRm)
2017/06/30(金) 18:41:30.72ID:4ILxZYiVd 英語ができないから困った。
76名称未設定 (ワッチョイ 92d5-ddzC)
2017/07/02(日) 18:14:11.56ID:teNLnf+A0 Obj-Cは臭いし
77名称未設定 (ワッチョイW 09ef-HpRm)
2017/07/02(日) 19:30:18.59ID:wNTg6Zs00 swift使ってる奴のニセモノ感
78名称未設定 (ワッチョイ 92d5-ddzC)
2017/07/02(日) 21:41:02.03ID:teNLnf+A0 Obj-C使ってる奴の老害感
79名称未設定 (ワッチョイ 6d89-QA6g)
2017/07/03(月) 19:56:16.13ID:Oe7cPjto0 Obj-C、ワンポイント・レッスン
メソッド定義
(戻値)Keyword1:(型)arg1 Keyword2:(型)arg2 Keyword3:(型)arg3
メソッド呼出
[レシーバー Keyword1:arg1 Keyword2:arg2]
メソッド定義
(戻値)Keyword1:(型)arg1 Keyword2:(型)arg2 Keyword3:(型)arg3
メソッド呼出
[レシーバー Keyword1:arg1 Keyword2:arg2]
80名称未設定 (ワッチョイ 6d89-QA6g)
2017/07/03(月) 20:03:10.18ID:Oe7cPjto0 Obj-Cワンポイント
クラスの定義
@interface MyClass: NSObject {
NSString* message;
}
-(void)setMessage:(NSString*) str;
-(NSString*)message;
-(void)printMessage;
@end
クラスの実装
@implementation MyClass
-(void)setMessage:(NSString*) str {
message = str;
}
-(NSString*)message {
return message;
}
-(void)printMessage {
NSLog(@“%@“, message);
}
@end
クラスの定義
@interface MyClass: NSObject {
NSString* message;
}
-(void)setMessage:(NSString*) str;
-(NSString*)message;
-(void)printMessage;
@end
クラスの実装
@implementation MyClass
-(void)setMessage:(NSString*) str {
message = str;
}
-(NSString*)message {
return message;
}
-(void)printMessage {
NSLog(@“%@“, message);
}
@end
81名称未設定 (ワッチョイ 6d89-QA6g)
2017/07/03(月) 20:14:27.49ID:Oe7cPjto0 Obj-Cワンポイント
インスタンス変数
@interface MyClass: NSObject {
NSString* message; // インスタンス変数
}
// インスタンス変数のプロパティ化
@property NSString* message;
@end
プロパティの実装
@implementation MyClass
@synthesize message;
@end
インスタンス変数
@interface MyClass: NSObject {
NSString* message; // インスタンス変数
}
// インスタンス変数のプロパティ化
@property NSString* message;
@end
プロパティの実装
@implementation MyClass
@synthesize message;
@end
82名称未設定 (ササクッテロリ Sp71-yTFi)
2017/07/03(月) 20:24:07.40ID:ipKiHhaqp これは老害ですわ
なんでこんな古いObjCの記述をするんだよw
Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
なんでこんな古いObjCの記述をするんだよw
Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
83名称未設定 (ワッチョイ 5d3e-ddzC)
2017/07/03(月) 20:25:55.43ID:OHa8N9Mz0 昔覚えた内容のまま勉強してなさそう
84名称未設定 (ワッチョイ 6d89-QA6g)
2017/07/03(月) 21:11:40.36ID:Oe7cPjto0 >>82
じゃぁ、Modern Objective-Cを教えて!
じゃぁ、Modern Objective-Cを教えて!
85名称未設定 (ワッチョイ 6d89-QA6g)
2017/07/03(月) 21:16:53.75ID:Oe7cPjto0 Adopting Modern Objective-C
こんなん、見つけた。
こんなん、見つけた。
86名称未設定 (ワッチョイ 1987-wjSU)
2017/07/03(月) 21:21:52.45ID:kyA3jQmf0 最寄りのObjCスレをお訪ね下さい
87名称未設定 (ワッチョイ 62df-8IVh)
2017/07/03(月) 21:24:06.77ID:Ws9FB70U0 #import <FrameWork/lib.h>
@interface MyClass : SuperClass
@property NSString *message;
- (void)printMessage;
@end
#import “MyClass.h”
@implementation MyClass
- (void)printMessage
{
NSLog(@“%@“, _message);
}
@end
@interface MyClass : SuperClass
@property NSString *message;
- (void)printMessage;
@end
#import “MyClass.h”
@implementation MyClass
- (void)printMessage
{
NSLog(@“%@“, _message);
}
@end
88名称未設定 (ワッチョイ 2dd9-ddzC)
2017/07/04(火) 08:46:53.91ID:SYB/170I089名称未設定 (ワッチョイ 1987-G2r4)
2017/07/04(火) 08:54:22.69ID:b7D9LWA40 スレチを続けてる奴は老害というより単なるガイジだな
91名称未設定 (ワッチョイ 5d3e-ddzC)
2017/07/04(火) 09:15:51.10ID:m/Gv5Z48092名称未設定 (ワッチョイ 2dd9-ddzC)
2017/07/04(火) 09:18:17.07ID:SYB/170I0 >>87
>@property NSString *message;
@property (copy)NSString *message;
って書きかえろ!とwarningが出た。
これがModern Objective-Cなのか?
>@property NSString *message;
@property (copy)NSString *message;
って書きかえろ!とwarningが出た。
これがModern Objective-Cなのか?
93名称未設定 (ワッチョイ 82d9-rlqC)
2017/07/04(火) 19:38:15.12ID:yMyy0KAw0 mutable/immutableをクラス分けでしか表現できない残念モダンなObjC
94名称未設定 (ワッチョイW 09ef-HpRm)
2017/07/04(火) 20:33:53.81ID:OZ38R0xE0 新概念!が出るたびに言語仕様に直接組み込んでは
後で仕様グダグダになる【モダン】より
なんでも「クラスの仕様です」で済ますObj-Cの方が
実はスマートなんじゃないかとずっと
後で仕様グダグダになる【モダン】より
なんでも「クラスの仕様です」で済ますObj-Cの方が
実はスマートなんじゃないかとずっと
95名称未設定 (ワッチョイ 92d5-ddzC)
2017/07/04(火) 21:06:00.57ID:9wEk0DKE0 ずっと?
96名称未設定 (ワッチョイ 62df-8IVh)
2017/07/04(火) 22:11:03.46ID:Qxx0eL4C0 たいして変わんねえよ
97名称未設定 (ワッチョイ 82d9-rlqC)
2017/07/04(火) 22:55:14.38ID:yMyy0KAw0 Fast Enumだの@synthesisだのドット記法だの@リテラルだのBlocksだのinstancetypeだの...
ObjCほど後から後から醜いツギハギだらけの言語も無いと思うがね
ObjCほど後から後から醜いツギハギだらけの言語も無いと思うがね
98名称未設定 (ワッチョイWW d27f-9Mth)
2017/07/04(火) 23:37:51.97ID:GHKbda4D0 最初からCとオブジェクト機能を糊で貼り合わせたつぎはぎですしおすし
99名称未設定 (ワッチョイW c97c-HpRm)
2017/07/05(水) 00:26:25.39ID:n9UY77Jq0 ObjectiveCを基準にすれば、他のだいたいのものは良いものだ。
100名称未設定 (アウアウウーT Sa25-ddzC)
2017/07/05(水) 03:23:30.19ID:tWDskeeGa ずっとを最後に置くのはJ-Pop
101名称未設定 (ササクッテロラ Spcb-yr7v)
2017/07/06(木) 08:24:03.45ID:wwtqdPx9p102名称未設定 (ワイモマー MMd5-4jc7)
2017/07/15(土) 10:59:18.56ID:f8adSER/M DelphiかPysonで頼む
103名称未設定 (ワッチョイ c64d-svru)
2017/07/17(月) 10:59:26.96ID:JU0JC70W0104名称未設定 (ワッチョイW 29ef-keXt)
2017/07/17(月) 13:44:12.30ID:FFG/PowU0 NSObjectの上にCのソース貼るだけでもうクラスとして取り回しできるしな
105名称未設定 (ワッチョイ c64d-svru)
2017/07/17(月) 13:53:18.01ID:JU0JC70W0 それをわかってくれるかぁ ゜*。(*´Д`)。*°
106名称未設定 (ワッチョイ c73e-29Ea)
2017/07/24(月) 13:42:45.73ID:0gmw+sp20 C++のfriend相当とか、Objective-Cのprotected相当のアクセス指定が欲しいな…
107名称未設定 (ワッチョイW a387-5ntN)
2017/07/30(日) 00:31:14.82ID:VamqXWED0 今のswiftで書いたアプリってMavericksではもう動かせんの?
108名称未設定 (ワッチョイ 4fd9-C+ox)
2017/08/02(水) 10:03:45.80ID:U0+1Pe9L0109名称未設定 (ワッチョイWW 8f3e-P5wI)
2017/08/04(金) 20:34:31.27ID:gDYUh1090 mozc for iOS使おうと思ったら、日本語の変換候補が出てこない…(泣)
どうしたらいいんだよ…
どうしたらいいんだよ…
110名称未設定 (ワッチョイ 7ff3-aEKd)
2017/08/13(日) 13:03:17.45ID:0l+ExbA30 appstoreって2つのアカウント作って別名で登録してもいいの?
111名称未設定 (ワッチョイ 9789-xbpo)
2017/08/14(月) 19:01:32.69ID:IYYDr/y20113名称未設定 (ワッチョイ 733e-MmNF)
2017/09/01(金) 22:58:50.70ID:AsewW5Hc0 可変個の引数から別の可変個引数に、可変個扱いのまま渡す方法ってありますか?
func f(_ args: Any...) {
sub(args) //これだと引数1個扱い
}
func sub(_ args: Any...) {
}
func f(_ args: Any...) {
sub(args) //これだと引数1個扱い
}
func sub(_ args: Any...) {
}
114名称未設定 (ワッチョイ 733e-MmNF)
2017/09/01(金) 23:18:07.75ID:AsewW5Hc0 補足
Array版を作るしかない?
func f(_ args: Any...) {
sub(args)
}
func sub(_ args: Any...) {
sub(args)
}
func sub(_ args: [Any]) {
}
Array版を作るしかない?
func f(_ args: Any...) {
sub(args)
}
func sub(_ args: Any...) {
sub(args)
}
func sub(_ args: [Any]) {
}
115名称未設定 (ワッチョイ ff87-BPzU)
2017/09/02(土) 00:56:49.48ID:15pBsg3N0116名称未設定 (ワッチョイ 733e-MmNF)
2017/09/02(土) 06:14:40.94ID:OjeSc+FO0117名称未設定 (ワッチョイ 9163-b06s)
2017/11/16(木) 19:00:05.10ID:aijA5I6o0 UIApplication.shared.isNetworkActivityIndicatorVisibleはiPhone Xでは表示されないんかな?
118名称未設定 (ワッチョイ bd3e-b06s)
2017/11/16(木) 23:42:02.51ID:34jOvPxv0 表示されないっぽい
代替表示用してくれても良さそうなものを…
代替表示用してくれても良さそうなものを…
119名称未設定 (ワッチョイ bd3e-b06s)
2017/11/16(木) 23:42:52.24ID:34jOvPxv0 用して→用意して
120名称未設定 (ワッチョイ 07d1-5Bhd)
2017/11/25(土) 22:29:47.69ID:IlS9zeHP0 Macの市販アプリってGUIの表示がアプリ毎に違ってるけど
あれってMacの標準GUIの見た目だけカスタマイズしてるの?
それともGUIの仕組み自体を自前でプログラムで作ってるの?
あれってMacの標準GUIの見た目だけカスタマイズしてるの?
それともGUIの仕組み自体を自前でプログラムで作ってるの?
121名称未設定 (ワッチョイW 5fcf-YPpG)
2017/11/26(日) 20:24:01.52ID:ybDI8cNy0 swiftでかいてるならだいたいカスタマイズ
unityとかなら全部てづくりかも
unityとかなら全部てづくりかも
122名称未設定 (ササクッテロラ Sp8b-6UgA)
2017/12/10(日) 02:08:33.85ID:ugNCn7SFp OpenGLとかMetal使ってるなら手作りするかそれ用のGUIライブラリ使うやろ
123名称未設定 (ワッチョイ 6f3e-76Te)
2017/12/29(金) 11:52:17.54ID:rll8YAgo0124名称未設定 (ブーイモ MM27-PYHQ)
2017/12/31(日) 09:59:48.55ID:gJX6c+E8M 第3版、まだ読みきってないのに
125名称未設定 (ワッチョイ 06ec-pjCE)
2018/01/01(月) 12:35:56.74ID:+6cLyIH40 詳解Swiftっていまいち詳解じゃないよね
載ってないこと多すぎ
載ってないこと多すぎ
126 【中吉】 【84円】 (ワッチョイ 6f3e-76Te)
2018/01/01(月) 13:25:54.42ID:nJ/vr14C0 言語仕様という点で日本語書籍でこれより詳解なのある?
127名称未設定 (ワッチョイ 07d5-hKlj)
2018/01/01(月) 13:52:43.36ID:L4dz/sdf0 Apple公式の奴を翻訳してくれたらそれで十分なんだけどな
あれ結構分かりやいいし
あれ結構分かりやいいし
130名称未設定 (ワッチョイWW ca2b-LuW1)
2018/01/01(月) 17:10:11.61ID:KvUlUoyq0 お、今回はKindle版も同時発売か
でも固定レイアウトなのね
でも固定レイアウトなのね
131名称未設定 (ササクッテロロ Sp03-KG8w)
2018/01/01(月) 17:11:31.53ID:ee2U5jcop 買い替えじゃなくてアップデートされるなら電子版買いたいな
132名称未設定 (ワッチョイ 6f3e-76Te)
2018/01/02(火) 18:40:27.20ID:uwzsrovu0133名称未設定 (ワッチョイ b387-SYER)
2018/01/02(火) 19:35:40.27ID:8V3beYLz0 本読むくらい熱心なら、変更内容に加えて
経緯から議論まで追える最強のリストを読んでいった方が良い
https://apple.github.io/swift-evolution/
英語直が無理ならChromeのページ翻訳使えば良いし
経緯から議論まで追える最強のリストを読んでいった方が良い
https://apple.github.io/swift-evolution/
英語直が無理ならChromeのページ翻訳使えば良いし
134名称未設定 (ワッチョイ bbd9-H65A)
2018/01/05(金) 15:26:35.72ID:9i83wet40 Swift4 変更点
で、検索したら満足できる記事がヒット
で、検索したら満足できる記事がヒット
135名称未設定 (ワントンキン MMa3-ur/e)
2018/01/18(木) 10:05:10.01ID:F5hIKVS5M iPhoneアプリの開発者離れが起きている。
アプリ提出の審査が理不尽で不公平になってしまって、iPhoneアプリの開発者離れが起きている。
アンドロイドにはKotlinが出てきて開発者が増えている。
Guideline 4.2 - Design - Minimum Functionality
アップルのGuideline 4.2の連発で簡単なアプリはもう提出しても審査には通らない。まだアンドロイドの方が通る。
簡単でなく多機能なアプリでも4.2を連発してくる。もはや作為的やっているとしか言いようがない。
開発者は開発情報のみなもとだった。それを閉め出してからiosの勢いがなくなった。
今からiphoneアプリやってもまず4.2で通らない。審査で落とされる。簡単な機能だけのアプリはまずリジェクトされる。
ちなみに複雑なアプリでも同じようなことが起きている。Rssリーダーのようなアプリでも機能が簡単すぎるといわれリジェクトされている。
アップルは信用できない。これは確か。ころころ方針を変える。昨日まで審査に通ったアプリが、今日から通らなくなるというのが普通にある。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
アプリ提出の審査が理不尽で不公平になってしまって、iPhoneアプリの開発者離れが起きている。
アンドロイドにはKotlinが出てきて開発者が増えている。
Guideline 4.2 - Design - Minimum Functionality
アップルのGuideline 4.2の連発で簡単なアプリはもう提出しても審査には通らない。まだアンドロイドの方が通る。
簡単でなく多機能なアプリでも4.2を連発してくる。もはや作為的やっているとしか言いようがない。
開発者は開発情報のみなもとだった。それを閉め出してからiosの勢いがなくなった。
今からiphoneアプリやってもまず4.2で通らない。審査で落とされる。簡単な機能だけのアプリはまずリジェクトされる。
ちなみに複雑なアプリでも同じようなことが起きている。Rssリーダーのようなアプリでも機能が簡単すぎるといわれリジェクトされている。
アップルは信用できない。これは確か。ころころ方針を変える。昨日まで審査に通ったアプリが、今日から通らなくなるというのが普通にある。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
136名称未設定 (ワッチョイ dbec-TSwL)
2018/01/18(木) 13:25:42.19ID:SWQdnWJ60 Appleの審査がウザいのは同意だが、少なくともSwiftって言語自体はよくできてると思うんだがな
137名称未設定 (ワッチョイW e363-F8h5)
2018/01/18(木) 20:47:26.34ID:7kZaX7bD0 市場シェア
泥>>iOS
利益
iOS>>泥
泥>>iOS
利益
iOS>>泥
138名称未設定 (ワッチョイ dd3e-SF9s)
2018/01/18(木) 21:15:46.97ID:QSTe5nUJ0 Swiftの変更も含め、開発者に負担かけすぎなんだよな
139名称未設定 (ワッチョイW e363-pQ7J)
2018/01/19(金) 18:13:48.69ID:jrCtyd3/0 68k-> PowerPC-> Intel->ARM
toolbox-> carbon-> cocoa-> ?
pascal-> C-> objective-C -> swift
toolbox-> carbon-> cocoa-> ?
pascal-> C-> objective-C -> swift
140名称未設定 (ワッチョイ 2587-1pyd)
2018/01/19(金) 23:34:06.49ID:lHaNd0KF0 市場の影響やら色々あってやはりクロスプラットフォームが検討される
そこそこのアプリならCordova(TypeScript)、ゲームならUnity(C#)
Xamarin(C#)、Multi-OS Engine(Java / Kotlin)、Kotlin/Nativeとかもあって
Swiftは立ち位置が辛くなりつつある
そこそこのアプリならCordova(TypeScript)、ゲームならUnity(C#)
Xamarin(C#)、Multi-OS Engine(Java / Kotlin)、Kotlin/Nativeとかもあって
Swiftは立ち位置が辛くなりつつある
141名称未設定 (ワッチョイ db00-TSwL)
2018/01/20(土) 00:25:28.94ID:L5ZieUsF0 GoogleがSwiftの開発者引き抜いてAndroidアプリもSwiftで開発出来るようにする
って噂があったけど、あれどうなったんだろうな
少し期待してるんだが
って噂があったけど、あれどうなったんだろうな
少し期待してるんだが
142名称未設定 (ワッチョイ dbd5-iVQh)
2018/01/20(土) 02:02:36.92ID:J8Qq1J9l0 コトリンの世話で手一杯
143名称未設定 (ワッチョイ dd3e-SF9s)
2018/01/23(火) 22:56:39.03ID:P4MrcF+80 https://iphone-mania.jp/news-200890/
>「Swiftは、プログラミング言語がオタクっぽすぎるという認識をもとに作られた。
>学生の多くはプログラミング言語を見て、”これはできない”と思ってしまう」と、クックCEOは語りました。
>
>「誰でも使い方をすぐ覚えられる、Apple製品のようなプログラミング言語をデザインしたかった」と、
>クック氏はSwiftの敷居の低さを強調しました。
Swiftはそこまでじゃねえな。それならAppleScriptぐらいにしないと。
>「Swiftは、プログラミング言語がオタクっぽすぎるという認識をもとに作られた。
>学生の多くはプログラミング言語を見て、”これはできない”と思ってしまう」と、クックCEOは語りました。
>
>「誰でも使い方をすぐ覚えられる、Apple製品のようなプログラミング言語をデザインしたかった」と、
>クック氏はSwiftの敷居の低さを強調しました。
Swiftはそこまでじゃねえな。それならAppleScriptぐらいにしないと。
144名称未設定 (ワッチョイ db00-TSwL)
2018/01/23(火) 23:39:33.33ID:JP5Z93fl0 Swiftはいい言語だと思うけど、やっぱこれからは小鳥が主流になるのかな?
Springも5になって対応して、Webもスマホも作れるし
Springも5になって対応して、Webもスマホも作れるし
145名称未設定 (ワッチョイ 83d5-iVQh)
2018/01/24(水) 00:10:41.66ID:EvvwHl3Y0 KotlinじゃiPhoneアプリ作れねーだろ
146名称未設定 (ワッチョイW 23ef-wAYJ)
2018/01/24(水) 01:14:11.51ID:Slc30zGK0 BASICの昔から初心者の最初の理解を阻害しているのが
「型」の存在だ。というのは真理ではあるのだけど
「そういうことはオブジェクトに命令とクラスを渡す形にして
普段はあまり気にしなくていいようにしよう」って言語の後継です!つって
「なんじゃかんじゃわからんものになんじゃかんじゃわからないことするんですよ!進歩してるでしょ?」
って言われてもなんじゃかんじゃわからないソースになるだけだよねコレ?というか…
「型」の存在だ。というのは真理ではあるのだけど
「そういうことはオブジェクトに命令とクラスを渡す形にして
普段はあまり気にしなくていいようにしよう」って言語の後継です!つって
「なんじゃかんじゃわからんものになんじゃかんじゃわからないことするんですよ!進歩してるでしょ?」
って言われてもなんじゃかんじゃわからないソースになるだけだよねコレ?というか…
147名称未設定 (ワッチョイW d587-Ht0t)
2018/01/24(水) 03:55:36.56ID:93wJNeG50 結局型を意識しなきゃコードは書けないと思う。初めてのプログラミング言語がSwiftだった人達が型を意識しないでいいだとかその他の理由でもいいけど、Swiftを分かりやすいと感じているかどうかが気になる。
148名称未設定 (ワッチョイ 75c5-ur/e)
2018/01/24(水) 06:13:02.40ID:i7+Qpdc30 型ってそんなにわかりにくいかねえ。$には文字列が入って%には整数が入るとか、
当時小学生だった自分にもわかりやすかったけどね。%と!と#の違いはともかく、$はぜんぜん違うものが入るからなぁ。
当時小学生だった自分にもわかりやすかったけどね。%と!と#の違いはともかく、$はぜんぜん違うものが入るからなぁ。
149名称未設定 (ワッチョイ 2587-1pyd)
2018/01/24(水) 07:42:30.06ID:wE3p1EOU0 >>145
作れるよ
最終的なバイナリ生成のためXcodeをリモート接続経由で使うからどのみちmacは必要だけど
KotlinでのViewController
https://github.com/multi-os-engine/moe-samples-kotlin/blob/moe-master/KotlinRssReader/ios/src/main/kotlin/org/moe/kotlinrssreader/SimpleTableController.kt
作れるよ
最終的なバイナリ生成のためXcodeをリモート接続経由で使うからどのみちmacは必要だけど
KotlinでのViewController
https://github.com/multi-os-engine/moe-samples-kotlin/blob/moe-master/KotlinRssReader/ios/src/main/kotlin/org/moe/kotlinrssreader/SimpleTableController.kt
150名称未設定 (ワッチョイ 83d5-iVQh)
2018/01/24(水) 09:07:50.03ID:EvvwHl3Y0 昔のBASICも型を意識させないようにしてたろ
方法は違うけど
方法は違うけど
152名称未設定 (ドコグロ MM13-ffdp)
2018/01/24(水) 09:58:12.37ID:nmNCI5eWM Swiftはコーディングにあまり不満はないが、Buildにクソ長くて開発がままならん。
早くコンパイラーを何とかせい
早くコンパイラーを何とかせい
155名称未設定 (ワッチョイ 2587-j+7R)
2018/01/24(水) 13:19:08.05ID:wE3p1EOU0 Swiftの型推論は初動から風呂敷を広げ過ぎた
双方向推論は含めるべきではなかった
右辺値からの推論のみにしておけば型推論に関するビルド時間はここまで掛からなかったはず
双方向推論は含めるべきではなかった
右辺値からの推論のみにしておけば型推論に関するビルド時間はここまで掛からなかったはず
156名称未設定 (ワッチョイ 2587-j+7R)
2018/01/24(水) 14:17:14.93ID:wE3p1EOU0 let a = b( c() ) { d in e(d) }.f().g()
単方向(右辺値から)だと
・c()の戻り値型c_typeを導出
・b(c_type, func_type)の候補が一つになることをチェック
・func_typeからdを導出
・e(d)戻り値型を導出してfunc_typeと型チェック
・b(..)の戻り値型からb_type.f()を導出
・同様にfの戻り値型からg, gからaが決定
双方向だと e(*)の候補一覧からb(c_type, e_type*).f()が成立するものまで探し始める
bの引数の型が決まってない段階で
その絞り込みのためにf、さらにはgまで先読みして推論し始める
時間が掛かるだけでなくオーバーロードやエクステンションが絡んで
Ambiguousエラー出したり
LazySequence.map(..) -> LazyMapSequence<..> でなく
Sequence.map(..) -> [T] の方に間違って確定したりする
単方向(右辺値から)だと
・c()の戻り値型c_typeを導出
・b(c_type, func_type)の候補が一つになることをチェック
・func_typeからdを導出
・e(d)戻り値型を導出してfunc_typeと型チェック
・b(..)の戻り値型からb_type.f()を導出
・同様にfの戻り値型からg, gからaが決定
双方向だと e(*)の候補一覧からb(c_type, e_type*).f()が成立するものまで探し始める
bの引数の型が決まってない段階で
その絞り込みのためにf、さらにはgまで先読みして推論し始める
時間が掛かるだけでなくオーバーロードやエクステンションが絡んで
Ambiguousエラー出したり
LazySequence.map(..) -> LazyMapSequence<..> でなく
Sequence.map(..) -> [T] の方に間違って確定したりする
157名称未設定 (ワッチョイ 2587-j+7R)
2018/01/24(水) 14:18:00.81ID:wE3p1EOU0 Swift3で推論に問題あったケースが、知っている範囲ではSwift4で正常になったので
かなり改善されているようだけどビルド時間はさらに犠牲になってそう
コーディングの利便性のために双方向の推論に対応した結果
ビルド時間が掛かり過ぎて型を明示するようになる本末転倒
かなり改善されているようだけどビルド時間はさらに犠牲になってそう
コーディングの利便性のために双方向の推論に対応した結果
ビルド時間が掛かり過ぎて型を明示するようになる本末転倒
158名称未設定 (ワッチョイ 83d5-iVQh)
2018/01/24(水) 16:08:47.94ID:EvvwHl3Y0 コンパイル時間が長くなっても、それを補えるぐらいコーディング時間が短縮されるなら、結果オーライだろ
159名称未設定 (ドコグロ MM13-ffdp)
2018/01/24(水) 17:16:22.21ID:7/sgEGqMM >>154
基本昔からほぼ全てにきちんと型定義しているが
ビルドに20〜30分も掛かる。。。
ちょっとコーディングしてビルドすると、
またそのぐらい。。。
ビルド中に編集するとカラーボールがクルクルし出すし。
コーディングする暇がなくてめちゃ困る。
筐体が死にかけていてそうなら、喜んで買い換えるが。
これもAppleの罠ではないかとかと疑心暗鬼
ちなみにMBA2013 4GBね
基本昔からほぼ全てにきちんと型定義しているが
ビルドに20〜30分も掛かる。。。
ちょっとコーディングしてビルドすると、
またそのぐらい。。。
ビルド中に編集するとカラーボールがクルクルし出すし。
コーディングする暇がなくてめちゃ困る。
筐体が死にかけていてそうなら、喜んで買い換えるが。
これもAppleの罠ではないかとかと疑心暗鬼
ちなみにMBA2013 4GBね
160名称未設定 (ワッチョイ 2587-j+7R)
2018/01/24(水) 17:52:02.29ID:wE3p1EOU0 全ての変数定義に型を明示しても
メソッドチェーンや引数に直接ラムダを記述しているなら型推論は発生している
1ステートメント内に暗黙の型有り
let a:Int = b( c() ) { d:Int in e(d) }.f().g()
極端だけどここまでしないと型推論は多少なりとも発生する
let lm:(Int)->Int = { (d:Int) in e(d) }
let retC:Int = c()
let retB:B = b(retC, lm)
let retF:F = retB.f()
let a:Int = retF.g()
実際にはそのビルドの20分とやらの大半は
一部のボトルネックになってるコードのせいという可能性も高いし
闇雲にステートメントを細分化する必要は無いけど
メソッドチェーンや引数に直接ラムダを記述しているなら型推論は発生している
1ステートメント内に暗黙の型有り
let a:Int = b( c() ) { d:Int in e(d) }.f().g()
極端だけどここまでしないと型推論は多少なりとも発生する
let lm:(Int)->Int = { (d:Int) in e(d) }
let retC:Int = c()
let retB:B = b(retC, lm)
let retF:F = retB.f()
let a:Int = retF.g()
実際にはそのビルドの20分とやらの大半は
一部のボトルネックになってるコードのせいという可能性も高いし
闇雲にステートメントを細分化する必要は無いけど
161名称未設定 (ワッチョイ 2587-j+7R)
2018/01/24(水) 18:05:03.27ID:wE3p1EOU0 >>159
Pro買えば早くなるだろうけど
その前にビルド時間のボトルネックがあるか探すためにこの辺読んでみるのを勧める
https://medium.com/@johnsundell/improving-swift-compile-times-ee1d52fb9bd
-warn-long-expression-type-checking オプションとかもある
Pro買えば早くなるだろうけど
その前にビルド時間のボトルネックがあるか探すためにこの辺読んでみるのを勧める
https://medium.com/@johnsundell/improving-swift-compile-times-ee1d52fb9bd
-warn-long-expression-type-checking オプションとかもある
162名称未設定 (ワッチョイ 83d5-iVQh)
2018/01/24(水) 19:25:22.66ID:EvvwHl3Y0 今時メモリ4GBて
開発には厳しいだろ
開発には厳しいだろ
163名称未設定 (ワッチョイ db00-TSwL)
2018/01/24(水) 19:35:45.83ID:BJVKiilC0 今年2018年だというのに5年前の4GのMBA使って遅いって言われてもなぁ
レスを投稿する
ニュース
- 【文春】《本人直撃》「日本は核保有すべき」発言をしたのは“核軍縮担当”の首相補佐官だった! 高市首相が更迭しない理由は… [少考さん★]
- 米国防総省、中国軍は「2027年の台湾侵攻へ着実に前進」 分析公表 ★3 [蚤の市★]
- 【西東京・母子4人死亡】亡くなった知人男性の携帯電話 母親の車内から見つかる 事件3日前「体調不良で会社を休む」会社に欠勤連絡 ★3 [ぐれ★]
- 立花孝志党首を不起訴 百条委員長の兵庫県議への名誉毀損容疑など [少考さん★]
- レアアース、1キログラム965ドル(約15万円)から3750ドル(約58万円)に 価格高騰 [お断り★]
- バリ島研修旅行で万引きの大谷高生徒 被害店舗に弁済し謝罪 [どどん★]
- 【実況】博衣こよりのえちえちホロクリスマス歌枠リレー 🧪
- SASUKE 2夜連続放送 実況 2
- お前らって好きな女いるの?
- VIPでウマ娘
- 【悲報】クロネコヤマト、野球選手の色紙を真っ二つで配送し炎上wwwwwwwwwwwwwwwwwwww [802034645]
- 嫌儲ウマ娘部 ★2 [959428968]
