X



Swift part11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 2b11-WRiT)
垢版 |
2017/06/28(水) 17:58:29.74ID:KUDOoNV30
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

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

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

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

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


前スレ
Swift part10
http://mevius.2ch.net/test/read.cgi/tech/1487552413/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0351デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/06(金) 23:05:40.33ID:/80lsBeB0
swift使わなきゃまともなプログラム作れないなんて
所詮アマチュア
swiftのビルドの遅さは一体何?アホ遅いよな?
0352デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/06(金) 23:14:40.00ID:nNBQ8Jr7p
COBOLとかまだ現役
5000ステップくらいならコンパイル3秒www
0355デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/07(土) 09:55:31.45ID:U1rvDJEV0
>>349
中小は自信過剰なアホジジイがマネジメントしてるケースが多いから困るよ
0356デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/07(土) 09:57:26.82ID:QJpqp28Yp
swift6あたりで可読性も兼ねて型推論は無くなるだろう。
型推論など甘え。
0359デフォルトの名無しさん (ワッチョイ 8981-wbjw)
垢版 |
2017/10/08(日) 22:52:13.41ID:uIqMxfC90
めったにないけど型がついてないと
呼び出し先のメソッドの戻り値の型がこっそり変わって
それに引きずられて呼び出し出し先のメソッドが変わったんじゃないかとか
心配事が増えることがある
0360デフォルトの名無しさん (ワッチョイ 4568-NGd4)
垢版 |
2017/10/08(日) 23:23:26.45ID:ZE2/usTz0
let someName = String(format:"User %02d", userId)
みたいなのは明らかにStringってすぐわかるから書かないようにしてるけど、
ややこしいメソッド呼んで戻り値の型がぱっとわかんなそうなやつは書くようにしてるな。
let analyzedDataMap = analyzer.analyze()
みたいなやつね。
0362デフォルトの名無しさん (ワッチョイ 6a96-8BZG)
垢版 |
2017/10/09(月) 07:53:43.84ID:UhJ6XiQR0
後でコード読む時に、型を調べようと思ったら関数まで飛んで返り値を調べないといけないからな
文字列みたいに明らかなのはいいけど、オレオレ関数の返り値を代入する場合はなるべく型宣言した方がいいかもね
0366デフォルトの名無しさん (ワッチョイ 0db3-wbjw)
垢版 |
2017/10/09(月) 12:14:03.34ID:4WiIHmfQ0
>>365
変数宣言って「わざわざ」なんて言う程のことかな
同じ参照を複数回使うために変数に置くとかよくあることだと思うんだけど
こういうの前者は良くて後者のrは型明示すべきなの?

f(t.load(), kNameIndex)

let r = t.load()
f(r, r.index("name"))
0368デフォルトの名無しさん (ワッチョイ 4568-NGd4)
垢版 |
2017/10/09(月) 17:30:23.07ID:7FcxW73H0
>>366
文脈によるんじゃないの。メソッドで何回も使われる重要な変数が型ついてなかったら読みづらいし、局所的に2回ぐらいしか使われない変数だったらどうでもいいと思う。
型推論なんか無価値だと主張しているつもりはないので。
C++のmapのiteratorとかちゃんと型を書きたくないしさ。
0371デフォルトの名無しさん (ワッチョイ 76a5-jJU0)
垢版 |
2017/10/09(月) 23:44:00.27ID:ZTYTzUU70
型推論とかいう作ったやつの自己満機能
0372デフォルトの名無しさん (ワッチョイ 6a96-8BZG)
垢版 |
2017/10/10(火) 00:19:08.18ID:9k+Hkwgm0
型推論いいじゃん
コーディング量が減るし

let age: Int = calculateAge(fromBirthday: birthday)
let age = calculateAge(fromBirthday: birthday)

let name: String = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())
let name = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())

紛らわしい変数名とか使わなければ型は自明なケースも多い
0377デフォルトの名無しさん (アウアウウー Sa39-bcWR)
垢版 |
2017/10/10(火) 18:47:00.23ID:eiklXckra
いろんなソース読んでるとBaseViewみたいなの用意してストーリーボード上でそれをNavigationControllerより前に置いてるんだけどどういう風にどういう意味でなんの利点があってやってるんですか?
0379デフォルトの名無しさん (ワッチョイ b1a7-8BZG)
垢版 |
2017/10/10(火) 21:16:36.06ID:okVS1LPg0
>>377
なかなかナゾな書き方だなw

BaseViewController -> NavigationController
NavigationController -> ViewController.view.subviews[0](=BaseView)
StoryboardにはViewを単独では配置することはできない、また、単にViewControllerではなくNavigationControllerってるとこからは前者か?と推測

