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

■ このスレッドは過去ログ倉庫に格納されています
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
2017/06/28(水) 19:25:31.37ID:DxMay05+H
1+1/2+1/4+1/8+....
2017/06/28(水) 21:39:14.29ID:9nUJWHPR0
>ただし、Swiftは「クズ」だと思っている人は今でもいる

ひどい言われようだな。

「Android」アプリ開発言語に加わった「Kotlin」--開発者が寄せる期待
https://japan.techrepublic.com/article/35103377.htm
2017/06/30(金) 10:41:27.25ID:kB9rbbyCM
瑕疵担保責任(かしたんぽせきにん)

納品されたシステム、プログラムに不具合があった場合、10年後でも無償で修理してもらうことが可能になった。

民法改正で事実上期限が「無制限」になった
不具合を指摘されたらすぐに行動をとるべし 納品物に不具合があれば損害賠償を請求される可能性もある

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。

重大な脆弱性が現バージョンから発見されました。こちらでアップデートしたところ、起動ができなくなりました。
至急弊社に来て修正作業をお願いします。なおお金は払わない。また営業に損失が出たので損害請求もする。
5デフォルトの名無しさん (ワッチョイ 7de5-DoE+)
垢版 |
2017/07/02(日) 09:49:55.33ID:TQ3ZZw9j0
kotolinは劣化Swiftだけど、進化Javaではあるからな
6デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 10:10:02.70ID:flwPV3hx0
>>5
Kolin nativeってのもあるし、Swift -> Kotlinへの移行しても良いかも。
Androidアプリ作って見たいし、だからと言ってJavaは嫌いだし。
2017/07/02(日) 10:23:22.94ID:PPQhv25G0
>>5

//Kotlin
val a = generateSequence(0){it+1}
println( a.map{it*10}.filter{50<it}.take(5).toList() ) //正常動作

//Swift
extension Sequence { var array:[Iterator.Element] {get{return map{$0}}} }
let a = sequence(first:0){$0+1}.lazy
print( a.map{$0*10}.filter{50<$0}.prefix(5).array ) //実行時エラー
2017/07/02(日) 10:48:50.80ID:NX/asw1hp
やっぱりJavaVMで動くKotlinは最強やな

>>6
実用に至ってから出直せw
9デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 11:53:55.69ID:flwPV3hx0
>>7
lazy使って、実行時エラー回避できるんじゃなかったっけ?
2017/07/02(日) 13:53:19.97ID:PPQhv25G0
>>9
既に let a = ….lazy でaはLazySequenceになっている

しかしオーバロードと型推論の設計上の問題により
LazySequence.filterでなくSequence.filterが呼ばれるため
prefixより前に無限シーケンスを全て処理しようとして死ぬ
2017/07/02(日) 15:07:17.13ID:J2BCSwZK0
Obj-Cで困らないんだが...
2017/07/02(日) 16:07:05.73ID:gG24OjEk0
WWDCのSwiftのハイライト教えてください。どの辺がパワーアップした?
2017/07/02(日) 18:40:03.44ID:1aYpJu000
>>10
なるほど
回避するにはどう書けば良い?
2017/07/02(日) 18:44:51.58ID:uCQPXMN6d
SwiftとXcode学ぼうとおもってるんだけど、オヌヌメの本ある?
2017/07/02(日) 18:55:19.60ID:PPQhv25G0
>>13
型推論ちゃんがドジらないようメソッドチェーンせず一つずつやらせる

do {
let a2 = a.map{$0*10}
let a3 = a2.filter{50<$0}
print( a3.prefix(5).array )
}
2017/07/02(日) 19:10:09.36ID:ymzX8oAS0
4.0だと>>7で問題ないぽいな
17デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
垢版 |
2017/07/02(日) 19:23:57.56ID:flwPV3hx0
>>14
あんたのbackground次第だな。
萩原本は、万人向けだが。
2017/07/02(日) 20:44:23.57ID:PPQhv25G0
>>16
確かに4だと直ってるな
issues見たけどオーバーロードやlazy等に関する直接的な対応は見付けられなかった
オーバーロード解決に後続のチェーン使う地雷が修正されてるなら有り難いけど
2017/07/02(日) 21:36:26.29ID:eTKnpEgqd
>>15
ありがとう
いつか嵌ったときに思い出すよ
20デフォルトの名無しさん (ワッチョイ 77e5-Wxq/)
垢版 |
2017/07/07(金) 10:54:58.74ID:iSt0xPuD0
ワンライナーに至上の価値を置いてるやつは初心者
複数言語、プラットフォームにまたぐ開発をやったことなく
狭い世界で安全なコード規約に保護されてないと開発できない箱入り息子ども
その狭い価値観でプログラミング言語を語り出すと>>7のような間抜けなことを言い出す
SwiftがあるのにピザってるJVMで動作するkotlinを選ぶやつは初心者も初心者
21デフォルトの名無しさん (ワッチョイ 77e5-Wxq/)
垢版 |
2017/07/07(金) 10:58:39.58ID:iSt0xPuD0
ていうかKotlinなんか眼中になくてCrystallangやElixirがめっちゃ気になってるんだがね
やつらベンチだとSwiftより速いらしいやん
どんなマジック使ってるんだ
2017/07/07(金) 12:57:22.01ID:+5jMM75Op
他言語を専スレで話題にしようとする初心者
加えて、VM言語が下手なネイティブより高速になることがある背景を知らない初心者

