トップページ⇒tech
1002コメント383KB

Swift part9 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8b3c-/6Y/)2016/10/18(火) 11:34:44.16ID:oLo879ze0
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

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

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

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

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

前スレ
Swift part8
http://echo.2ch.net/test/read.cgi/tech/1463149806/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0002終了 (ワッチョイ 67c9-3ZZL)2016/10/18(火) 16:31:42.47ID:q3gbqcrC0
糞スレストッパー
0003デフォルトの名無しさん (ワッチョイ 57c9-x3Zw)2016/10/18(火) 16:36:48.89ID:5S2LdbWL0
下痢にはストッパ
0004デフォルトの名無しさん (スップ Sdcf-Oa01)2016/10/18(火) 19:24:46.57ID:nd0z2LLHd
>>1
おつんちん
0005デフォルトの名無しさん (ワッチョイ 213c-A7+C)2016/10/21(金) 11:44:19.03ID:09Dpangg0
XCTestで滅多に使わない表記だからといって

open func keyValueObservingExpectation(for objectToObserve: Any, keyPath: String, handler: XCTest.XCKeyValueObservingExpectationHandler? = nil) -> XCTestExpectation
↑の、handlerを略した書き方すると

open func keyValueObservingExpectation(for objectToObserve: Any, keyPath: String, expectedValue: Any?) -> XCTestExpectation
と区別つかねぇとかエラー吐かないでくださいよ
0006デフォルトの名無しさん (ワッチョイ 17e6-DrBp)2016/10/23(日) 09:48:39.00ID:M03zTDWo0
Javaの商用アプリケーションサーバでトップシェアのIBM
Linuxが商用利用で成功したのも2003年頃にIBMがLinux注力したから

AppleとIBMが協力関係になってSwift推し
Swiftの未来はどうなるんだろうな
0007デフォルトの名無しさん (スプッッ Sd39-YT5Q)2016/10/23(日) 11:09:52.31ID:l/iDXb3dd
大成功待った無し
0008デフォルトの名無しさん (ワッチョイ fd62-A7+C)2016/10/23(日) 14:59:20.34ID:254NT19n0
政治的にゴリ押されて出来上がった言語ってSwift以外だと例えば何があるっけ?
0009デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/23(日) 15:11:37.30ID:imvMl3ez0
流行った言語は全部ゴリ押しみたいなもんだろ
0010デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/23(日) 15:51:47.79ID:kiR0Dkrqp
type scriptやdartとか

objcもApple OSでは、これを使わないと何も出来ない的な意味でゴッリゴリ
とか言うと発狂する子が沢山来そう
0011デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/23(日) 16:07:03.29ID:3d+f6jv2d
>>10
Objective-CはAppleが採用するずっとずっと前からあったけど…。
0012デフォルトの名無しさん (JP 0He5-GPOt)2016/10/23(日) 16:07:53.11ID:CGzeXgZhH
NeXTより前からあるね
0013デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/23(日) 16:26:10.41ID:kiR0Dkrqp
発狂早かったな
2.0だの言わないといけないのかな

今のモダンObjCと最初期PbjCは別モノだろう
Swift betaとSwift3くらいに言語仕様も実装手法も違う
0014デフォルトの名無しさん (JP 0He5-GPOt)2016/10/23(日) 16:39:25.15ID:CGzeXgZhH
後出しの割にはイケてない
0015デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/23(日) 16:56:22.96ID:imvMl3ez0
GCとか迷走もあったしなぁ
0016デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/23(日) 16:59:07.26ID:PL/5Is43d
最初に発狂とか必死とか言い出したやつが発狂じみて必死になってくる法則
0017デフォルトの名無しさん (ワッチョイ 4066-vevC)2016/10/23(日) 17:34:51.29ID:pqyteWXL0
C++じゃなくてObjective-Cの方が普及してたらだいぶ違ったろうになぁ
0018デフォルトの名無しさん (ワッチョイ fa13-GPOt)2016/10/24(月) 10:43:06.10ID:9xygNeDa0
なぜC++の方が普及したのですか?
0019デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 11:24:05.58ID:zqG7Aoccp
取り合えず、メッセージ式文法が好まれなかった
他言語も追従しないし、当のアポーもメンバ変数に対してはメッセージ式を殺しにかかってるし