前者のは利点はわからんなあ、逆にあんまりNavigationControllerが必要でなくViewController -> ViewController -> ViewController ... な遷移でも書けるがNavigationController中で遷移させた方が利点があることはあるのはある
後者は(なんか別に配置して)目一杯でなくなった場合にとかだろうと推測
0383デフォルトの名無しさん (ワッチョイ 91f2-8BZG)
垢版 |
2017/10/10(火) 22:59:28.27ID:jM5sd94/0
誕生日からの経過月数や日数、ひいては時間や秒まで浮動小数点の年齢として表現することにする実装もありうる
常識的っていう曖昧な前提はプログラミングではいらない
0384デフォルトの名無しさん (ワッチョイ 91e9-bcWR)
垢版 |
2017/10/10(火) 23:06:02.00ID:M6M4qQyh0
>>379
御察しの通り前者です
どういう風に使っているかと言われると、表示に関係者した共通処理?プログレスの表示などのをまとめてるっぽいんだけど画面数が多くなるとまとめたほうがいいのかな
0387デフォルトの名無しさん (ワッチョイ 75eb-M+Y2)
垢版 |
2017/10/11(水) 00:14:13.41ID:sKdl4TO60
>>380
事前に知って起きたい場合じゃなくて、事前に決めて起きたい場合じゃないの?
型推論があれば受け側の変数の型を宣言しておけば、同じ名前のメソッドを使い分けられるんじゃない?
0389デフォルトの名無しさん (ワッチョイ 95b3-Hg+h)
垢版 |
2017/10/11(水) 06:57:49.22ID:PHAOwVfO0
アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ
0390デフォルトの名無しさん (ワッチョイ 95b3-Hg+h)
垢版 |
2017/10/11(水) 06:58:56.69ID:PHAOwVfO0
アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ
0391デフォルトの名無しさん (ササクッテロラ Sp75-Hg+h)
垢版 |
2017/10/11(水) 07:31:38.26ID:3JYMgXlbp
Swiftのビルドの遅さと言ったらもう
0394デフォルトの名無しさん (ワッチョイ 4568-NGd4)
垢版 |
2017/10/11(水) 11:10:15.04ID:nDtE4t5M0
>>387
書く側としたら事前に決めておきたい、だけど、読む側としたら事前に知っておきたいという感覚になるのかな、と。

あと、ライブラリを部分的に知ってるような場合に、どこで自分の知ってる型が出てくるかわかるだけでも全然読みやすさが違うとかはあるよ。
名前の付け方がよければそんなことないかもしれないが、そうでない場合、全部一個一個チェックしていかなきゃいけないわけだから。
0395デフォルトの名無しさん (ワッチョイ 6a96-8BZG)
垢版 |
2017/10/11(水) 11:51:10.61ID:wXVN7J6z0
ソースを追ってて型が明示されてないと分からなくなることってそんなあるか?
いちいち型が明示されててごちゃごちゃしてるよりすっきりしてる方が好みだけどなぁ
どうしても知りたければIDEの構文補完ですぐわかるし
コンストラクタとかは呼び出しそのものが型宣言みたいなもんやし冗長やろ

let query: NSMetadataQuery = NSMetadataQuery()
let query = NSMetadataQuery()

let fileManager: FileManager = FileManager.default
let fileManager = FileManager.default

as演算子を使う時も型は自明
let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate
0400デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/12(木) 00:23:01.42ID:a0zf13g60
おまえらみたいな意識高い系のおかげでかいしゃは消える
なぜならユーザーメリットなく
0401デフォルトの名無しさん (ササクッテロラ Sp45-gv9Q)
垢版 |
2017/10/12(木) 12:03:55.01ID:VXMT0qDgp
常に意識高く(=コスト高く)
皆が意識高いわけじゃないし

