[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 02/05 01:48 / Filesize : 101 KB / Number-of Response : 418
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミング言語Swift Part4



1 名前:名称未設定(8級) (ワッチョイ 33a8-bj6g) [2017/01/19(木) 03:18:15.58 ID:YIGkvQUZ0.net]

iBooks:
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


swiftdoc.org/
https://swift.org/
https://developer.apple.com/swift/blog/

関連スレ
echo.2ch.net/test/read.cgi/tech/1476758084/l50

過去スレ
potato.2ch.net/test/read.cgi/mac/1408762479/
anago.2ch.net/test/read.cgi/mac/1401736921/
anago.2ch.net/mac/kako/1401/14017/1401736249.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

75 名前:名称未設定 (ワッチョイ cd18-VKRT) mailto:sage [2017/07/02(日) 17:41:34.20 ID:3QihPFXU0.net]
>>49
だからさ、Cに頼るならObj-Cでよくね?

76 名前:名称未設定 (ワッチョイ 92d5-ddzC) mailto:sage [2017/07/02(日) 18:14:11.56 ID:teNLnf+A0.net]
Obj-Cは臭いし

77 名前:名称未設定 (ワッチョイW 09ef-HpRm) mailto:sage [2017/07/02(日) 19:30:18.59 ID:wNTg6Zs00.net]
swift使ってる奴のニセモノ感

78 名前:名称未設定 (ワッチョイ 92d5-ddzC) mailto:sage [2017/07/02(日) 21:41:02.03 ID:teNLnf+A0.net]
Obj-C使ってる奴の老害感

79 名前:名称未設定 (ワッチョイ 6d89-QA6g) [2017/07/03(月) 19:56:16.13 ID:Oe7cPjto0.net]
Obj-C、ワンポイント・レッスン

メソッド定義
(戻値)Keyword1:(型)arg1 Keyword2:(型)arg2 Keyword3:(型)arg3
メソッド呼出
[レシーバー Keyword1:arg1 Keyword2:arg2]

80 名前:名称未設定 (ワッチョイ 6d89-QA6g) [2017/07/03(月) 20:03:10.18 ID:Oe7cPjto0.net]
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

81 名前:名称未設定 (ワッチョイ 6d89-QA6g) [2017/07/03(月) 20:14:27.49 ID:Oe7cPjto0.net]
Obj-Cワンポイント
インスタンス変数
@interface MyClass: NSObject {
NSString* message; // インスタンス変数
}
// インスタンス変数のプロパティ化
@property NSString* message;
@end
プロパティの実装
@implementation MyClass
@synthesize message;
@end

82 名前:名称未設定 (ササクッテロリ Sp71-yTFi) mailto:sage [2017/07/03(月) 20:24:07.40 ID:ipKiHhaqp.net]
これは老害ですわ
なんでこんな古いObjCの記述をするんだよw

Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな

83 名前:名称未設定 (ワッチョイ 5d3e-ddzC) [2017/07/03(月) 20:25:55.43 ID:OHa8N9Mz0.net]
昔覚えた内容のまま勉強してなさそう



84 名前:名称未設定 (ワッチョイ 6d89-QA6g) [2017/07/03(月) 21:11:40.36 ID:Oe7cPjto0.net]
>>82
じゃぁ、Modern Objective-Cを教えて!

85 名前:名称未設定 (ワッチョイ 6d89-QA6g) [2017/07/03(月) 21:16:53.75 ID:Oe7cPjto0.net]
Adopting Modern Objective-C
こんなん、見つけた。

86 名前:名称未設定 (ワッチョイ 1987-wjSU) mailto:sage [2017/07/03(月) 21:21:52.45 ID:kyA3jQmf0.net]
最寄りのObjCスレをお訪ね下さい

87 名前:名称未設定 (ワッチョイ 62df-8IVh) mailto:sage [2017/07/03(月) 21:24:06.77 ID:Ws9FB70U0.net]
#import <FrameWork/lib.h>
@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.91 ID:SYB/170I0.net]
>>87

@synthesize message;
って不要なのか?

