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板
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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