もうIDEが プログラム推論 で全部書けよ
0402デフォルトの名無しさん (ワッチョイ 3396-KNNp)
垢版 |
2017/10/12(木) 12:07:58.00ID:1BqA9hpy0
そのうちAIがプログラムを書くようになる日もくるだろう
俺たちの仕事は要件定義だけ
そのうち、要件定義すらAIがやりはじめるだろう
もう俺達の仕事はなくなるね
0406デフォルトの名無しさん (スプッッ Sd33-YqbF)
垢版 |
2017/10/12(木) 23:00:07.52ID:1gJjE3UDd
効率悪いやろ
0407デフォルトの名無しさん (ササクッテロラ Sp45-gv9Q)
垢版 |
2017/10/13(金) 08:36:59.82ID:R6m8UyoBp
とにかくビルド遅い、Mac全体遅くなる
swift死んで欲しい
0409デフォルトの名無しさん (スップ Sd73-YqbF)
垢版 |
2017/10/13(金) 09:08:03.03ID:XIdp19imd
ない
0413デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/17(火) 00:46:21.35ID:/DLwU+2k0
swiftの進化は止まらないキリ!(常に仕様変更)
0418デフォルトの名無しさん (ササクッテロラ Sp45-gv9Q)
垢版 |
2017/10/18(水) 14:36:05.54ID:ILFv9GYLp
順位 プログラミング言語 インデックス値 推移
1 Java 12.431% ↓
2 C 8.374% ↓
3 C++ 5.007% ↓
4 C# 3.858% ↓
5 Python 3.803% ↑
6 JavaScript 3.010% ↑
7 PHP 2.790% ↑
8 Visual Basic .NET 2.735% ↑
9 Assembly language 2.374% ↑
10 Ruby 2.324% ↑
11 Delphi/Object Pascal 2.180% ↑
12 Perl 1.963% ↓
13 MATLAB 1.880% ↑
14 Scratch 1.819% ↑
15 R 1.684% ↓
16 Swift 1.668% ↓
17 Objective-C 1.513% ↓
18 Visual Basic 1.420% ↓
19 PL/SQL 1.408% ↓
20 Go 1.357% ↓
0427デフォルトの名無しさん (ワッチョイ 93b3-meYy)
垢版 |
2017/10/18(水) 21:02:13.26ID:GswCLlj60
>>423
チップとかファームウェアとかの組み込み系
カード会社や航空会社で使われてるTPFでもまだアセンブラ使われてる

TIOBEは用途も業界も関係ないから
長期的なトレンドの参考にはなるけど
相対的な順位を見てもほとんど意味ない
0429デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/18(水) 22:15:26.69ID:Zyh+egfX0
今月の順位だよ
0430デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/18(水) 22:20:56.91ID:Zyh+egfX0
もうswiftは死ぬな
型推論を許さないswift、speedに乗り換えるかな
0431デフォルトの名無しさん (ササクッテロラ Sp45-gv9Q)
垢版 |
2017/10/18(水) 22:26:48.14ID:ILFv9GYLp
全部varで全部nil許容で全く問題ない
どうせアプリなんか使い捨て
reactive?オナニーでしょ?学習コスト考えたら
objcで速攻リリース、かつ何度もも作り直したほうがマシ
0432デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/18(水) 22:31:27.83ID:Zyh+egfX0
ユーザメリットで考えたら、型推論?リアクティブ?氏ねば?
って感じだろうなw
型推論なんかしてないでテストコード自動生成しろとw
0433デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/18(水) 22:48:57.23ID:Zyh+egfX0
swift+リアクティブってロシアの嘘ニュースみたいな感じで、誰も幸せになってない気がする
0435デフォルトの名無しさん (スプッッ Sd33-YqbF)
垢版 |
2017/10/18(水) 23:10:20.06ID:jJg7gfnwd
学習コストがーなんて言い出したらもう技術者として終わり
0436デフォルトの名無しさん (ササクッテロラ Sp45-gv9Q)
垢版 |
2017/10/18(水) 23:37:08.13ID:ILFv9GYLp
おれはできるだけ楽したいからobcでサクサク儲けるよ
0437デフォルトの名無しさん (ワッチョイ 99b3-gv9Q)
垢版 |
2017/10/18(水) 23:41:58.39ID:Zyh+egfX0
Swiftはまだ歴史が足りない気はする。
最近、お客さんから「Xamarinで」とか指定されるし。
0446デフォルトの名無しさん (ササクッテロラ Sp85-HN0h)
垢版 |
2017/10/19(木) 04:45:46.54ID:+fRYJJO+p
swiftって3から出せば良かったんだよ
ググっても2.xの構文だと今はほぼアウト
しかしCORE i5のMacbookじゃ遅くて開発にならないし実用的じゃない
客にXamarin勧めて良かった
0447デフォルトの名無しさん (ワッチョイ e5b3-HN0h)
垢版 |
2017/10/19(木) 05:11:11.18ID:doAS34oS0
Swiftは型推論禁止オプションをサポートしたらかなり普及すると思うしIDEもめちゃくちゃ反応良くなるはず。
候補の出が悪いのはIDEとして致命的欠陥だから。
型なんか書くからさっさとビルドしろよ。何回もビルドするんだから毎回の推論は時間の無駄。
アプリなんか時間かけて作るもんじゃないし。ただの金儲けでしょ?
■ このスレッドは過去ログ倉庫に格納されています

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