じゃあ、Swiftが流行るのかというと別だけど
0020デフォルトの名無しさん (ワッチョイ fa13-GPOt)2016/10/24(月) 11:43:48.71ID:9xygNeDa0
メッセージ式ってメソッド名が動的文字列のものも書けたっけ
0021デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 12:08:54.10ID:zqG7Aoccp
ObjCスレへどうぞ
0022デフォルトの名無しさん (スプッッ Sdc8-YT5Q)2016/10/24(月) 12:27:56.48ID:UH3y4ryLd
カッコが連続するとただただ見辛い
0023デフォルトの名無しさん (スフッ Sdb8-vevC)2016/10/24(月) 13:01:34.11ID:IFhOb1KRd
>>18
悪貨は良貨を駆逐する
0024デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/24(月) 13:20:21.03ID:fQljBZVUp
SwiftがObjective-Cに駆逐されようとしている
Swiftは良貨だった、、、?
0025デフォルトの名無しさん (JP 0Hc8-AIfR)2016/10/24(月) 16:46:18.16ID:YkwUZi7rH
ジョブズって、プログラムわからないだろ?
なんで、Swift良い言語って言ってるの?
0026デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/24(月) 17:06:50.03ID:i06wcCBv0
霊界通信が実装されたと聞いて
0027デフォルトの名無しさん (ワッチョイ 9dc9-GPOt)2016/10/24(月) 19:47:10.53ID:yvoyC+Qj0
ack無しの無手順ぷろとこー
0028デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/24(月) 21:42:17.30ID:PZcG170Zd
>>25
ジョブズはたぶんSwiftを知らない
0029デフォルトの名無しさん (ワッチョイ fd62-A7+C)2016/10/25(火) 07:23:49.15ID:TTNTJAzx0
>>24
SwiftとObjC逆じゃね?
0030デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/25(火) 09:21:08.38ID:ZmUS+kLtp
>>25はSwiftとObjCを間違えてね?
ジョブズ存命時の言語だよな、ObjCって
0031デフォルトの名無しさん (ワッチョイ e0c9-A7+C)2016/10/25(火) 10:12:28.38ID:HyB8mBs70
ジョブズの霊がラットナーに憑依して作ったのがSwift
0032デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/25(火) 10:39:33.81ID:ZmUS+kLtp
ジョブズが心霊療法?にはまってた頃に作り始められた言語だし可能性はあるか
生きてる時は幽体離脱で、死後は霊になってSwiftを推すとは流石ジョブズ
しかし、信者が乗らず悪貨のObjCが当然優勢ときたもんだ、くやしいのうwww

ところで、誰かSwift Package Managerって誰か使ってる?
3 stable releaseでもまだ開発中っぽかったが 、どれくらい不便か知りたい
0033デフォルトの名無しさん (ササクッテロ Sp89-vevC)2016/10/25(火) 18:39:13.09ID:v9gzKB+7p
>>31
ラトナーはジョブズから作られた天然のAIだよ
0034デフォルトの名無しさん (ワッチョイ 213c-A7+C)2016/10/26(水) 00:56:29.52ID:5b/0SgTG0
関数ラベルとかに予約語を使うのを禁止すべきかどうかについてどう思う?
他の言語との一貫性を考えると禁止した方がいいと思うんだけど
うちの会社ではコーディング規約で禁止してるけど
若手エンジニアが結構反発してるんだよね
0035デフォルトの名無しさん (ワッチョイ fd62-YT5Q)2016/10/26(水) 02:40:12.32ID:NtHQYyX30
関数ラベルとの相性が絶望的にクソなシンタックスをまずどうにかしろ
話はそれからだ
0036デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/26(水) 05:29:30.35ID:BNroq1d2p
わざわざ可能なように頑張って作った(直した)んだから素直に使えば?
3だかで予約後と被るキーワードも''で括らないで良いみたいな修正入った気がする