それから、_messageってインスタンス変数が宣言されてない様だが、
@propertyで暗黙的に宣言されるって事か?

89 名前:名称未設定 (ワッチョイ 1987-G2r4) mailto:sage [2017/07/04(火) 08:54:22.69 ID:b7D9LWA40.net]
スレチを続けてる奴は老害というより単なるガイジだな

90 名前:名称未設定 (ワッチョイ 62df-8IVh) mailto:sage [2017/07/04(火) 08:54:57.93 ID:Qxx0eL4C0.net]
>>88
そうだよ、古いなあw

91 名前:名称未設定 (ワッチョイ 5d3e-ddzC) [2017/07/04(火) 09:15:51.10 ID:m/Gv5Z480.net]
こっちでやれ

Objective-C [ObjC part:8.1];
mevius.2ch.net/test/read.cgi/tech/1414816517/

92 名前:名称未設定 (ワッチョイ 2dd9-ddzC) [2017/07/04(火) 09:18:17.07 ID:SYB/170I0.net]
>>87
>@property NSString *message;

@property (copy)NSString *message;
って書きかえろ!とwarningが出た。

これがModern Objective-Cなのか?

93 名前:名称未設定 (ワッチョイ 82d9-rlqC) mailto:sage [2017/07/04(火) 19:38:15.12 ID:yMyy0KAw0.net]
mutable/immutableをクラス分けでしか表現できない残念モダンなObjC



94 名前:名称未設定 (ワッチョイW 09ef-HpRm) mailto:sage [2017/07/04(火) 20:33:53.81 ID:OZ38R0xE0.net]
新概念!が出るたびに言語仕様に直接組み込んでは
後で仕様グダグダになる【モダン】より
なんでも「クラスの仕様です」で済ますObj-Cの方が
実はスマートなんじゃないかとずっと

95 名前:名称未設定 (ワッチョイ 92d5-ddzC) mailto:sage [2017/07/04(火) 21:06:00.57 ID:9wEk0DKE0.net]
ずっと?

96 名前:名称未設定 (ワッチョイ 62df-8IVh) mailto:sage [2017/07/04(火) 22:11:03.46 ID:Qxx0eL4C0.net]
たいして変わんねえよ

97 名前:名称未設定 (ワッチョイ 82d9-rlqC) mailto:sage [2017/07/04(火) 22:55:14.38 ID:yMyy0KAw0.net]
Fast Enumだの@synthesisだのドット記法だの@リテラルだのBlocksだのinstancetypeだの...
ObjCほど後から後から醜いツギハギだらけの言語も無いと思うがね

98 名前:名称未設定 (ワッチョイWW d27f-9Mth) mailto:sage [2017/07/04(火) 23:37:51.97 ID:GHKbda4D0.net]
最初からCとオブジェクト機能を糊で貼り合わせたつぎはぎですしおすし

99 名前:名称未設定 (ワッチョイW c97c-HpRm) mailto:sage [2017/07/05(水) 00:26:25.39 ID:n9UY77Jq0.net]
ObjectiveCを基準にすれば、他のだいたいのものは良いものだ。

100 名前:名称未設定 (アウアウウーT Sa25-ddzC) mailto:sage [2017/07/05(水) 03:23:30.19 ID:tWDskeeGa.net]
ずっとを最後に置くのはJ-Pop

101 名前:名称未設定 (ササクッテロラ Spcb-yr7v) mailto:sage [2017/07/06(木) 08:24:03.45 ID:wwtqdPx9p.net]
>>97
その都度、新概念!素晴らしい!って絶賛続けた信者はスゴイ
Swiftも新言語!素晴らしい!って受け入れてくれればこうはならなかったろうに

102 名前:名称未設定 (ワイモマー MMd5-4jc7) mailto:sage [2017/07/15(土) 10:59:18.56 ID:f8adSER/M.net]
DelphiかPysonで頼む

103 名前:名称未設定 (ワッチョイ c64d-svru) mailto:sage [2017/07/17(月) 10:59:26.96 ID:JU0JC70W0.net]
>>98
おれはむしろそれが強みだと思ってるけどな
Cのソースがそのまま使えるなんて他言語ではないだろ