Swiftは特定条件下ではobjcより早いけど、一般的には別段速くないって昔から言われてるから
2017/07/07(金) 16:27:22.50ID:T5EkXb6i0
"ワンライナー"と呼んでいるやつは初心者

ちなみにElixirでは単なるメソッドチェーンに留まらずパイプ演算子が用意されている
https://blog.drewolson.org/elixir-streams/

import Stream
a = iterate(0,&( &1+1 ))
IO.inspect a |> map(&( &1*10 )) |> filter(&( 50<&1 )) |> take(5) |> Enum.to_list, char_lists: false
2017/07/08(土) 17:59:47.97ID:9wd2fVEY0
Obj-Cで困らないんだが...
2017/07/08(土) 18:06:37.95ID:RHeSLAN60
Cベースじゃないモダンスタイル言語にsmalltalk思想かと思ったら
objective-Cとまったく関係ない実験作が出てきたからなぁ…
あきらかにAppleWatchともどもジョブズが
「これじゃまだダメだろ」って止めてたのが
お漏らしして表に出てきちゃった感
2017/07/08(土) 20:54:25.61ID:69drE4+rp
Obj-C使ってる奴の老害感(Mac板
27デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
垢版 |
2017/07/08(土) 21:44:39.09ID:kEunb2nv0
>>26
Swift  -> ObjCへ移行中。Swiftだけしか知らない事に、危機感。
ObjCコンパイル早いし。
2017/07/08(土) 23:37:48.53ID:9wd2fVEY0
>>26
老害以外に言うことないのかね...
29デフォルトの名無しさん (ワッチョイ f77e-ATab)
垢版 |
2017/07/09(日) 05:46:33.77ID:GCKhJDjB0
>>26
ボキャブラリ貧困
2017/07/09(日) 07:02:46.84ID:rWTT//QAp
mac板での自爆ギャグが悔しかったのか必死だなw
こっちの板はアンチスレもあるし老害orガイジでないならそっち行くといいよ
2017/07/09(日) 09:43:38.60ID:XPzyjd3D0
他スレにも出向いてObj-C=老害を吹聴してSwiftを布教して回ってんのかよ...

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

Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
2017/07/09(日) 09:48:07.95ID:W1Kac4fsd
>>26
何歳から老害なんですか?
あなたはいつから老害になるんですか?
それとも、歳くってもModernな言語をさわって布教してれば老害にはならないのですか?
2017/07/09(日) 09:50:16.64ID:rWTT//QAp
いや、そこSwiftスレじゃん
そしてあまりにも酷いObjCコードをスレチで書いた老害が悪いわw
業務ではObjCしか使わないしSwiftが良い言語と思っちゃいないが、専スレでアンチは勘弁な
2017/07/09(日) 10:04:05.98ID:ubbDJ28zd
>>33
もう一度おききしますね

何歳から老害なんですか?
あなたはいつから老害になる予定ですか?
それとも、歳くってもModernな言語をさわって布教してれば老害にはならないのですか?
2017/07/09(日) 10:09:22.98ID:XPzyjd3D0
(^^;;
36デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
垢版 |
2017/07/09(日) 10:43:37.17ID:7zogvxJ60
ObjCでいいはないだろ...
何たってサーバーサイドも書けるんだぜ?
何もせんでもキャリアが伸びるこんなおいしい話はない
来年あたりSwiftのサーバーサイドでの積極採用の会社も出てくると予想してる
2017/07/09(日) 10:50:14.35ID:rWTT//QAp
>>34
Modern Objective-Cが書けるなら老人であっても老害じゃないんじゃないの
あとSwiftスレでObjCで荒らしてるのはガイジかな:)
2017/07/09(日) 10:59:41.20ID:K0mwJiCj0
>>36
さすがにそこまではないと思う
サーバーサイドに使われるようになるには
ライブラリやフレームワークの充実度が重要
すでに他言語が相当前にいるので追いつくまでそうとうかかる
2017/07/09(日) 11:16:23.18ID:Y9w3zegu0
>>36
サーバーサイドは実験レベルで書けるけど実務レベルでは無理だろ
まだまだ時間が必要だと思う
2017/07/09(日) 11:16:38.17ID:+2xoEb/90
>>34
老害=年齢で決まると思ってる時点でお前はただのアホやで
2017/07/09(日) 12:31:30.62ID:JmS2/1Qnd
>>40
shine
42デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
垢版 |
2017/07/09(日) 12:35:41.50ID:GCKhJDjB0
>>34
お前が老害
2017/07/09(日) 12:39:52.64ID:JmS2/1Qnd
>>29
>>42
shine
44デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
垢版 |
2017/07/09(日) 12:40:36.19ID:GCKhJDjB0
ObjC専用スレ覗いて見た。最後のレスが今年の2月だった。
ObjCをちょっと触ってるけど、良い感じだわぁ。
ちょいと、メソッド名が冗長な感じはするけど、スルスルとコンパイルされるのが良い。

コンパイルエラーが不親切って感じはするけど。
その点、Swiftコンパイラは親切but時間かかる。
45デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
垢版 |
2017/07/09(日) 12:56:04.79ID:7zogvxJ60
差分ビルドなら結局ObjCもSwiftも大して差を感じたことがないが
Swiftのビルド遅い遅い言ってるのは常にクリーンビルドでもやってんのかな
それかMacbook or Airだと体感差が出るとか?Proだと差が感じられない
2017/07/09(日) 12:57:56.01ID:7zogvxJ60
まーSPMの構成変えた後一からビルドすることになる時は俺もイラッ☆とするけどな
2017/07/09(日) 13:13:17.68ID:7wqzHkG/0
>>45
SSDだとSwiftが遅いって思ったこと無いけど、HDDだとめちゃくちゃ遅く感じる、というかやってられない
2017/07/09(日) 13:21:17.87ID:Y9w3zegu0
ビルドの速さを語るときはせめての目安としてコンパイルするファイル数も言わないと意味がないかと
2017/07/09(日) 13:23:32.50ID:ZUuC+mRKp
Copying swift library ... が怒り通り越して笑いが出る
SSDでも普通に体感差があるけどないの?
2017/07/09(日) 13:24:42.64ID:XPzyjd3D0
AppleがCoffeeタイムを提供してくれているのさ

と信者ならポジティブに解釈できることだろう
51デフォルトの名無しさん (ワッチョイ bf32-yTjp)
垢版 |
2017/07/09(日) 17:27:56.47ID:M1SE5oNM0
Swiftのビルドは遅いと思わないな。
遅いと言ってる人は多分StoryBoard使ってたり、変数の宣言時に型指定してないんだろうな。
2017/07/09(日) 18:51:26.63ID:58HcjkUe0
型推論全否定すんな
だいたいC#はvarでも速いぞ
2017/07/10(月) 07:36:25.56ID:Y8I/wQdop
型推論の比較対象はC++だろw
2017/07/10(月) 08:29:12.31ID:mGucQnNk0
ふーんHDDだとそんなに遅いんだ
Pro Retina SSDがSwiftやる上での下限スペックってことかな
13inch 128GBは罠だが・・・
55デフォルトの名無しさん (ワッチョイ 9f20-gfZI)
垢版 |
2017/07/10(月) 18:53:10.56ID:knKTPcd80
ARCって循環参照したらメモリリークすんでしょ?

だからってweakとかunownedにしたら間違って解放後にアクセスしちゃうかもしれないし
マジ使えねー
2017/07/10(月) 20:47:48.41ID:vzjIr3Mm0
>>44
Objective-Cはキモいくらいにコンパイル速いよな。
なんかSwiftよりも楽しそうな感じするな。
2017/07/10(月) 22:05:22.14ID:aPcSY6kVM
>>55
自分でメモリ管理したら循環参照しないってこと?
どっちもどっちだろ
あんまり関係ないと思うけど
2017/07/10(月) 22:20:27.57ID:OxPhUDSQ0
たぶんガーベージコレクションなら背後でCPUパワーを食い続けて全部監視してくれる!と言いたいのでは
2017/07/10(月) 23:35:14.81ID:5DkNY5/u6
Cで作った関数をSwift上で使いたいのですが、
文字列のアドレスを渡す関数でエラーが出てしまいます。
何が原因でしょうか。。。

@IBAction func BtnClick_ConnectTest(_ sender: Any) {
//接続先設定
var port:Int32 = Int32(_textFirld_sendPort.text!)!
var IP:String = _textField_sendIP.text!
var str:String = "test"
MyScocket_init()
setScoketSend(port,IP)

SendUDP(Unmanaged<AnyObject>.passUnretained(str as AnyObject).toOpaque() ,str.utf16Count)
}

int SendUDP(char* str, int strsize){
// パケットをUDPで送信
int ret = sendto(g_sockets[SOCK_SEND].sd, str, strsize, 0,
(struct sockaddr *)&g_sockets[SOCK_SEND].sock, sizeof(g_sockets[SOCK_SEND].sock));
if( ret < 0) {
perror("sendto");
}
return ret;
}

エラー内容
Cannot convert value of type 'UnsafeMutableRawPointer' to expected argument type 'UnsafeMutablePointer<Int8>!'
2017/07/10(月) 23:36:58.98ID:5DkNY5/u6
>>59
すみません。エラーが出ている箇所はSendUDP(char* str, int strsize)を呼び出した部分でエラーが出ています。
その他の場所は特に問題ないみたいです
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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