キーワードの順不同廃止みたいに廃止プロポーサルは出てないよな
0037デフォルトの名無しさん (スッップ Sdb8-YT5Q)2016/10/26(水) 08:57:46.67ID:LVTypZImd
>>34
「関数ラベルとか」の「とか」は、「関数ラベル」以外の何?
0038デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 09:02:55.24ID:EtQ2cepM0
反発理由が知りたいな
禁止でええやろって思うから
0039デフォルトの名無しさん (ササクッテロ Sp89-YT5Q)2016/10/26(水) 09:19:43.05ID:BNroq1d2p
問題出ないし、分かりやすければ予約語と被って問題なくね?
予約語と被って困ってたのは元はコンパイラの実装上の面倒だろう
その古い文化に慣れて、新しい文化に馴染めないのも分からいでもないが、そりゃ老がいだ

あ、他言語との歩調合わせはどうでもいい
Javaの文法でObjC書いたり 、ObjCの文法でJava書くクソッタレ信者は死ねと思ってる
他に禁止したい理由はある?
0040デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 09:42:23.99ID:EtQ2cepM0
多言語間の移植ちょいちょいやるから識別子にキーワードめいたものは使ってない
例えばJavaで変数名や引数名にref, params, inも使わない
一方禁止して困る理由は特に無いってだけ

禁止するにせよ、しないにせよ重大な理由は無いだろう
多少の面倒のトレードオフでどっちか選ぶだけ

他のプロジェクト入る場合はそれに合わせるから
わざわざ反発する程の何かがあるん?という疑問
0041デフォルトの名無しさん (ササクッテロ Sp89-bS7b)2016/10/26(水) 16:25:11.94ID:NhxkI5gep
// ハゲのためにワックス買ってくる関数があるとする
// 少し前のSwift
func buyWax(const: Int, forHage hage: String) {
}
buyWax(const:3_000, forHage:
0042デフォルトの名無しさん (スプッッ Sdc8-CGyA)2016/10/26(水) 16:26:08.97ID:4gTCvaIpd
>>40
なら、他言語の予約語を、変数名とかに使うのも禁止してるの?
使用禁止語リストを保守するのも、理由付けするのも大変そうだけどね
0043デフォルトの名無しさん (ササクッテロ Sp89-bS7b)2016/10/26(水) 16:28:33.43ID:NhxkI5gep
コードが途中で切れたので再送

ハゲのためにワックス買ってくる関数のサンプルコード
ttp://swiftlang.ng.bluemix.net/#/repl/58105ac610d66e1185d3d203

リファレンス
ttps://swift.org/documentation/api-design-guidelines/#argument-labels

問題も面倒もない出来ることをせず、無駄に冗長なラベル名や分かりづらいラベル名は老害
まぁ若造が鬼の首を取った気分で反発してるんだろうから
この程度のコーディングルールは事なかれ主義で黙って従うのが社会人なんだよ!って黙らせればいい
0044デフォルトの名無しさん (ワッチョイ 213c-vtRd)2016/10/26(水) 17:31:30.47ID:EtQ2cepM0
>>42
うちは別に禁止してないぞ
移植時の面倒事回避の1つとして控えた方がいいと教えてるだけ

使う言語は限られていてそれらを知ってるのが前提だから
リストなんてものもない(面倒だし)

影響が大きくない部分は下が守ってなくても許容するし自分が入る場合は従っておく

現場でキャパ少ない奴は上で下でも地雷だわ
ブログやら掲示板では猛獣のごときスタイル論争でも好きにやればいいが
0045デフォルトの名無しさん (スフッ Sdb8-vevC)2016/10/26(水) 18:33:44.20ID:n1sZka3Md
>>44
おれ、記憶力悪い方なんでコンパイラに怒られるまで予約語かどうかなんてわかんないや

なので、作業中の言語は対応できるけど
他の言語の予約語までは対応できない

コミット時にNGワードチェッカー走らせて拒絶するようにしておいてね
■ このスレッドは過去ログ倉庫に格納されています