104 名前:名称未設定 (ワッチョイW 29ef-keXt) mailto:sage [2017/07/17(月) 13:44:12.30 ID:FFG/PowU0.net]
NSObjectの上にCのソース貼るだけでもうクラスとして取り回しできるしな

105 名前:名称未設定 (ワッチョイ c64d-svru) mailto:sage [2017/07/17(月) 13:53:18.01 ID:JU0JC70W0.net]
それをわかってくれるかぁ ゜*。(*´Д`)。*°

106 名前:名称未設定 (ワッチョイ c73e-29Ea) [2017/07/24(月) 13:42:45.73 ID:0gmw+sp20.net]
C++のfriend相当とか、Objective-Cのprotected相当のアクセス指定が欲しいな…

107 名前:名称未設定 (ワッチョイW a387-5ntN) mailto:sage [2017/07/30(日) 00:31:14.82 ID:VamqXWED0.net]
今のswiftで書いたアプリってMavericksではもう動かせんの?

108 名前:名称未設定 [2017/08/02(水) 10:03:45.80 ID:U0+1Pe9L0.net]
>>107
Deployment Targetを10.6にしてやれば良いんじゃない?
そすれば、Mavericksどころかその前までOKかも。

109 名前:名称未設定 mailto:sage [2017/08/04(金) 20:34:31.27 ID:gDYUh1090.net]
mozc for iOS使おうと思ったら、日本語の変換候補が出てこない…(泣)
どうしたらいいんだよ…

110 名前:名称未設定 mailto:sage [2017/08/13(日) 13:03:17.45 ID:0l+ExbA30.net]
appstoreって2つのアカウント作って別名で登録してもいいの?

111 名前:名称未設定 [2017/08/14(月) 19:01:32.69 ID:IYYDr/y20.net]
>>110
Apple IDを2つ作るって事?
Developer用Apple IDと、non-Developer用Apple ID2つ作ってる人は多いのでは?

112 名前:名称未設定 mailto:sage [2017/08/14(月) 20:51:18.74 ID:DAjkqjQm0.net]
>>111
2つのサークル別々に開発して作者名をかえたいの

113 名前:名称未設定 [2017/09/01(金) 22:58:50.70 ID:AsewW5Hc0.net]
可変個の引数から別の可変個引数に、可変個扱いのまま渡す方法ってありますか?

func f(_ args: Any...) {
  sub(args) //これだと引数1個扱い
}
func sub(_ args: Any...) {
  
}



114 名前:名称未設定 [2017/09/01(金) 23:18:07.75 ID:AsewW5Hc0.net]
補足
Array版を作るしかない?

func f(_ args: Any...) {
  sub(args)
}
func sub(_ args: Any...) {
  sub(args)
}
func sub(_ args: [Any]) {
  
}

115 名前:名称未設定 mailto:sage [2017/09/02(土) 00:56:49.48 ID:15pBsg3N0.net]
withVaListを使えばできるのかもしれないけど
Array版作ったほうが良さそう
https://stackoverflow.com/a/29401619

116 名前:名称未設定 [2017/09/02(土) 06:14:40.94 ID:OjeSc+FO0.net]
>>115
ありがとうございます。
Cのva_list用で、可変個を可変個で、ってものではなさそうですね。

117 名前:名称未設定 [2017/11/16(木) 19:00:05.10 ID:aijA5I6o0.net]
UIApplication.shared.isNetworkActivityIndicatorVisibleはiPhone Xでは表示されないんかな?

118 名前:名称未設定 [2017/11/16(木) 23:42:02.51 ID:34jOvPxv0.net]
表示されないっぽい
代替表示用してくれても良さそうなものを…

119 名前:名称未設定 [2017/11/16(木) 23:42:52.24 ID:34jOvPxv0.net]
用して→用意して

120 名前:名称未設定 [2017/11/25(土) 22:29:47.69 ID:IlS9zeHP0.net]
Macの市販アプリってGUIの表示がアプリ毎に違ってるけど
あれってMacの標準GUIの見た目だけカスタマイズしてるの?
それともGUIの仕組み自体を自前でプログラムで作ってるの?

121 名前:名称未設定 [2017/11/26(日) 20:24:01.52 ID:ybDI8cNy0.net]
swiftでかいてるならだいたいカスタマイズ
unityとかなら全部てづくりかも

122 名前:名称未設定 mailto:sage [2017/12/10(日) 02:08:33.85 ID:ugNCn7SFp.net]
OpenGLとかMetal使ってるなら手作りするかそれ用のGUIライブラリ使うやろ

123 名前:名称未設定 mailto:sage [2017/12/29(金) 11:52:17.54 ID:rll8YAgo0.net]
今年も来た

詳解Swift第4版 荻原剛志(著)
https://www.amazon.co.jp/dp/B078ML9XZM/



124 名前:名称未設定 mailto:sage [2017/12/31(日) 09:59:48.55 ID:gJX6c+E8M.net]
第3版、まだ読みきってないのに

125 名前:名称未設定 mailto:sage [2018/01/01(月) 12:35:56.74 ID:+6cLyIH40.net]
詳解Swiftっていまいち詳解じゃないよね
載ってないこと多すぎ

126 名前: [2018/01/01(月) 13:25:54.42 ID:nJ/vr14C0.net]
言語仕様という点で日本語書籍でこれより詳解なのある?

127 名前:名称未設定 mailto:sage [2018/01/01(月) 13:52:43.36 ID:L4dz/sdf0.net]
Apple公式の奴を翻訳してくれたらそれで十分なんだけどな
あれ結構分かりやいいし

128 名前:名称未設定 mailto:!omikuji!dama [2018/01/01(月) 14:23:40.44 ID:+6cLyIH40.net]
>>126
ないな
日本語では一番・詳解Swift
って書名なら正しい

129 名前: mailto:sage [2018/01/01(月) 14:24:10.89 ID:+6cLyIH40.net]
間違えた

130 名前:名称未設定 mailto:sage [2018/01/01(月) 17:10:11.61 ID:KvUlUoyq0.net]
お、今回はKindle版も同時発売か
でも固定レイアウトなのね

131 名前:名称未設定 mailto:sage [2018/01/01(月) 17:11:31.53 ID:ee2U5jcop.net]
買い替えじゃなくてアップデートされるなら電子版買いたいな

132 名前:名称未設定 mailto:sage [2018/01/02(火) 18:40:27.20 ID:uwzsrovu0.net]
>>127 それがあれば一番だね

今回はiBooksStoreにも出てるよー
なぜかKindle版よりちょっと高いけど

133 名前:名称未設定 mailto:sage [2018/01/02(火) 19:35:40.27 ID:8V3beYLz0.net]
本読むくらい熱心なら、変更内容に加えて
経緯から議論まで追える最強のリストを読んでいった方が良い
https://apple.github.io/swift-evolution/

英語直が無理ならChromeのページ翻訳使えば良いし



134 名前:名称未設定 [2018/01/05(金) 15:26:35.72 ID:9i83wet40.net]
Swift4 変更点

で、検索したら満足できる記事がヒット

135 名前:名称未設定 mailto:sage [2018/01/18(木) 10:05:10.01 ID:F5hIKVS5M.net]
iPhoneアプリの開発者離れが起きている。

アプリ提出の審査が理不尽で不公平になってしまって、iPhoneアプリの開発者離れが起きている。
アンドロイドにはKotlinが出てきて開発者が増えている。

Guideline 4.2 - Design - Minimum Functionality

アップルのGuideline 4.2の連発で簡単なアプリはもう提出しても審査には通らない。まだアンドロイドの方が通る。
簡単でなく多機能なアプリでも4.2を連発してくる。もはや作為的やっているとしか言いようがない。

開発者は開発情報のみなもとだった。それを閉め出してからiosの勢いがなくなった。
今からiphoneアプリやってもまず4.2で通らない。審査で落とされる。簡単な機能だけのアプリはまずリジェクトされる。
ちなみに複雑なアプリでも同じようなことが起きている。Rssリーダーのようなアプリでも機能が簡単すぎるといわれリジェクトされている。
アップルは信用できない。これは確か。ころころ方針を変える。昨日まで審査に通ったアプリが、今日から通らなくなるというのが普通にある。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


136 名前:名称未設定 mailto:sage [2018/01/18(木) 13:25:42.19 ID:SWQdnWJ60.net]
Appleの審査がウザいのは同意だが、少なくともSwiftって言語自体はよくできてると思うんだがな

137 名前:名称未設定 mailto:sage [2018/01/18(木) 20:47:26.34 ID:7kZaX7bD0.net]
市場シェア
泥>>iOS
利益
iOS>>泥

138 名前:名称未設定 mailto:sage [2018/01/18(木) 21:15:46.97 ID:QSTe5nUJ0.net]
Swiftの変更も含め、開発者に負担かけすぎなんだよな

139 名前:名称未設定 mailto:sage [2018/01/19(金) 18:13:48.69 ID:jrCtyd3/0.net]
68k-> PowerPC-> Intel->ARM
toolbox-> carbon-> cocoa-> ?
pascal-> C-> objective-C -> swift

140 名前:名称未設定 mailto:sage [2018/01/19(金) 23:34:06.49 ID:lHaNd0KF0.net]
市場の影響やら色々あってやはりクロスプラットフォームが検討される

そこそこのアプリならCordova(TypeScript)、ゲームならUnity(C#)
Xamarin(C#)、Multi-OS Engine(Java / Kotlin)、Kotlin/Nativeとかもあって
Swiftは立ち位置が辛くなりつつある

141 名前:名称未設定 mailto:sage [2018/01/20(土) 00:25:28.94 ID:L5ZieUsF0.net]
GoogleがSwiftの開発者引き抜いてAndroidアプリもSwiftで開発出来るようにする
って噂があったけど、あれどうなったんだろうな

少し期待してるんだが

142 名前:名称未設定 mailto:sage [2018/01/20(土) 02:02:36.92 ID:J8Qq1J9l0.net]
コトリンの世話で手一杯

143 名前:名称未設定 mailto:sage [2018/01/23(火) 22:56:39.03 ID:P4MrcF+80.net]
https://iphone-mania.jp/news-200890/
>「Swiftは、プログラミング言語がオタクっぽすぎるという認識をもとに作られた。
>学生の多くはプログラミング言語を見て、”これはできない”と思ってしまう」と、クックCEOは語りました。

>「誰でも使い方をすぐ覚えられる、Apple製品のようなプログラミング言語をデザインしたかった」と、
>クック氏はSwiftの敷居の低さを強調しました。

Swiftはそこまでじゃねえな。それならAppleScriptぐらいにしないと。



144 名前:名称未設定 mailto:sage [2018/01/23(火) 23:39:33.33 ID:JP5Z93fl0.net]
Swiftはいい言語だと思うけど、やっぱこれからは小鳥が主流になるのかな?
Springも5になって対応して、Webもスマホも作れるし

145 名前:名称未設定 mailto:sage [2018/01/24(水) 00:10:41.66 ID:EvvwHl3Y0.net]
KotlinじゃiPhoneアプリ作れねーだろ

146 名前:名称未設定 mailto:sage [2018/01/24(水) 01:14:11.51 ID:Slc30zGK0.net]
BASICの昔から初心者の最初の理解を阻害しているのが
「型」の存在だ。というのは真理ではあるのだけど
「そういうことはオブジェクトに命令とクラスを渡す形にして
普段はあまり気にしなくていいようにしよう」って言語の後継です!つって
「なんじゃかんじゃわからんものになんじゃかんじゃわからないことするんですよ!進歩してるでしょ?」
って言われてもなんじゃかんじゃわからないソースになるだけだよねコレ?というか…

147 名前:名称未設定 mailto:sage [2018/01/24(水) 03:55:36.56 ID:93wJNeG50.net]
結局型を意識しなきゃコードは書けないと思う。初めてのプログラミング言語がSwiftだった人達が型を意識しないでいいだとかその他の理由でもいいけど、Swiftを分かりやすいと感じているかどうかが気になる。

148 名前:名称未設定 [2018/01/24(水) 06:13:02.40 ID:i7+Qpdc30.net]
型ってそんなにわかりにくいかねえ。$には文字列が入って%には整数が入るとか、
当時小学生だった自分にもわかりやすかったけどね。%と!と#の違いはともかく、$はぜんぜん違うものが入るからなぁ。

149 名前:名称未設定 mailto:sage [2018/01/24(水) 07:42:30.06 ID:wE3p1EOU0.net]
>>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

150 名前:名称未設定 mailto:sage [2018/01/24(水) 09:07:50.03 ID:EvvwHl3Y0.net]
昔のBASICも型を意識させないようにしてたろ
方法は違うけど

151 名前:名称未設定 mailto:sage [2018/01/24(水) 09:20:13.18 ID:EvvwHl3Y0.net]
>>149
なんかめんどくさそう

152 名前:名称未設定 mailto:sage [2018/01/24(水) 09:58:12.37 ID:nmNCI5eWM.net]
Swiftはコーディングにあまり不満はないが、Buildにクソ長くて開発がままならん。
早くコンパイラーを何とかせい

153 名前:名称未設定 mailto:sage [2018/01/24(水) 10:12:47.55 ID:wE3p1EOU0.net]
>>151
クロスプラットフォームは多かれ少なかれ面倒なところはあるさ



154 名前:名称未設定 mailto:sage [2018/01/24(水) 11:23:25.39 ID:93wJNeG50.net]
>>152
推論させないで明示的に型を書けば早くなるでしょたぶん

155 名前:名称未設定 mailto:sage [2018/01/24(水) 13:19:08.05 ID:wE3p1EOU0.net]
Swiftの型推論は初動から風呂敷を広げ過ぎた
双方向推論は含めるべきではなかった
右辺値からの推論のみにしておけば型推論に関するビルド時間はここまで掛からなかったはず

156 名前:名称未設定 mailto:sage [2018/01/24(水) 14:17:14.93 ID:wE3p1EOU0.net]
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] の方に間違って確定したりする

157 名前:名称未設定 mailto:sage [2018/01/24(水) 14:18:00.81 ID:wE3p1EOU0.net]
Swift3で推論に問題あったケースが、知っている範囲ではSwift4で正常になったので
かなり改善されているようだけどビルド時間はさらに犠牲になってそう

コーディングの利便性のために双方向の推論に対応した結果
ビルド時間が掛かり過ぎて型を明示するようになる本末転倒

158 名前:名称未設定 mailto:sage [2018/01/24(水) 16:08:47.94 ID:EvvwHl3Y0.net]
コンパイル時間が長くなっても、それを補えるぐらいコーディング時間が短縮されるなら、結果オーライだろ

159 名前:名称未設定 mailto:sage [2018/01/24(水) 17:16:22.21 ID:7/sgEGqMM.net]
>>154
基本昔からほぼ全てにきちんと型定義しているが
ビルドに20〜30分も掛かる。。。
ちょっとコーディングしてビルドすると、
またそのぐらい。。。
ビルド中に編集するとカラーボールがクルクルし出すし。
コーディングする暇がなくてめちゃ困る。

筐体が死にかけていてそうなら、喜んで買い換えるが。
これもAppleの罠ではないかとかと疑心暗鬼

ちなみにMBA2013 4GBね

160 名前:名称未設定 mailto:sage [2018/01/24(水) 17:52:02.29 ID:wE3p1EOU0.net]
全ての変数定義に型を明示しても
メソッドチェーンや引数に直接ラムダを記述しているなら型推論は発生している

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 名前:名称未設定 mailto:sage [2018/01/24(水) 18:05:03.27 ID:wE3p1EOU0.net]
>>159
Pro買えば早くなるだろうけど
その前にビルド時間のボトルネックがあるか探すためにこの辺読んでみるのを勧める
https://medium.com/@johnsundell/improving-swift-compile-times-ee1d52fb9bd

-warn-long-expression-type-checking オプションとかもある

162 名前:名称未設定 mailto:sage [2018/01/24(水) 19:25:22.66 ID:EvvwHl3Y0.net]
今時メモリ4GBて
開発には厳しいだろ

163 名前:名称未設定 mailto:sage [2018/01/24(水) 19:35:45.83 ID:BJVKiilC0.net]
今年2018年だというのに5年前の4GのMBA使って遅いって言われてもなぁ



164 名前:名称未設定 mailto:sage [2018/01/25(木) 00:00:04.29 ID:TElUKl9b0.net]
>>148
ダートマスBASIC自体が学生にFORTRANでプログラム教えてたら
INT,DOUBLE,LONGとかの変数の種類の定義と概念で引っかかって
プログラミングの中心概念にサクッと進めないので
わざわざ数値型と文字型の二種類に変数型を固定した言語を作ったんやで。
「FOR-NEXT-STEPでSTEP0.5でも正しい回数回るようにとか苦労しましたw」と
作者がインタビューで答えててびっくりした。本当に高級言語だったんだと。
小学校のリコーダーが超高級木管楽器のプラスチックコピーだと知った時ぐらいの衝撃だったw

165 名前:名称未設定 mailto:sage [2018/01/25(木) 02:50:48.88 ID:YC2I+R1V0.net]
ビルド時間はSwift 2/Xcode 8に比べりゃだいぶ早くなったと思うけどね
まあそれでもObjCだけのプロジェクトに比べりゃはるかに長いけど

166 名前:名称未設定 mailto:sage [2018/01/25(木) 07:46:57.08 ID:twpUMFOG0.net]
>>161
ありがとう。
ボトルネックになってる箇所を探してみようと思う。
素直にMBPに買い換えるべきかな。

167 名前:名称未設定 mailto:sage [2018/01/25(木) 09:33:15.86 ID:qgJud4om0.net]
iMac Proにしろよ
サクサクだぞ
知らんけど

168 名前:名称未設定 [2018/01/25(木) 15:42:31.84 ID:1BO/OOZKH.net]
「型」って言うほど重要なのか?
そもそもその出発点がおかしいんだろうな

169 名前:名称未設定 mailto:sage [2018/01/25(木) 15:54:46.78 ID:qgJud4om0.net]
重要だろ
整数は大きさで処理速度に影響するし、浮動小数点数はまた専用のプロセッサがある
型のちょっとした違いでアラインメントの影響とかでメモリを占める領域も違ってくるし、ひいては実行ファィルの大きさにも影響してくる
型を意識しないプログラマは半人前ですらない

170 名前:名称未設定 mailto:sage [2018/01/25(木) 20:11:04.15 ID:td4l/5UZ0.net]
型を重要と思わないプログラマって、適当にネタ選びやってる寿司職人みたいなもん

171 名前:名称未設定 mailto:sage [2018/01/26(金) 01:06:18.96 ID:Qb9z6dfC0.net]
>>167
個人開発だから購入する勇気が出ない。。。

>>169
同意!
swiftは型推論が売りだろうけど、後々のメンテナンス性だとか、デバッグを考えると型付しておかないと後々の収拾付かなくなるね。

早くこの問題はAppleさんに解決してもらいたい。

172 名前:名称未設定 [2018/01/26(金) 01:22:31.74 ID:VCAcFJbo0.net]
>>169
多分それ30年前の知識のまま固執してなぁい?
mem. 1MB とか 1MHz 動作とかw

Int型に文字列突っ込んだら例外飛ばしてくるとか旧石器時代の話でしょ?

173 名前:名称未設定 mailto:sage [2018/01/26(金) 02:16:55.90 ID:+0bXYr4i0.net]
int型に文字列突っ込んでも問題ない言語とかあるのか?



174 名前:名称未設定 [2018/01/26(金) 18:41:54.53 ID:BO2m7KnDd.net]
>>171
型を明示することでかえって可読性や保守性が悪くなる場合に省略できるようにするのが、型推論のメリットなんじゃないの?
一番読みやすく保守しやすいコードが、型推論のビルド時間の短縮の為に、読みにくく保守しにくいコードに変えなければならないなら、失敗しているということだろう

175 名前:名称未設定 [2018/01/26(金) 18:42:48.69 ID:BO2m7KnDd.net]
>>173
c言語?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<101KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef