JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
前スレ
Kotlin
http://mevius.5ch.net/test/read.cgi/tech/1456505161/
Kotlin 2
レス数が1000を超えています。これ以上書き込みはできません。
2017/11/01(水) 00:07:43.82ID:jxmKQQAl
2017/11/01(水) 00:09:21.20ID:S3J9ewzc
kotkot煮込んだJavaのスープ
2017/11/01(水) 00:10:25.85ID:ktrap7j9
ギャラクシーエンジェルのタイトルみたいだな
2017/11/01(水) 01:57:16.16ID:x/3omok5
2017/11/01(水) 01:58:25.77ID:x/3omok5
Google、KotlinをAndroidアプリ開発言語に選定
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
Kotlinのスキルを持たないAndroid開発者は恐竜のようになるリスクに直面。Realmが予測
http://www.publickey1.jp/blog/17/kotlinandroidrealm.html
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
Kotlinのスキルを持たないAndroid開発者は恐竜のようになるリスクに直面。Realmが予測
http://www.publickey1.jp/blog/17/kotlinandroidrealm.html
2017/11/01(水) 08:47:27.86ID:3pYEq5sC
恐竜がいたら玉乗り仕込みたいね
2017/11/01(水) 13:26:42.48ID:8Fl3u9rT
名前の可愛さでいったら右に出るものがいない
2017/11/01(水) 20:25:18.56ID:55d56wrT
全然流行ってないね・・・
2017/11/01(水) 20:57:53.51ID:3pYEq5sC
独自クラスのオブジェクトを突っ込んだListのソート処理がKotlinだと楽すぎてワロタ
Comparatorとか実装する必要すらない
Comparatorとか実装する必要すらない
2017/11/01(水) 21:01:14.24ID:jurBUt2h
11デフォルトの名無しさん
2017/11/01(水) 21:17:46.15ID:KQYcmJno2017/11/01(水) 21:20:57.76ID:RmpG/IBv
海外だとアプリはもうKotlinがデフォルトらしい
http://tech.gunosy.io/entry/droidconNYC-2017
http://tech.gunosy.io/entry/droidconNYC-2017
2017/11/01(水) 21:22:25.90ID:n8DQDdRQ
>>11
いちいち反応しなくていいよ…
いちいち反応しなくていいよ…
2017/11/01(水) 22:03:41.76ID:3pYEq5sC
Kotlinの仕事にありつけてないお前ら全員失業wwwざまああwwww
2017/11/01(水) 22:07:42.20ID:K1kOfoLS
kotlinインアクション買った人いる?良さそう?
2017/11/01(水) 23:18:03.22ID:65SAREI7
ちょっとカジってみたけど、JavaとかC#とかScalaとかF#とかをごった煮にした感じだね
イマイチ新鮮味が無いけど、JVMでAndroidやらSpringやらで使えるっていうのが重要なのかな
イマイチ新鮮味が無いけど、JVMでAndroidやらSpringやらで使えるっていうのが重要なのかな
2017/11/01(水) 23:50:48.17ID:n8DQDdRQ
下手に新機軸で目新しかったらScalaの轍を踏んでしまうだけだからな
Javaと併用するベターJavaの範囲を逸脱しなかったことでここまでの地位を短期間で得たのだ
ほどほどって何事も大事ね
Javaと併用するベターJavaの範囲を逸脱しなかったことでここまでの地位を短期間で得たのだ
ほどほどって何事も大事ね
2017/11/02(木) 02:41:34.42ID:LsnbbfZc
>>9
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
2017/11/02(木) 02:56:32.36ID:pq+UNRec
2017/11/02(木) 08:50:34.61ID:Cum5cn5z
ボイラープレート自体が消えるということに喝采した人が多い
「それくらいIDEが自動で大量に書いてくれる」ではなく「そもそも無い」が好まれるのだ
視覚情報大事
「それくらいIDEが自動で大量に書いてくれる」ではなく「そもそも無い」が好まれるのだ
視覚情報大事
2017/11/02(木) 12:58:30.02ID:U1n8VN2V
>>6
ヘッチャラ!
ヘッチャラ!
2017/11/02(木) 19:30:44.53ID:SsjTYyhv
android専用みたいになってるけど、
javaでやれることは、
全部kotlinでもできるの?
javaでやれることは、
全部kotlinでもできるの?
2017/11/02(木) 19:53:40.80ID:Cum5cn5z
誰だそんなAndroid専用とか変なこと言ってるの…
ただほんのちょっと、現時点でのJavaの新規用途や一般人用途がAndroidアプリ作成しかないだけじゃないか…
ということで「ふつうの」Javaが使えるとこはだいたいKotlinが使えるよ
企業に勤めてるような人でもない限り Javaプログラミング=Androidアプリプログラミング なのでそんな認識になってるだけだ
組み込みとかあのへんの大変そうなとこはたぶんまだ無理だけど、そういうとこに使えるかどうか気になるような人はKotlinが動作しうるかどうかは見てわかるだろう
ただほんのちょっと、現時点でのJavaの新規用途や一般人用途がAndroidアプリ作成しかないだけじゃないか…
ということで「ふつうの」Javaが使えるとこはだいたいKotlinが使えるよ
企業に勤めてるような人でもない限り Javaプログラミング=Androidアプリプログラミング なのでそんな認識になってるだけだ
組み込みとかあのへんの大変そうなとこはたぶんまだ無理だけど、そういうとこに使えるかどうか気になるような人はKotlinが動作しうるかどうかは見てわかるだろう
24デフォルトの名無しさん
2017/11/02(木) 20:45:39.00ID:n5fZR6Gb ていうか Java にできて Kotlin にできない事ってあるのか?
そんなもん無いようにしか見えないんだが。
そんなもん無いようにしか見えないんだが。
2017/11/02(木) 20:48:41.34ID:SsjTYyhv
2017/11/02(木) 20:50:04.74ID:osyIV8kF
バグの量産はJavaにしか出来ない
2017/11/02(木) 21:13:31.03ID:ScvYxhm1
>>24
奴隷の大量使い捨て
奴隷の大量使い捨て
2017/11/02(木) 21:17:36.20ID:Cum5cn5z
29デフォルトの名無しさん
2017/11/03(金) 00:42:19.00ID:mQ2prqq7 これまでのまとめ
Java にできて Kotlin にできないこと
1. バグの量産
2. 奴隷の大量使い捨て
Java にできて Kotlin にできないこと
1. バグの量産
2. 奴隷の大量使い捨て
30デフォルトの名無しさん
2017/11/03(金) 00:43:31.08ID:nVcCm6Uk kお前らが作ったら何使ってもバグの量産だろwww
2017/11/03(金) 00:46:00.51ID:+ZuXY7od
存在がバグみたいなお前に言われたくねーよwww
2017/11/03(金) 06:07:02.26ID:fxD35jMc
恐竜になれる
2017/11/03(金) 09:03:14.88ID:L9p6V4NW
読みで画像検索すると語感や方向性がよく分かる
画像検索 じゃば
https://www.google.co.jp/search?tbm=isch&q=%e3%81%98%e3%82%83%e3%81%b0
画像検索 ことりん
https://www.google.co.jp/search?tbm=isch&q=%e3%81%93%e3%81%a8%e3%82%8a%e3%82%93
画像検索 じゃば
https://www.google.co.jp/search?tbm=isch&q=%e3%81%98%e3%82%83%e3%81%b0
画像検索 ことりん
https://www.google.co.jp/search?tbm=isch&q=%e3%81%93%e3%81%a8%e3%82%8a%e3%82%93
2017/11/03(金) 09:26:39.80ID:1r95yYp8
>>33
これはひどいw
これはひどいw
2017/11/03(金) 12:10:24.60ID:MxTlS5aq
flag |= x
flag &= ~x
これを
flag = flag or x
flag = flag and x.inv()
こう書かなきゃならない冗長さ
開発者曰く、可読性の問題なら関数にすればいいじゃんと
flag &= ~x
これを
flag = flag or x
flag = flag and x.inv()
こう書かなきゃならない冗長さ
開発者曰く、可読性の問題なら関数にすればいいじゃんと
2017/11/03(金) 12:25:36.60ID:OuG6RHrP
超一般論としては論理演算子付き自己代入はそれによって陰に実行されるものがあんまり自明ではないので使わないほうがよい
あんまり自分の分析能力を信用してはイカンよ
あんまり自分の分析能力を信用してはイカンよ
2017/11/03(金) 13:13:37.26ID:wGONik3H
Kotlin in action読んだ
良いよ
良いよ
38デフォルトの名無しさん
2017/11/03(金) 13:24:04.81ID:mQ2prqq7 Kotlinインアクションはいいことはいいのだが索引が貧弱で、
例えばソートしようと思って索引見ても sort が載っていない。
じゃあ List のメソッドだろうということで List を探しても載っていない。
ということでリファレンスとして使えない。内容同じままでいいから索引を大幅拡充したの出して欲しい。
例えばソートしようと思って索引見ても sort が載っていない。
じゃあ List のメソッドだろうということで List を探しても載っていない。
ということでリファレンスとして使えない。内容同じままでいいから索引を大幅拡充したの出して欲しい。
2017/11/03(金) 13:40:24.99ID:lM06sbH0
結構難しい言語だね
2017/11/03(金) 13:42:14.46ID:wGONik3H
エルビス演算子ってエルビス・プレスリーからきてたんだな
2017/11/03(金) 14:13:34.27ID:OuG6RHrP
エルビス・プレスリー知らない人も多そうだし、常識として知っててもなにがどうエルビスなのかわからん人もいそうだ
袖のじゃらじゃらした飾りだと思ってる人もいるけど違うからね ? は髪型だからね
https://image.slidesharecdn.com/fun-with-kotlin-160625143733/95/fun-with-kotlin-37-638.jpg
袖のじゃらじゃらした飾りだと思ってる人もいるけど違うからね ? は髪型だからね
https://image.slidesharecdn.com/fun-with-kotlin-160625143733/95/fun-with-kotlin-37-638.jpg
2017/11/03(金) 16:47:24.64ID:9CXEo34m
>>39
Scalaより簡単
Scalaより簡単
2017/11/04(土) 00:16:44.84ID:onhYINWl
Kotlin in actionのおかげでやっとflatmapの意味が分かった
2017/11/04(土) 03:50:10.34ID:3cC+jj+w
ifとか式にできるくせに、代入文は式にできねぇの??しょっぺぇ。
while ((bytesRead = stream.read(bytes)) != -1)
とかできねぇの?しょっぺぇ
while ((bytesRead = stream.read(bytes)) != -1)
とかできねぇの?しょっぺぇ
2017/11/04(土) 04:33:53.14ID:3cC+jj+w
あれ、ひょっとして、kotlinてまだシリアライズできねぇの??
しょっぺぇ・・・
普通にデータの保存にJavaのバイナリフォーマットのシリアライズ使ってたんだけどな・・・
あぼぼぼぼぼ。
しょっぺぇ・・・
普通にデータの保存にJavaのバイナリフォーマットのシリアライズ使ってたんだけどな・・・
あぼぼぼぼぼ。
2017/11/04(土) 05:51:43.84ID:UAaAlIwj
なんかかわいそう
2017/11/04(土) 07:35:45.71ID:NNCD/Zi9
生暖かい目で見守ってあげよう
2017/11/04(土) 08:18:58.07ID:hKqH3C3y
whileはみんなそこで詰まるNE!
Kotlinは条件部分で副次作用が起こることをよしとしないのだ
数少ない「単体部分で見ればJavaより記述量多い」部分なので、
我慢して明示的に変数定義に切り分けるか、素直に組み込みのBufferedReaderとか使ってくれ
よっぽどオリジナルでない限りwhileでなんかしてたやつは「whileの外ごとまとめて」3行くらいで書ける
Kotlinは条件部分で副次作用が起こることをよしとしないのだ
数少ない「単体部分で見ればJavaより記述量多い」部分なので、
我慢して明示的に変数定義に切り分けるか、素直に組み込みのBufferedReaderとか使ってくれ
よっぽどオリジナルでない限りwhileでなんかしてたやつは「whileの外ごとまとめて」3行くらいで書ける
2017/11/04(土) 10:23:22.90ID:jcPkxcYi
昔、ポインタ演算できないからJavaはしょぼい、というような主張してる奴が
たまに居たのを思い出した
たまに居たのを思い出した
2017/11/04(土) 11:18:50.17ID:onhYINWl
Kotlinの仕事ができてないお前ら失業確定www無職ざまあwwwwww
2017/11/04(土) 11:58:10.64ID:hKqH3C3y
>>49
Java使ってれば違和感なく移行できますと言われつつ、実際はプチパラダイムシフトの受け入れが必要なのはちょっと不誠実かなとは思う
我々は「うっひょー○○言語や××言語のアレみたいだね!」とか喜ぶわけなんだが
Javaしかやらないような人から見たら「Javaとは全く違うだけの気持ち悪い何かがくっついてる」としか思えない可能性は高い
Java使ってれば違和感なく移行できますと言われつつ、実際はプチパラダイムシフトの受け入れが必要なのはちょっと不誠実かなとは思う
我々は「うっひょー○○言語や××言語のアレみたいだね!」とか喜ぶわけなんだが
Javaしかやらないような人から見たら「Javaとは全く違うだけの気持ち悪い何かがくっついてる」としか思えない可能性は高い
2017/11/04(土) 12:33:29.77ID:jcPkxcYi
>>51
アピールしてるのは「相互運用性が高いから移行できます」であって、「違和感なく移行できます」では無いよ
そういうのを書いてる第三者の記事はありそうだけど
公式的にはむしろ関数型に力入れてるのを売りにしてる
アピールしてるのは「相互運用性が高いから移行できます」であって、「違和感なく移行できます」では無いよ
そういうのを書いてる第三者の記事はありそうだけど
公式的にはむしろ関数型に力入れてるのを売りにしてる
2017/11/04(土) 19:11:42.37ID:mE4V8fBV
>>51
> Javaしかやらないような人から見たら「Javaとは全く違うだけの気持ち悪い何かがくっついてる」としか思えない可能性は高い
そうやって全く関数型やらモダン言語らしいとこ使わない違和感あるKotlinコードが出来そう
> Javaしかやらないような人から見たら「Javaとは全く違うだけの気持ち悪い何かがくっついてる」としか思えない可能性は高い
そうやって全く関数型やらモダン言語らしいとこ使わない違和感あるKotlinコードが出来そう
2017/11/04(土) 19:14:15.39ID:YWCXhaIP
プロパティと型推論しか使わないのもあり?
それならできそう。
それならできそう。
2017/11/04(土) 22:23:46.53ID:g0AJbdlv
2017/11/04(土) 22:34:52.81ID:U6RGh2Ax
2017/11/05(日) 00:26:43.77ID:x5/Ij6xv
俺のお気に入りのF#はなんだかんだでnull残ってるから、その点はkotlin羨ましい
58デフォルトの名無しさん
2017/11/05(日) 00:58:12.21ID:YBVMpJn0 残念ながらjava互換だからnullは無くならないのだよ
2017/11/05(日) 02:57:49.62ID:WRVCeBNz
ガードしない場合、ぬるぽが起こる割合はJavaとほぼ同じ
言語の仕組み上安楽にガードしやすいってだけの話だからね
しない・できない・忘れてたという場合はぬるぽぬるぽぬるぽだ
コードはまさに意図した通りではなく書いた通りに動く
そこでは思想など無意味だ
言語の仕組み上安楽にガードしやすいってだけの話だからね
しない・できない・忘れてたという場合はぬるぽぬるぽぬるぽだ
コードはまさに意図した通りではなく書いた通りに動く
そこでは思想など無意味だ
2017/11/05(日) 11:18:58.60ID:vfJyTH9D
Android Studioでのコード補完のパラメータ表示にInputStream!とか末尾に「!」が
ついてるんですが、これは何なんでしょうか?
ついてるんですが、これは何なんでしょうか?
61デフォルトの名無しさん
2017/11/05(日) 11:55:04.18ID:WRVCeBNz IntelliJ の T! は「T か T? のどちらか」を示す
つまりNullableかどうかすらわかんねえという記号
つまりNullableかどうかすらわかんねえという記号
2017/11/05(日) 12:09:14.89ID:vfJyTH9D
2017/11/05(日) 12:47:54.37ID:pFqd1r18
忘れてたって言ったって全部に?付けないとJavaと同じにならないわけで
?付けなけりゃコンパイル通らないしNULL安全意識せざるを得ない
?付けなけりゃコンパイル通らないしNULL安全意識せざるを得ない
2017/11/05(日) 14:29:21.23ID:kyKiHR5g
!! は、Nullable を、NotNull に強制変換する、危険な演算子だから、
requireNotNull 関数を使え
例えば、Java から、null が代入される場合、
String → IllegalStateException。ヌルポよりまし
String? → Nullable なのでOK
Platform Type
型を省略(String!) → デリファレンス時に、ヌルポ
Java からの戻り値がすべて、Nullable になるのは困るので、
その折衷案がPlatform Type
requireNotNull 関数を使え
例えば、Java から、null が代入される場合、
String → IllegalStateException。ヌルポよりまし
String? → Nullable なのでOK
Platform Type
型を省略(String!) → デリファレンス時に、ヌルポ
Java からの戻り値がすべて、Nullable になるのは困るので、
その折衷案がPlatform Type
6564
2017/11/05(日) 14:35:11.49ID:kyKiHR5g Java からの戻り値をすべて、Nullable にするのは面倒なので、
そのまま使ったのが、Platform Type
デリファレンス時に、ヌルポとなるため危険!
そのまま使ったのが、Platform Type
デリファレンス時に、ヌルポとなるため危険!
66デフォルトの名無しさん
2017/11/05(日) 14:40:57.73ID:YBVMpJn0 めんどくせえな
2017/11/05(日) 15:03:32.80ID:cR0WBKoF
Javaのほうのコードに@NonNullアノテーションつけとけば、KotlinからT!じゃなくてTとして扱える
2017/11/05(日) 15:52:17.12ID:WRVCeBNz
現代的な気遣いのされてるJavaライブラリはKotlinからでも便利に扱える
シガラミがあって旧来のままのライブラリはそりゃ利用者側が手間かけるしかない
シガラミがあって旧来のままのライブラリはそりゃ利用者側が手間かけるしかない
69デフォルトの名無しさん
2017/11/05(日) 16:52:07.10ID:J++DNvfV ラッパークラス作るぐらいしか方法なさそうだな
2017/11/05(日) 18:48:00.64ID:WL5EiVt2
ラッパークラスもありだし、OSSなライブラリだったらアノテーション付与してPR送るのも有用だな
2017/11/05(日) 19:23:52.87ID:giKdejUB
Kotlinから使いやすくなりました! みたいに言えるのはひょっとしたら売りになるかもしれんね
2017/11/05(日) 19:25:37.10ID:zDQnBwdh
ことりちゃん、マジ使いやすいぜグフフ
73デフォルトの名無しさん
2017/11/05(日) 19:26:26.36ID:YBVMpJn0 ことりんの擬人化はよ
2017/11/05(日) 20:25:14.58ID:UMg3GOyt
2017/11/05(日) 22:47:01.75ID:z1YM2S+z
(・8・)
76デフォルトの名無しさん
2017/11/06(月) 10:56:08.46ID:OqkByGQj やはり擬人化が必要だな
萌えキャラで
萌えキャラで
2017/11/06(月) 11:49:59.43ID:kblaZiQ3
何のために必要なの?
78デフォルトの名無しさん
2017/11/06(月) 13:01:01.21ID:V0vtn4gd それは君には中々理解できない理由による。
例えば以前Appleが傾いた時にジョブズが復帰してiMacを作ってAppleは救われたが、iMacはハードウェアとしてそんなに素晴らしかっただろうか?
たいして素晴らしくはないのだ。ブラウン管ディスプレイに本体入れて一体化しただけだ。しかし売れた。なぜか?
デザインがよかったからだ。コンピュータとしてはどうでもいい見た目が売れ行きに多大に影響した。
技術者から見ればどうでもよさそうなものでも甘く見てはいけないということだ。
例えば以前Appleが傾いた時にジョブズが復帰してiMacを作ってAppleは救われたが、iMacはハードウェアとしてそんなに素晴らしかっただろうか?
たいして素晴らしくはないのだ。ブラウン管ディスプレイに本体入れて一体化しただけだ。しかし売れた。なぜか?
デザインがよかったからだ。コンピュータとしてはどうでもいい見た目が売れ行きに多大に影響した。
技術者から見ればどうでもよさそうなものでも甘く見てはいけないということだ。
2017/11/06(月) 13:32:09.21ID:wZC/0idP
2017/11/06(月) 15:15:58.89ID:DlVzck/L
goが人気になった要因もgopher君が半分くらいあるからな。ことりんはいいな
81デフォルトの名無しさん
2017/11/06(月) 15:18:23.96ID:8DS1P3Ga ほんとおまえらはばかだなあ
日本の電子IT系なんてオタクの巣窟なんだから萌えキャラことりんで流行言語間違いなしやで
日本の電子IT系なんてオタクの巣窟なんだから萌えキャラことりんで流行言語間違いなしやで
2017/11/06(月) 16:21:48.60ID:kblaZiQ3
うわぁ、、、
2017/11/06(月) 16:34:20.33ID:9YhppvEm
ことりんとペアプログラミングしたい
2017/11/06(月) 19:29:33.22ID:otMLf3Eu
「ことりん」のライバルが「ざまりん」で草
85デフォルトの名無しさん
2017/11/06(月) 20:50:33.70ID:iuxlkbQ9 インアクションとなんとか太郎本どっち買おう
後者は本屋で見たんだけど
後者は本屋で見たんだけど
2017/11/06(月) 21:11:27.46ID:RNAOm4Mq
目指すとこがちゃうからな
現在どのくらい習熟してるかにもよるかと
現在どのくらい習熟してるかにもよるかと
2017/11/07(火) 06:11:35.45ID:uepCx6fG
「たのしいRuby 第5版、2016」高橋 征義
「みんなのPython 第4版、2017」柴田 淳
「Kotlinスタートブック、2016」長澤 太郎
この辺は、日本では、避けては通れない人達
「みんなのPython 第4版、2017」柴田 淳
「Kotlinスタートブック、2016」長澤 太郎
この辺は、日本では、避けては通れない人達
2017/11/07(火) 06:23:46.73ID:W6HmiFf1
逆に避けなくてはいけない人達はだれ?
2017/11/07(火) 07:22:52.64ID:atDIxfPJ
掌田津耶乃
2017/11/07(火) 08:53:40.81ID:kYRdbaxp
掌田津耶乃
91デフォルトの名無しさん
2017/11/07(火) 12:19:01.95ID:yzrwY/tJ そうなの?どういう点がまずいの?
2017/11/07(火) 12:37:41.70ID:08KjVeec
内容が薄い
93デフォルトの名無しさん
2017/11/07(火) 12:40:11.22ID:yzrwY/tJ なるほど。
濃いめなのは?
濃いめなのは?
2017/11/07(火) 12:53:17.32ID:atDIxfPJ
2017/11/07(火) 14:06:00.83ID:uepCx6fG
掌田津耶乃は、ほとんどの言語・フレームワーク・開発環境の、本を書いてる
売れ筋では、必ず顔を出す。
売れる分野に、掌田あり!
売れ筋では、必ず顔を出す。
売れる分野に、掌田あり!
2017/11/07(火) 17:10:16.14ID:qyKBmVxs
公式見て自習しろや、が通じるならセミナーとか講演会とか必要ないわけでな(いや、これに関しては別に必要ないとは思ってるが)
世の中の需要はあんまりロジカルではないのだ
世の中の需要はあんまりロジカルではないのだ
2017/11/07(火) 21:38:52.62ID:tWasbjrL
2017/11/07(火) 22:51:30.64ID:6NdbJPOz
昔の河西か
2017/11/07(火) 23:03:28.24ID:kYRdbaxp
入門書ばっかり書いて金儲けするのが目的なんだろう
100デフォルトの名無しさん
2017/11/07(火) 23:20:19.14ID:hhPr1fc6 やってみるとわかるのだが(やらなくてもいいが)、中上級者向けの本というのは全然儲からないのだ
書くの時間かかるし分厚くなって値段高くなるし売れなくなるしチェック内容増えるし時代遅れが混じるし下手すると共書だし
出来によっては「あのすごい便利な本を書いた人」という称号はいくらかの称賛になり、ひょっとしたら生活豊かルートをも開拓するかもしれないが、分は悪い
初心者向けの本をひとりで年に2冊くらい書いてたほうが、志低いと揶揄されながらもきちんと生活できるのさ
書くの時間かかるし分厚くなって値段高くなるし売れなくなるしチェック内容増えるし時代遅れが混じるし下手すると共書だし
出来によっては「あのすごい便利な本を書いた人」という称号はいくらかの称賛になり、ひょっとしたら生活豊かルートをも開拓するかもしれないが、分は悪い
初心者向けの本をひとりで年に2冊くらい書いてたほうが、志低いと揶揄されながらもきちんと生活できるのさ
101デフォルトの名無しさん
2017/11/08(水) 01:07:22.53ID:3tNQk30d 粗製濫造して食う飯はうまいか
102デフォルトの名無しさん
2017/11/08(水) 01:24:37.30ID:pvxNciwf やってみるとわかるとな?
103デフォルトの名無しさん
2017/11/08(水) 05:57:05.62ID:Z7LnM2jK 掌田津耶乃って何者? (Late 2012)
http://egg.2ch.net/test/read.cgi/mac/1349360916/
1 :Mac Fan Letterより転載 [sage] :2012/10/04(木) 23:28:36.22 ID:ZGQCgQTH0
● ネットサーフの溺死者たち
「友がみな我より偉く見ゆる日よ」
「2チャンネル」という最低最悪のサイトがある。
http://egg.2ch.net/test/read.cgi/mac/1349360916/
1 :Mac Fan Letterより転載 [sage] :2012/10/04(木) 23:28:36.22 ID:ZGQCgQTH0
● ネットサーフの溺死者たち
「友がみな我より偉く見ゆる日よ」
「2チャンネル」という最低最悪のサイトがある。
104デフォルトの名無しさん
2017/11/08(水) 06:28:34.57ID:ShM00Q+N >>94
器用貧乏とは言ったものの、翻訳書が原書+1000円くらいの値段になることがざらなことを考えると
英語の公式チュートリアルを訳しただけでも、値段相応なのかもしれん。
しかし、著者のことをよく知らずにタイトルだけでうっかり買ってしまったものの身にもなって欲しい(自己責任)
深く理解した上で書かれた本かどうかは、(本を必要とするレベルの人には)立ち読み程度ではわからない。
器用貧乏とは言ったものの、翻訳書が原書+1000円くらいの値段になることがざらなことを考えると
英語の公式チュートリアルを訳しただけでも、値段相応なのかもしれん。
しかし、著者のことをよく知らずにタイトルだけでうっかり買ってしまったものの身にもなって欲しい(自己責任)
深く理解した上で書かれた本かどうかは、(本を必要とするレベルの人には)立ち読み程度ではわからない。
105デフォルトの名無しさん
2017/11/08(水) 08:32:48.67ID:a/cZ4nXd Kotlinに限らずあれもこれも全く初心者に寄り添っていないことを鑑みると、初心者向けの本を書くというだけで価値があるのやもしれぬ
あなたがライブラリマニュアル作るときに開発環境のダウンロードやプログラミング言語の文法から説明しないのと同じだ
あなたがライブラリマニュアル作るときに開発環境のダウンロードやプログラミング言語の文法から説明しないのと同じだ
106デフォルトの名無しさん
2017/11/09(木) 10:27:49.04ID:IVrwQxMl 「単純に意味や役割が似通ってるメソッドを集めただけのメソッド集」を表すものってないですかね
Rubyでいうmoduleみたいなやつ
特にどのオブジェクトに属してるってわけでもない、誰も初期化しなくてよくてすぐメソッドが使えるやつ
いまobjectでシングルトンクラスにしてるけど、なんか漂う特別感に違和感が
Rubyでいうmoduleみたいなやつ
特にどのオブジェクトに属してるってわけでもない、誰も初期化しなくてよくてすぐメソッドが使えるやつ
いまobjectでシングルトンクラスにしてるけど、なんか漂う特別感に違和感が
107デフォルトの名無しさん
2017/11/09(木) 12:13:06.41ID:77e4Bz/I 適当なネームスペースで、メソッドじゃなくて関数だけ複数定義したファイルを作ればいいんじゃないかな?
108デフォルトの名無しさん
2017/11/09(木) 13:29:13.78ID:IVrwQxMl ああなるほど、packageで分ければいいのか…
シングルトンクラスの中に書くよりはしっくりくる…ような…気が…す…うん、そういうものだと思うことにします
シングルトンクラスの中に書くよりはしっくりくる…ような…気が…す…うん、そういうものだと思うことにします
109デフォルトの名無しさん
2017/11/09(木) 21:56:51.74ID:+8G/D3P4 Kotlinで以下の処理をスマートに書き直したらどうなりますか
int idx = -1;
for (int i=0; i<list.size(); i++) {
if (list[i].data == data) {
idx = i;
break;
}
}
(idxを使った処理)
int idx = -1;
for (int i=0; i<list.size(); i++) {
if (list[i].data == data) {
idx = i;
break;
}
}
(idxを使った処理)
110デフォルトの名無しさん
2017/11/09(木) 22:05:39.85ID:UXPTP/DS val idx = list.indexOfFirst{ it.data == data }
111デフォルトの名無しさん
2017/11/09(木) 22:25:18.35ID:UmUHoiDy 逆引き、ポケットリファレンスものを出して
112デフォルトの名無しさん
2017/11/09(木) 22:52:38.14ID:+8G/D3P4113デフォルトの名無しさん
2017/11/10(金) 09:13:11.87ID:oAWKYFWM >>111
とりあえずここで質問すれば答えが書かれるので、後でまとめページを作れば良い。
とりあえずここで質問すれば答えが書かれるので、後でまとめページを作れば良い。
114デフォルトの名無しさん
2017/11/10(金) 09:42:49.25ID:ju9EA6eo Kotlin、、怖ろしい子。。
115デフォルトの名無しさん
2017/11/11(土) 02:40:35.26ID:BhMQDmGd じゃばの妹ことりん
116デフォルトの名無しさん
2017/11/11(土) 03:22:51.50ID:xG+5Xfzv >>115
なんだその国民の妹みたいな表現は
なんだその国民の妹みたいな表現は
117デフォルトの名無しさん
2017/11/11(土) 10:02:03.10ID:N7WPFjKT ことりん星からやったきたことりん
118デフォルトの名無しさん
2017/11/11(土) 10:10:11.58ID:ydtAG8Bz >>117
それ最後に爆発するやつじゃんw
それ最後に爆発するやつじゃんw
119デフォルトの名無しさん
2017/11/11(土) 11:27:33.83ID:GExxj/Q0 お前ら「よーし新しく覚えたKotlinのあんな技こんな技使ってコーディングするぞー」
〜 数日後コードレビュー 〜
リーダー「あー、これ全部Javaと同じ感じで作り直しといてネ、ヨロシク」
〜 数日後コードレビュー 〜
リーダー「あー、これ全部Javaと同じ感じで作り直しといてネ、ヨロシク」
120デフォルトの名無しさん
2017/11/11(土) 13:22:59.28ID:2zKmkyWC ゆうこりん
121デフォルトの名無しさん
2017/11/11(土) 14:04:32.65ID:7fLEJN4j >>119
コーディングルールでピュアJava使えってなってるならただのアホだろw
コーディングルールでピュアJava使えってなってるならただのアホだろw
122デフォルトの名無しさん
2017/11/11(土) 21:12:50.74ID:F2DPX6tK123122
2017/11/11(土) 21:14:35.14ID:F2DPX6tK そして逆コンパイルしたJavaを提出して盛大に怒られる...みたいな。
こんなことで連投してスマン
こんなことで連投してスマン
124デフォルトの名無しさん
2017/11/12(日) 01:41:23.15ID:x+b1eGgz そんな会社辞めちまえ
125デフォルトの名無しさん
2017/11/12(日) 02:34:42.29ID:0YSprajH 君、セミコロンを忘れているよ。
126デフォルトの名無しさん
2017/11/13(月) 09:38:49.46ID:Ffr39/Md ;
127デフォルトの名無しさん
2017/11/15(水) 06:46:05.48ID:cIMRwHcF >>126
君、中身を忘れているよ^^;
君、中身を忘れているよ^^;
128デフォルトの名無しさん
2017/11/15(水) 12:16:34.07ID:XQCt13cq println(";")
129デフォルトの名無しさん
2017/11/15(水) 12:45:09.17ID:P+eW6LIt ぷりんとりん
130デフォルトの名無しさん
2017/11/15(水) 17:33:26.94ID:NOd3J7Vc そういや print って印刷って意味だよな。もはや時代も変わり誰も印刷してないのにプログラミング言語では print で出力が定番になっちゃったな。
131デフォルトの名無しさん
2017/11/15(水) 18:04:14.40ID:svkVDlGw 厳密には印字なのでギリギリ合ってる
原初のBASICのPRINT対象はテレタイプだったから印刷するという意図とはそもそもちょっとだけ違う
原初のBASICのPRINT対象はテレタイプだったから印刷するという意図とはそもそもちょっとだけ違う
132デフォルトの名無しさん
2017/11/15(水) 18:13:51.46ID:B4seksg+ ポワトリン
133デフォルトの名無しさん
2017/11/15(水) 20:09:08.28ID:hiEIJUlA ブラウン管に文字を焼き付けるから print
無理があるな。
無理があるな。
134デフォルトの名無しさん
2017/11/16(木) 10:46:41.50ID:Wcsn/bEa printの古い意味は押すだからな
135デフォルトの名無しさん
2017/11/16(木) 11:23:36.83ID:pe2ew9X7 そういえば昔、プリントごっこで押しまくってたな
136デフォルトの名無しさん
2017/11/16(木) 11:54:15.38ID:czRbGJih putもあるやん
137デフォルトの名無しさん
2017/11/16(木) 12:14:02.89ID:Wcsn/bEa >>136
putは置く
putは置く
138デフォルトの名無しさん
2017/11/16(木) 16:02:46.86ID:bDWmFK6d 押して痕跡残すようなのが print だな。
139デフォルトの名無しさん
2017/11/16(木) 20:15:28.89ID:Sk98YgzR kotlinの文法ってちょっと省略しすぎだし、やりすぎじゃねぇの・・・
C#の方がバランス取れてるわ。
C#の方がバランス取れてるわ。
140デフォルトの名無しさん
2017/11/16(木) 21:14:22.81ID:3Aqd/ZMZ >>139
具体的にはどういう文法のこと言ってるの?
具体的にはどういう文法のこと言ってるの?
141デフォルトの名無しさん
2017/11/17(金) 08:55:38.80ID:YqqDZ5Dd 慣れの問題だと思うけどなあ
142デフォルトの名無しさん
2017/11/17(金) 09:43:27.88ID:Ddb5xKAY 抽象化と少ないコードが正義な昨今の風潮ではこういう文法が受ける
本当にこれで良かったのかは後10年ぐらいしたらわかるだろう
本当にこれで良かったのかは後10年ぐらいしたらわかるだろう
143デフォルトの名無しさん
2017/11/17(金) 09:59:51.99ID:QGpoznNs144デフォルトの名無しさん
2017/11/17(金) 10:24:11.98ID:welKudTx CP/M80上で動くKotlin処理系が無い…
145デフォルトの名無しさん
2017/11/17(金) 10:46:54.88ID:8xh7qM4F これはこれで同じこと書いてる感がん〜って感じではある
class MyData(name: String, age: Int){
val name = name
val age = age
}
引数にval書けちゃうことでの「見かけ一貫性の破れ」と「引数もチェックしなければならなくなったという手間」は肯定する
class MyData(name: String, age: Int){
val name = name
val age = age
}
引数にval書けちゃうことでの「見かけ一貫性の破れ」と「引数もチェックしなければならなくなったという手間」は肯定する
146デフォルトの名無しさん
2017/11/17(金) 10:51:53.19ID:ENBrszFD というかあれはdataクラスを便利に書くためだけのギミックな気がするぞ
しかし言われてみれば視線的にめっちゃ遠いのはその通りだな、家のやつは今度使わずに書いてみるか
しかし言われてみれば視線的にめっちゃ遠いのはその通りだな、家のやつは今度使わずに書いてみるか
147デフォルトの名無しさん
2017/11/17(金) 11:08:33.26ID:YqqDZ5Dd >>144
JavaVMが動かんわw
JavaVMが動かんわw
148デフォルトの名無しさん
2017/11/17(金) 15:22:12.81ID:4edLbtL+ KotlinがNull安全といっても結局、Javaなどの使用するクラスライブラリがNull安全じゃないからな。
Kotlinだけで閉じてればいいけど、Kotlin最小限のライブラリしか用意してねぇし。どうすりゃいいんでしょうか??
「!!」演算子積極的に使えばいいの?
Kotlinだけで閉じてればいいけど、Kotlin最小限のライブラリしか用意してねぇし。どうすりゃいいんでしょうか??
「!!」演算子積極的に使えばいいの?
149デフォルトの名無しさん
2017/11/17(金) 15:36:01.97ID:ocCweAVX 自分のメソッドは全部ヌルポ無しにすればいい。
150デフォルトの名無しさん
2017/11/17(金) 15:42:27.11ID:4edLbtL+ うん。自分のメソッドはNot Nullにしてるけど、その実装で結局、Javaのクラスが絡む事多いから、
その実装部分で「!!」連発してるんだけど、なんだかなぁ・・・・・
その実装部分で「!!」連発してるんだけど、なんだかなぁ・・・・・
151デフォルトの名無しさん
2017/11/17(金) 15:49:49.94ID:ENBrszFD ぬるぽが出そうならトラップするという記法がKotlinにはいくつもあるだろそれ使え
chackNotNull(nullable){ "ぬるぽだけは阻止しましたが例外で落ちますさようなら" }
nullable?.aaa?.bbb ?: throw RuntimeException("エラーとぬるぽって死ぬ点で大差なくね?")
when(){
nullable == null -> println("おかあさんに言いつける")
isSomeState -> nullable.xxx.yyy // 文脈上nullが来得ないので ?. で書かなくていい
}
chackNotNull(nullable){ "ぬるぽだけは阻止しましたが例外で落ちますさようなら" }
nullable?.aaa?.bbb ?: throw RuntimeException("エラーとぬるぽって死ぬ点で大差なくね?")
when(){
nullable == null -> println("おかあさんに言いつける")
isSomeState -> nullable.xxx.yyy // 文脈上nullが来得ないので ?. で書かなくていい
}
152デフォルトの名無しさん
2017/11/17(金) 15:51:51.91ID:ENBrszFD ああまた空whenに()つけてる
毎回間違って毎回IDEに文句言われるんだよなこれ
毎回間違って毎回IDEに文句言われるんだよなこれ
153デフォルトの名無しさん
2017/11/17(金) 16:16:30.86ID:4edLbtL+ >ぬるぽが出そうならトラップ
ぬるぽが出そうというより、Javaのクラスから返される型は「型名!」ってAndroid Studioを
表示されてて、この型ってNullableの「型名?」と同じでNullチェックしないといけないと思ってて
「!!」連発してたんだが、これ違うな・・・
「型名!」ってNullチェックしなくてもいいのか・・・
つか、言語仕様上どんな扱いになってんだこれ・・
ぬるぽが出そうというより、Javaのクラスから返される型は「型名!」ってAndroid Studioを
表示されてて、この型ってNullableの「型名?」と同じでNullチェックしないといけないと思ってて
「!!」連発してたんだが、これ違うな・・・
「型名!」ってNullチェックしなくてもいいのか・・・
つか、言語仕様上どんな扱いになってんだこれ・・
154デフォルトの名無しさん
2017/11/17(金) 16:19:43.26ID:4edLbtL+155デフォルトの名無しさん
2017/11/17(金) 16:38:25.33ID:ENBrszFD T? と T or T? は違うよ
Nullableかどうかすらわからない後者の場合はnullチェックしなくてもコンパイルは通るよ
「だってそれはNullableではないから」
まあ、そしてぬるぽが出るんだけども
Kotlin的にはnullチェックは不要だけどIDE的にはnullが入りうることがわかってるので気を付けてね! の ! だ
Nullableかどうかすらわからない後者の場合はnullチェックしなくてもコンパイルは通るよ
「だってそれはNullableではないから」
まあ、そしてぬるぽが出るんだけども
Kotlin的にはnullチェックは不要だけどIDE的にはnullが入りうることがわかってるので気を付けてね! の ! だ
156デフォルトの名無しさん
2017/11/17(金) 17:00:12.18ID:4edLbtL+157デフォルトの名無しさん
2017/11/17(金) 17:09:53.72ID:4edLbtL+ >T? と T or T? は違うよ
T or T?がプラットフォーム型というやつですかね。で、プラットフォーム型ではNullチェックが緩和される
って書いてありましたね。
T? と T or T? は同じと勘違いしてました。要はT or T?か分からないから、よりたくさん表現できるT?として扱えばいいし、
そうなってるのかと勘違いしてました。
T or T?がプラットフォーム型というやつですかね。で、プラットフォーム型ではNullチェックが緩和される
って書いてありましたね。
T? と T or T? は同じと勘違いしてました。要はT or T?か分からないから、よりたくさん表現できるT?として扱えばいいし、
そうなってるのかと勘違いしてました。
158デフォルトの名無しさん
2017/11/17(金) 17:41:51.36ID:4edLbtL+ つか、デバッグしてて思ったけど、C#のusing (resource)やlock文に相当する言語組み込みの
文がkotlinにないのがちょっとめんどくさいよね。ステップオバーで順にどんどん進めねぇじゃねぇか・・
inputStream.use {
// いちいちここにブレークポイント設定しないと・・・
}とかだと、実態は関数呼び出しだから、ステップオーバーだと、内部のブロック飛び越えちゃう・・
文がkotlinにないのがちょっとめんどくさいよね。ステップオバーで順にどんどん進めねぇじゃねぇか・・
inputStream.use {
// いちいちここにブレークポイント設定しないと・・・
}とかだと、実態は関数呼び出しだから、ステップオーバーだと、内部のブロック飛び越えちゃう・・
159デフォルトの名無しさん
2017/11/17(金) 17:57:25.06ID:ENBrszFD ステップイン/ステップアウトではだめなのか
160デフォルトの名無しさん
2017/11/17(金) 18:06:21.43ID:4edLbtL+ ああ、ステップインで行けたね。ステップインすると、最初useなどの拡張関数の方にぶっとぶかと思ったけど、
自分のブロックの方に直接飛べるのか。
まぁ、オーバー・インを切り替えるのひと手間だけど、まぁそれぐらいなら。
自分のブロックの方に直接飛べるのか。
まぁ、オーバー・インを切り替えるのひと手間だけど、まぁそれぐらいなら。
161デフォルトの名無しさん
2017/11/17(金) 20:50:48.90ID:4edLbtL+ 正直、AndroidのJavaの代替としてKotlinを使うなら、Android Studio 3.0でJavaで全APIレベルでラムダ式が
使えるようになったらしいし、後、Javaにvarなどのローカル変数の型推論あたりがくれば、Javaでも
いいかなと思うが(async/awaitもほしいけど)、Kotlin for JavaScriptの存在を知って、
ちょうど、JavaScriptとかスクリプト言語を本格的に使った事なく動的型付け言語使いたくない自分にぴったしだと
思ってKotlin覚えてみようかなと思ってきた。
Kotlin,JavaScriptでググってもあんま引っかからんけど、TypeScriptとかにとって代わったりしそうじゃねぇか??
使えるようになったらしいし、後、Javaにvarなどのローカル変数の型推論あたりがくれば、Javaでも
いいかなと思うが(async/awaitもほしいけど)、Kotlin for JavaScriptの存在を知って、
ちょうど、JavaScriptとかスクリプト言語を本格的に使った事なく動的型付け言語使いたくない自分にぴったしだと
思ってKotlin覚えてみようかなと思ってきた。
Kotlin,JavaScriptでググってもあんま引っかからんけど、TypeScriptとかにとって代わったりしそうじゃねぇか??
162デフォルトの名無しさん
2017/11/17(金) 21:21:37.83ID:3GAWOghK163デフォルトの名無しさん
2017/11/17(金) 21:40:35.61ID:/4Y2zvAi Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Kotlin = Java + Groovy
Haxe, Kotlin, Ruby をやると、他の言語がクソに見える
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop
このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/
Kotlin = Java + Groovy
Haxe, Kotlin, Ruby をやると、他の言語がクソに見える
164デフォルトの名無しさん
2017/11/17(金) 22:45:03.99ID:mCQOvNmw Hexe ってドイツ語で魔女って意味だな
165デフォルトの名無しさん
2017/11/17(金) 23:45:36.46ID:aGWwpVlc >>163
言語がどうのこうの言ってるうちは、まだまだだよ。
言語がどうのこうの言ってるうちは、まだまだだよ。
16625
2017/11/18(土) 00:02:14.05ID:oC0amP9+ kotlinから始めたら挫折して、
結局Javaの勉強再開しました。
何個かアプリ作れるようになったけどまだまだ。
Java覚えたらkotlinまで追いつきたい。
結局Javaの勉強再開しました。
何個かアプリ作れるようになったけどまだまだ。
Java覚えたらkotlinまで追いつきたい。
167デフォルトの名無しさん
2017/11/18(土) 00:31:51.67ID:ZnPkEcCx Javaで動くアプリ作れてKotlin書けないってのもわりとレアケースだと思うのだが(完全に全くJava以外の経験がないとか?)
まあ個人の進度に文句もないしKotlinはしばらく逃げないので焦らずお好きにやっていただきたい
まあ個人の進度に文句もないしKotlinはしばらく逃げないので焦らずお好きにやっていただきたい
168デフォルトの名無しさん
2017/11/18(土) 00:47:06.52ID:oC0amP9+169デフォルトの名無しさん
2017/11/18(土) 16:34:14.39ID:6foiYhRZ Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
170デフォルトの名無しさん
2017/11/18(土) 16:40:27.50ID:d2ucUmS6 ngsw tr
171デフォルトの名無しさん
2017/11/18(土) 16:53:48.97ID:UH67JXx8 プログラミング言語初学に向かないのは多分間違いない
172デフォルトの名無しさん
2017/11/19(日) 08:38:46.28ID:OIO3sRlf C#のusingもJavaのtry-with-resourcesもkotlin.io.useも気に入らない
GCだからC++やSwiftのようなデストラクタまでは無くてもいいけど
せめて use val xx = ... のようにキーワード付き変数の場合に
スコープアウトでcloseする構文を用意して欲しい
後処理の指定ごときでいちいちブロックスコープ増やすなと
GCだからC++やSwiftのようなデストラクタまでは無くてもいいけど
せめて use val xx = ... のようにキーワード付き変数の場合に
スコープアウトでcloseする構文を用意して欲しい
後処理の指定ごときでいちいちブロックスコープ増やすなと
173デフォルトの名無しさん
2017/11/19(日) 11:36:10.68ID:8FVAlHGr >>172
中括弧省略すればブロックスコープ増えないし、ほぼそれと同じ構文で書けるやん
中括弧省略すればブロックスコープ増えないし、ほぼそれと同じ構文で書けるやん
174デフォルトの名無しさん
2017/11/19(日) 11:57:19.58ID:2bHJHjAx そーゆークラスを作ればいい
内部的にはそうしてても使う側が意識しなきゃそれでいい
内部的にはそうしてても使う側が意識しなきゃそれでいい
175デフォルトの名無しさん
2017/11/19(日) 12:11:45.04ID:IcfiaN/i StackOverFlowで「○○するにはどうすればいいですか」に対して
自作の20行くらいの関数返して「こうすれば1行で書ける」とか言う回答者みたいだなw
自作の20行くらいの関数返して「こうすれば1行で書ける」とか言う回答者みたいだなw
176デフォルトの名無しさん
2017/11/19(日) 13:20:53.07ID:OIO3sRlf 例えばこれを
openCamera(id).use { dev ->
dev.video().use { vidIn ->
File(dstPath).outputStream().use { output ->
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
}
}
}
このように
use val dev = cameraOpen(id)
use val vidIn = dev.video()
use val output = File(dstPath).outputStream()
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
openCamera(id).use { dev ->
dev.video().use { vidIn ->
File(dstPath).outputStream().use { output ->
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
}
}
}
このように
use val dev = cameraOpen(id)
use val vidIn = dev.video()
use val output = File(dstPath).outputStream()
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
177デフォルトの名無しさん
2017/11/19(日) 13:22:16.49ID:OIO3sRlf 次点で、golangのdeferのように
val dev = cameraOpen(id)
defer{dev.close()}
val vidIn = dev.video()
defer{vidIn.close()}
val output = File(dstPath).outputStream()
defer{output.close()}
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
としたい
usingやuse関数での書き方が駄目とまでは言わないが俺は気に入らない
val dev = cameraOpen(id)
defer{dev.close()}
val vidIn = dev.video()
defer{vidIn.close()}
val output = File(dstPath).outputStream()
defer{output.close()}
val vidOut = videoWriter(output)
vidIn.eachFrame { frame ->
filter.write(frame, vidOut)
return checkContinue()
}
としたい
usingやuse関数での書き方が駄目とまでは言わないが俺は気に入らない
178デフォルトの名無しさん
2017/11/19(日) 14:00:39.13ID:uqF6CIR0 そういやjetbrainのIDEってjavaで出来てるんだよな。
kotlinで書き直されたりしてんのかな。そのへんどうなの?中の人とか?
kotlinで書き直されたりしてんのかな。そのへんどうなの?中の人とか?
179デフォルトの名無しさん
2017/11/19(日) 14:24:47.63ID:OIO3sRlf >>173
どういうこと?
どういうこと?
180デフォルトの名無しさん
2017/11/19(日) 15:32:50.61ID:XHxD1mSV181デフォルトの名無しさん
2017/11/19(日) 15:53:26.75ID:YGg5hSh9 try-with-resourcesみたいに「ここでリソース開いてるしエラーも起こりうるぞ!」って明示してくれるのが好き
182デフォルトの名無しさん
2017/11/19(日) 16:35:29.23ID:ziYSLzJF 文句の本質的には「ブロックネスト深すぎて見かけの空白多くてキモい」ってだけだよねコレ
まあ見かけはかなり重要なのだが
どこでcloseが起こるかわかるほうがいいとは思うけどな
ブロック深いのとは別件な気がする
まあ見かけはかなり重要なのだが
どこでcloseが起こるかわかるほうがいいとは思うけどな
ブロック深いのとは別件な気がする
183デフォルトの名無しさん
2017/11/19(日) 17:52:32.52ID:OIO3sRlf184デフォルトの名無しさん
2017/11/19(日) 19:48:25.52ID:8FVAlHGr >>179
if文で中括弧を省略できるのと一緒
if文で中括弧を省略できるのと一緒
185デフォルトの名無しさん
2017/11/19(日) 20:14:04.01ID:wMfO08BI kotlinはまず開発環境をもっと整えてほしいわ。
特にVisual Studio Codeで無料の拡張プラグインを。
JetBrainはIDEを打ってる会社なのかもしれんが・・
特にVisual Studio Codeで無料の拡張プラグインを。
JetBrainはIDEを打ってる会社なのかもしれんが・・
186デフォルトの名無しさん
2017/11/19(日) 20:34:18.95ID:OIO3sRlf187デフォルトの名無しさん
2017/11/19(日) 20:38:00.92ID:ziYSLzJF forを読めるが書けない
これだけが毎回全く覚えられない(あの形式はレガシーであって何の意味もないと思う)
イテレータでいいと思うのだが、Rangeはなにやら遅いとか言われてて憂鬱だ
これだけが毎回全く覚えられない(あの形式はレガシーであって何の意味もないと思う)
イテレータでいいと思うのだが、Rangeはなにやら遅いとか言われてて憂鬱だ
188デフォルトの名無しさん
2017/11/19(日) 20:49:57.92ID:8FVAlHGr >>186
書いてみ
書いてみ
189デフォルトの名無しさん
2017/11/19(日) 21:05:03.09ID:OIO3sRlf >>188
いや、イメージ出来ないから書いてよ
いや、イメージ出来ないから書いてよ
190デフォルトの名無しさん
2017/11/19(日) 21:12:25.17ID:rL41c0pH191デフォルトの名無しさん
2017/11/19(日) 21:19:58.43ID:8FVAlHGr >>189
ifの中括弧省略と一緒と聞いて本当にわからないのであれば重症やな
ifの中括弧省略と一緒と聞いて本当にわからないのであれば重症やな
192デフォルトの名無しさん
2017/11/19(日) 21:50:45.20ID:OIO3sRlf193デフォルトの名無しさん
2017/11/19(日) 22:15:39.30ID:VtdgNv5T194デフォルトの名無しさん
2017/11/20(月) 00:57:34.61ID:iI7hyhyt195デフォルトの名無しさん
2017/11/20(月) 03:18:31.42ID:GkhyFhEh >>177
File.open(ファイル名) do |file|
処理
end
Ruby では、File.open()に、クロージャの実装である、ブロックを渡すと、
close()する必要がなくなる。
自動的に内部的に、例外処理で囲んで、finally で、close してくれる
たいていの言語で、そう
File.open(ファイル名) do |file|
処理
end
Ruby では、File.open()に、クロージャの実装である、ブロックを渡すと、
close()する必要がなくなる。
自動的に内部的に、例外処理で囲んで、finally で、close してくれる
たいていの言語で、そう
196デフォルトの名無しさん
2017/11/21(火) 07:47:12.65ID:UlNCYsFF JVM版とNative版など環境がいくつかあるけど、標準ライブラリは基本共通なの?
197デフォルトの名無しさん
2017/11/21(火) 11:37:34.13ID:y9fg6IYd こういう風に違うシグネチャの関数の参照はどうしたら良いのか?
https://ideone.com/jXVu5V
https://ideone.com/jXVu5V
198デフォルトの名無しさん
2017/11/21(火) 12:00:29.42ID:7oGfHzA7 未対応なので回避策とるくらいしか
val fa = {n:Int -> f(n) }
val fb = {n:Int, s:String -> f(n, s) }
val fa = {n:Int -> f(n) }
val fb = {n:Int, s:String -> f(n, s) }
199デフォルトの名無しさん
2017/11/21(火) 12:29:26.29ID:y9fg6IYd あ。未対応だったのか。どうりでいくら調べても見つからないと思った。
それならそんな風に書くしかないね。
それならそんな風に書くしかないね。
200デフォルトの名無しさん
2017/11/21(火) 13:08:24.36ID:7oGfHzA7201デフォルトの名無しさん
2017/11/21(火) 14:11:23.59ID:tR+VGZDq202デフォルトの名無しさん
2017/11/21(火) 21:30:56.20ID:PjtBzSS0 >>196
コアの標準ライブラリは原則共通だが、JS, JVM(, Natevie)ごとに専用の「標準」ライブラリがある。
https://kotlinlang.org/api/latest/jvm/stdlib/index.html
コアの標準ライブラリは原則共通だが、JS, JVM(, Natevie)ごとに専用の「標準」ライブラリがある。
https://kotlinlang.org/api/latest/jvm/stdlib/index.html
203デフォルトの名無しさん
2017/11/25(土) 13:24:58.89ID:x3Ny6L+y あるメソッドの中の処理を切り出して作った1行系プライベートメソッドってあるよね
親メソッドの前に書いたほうがいい? 後に書いたほうがいい?
親メソッドに長いJavaDoc、または長めのコメントがある場合、前に書いちゃうとプライベートメソッドが離れちゃって見難い/醜いよね
// subするメソッド
private fun subMethod() = ...
/*
* メインなことをするメソッド
* がんばってつくりました
* 3行も説明書いたのでボーナスください
*/
fun mainMethod(arg: SomeObj){
...
}
そういう意味ではメインのあとに書いたほうがいいんだけど、親メソッド読んでる最中に見たことないメソッドが出てきちゃって「ん??」ってなるよね
fun mainMethod{
...
....subMethod(...) ← えっコレ何?
}
private fun subMethod() = ←定義ここかよおせーよ
Java書いたことないからこのへんの作法わかんないんだけど、なにか傾向とかあるのかな
親メソッドの前に書いたほうがいい? 後に書いたほうがいい?
親メソッドに長いJavaDoc、または長めのコメントがある場合、前に書いちゃうとプライベートメソッドが離れちゃって見難い/醜いよね
// subするメソッド
private fun subMethod() = ...
/*
* メインなことをするメソッド
* がんばってつくりました
* 3行も説明書いたのでボーナスください
*/
fun mainMethod(arg: SomeObj){
...
}
そういう意味ではメインのあとに書いたほうがいいんだけど、親メソッド読んでる最中に見たことないメソッドが出てきちゃって「ん??」ってなるよね
fun mainMethod{
...
....subMethod(...) ← えっコレ何?
}
private fun subMethod() = ←定義ここかよおせーよ
Java書いたことないからこのへんの作法わかんないんだけど、なにか傾向とかあるのかな
204デフォルトの名無しさん
2017/11/25(土) 14:14:06.62ID:UdkhV+zK IDEの機能で定義に飛ぶから別に気にならない
ソースファイルを上から順に眺めていくってあんまりないなあ
ソースファイルを上から順に眺めていくってあんまりないなあ
205デフォルトの名無しさん
2017/11/25(土) 14:31:50.70ID:uI9d/XUE どっちでもいいけど自分は後ろ。
定義なんてIDEでジャンプできるんだしどうでもいいでしょ。
定義なんてIDEでジャンプできるんだしどうでもいいでしょ。
206デフォルトの名無しさん
2017/11/25(土) 22:18:25.21ID:x3Ny6L+y >定義に飛ぶから
>定義なんてIDEでジャンプできる
なんだよ
(いろいろ眺めつつ)IntelliJ IDEAではF4かな。とう。おお。…さっきのとこ戻るにはどうすればいいんだろう
https://youtrack.jetbrains.com/issue/IDEA-119474
無理か。まあいいや
いや、それにしても固めて書いておく時の一般的なやり方とか見てて迷わない書き方とかあるのかなーと思って
>定義なんてIDEでジャンプできる
なんだよ
(いろいろ眺めつつ)IntelliJ IDEAではF4かな。とう。おお。…さっきのとこ戻るにはどうすればいいんだろう
https://youtrack.jetbrains.com/issue/IDEA-119474
無理か。まあいいや
いや、それにしても固めて書いておく時の一般的なやり方とか見てて迷わない書き方とかあるのかなーと思って
207デフォルトの名無しさん
2017/11/25(土) 23:17:25.05ID:O9/4xpc9208デフォルトの名無しさん
2017/11/26(日) 00:38:59.47ID:ReeFqnN/ 戻るのはデフォルトだとたぶん Ctrl+Alt+左
定義に飛んでその後戻るのをキーボードで素早くできるようにしとかないと作業が捗らんから、
おれはどんな環境でもAlt+ピリオドとAlt+カンマにカスタマイズする
たまにカスタマイズできない環境もあるが
定義に飛んでその後戻るのをキーボードで素早くできるようにしとかないと作業が捗らんから、
おれはどんな環境でもAlt+ピリオドとAlt+カンマにカスタマイズする
たまにカスタマイズできない環境もあるが
209デフォルトの名無しさん
2017/11/26(日) 01:48:55.48ID:uWNno6dr >>206
F4ではなくCTRL+マウスクリックじゃない?
F4ではなくCTRL+マウスクリックじゃない?
210デフォルトの名無しさん
2017/11/26(日) 02:41:23.75ID:ReeFqnN/ F4 は "Jump to Source" で、Ctrl+Button1 は "Decraration" だね
両方とも定義へ飛ぶけど、定義を選択して操作したときに "Decraration" のほうは使用箇所へ飛ぶメニューがでるね
おれは間違えて押したときにメニューでるのが面倒なのでキーにカスタマイズして使ってるのは "Jump to Source" の方
使用箇所へ飛びたいときには Find usages を使うし
両方とも定義へ飛ぶけど、定義を選択して操作したときに "Decraration" のほうは使用箇所へ飛ぶメニューがでるね
おれは間違えて押したときにメニューでるのが面倒なのでキーにカスタマイズして使ってるのは "Jump to Source" の方
使用箇所へ飛びたいときには Find usages を使うし
211デフォルトの名無しさん
2017/11/26(日) 12:28:30.17ID:uWNno6dr あー
F4でjump to sourceし
CMD+F4 (Macの場合)でタブクローズすればいいんじゃない
あと、quick definitionってのもある
F4でjump to sourceし
CMD+F4 (Macの場合)でタブクローズすればいいんじゃない
あと、quick definitionってのもある
212デフォルトの名無しさん
2017/11/26(日) 13:15:15.98ID:X819E48M vimのプラグイン入れてるけどcommand+[ですぐ戻れる
213デフォルトの名無しさん
2017/11/26(日) 13:19:18.06ID:uWNno6dr 基本はそれですね、開いたタブを同時に閉じたい場合はcloseかな
214デフォルトの名無しさん
2017/11/26(日) 23:28:16.74ID:ReeFqnN/ Jump to SourceとDecrarationの違いを、もうひとつ見つけてしまった
DecrarationはAndroid環境だとリソースIDからレイアウトXMLへ飛んだりもできるのね
Jump to SourceだとリソースIDそのものの値を定義してるファイルに飛んじゃうので意味無い
やっぱデフォルトはDecrarationにしよう・・・
DecrarationはAndroid環境だとリソースIDからレイアウトXMLへ飛んだりもできるのね
Jump to SourceだとリソースIDそのものの値を定義してるファイルに飛んじゃうので意味無い
やっぱデフォルトはDecrarationにしよう・・・
215デフォルトの名無しさん
2017/11/27(月) 11:07:32.61ID:nNid/MSo haskellとか知ってると、まず宣言的コードがあって実装はあとからついてくるコードスタイルでも違和感はない。
トップダウンで見るかボトムアップで見るかの違い。
トップダウンで見るかボトムアップで見るかの違い。
216デフォルトの名無しさん
2017/11/27(月) 14:13:27.80ID:NQTs/ol9 まあ、IDEさまさまなところはあるにはある
IDEがなかったら全然違っていただろうなと思う事象は多い
IDEがなかったら全然違っていただろうなと思う事象は多い
217デフォルトの名無しさん
2017/11/28(火) 17:13:53.17ID:tIAa+Uq8 IDEってEclipse?AndroidStudioのベータ?
218デフォルトの名無しさん
2017/11/28(火) 18:39:50.36ID:FPBjC+Ob JetBrains製以外のIDE使ってる人居るのかな
Vimは居そう
Vimは居そう
219デフォルトの名無しさん
2017/11/28(火) 19:03:29.92ID:nX0y7tBa220デフォルトの名無しさん
2017/11/28(火) 19:50:02.49ID:9tkU9YCi Eclipseとか原始時代の道具をまだ使ってるやつがいるのか
221デフォルトの名無しさん
2017/11/28(火) 20:45:44.51ID:jRr2P5U7 他の言語で使えるからな
222デフォルトの名無しさん
2017/11/28(火) 20:54:28.46ID:KE6VY8J8 Linuxなんてずっと原始時代のままだよ。
223デフォルトの名無しさん
2017/11/28(火) 20:58:14.84ID:jRr2P5U7 ん?でも Linux でも IntelliJ 使えるよ。
224デフォルトの名無しさん
2017/11/28(火) 20:59:52.92ID:KE6VY8J8 まだみんなviだよ。
225デフォルトの名無しさん
2017/11/28(火) 21:09:08.70ID:jRr2P5U7 ああ。まあ。確かにviってかvim使う方が多いが、さほど困らんなあ。
226デフォルトの名無しさん
2017/11/28(火) 22:43:55.76ID:TzRq1z8j リモートデスクトップ経由でLinuxのIntelliJ&Android Studio使ってうっひょーって言ってるよ
Emacsのkotlin-modeがぜんぜんイマイチなのはIntelliJ IDEAのせいではないかと思っている
Emacsのkotlin-modeがぜんぜんイマイチなのはIntelliJ IDEAのせいではないかと思っている
227デフォルトの名無しさん
2017/11/29(水) 12:14:21.94ID:UK37Nyfh IdeaVimプラグインおすすめ
228デフォルトの名無しさん
2017/11/29(水) 12:23:23.58ID:HtxXnaax 1.2がリリースですよ?
229デフォルトの名無しさん
2017/11/29(水) 12:38:07.31ID:rN1pofYI >>226
IDEAがあるせいで他がしょぼいというより、Kotlinの歴史の浅さやまだゴミのようなシェアの割にはIDEAの出来が良いんだろ
Kotlin自体がJetBrainsによってIDEAで使うために作った言語なんだから当然
IDEAがあるせいで他がしょぼいというより、Kotlinの歴史の浅さやまだゴミのようなシェアの割にはIDEAの出来が良いんだろ
Kotlin自体がJetBrainsによってIDEAで使うために作った言語なんだから当然
230デフォルトの名無しさん
2017/11/29(水) 12:52:25.81ID:3kSmCAWV >>227
ああ。あれいいね。
ああ。あれいいね。
231デフォルトの名無しさん
2017/11/29(水) 14:26:22.47ID:LyP2QHxX Kotlinはidea以外の環境を最低一つサポートしろよな。自社でIDEを売ってるからやだとかはやめてくれ。
VisualStudio Codeかatomのどっちかの軽量環境は最低どちらかサポートしろよ。
VisualStudio Codeかatomのどっちかの軽量環境は最低どちらかサポートしろよ。
232デフォルトの名無しさん
2017/11/29(水) 15:11:26.12ID:xfNGuvaJ 言語提供側がすべきなのは処理系の提供であって
IDE云々で文句を言うのは筋違い
IDE云々で文句を言うのは筋違い
233デフォルトの名無しさん
2017/11/29(水) 15:12:57.24ID:Z0yAcQLL それは処理系に言う筋合いのものではないが。
最近のエコシステムに慣れすぎるとそう言いたくなるのはわからんでもないが。
最近のエコシステムに慣れすぎるとそう言いたくなるのはわからんでもないが。
234デフォルトの名無しさん
2017/11/29(水) 15:22:03.64ID:nwFY0Upv いや分からん
235デフォルトの名無しさん
2017/11/29(水) 15:29:21.72ID:LyP2QHxX 使う側からしてみれば、言語提供側だろうが処理系だろうがどうでもいい。
ユーザーにとって使いやすくしたいとおもってて、他がやらないなら
最終的に言語提供側が提供すればいいだけだし。
ユーザーにとって使いやすくしたいとおもってて、他がやらないなら
最終的に言語提供側が提供すればいいだけだし。
236デフォルトの名無しさん
2017/11/29(水) 15:30:52.57ID:LyP2QHxX もちろん、JetBrainsの開発リソースも限られてるが、そんなの使う側からしたら
それもどうでもいい。使いやすければユーザーが増える可能性あるし、使いにくければないだろう。
ただそれだけ。
それもどうでもいい。使いやすければユーザーが増える可能性あるし、使いにくければないだろう。
ただそれだけ。
237デフォルトの名無しさん
2017/11/29(水) 15:34:28.47ID:xfNGuvaJ238デフォルトの名無しさん
2017/11/29(水) 15:42:48.79ID:LyP2QHxX239デフォルトの名無しさん
2017/11/29(水) 15:45:22.41ID:LyP2QHxX >使う側からしてみれば、言語提供側だろうが処理系だろうがどうでもいい
は
>使う側からしてみれば、言語提供側だろうが言語提供側以外だろうがどうでもいい
あたりでw
は
>使う側からしてみれば、言語提供側だろうが言語提供側以外だろうがどうでもいい
あたりでw
240デフォルトの名無しさん
2017/11/29(水) 19:04:08.56ID:UK37Nyfh 時代はジェットブレインなんだよ
MicrosoftのVisualStudioとかいう原始時代の道具は時代遅れ
MicrosoftのVisualStudioとかいう原始時代の道具は時代遅れ
241デフォルトの名無しさん
2017/11/29(水) 19:06:37.15ID:azEm6Mj/ microsoftはjavaとあんまりかんけーし
242デフォルトの名無しさん
2017/11/29(水) 19:26:30.80ID:Ut1ew1uc かんけーし
243デフォルトの名無しさん
2017/11/29(水) 19:33:24.71ID:X5HBmKqd Kotlinで文字列を返すenumを使うときは、
やっぱりJavaと同じようにnameとかtoStringを呼ばないといけませんか?
例えば↓のようなenumがあったときに
enum class Name(name: String) {
Foo("foo")
}
"foo"を使うときはこうすると思います
val name = Name.Foo.name()
しかし、name()が気に入りません。↓のようにはできませんでしょうか
val name = Name.Foo
やっぱりJavaと同じようにnameとかtoStringを呼ばないといけませんか?
例えば↓のようなenumがあったときに
enum class Name(name: String) {
Foo("foo")
}
"foo"を使うときはこうすると思います
val name = Name.Foo.name()
しかし、name()が気に入りません。↓のようにはできませんでしょうか
val name = Name.Foo
244デフォルトの名無しさん
2017/11/29(水) 21:00:19.88ID:FLL8HsjL >>240
あほ
あほ
245デフォルトの名無しさん
2017/11/29(水) 21:05:55.88ID:9RrEnJIt 天才
246デフォルトの名無しさん
2017/11/29(水) 21:23:58.21ID:Vh6sORy3 >>240
骨董品UNIXより常に20年先行ってる。
骨董品UNIXより常に20年先行ってる。
247デフォルトの名無しさん
2017/11/29(水) 21:27:39.83ID:Vh6sORy3 >>241
MS製JVMは性能が良すぎてみなそれを使うようになり、Sunに訴えられたから捨てたんだぞ。
MS製JVMは性能が良すぎてみなそれを使うようになり、Sunに訴えられたから捨てたんだぞ。
248デフォルトの名無しさん
2017/11/29(水) 21:53:07.67ID:DIMn1CuR J#だったからじゃないのか
249デフォルトの名無しさん
2017/11/29(水) 21:59:56.13ID:DBojqp7K >>243
Name.Fooがenumのメンバーを返さないのなら、enumじゃなくてもいいのではない?
Name.Fooがenumのメンバーを返さないのなら、enumじゃなくてもいいのではない?
250デフォルトの名無しさん
2017/11/29(水) 22:09:21.88ID:puYUWHlJ 今やUnix向けの開発者も揃ってVSCodeだもんなあ
開発環境ではMSには敵わないよ
Kotlinは遠からずVSCodeに持ってかれるだろうけど、そうなったらJetBrainsはどうするんだろうね
開発環境ではMSには敵わないよ
Kotlinは遠からずVSCodeに持ってかれるだろうけど、そうなったらJetBrainsはどうするんだろうね
251デフォルトの名無しさん
2017/11/29(水) 22:24:40.91ID:UK37Nyfh アホすぎ
ジェットブレインの開発環境を使ってないのは
IT後進国の日本だけだぞ
ジェットブレインの開発環境を使ってないのは
IT後進国の日本だけだぞ
252デフォルトの名無しさん
2017/11/29(水) 22:34:19.00ID:X5HBmKqd253デフォルトの名無しさん
2017/11/29(水) 22:41:01.71ID:sTR8OUxJ >>250
> 今やUnix向けの開発者も揃ってVSCodeだもんなあ
を3回くらい読んで何を指してるのかなんとなくわかった
サーバサイドのスクリプト言語プログラミングもVSCodeで行われることは増えた
EmacsでFTPやらSSHやらして一生懸命書いてた頃とは隔世の感はある
(いや、まあ、ぶっちゃけるなら、Emacs+xx-modeがVSCode+プラグインに置き換わっただけではあるが)
VSCodeはElectronを捨てることができた瞬間に勝利が確定する
> 今やUnix向けの開発者も揃ってVSCodeだもんなあ
を3回くらい読んで何を指してるのかなんとなくわかった
サーバサイドのスクリプト言語プログラミングもVSCodeで行われることは増えた
EmacsでFTPやらSSHやらして一生懸命書いてた頃とは隔世の感はある
(いや、まあ、ぶっちゃけるなら、Emacs+xx-modeがVSCode+プラグインに置き換わっただけではあるが)
VSCodeはElectronを捨てることができた瞬間に勝利が確定する
254デフォルトの名無しさん
2017/11/29(水) 23:18:26.84ID:WrxHm4nG255デフォルトの名無しさん
2017/11/30(木) 00:12:49.49ID:B6eqzLgy >>253
捨てたらもうそれVSCodeじゃない気がw
捨てたらもうそれVSCodeじゃない気がw
256デフォルトの名無しさん
2017/11/30(木) 01:09:11.23ID:Ok7wKsk4257デフォルトの名無しさん
2017/11/30(木) 01:58:01.88ID:M/qZYVPC258デフォルトの名無しさん
2017/11/30(木) 03:05:42.40ID:4Ii001tY >>248
おまえなんにも知らないんだな
おまえなんにも知らないんだな
259デフォルトの名無しさん
2017/12/02(土) 18:09:11.30ID:hkowUbEW IntelliJをバージョンアップしたらSpekテスト設定のSpec欄ヨコのSearch by Nameが動かなくなった
これまではモジュール適当に指定したら勝手に探して候補出してくれてマウスぽちぽちで済んだのだが、なんかspec欄を自力入力で埋めないといかん
それともこれは普通は使わない所だったのだろうか
これまではモジュール適当に指定したら勝手に探して候補出してくれてマウスぽちぽちで済んだのだが、なんかspec欄を自力入力で埋めないといかん
それともこれは普通は使わない所だったのだろうか
260デフォルトの名無しさん
2017/12/03(日) 14:17:27.57ID:KOJqmKfW 多分日本で俺だけだろうけど、
Kotlinの公式PDFはフォントのAlignがずれてて
読み始めて1分しない内に直視に耐えられなくなってしまう…。
直そうと頑張ってみたが有料ソフト使うしかないみたいで諦めた。
しかし治ってたら嬉しいなと定期的にダウンロードし直してしまう。
Kotlinの公式PDFはフォントのAlignがずれてて
読み始めて1分しない内に直視に耐えられなくなってしまう…。
直そうと頑張ってみたが有料ソフト使うしかないみたいで諦めた。
しかし治ってたら嬉しいなと定期的にダウンロードし直してしまう。
261デフォルトの名無しさん
2017/12/03(日) 16:45:59.74ID:CjASQeE2 "sourcefiles"という名の.ktソースファイル名一覧ファイルを作り、
kotlinc @sourcefiles
を走らせると、
error: source file or directory not found: @sourcefiles
が画面に表示されてしまいます。
javac @sourcefiles
scalac @sourcefiles
に相当する機能はkotlincには無いのでしょうか?
kotlinc @sourcefiles
を走らせると、
error: source file or directory not found: @sourcefiles
が画面に表示されてしまいます。
javac @sourcefiles
scalac @sourcefiles
に相当する機能はkotlincには無いのでしょうか?
262デフォルトの名無しさん
2017/12/03(日) 19:45:07.83ID:daSNjmBL 質問の答えは知らないので他の人に任せるけど
ビルドはkotlinc直よりGradle使うことを勧める
ビルドはkotlinc直よりGradle使うことを勧める
263デフォルトの名無しさん
2017/12/03(日) 20:02:35.94ID:8YyVv9+M またそんなこと言って。
あなたはいつも他人任せね。
いいかげん私も待ちくたびれちゃうわ。
あなたはいつも他人任せね。
いいかげん私も待ちくたびれちゃうわ。
264デフォルトの名無しさん
2017/12/03(日) 20:37:07.64ID:1V67aEN5 なんで女言葉なの?
265デフォルトの名無しさん
2017/12/03(日) 22:21:28.14ID:8rz+kd7O だって女と思わせた方が答えが出やすいんですもの
266デフォルトの名無しさん
2017/12/03(日) 23:10:58.68ID:D7S9aojy267デフォルトの名無しさん
2017/12/03(日) 23:18:52.67ID:CdnEE9AY Gradle, Vagrant は、yaml, XML, JSON のような、単なる設定ファイルではなく、
それ自体が、Groovy, Ruby の、クロージャ・ブロックで囲まれた、
スコープを持つソースコードであるから、変数宣言や処理も書ける
それ自体が、Groovy, Ruby の、クロージャ・ブロックで囲まれた、
スコープを持つソースコードであるから、変数宣言や処理も書ける
268デフォルトの名無しさん
2017/12/04(月) 00:39:28.22ID:1VMjnc7g >>265
逆におっさんにしかみえん
逆におっさんにしかみえん
269デフォルトの名無しさん
2017/12/04(月) 18:53:03.40ID:wtgBoDUa270デフォルトの名無しさん
2017/12/04(月) 18:54:32.14ID:nKJqxEpH うふ
271デフォルトの名無しさん
2017/12/04(月) 20:08:06.27ID:4Cie7nT5 (´・ω・`)うふふ
272デフォルトの名無しさん
2017/12/04(月) 20:18:46.16ID:s6dQomLc リアルの女と接点がなく、妄想で女はこうだろうと決めて話してるのがわかる
昭和生まれのジジイですわ
昭和生まれのジジイですわ
273デフォルトの名無しさん
2017/12/04(月) 20:51:56.16ID:59vQQL00 謎のマジレスマンが居ますね
274デフォルトの名無しさん
2017/12/04(月) 22:06:40.20ID:dW7+efaY マジレズマン
275デフォルトの名無しさん
2017/12/04(月) 22:11:31.07ID:GD7rAYrg マジレスマンつまらないわね
276デフォルトの名無しさん
2017/12/05(火) 00:40:05.91ID:AwrHp2sF (´・ω・`)ほんとよね
277デフォルトの名無しさん
2017/12/05(火) 00:49:05.55ID:6UYDf8NM Kotlin Advent Calendar がAndroid以外の話題多めだな
ここでナチュラルにIntellijIDEA の話題だしちゃったけど
Android以外の人も IntellijIDEA を買って使ってるのかねえ?
ここでナチュラルにIntellijIDEA の話題だしちゃったけど
Android以外の人も IntellijIDEA を買って使ってるのかねえ?
278デフォルトの名無しさん
2017/12/05(火) 01:18:19.27ID:LDxS5CId279デフォルトの名無しさん
2017/12/05(火) 07:55:54.23ID:y4Wcjyaa KotlinはAndroidが対応したってだけでそのためだけに使う人は少数派やろ
280デフォルトの名無しさん
2017/12/05(火) 09:05:47.31ID:lXQHSkZJ いやあ、しかし楽にはなりそうだからねえ、流行ると思うけどねえ。
281デフォルトの名無しさん
2017/12/05(火) 09:10:49.28ID:AdXR2ViJ なんだ秀和システムか
282デフォルトの名無しさん
2017/12/05(火) 09:18:48.22ID:jRPOQw5f なぁーんだ
283デフォルトの名無しさん
2017/12/05(火) 09:23:34.28ID:LGaiibyR >>260
Adobe readerじゃダメなの?
Adobe readerじゃダメなの?
284デフォルトの名無しさん
2017/12/10(日) 18:15:48.13ID:kwrbJZOe285デフォルトの名無しさん
2017/12/10(日) 21:26:30.38ID:x9bbNSCq cmで始まってdpで終わってるからどこかのレビューページから飛んだURLだと思うんだが
なにもしないとcm_cr_dpなんだけどな
cpが入ってるってことは「この商品を見た後に買っている」を1回表示してるのかもしれない
なにもしないとcm_cr_dpなんだけどな
cpが入ってるってことは「この商品を見た後に買っている」を1回表示してるのかもしれない
286デフォルトの名無しさん
2017/12/10(日) 21:39:59.60ID:J3Wk9KR3 cm_sw_ ... _dp はシェア用URLの生成形式だね
ツイッター用ならcl_twで超わかりやすいんだがr_cp_epはなんだろう
ツイッター用ならcl_twで超わかりやすいんだがr_cp_epはなんだろう
287デフォルトの名無しさん
2017/12/11(月) 06:07:16.82ID:Vu+apVrY288デフォルトの名無しさん
2017/12/11(月) 23:34:54.18ID:5wm6MhH6 lateinit var value: Int
って書いたら'lateinit' modifier is not allowed on properties of primitive typesのエラーになるんですが、
どう書き直したらいいんでしょうか
var value: Int? = null
って書いて、
if (value == null) {
value = initValue()
}
ってするしかないんでしょうか。
って書いたら'lateinit' modifier is not allowed on properties of primitive typesのエラーになるんですが、
どう書き直したらいいんでしょうか
var value: Int? = null
って書いて、
if (value == null) {
value = initValue()
}
ってするしかないんでしょうか。
289デフォルトの名無しさん
2017/12/11(月) 23:52:46.83ID:1muH/1X2 プリミティブ型にlateinitは必要ないからつけられない
290デフォルトの名無しさん
2017/12/11(月) 23:53:52.52ID:jDa4LF1V291デフォルトの名無しさん
2017/12/11(月) 23:55:33.20ID:Q0kTyulb で、一番いい入門書は?
292デフォルトの名無しさん
2017/12/11(月) 23:55:50.41ID:jDa4LF1V293デフォルトの名無しさん
2017/12/11(月) 23:58:47.24ID:jDa4LF1V294デフォルトの名無しさん
2017/12/12(火) 00:03:08.61ID:UCmbxn8n >>292
慌てて修正したらlazy落としていたorz orz
var value by lazy { initValue() }
連投申し訳ない。これで違っていたら目も当てられんが、それもすみません。と誤っておきます。
慌てて修正したらlazy落としていたorz orz
var value by lazy { initValue() }
連投申し訳ない。これで違っていたら目も当てられんが、それもすみません。と誤っておきます。
295デフォルトの名無しさん
2017/12/12(火) 00:09:53.79ID:LMcO3gTk >>289
答えはこれです
答えはこれです
296デフォルトの名無しさん
2017/12/12(火) 00:45:23.57ID:GdvZGdbs297デフォルトの名無しさん
2017/12/12(火) 01:14:31.08ID:YJZ1oHv9298デフォルトの名無しさん
2017/12/12(火) 01:17:20.30ID:yvEMt4M/ ありがとうこの世界の片隅にうちを見つけてくれて
299デフォルトの名無しさん
2017/12/12(火) 04:02:58.46ID:0dOBEVV8 アスペは質疑応答解説に使えねーなーもう
>>288
なぜlateinitを使うかというと「初期値というものがうまく定義できなくてうまく初期化できないから」だ
※実際にはjavaでprimitive typeであるものはnull代入できないからという理屈なのだが知らなくていい
Intとかは0とか-1とかで初期化できるだろ、最初にvarで0や-1入れとけ
Nullableもnullで初期化できるからlateinit使わずにただのvarでnull入れとけ
で、どーしても遅延初期化を使いたいなら
var value: Int by Delegates.notNull<Int>()
とか書くと形式上遅延初期化になる。むろん二度手間だが、遅延初期化という目的は一応達成される
こんなごっついことせずに素直に0とか入れておいたほうがいいんじゃねーかなと思った感覚は正しい。0入れとけ0
あとはちらっと出てたけどby lazyで
val value: Int by lazy { initValue() }
と書くことでも一応達成される。こっちだとvalで書けるので好まれることが多いみたいだね
>>288
なぜlateinitを使うかというと「初期値というものがうまく定義できなくてうまく初期化できないから」だ
※実際にはjavaでprimitive typeであるものはnull代入できないからという理屈なのだが知らなくていい
Intとかは0とか-1とかで初期化できるだろ、最初にvarで0や-1入れとけ
Nullableもnullで初期化できるからlateinit使わずにただのvarでnull入れとけ
で、どーしても遅延初期化を使いたいなら
var value: Int by Delegates.notNull<Int>()
とか書くと形式上遅延初期化になる。むろん二度手間だが、遅延初期化という目的は一応達成される
こんなごっついことせずに素直に0とか入れておいたほうがいいんじゃねーかなと思った感覚は正しい。0入れとけ0
あとはちらっと出てたけどby lazyで
val value: Int by lazy { initValue() }
と書くことでも一応達成される。こっちだとvalで書けるので好まれることが多いみたいだね
300デフォルトの名無しさん
2017/12/12(火) 06:12:22.97ID:GdvZGdbs 長澤太郎の本に書いてあるけど、
lateinit は、DI(Dipendency Injection)か、ユニットテスト時か、
フレームワークが自動的に初期化すると、不都合な場合に使う
lateinit は、DI(Dipendency Injection)か、ユニットテスト時か、
フレームワークが自動的に初期化すると、不都合な場合に使う
301デフォルトの名無しさん
2017/12/13(水) 04:15:38.26ID:v+2UW/cD オワコトリン
302デフォルトの名無しさん
2017/12/13(水) 09:19:22.05ID:XdGkiBLZ 美少女仮面ポワトリン
303デフォルトの名無しさん
2017/12/13(水) 23:27:28.97ID:UM/lzC7r シュシュトリアン
304デフォルトの名無しさん
2017/12/13(水) 23:37:55.76ID:Cx01t7px 技術の話ができないアスペルガーがまた暴れてるのか
305デフォルトの名無しさん
2017/12/14(木) 03:21:54.60ID:fsO62Lbi 正直、ダジャレを理解できるのは都会人だけ。
306デフォルトの名無しさん
2017/12/14(木) 04:38:45.38ID:a/3Oigfw 2017年プログラミング言語アワード候補はCとKotlin
https://news.mynavi.jp/article/20171212-554317/
https://news.mynavi.jp/article/20171212-554317/
307デフォルトの名無しさん
2017/12/14(木) 06:24:48.79ID:Ba6lMueX >>306
でもCの方が有力って書いてあるね。Cは何で増えんたんだろう。
でもCの方が有力って書いてあるね。Cは何で増えんたんだろう。
308デフォルトの名無しさん
2017/12/14(木) 06:50:37.29ID:Zv9+113v309デフォルトの名無しさん
2017/12/14(木) 07:40:22.43ID:v/ZRkoO2 >>308
デフォルト値はコンパイラが定義参照してるだけで、
型にもインスタンスにも持って無いから変数に入れた時点で使えないよ
fun f1(n: Int=1) { print(n) }
val f2 = ::f1
f1() //OK
f2() //コンパイルエラー
デフォルト値はコンパイラが定義参照してるだけで、
型にもインスタンスにも持って無いから変数に入れた時点で使えないよ
fun f1(n: Int=1) { print(n) }
val f2 = ::f1
f1() //OK
f2() //コンパイルエラー
310デフォルトの名無しさん
2017/12/14(木) 07:51:51.32ID:Zv9+113v >>309
理解しました、ありがとう
理解しました、ありがとう
311デフォルトの名無しさん
2017/12/14(木) 08:06:24.80ID:oXimKAa7 Cが必要なレベルの仕事の割合自体は
減ってるはずなのに…謎だ
減ってるはずなのに…謎だ
312デフォルトの名無しさん
2017/12/14(木) 09:49:51.95ID:DkrsR4qN Cでググってもノイズが拾われてくる率が高い
他のCと間違われてるんじゃないのか
他のCと間違われてるんじゃないのか
313デフォルトの名無しさん
2017/12/14(木) 10:12:12.59ID:rSG8ExGM Cの半分はC++という時代があったからな
Cの半分はC#とC++ということでも不思議はない
C sharpならC#確定なのだが
Cの半分はC#とC++ということでも不思議はない
C sharpならC#確定なのだが
314デフォルトの名無しさん
2017/12/14(木) 10:35:46.55ID:LuQDs4YA C++はcocos2dやUnrealでのゲーム開発とかあるけどCはなんだろうな
廃れることはあり得ないけど
廃れることはあり得ないけど
315デフォルトの名無しさん
2017/12/14(木) 11:38:25.42ID:DkrsR4qN 機械学習とかロボティクスとか自動運転とかがメディアで取り上げられるようになって学生にプログラミングへの関心がいっそう高まって教育現場での採用が増えてるのかもしれないな
就職にも有利なスキルだろうし
もともと人気の高い言語だし本格的なプログラミングの登竜門的な立ち位置の言語でもあるし
就職にも有利なスキルだろうし
もともと人気の高い言語だし本格的なプログラミングの登竜門的な立ち位置の言語でもあるし
316デフォルトの名無しさん
2017/12/14(木) 12:12:41.91ID:oEBjPr7B IoTかな
317デフォルトの名無しさん
2017/12/14(木) 21:38:11.42ID:5ZTCzvqn (IoT)
↑
こうすると顔文字になるよね
↑
こうすると顔文字になるよね
318デフォルトの名無しさん
2017/12/14(木) 22:23:38.53ID:55Q0ymnI 検索エンジンで+"C programming" で検索した結果参照してるだけだからな
単にデータとしてうんこオブうんこだ
githubやstackoverflow読んでるIEEEのランキングのほうがなんぼかマシ
単にデータとしてうんこオブうんこだ
githubやstackoverflow読んでるIEEEのランキングのほうがなんぼかマシ
319デフォルトの名無しさん
2017/12/19(火) 10:24:09.99ID:f5KBk+Xr Javaの無名スコープを表す構文が無いことから調べていってみたけど
色々と良く設計されてると感心した
構文が無い代わりにrun関数がある
ラムダ生成コストやブロック内でのreturnが気になったけど
inline関数に渡すラムダはそれごとインライン化されるため
コストも無くreturnはちゃんと呼び出し元関数から抜ける
そうするとinlineでない関数にラムダを渡す場合のreturnとで
区別出来なくて危険かと思ったけど
inlineでないラムダではラベル無しreturnが禁止されていた
returnにラベル必須だと面倒ではと思ったけど
最後のステートメントが戻り値になる仕様だからむしろ楽だった
色々と良く設計されてると感心した
構文が無い代わりにrun関数がある
ラムダ生成コストやブロック内でのreturnが気になったけど
inline関数に渡すラムダはそれごとインライン化されるため
コストも無くreturnはちゃんと呼び出し元関数から抜ける
そうするとinlineでない関数にラムダを渡す場合のreturnとで
区別出来なくて危険かと思ったけど
inlineでないラムダではラベル無しreturnが禁止されていた
returnにラベル必須だと面倒ではと思ったけど
最後のステートメントが戻り値になる仕様だからむしろ楽だった
320デフォルトの名無しさん
2017/12/19(火) 10:25:19.69ID:f5KBk+Xr ■Java
int f(){
{
String a = "a";
if(a.length() < 10){return 1;} // fから抜ける
}
return 2; //ここには来ない
}
■Kotlin
fun f(): Int {
run {
val a = "a"
if(a.length < 10){ return 1 } // runでなくfから抜ける
}
return 2 //ここには来ない
}
int f(){
{
String a = "a";
if(a.length() < 10){return 1;} // fから抜ける
}
return 2; //ここには来ない
}
■Kotlin
fun f(): Int {
run {
val a = "a"
if(a.length < 10){ return 1 } // runでなくfから抜ける
}
return 2 //ここには来ない
}
321デフォルトの名無しさん
2017/12/19(火) 10:28:08.70ID:f5KBk+Xr fun fcall(f1: () -> Int): Int = f1()
fun f(){
val a = fcall {
val a = "a"
if(a.length < 10){ return@fcall 1 } //ラベル付き
else { 2 } //returnキーワード無し
}
}
fun f(){
val a = fcall {
val a = "a"
if(a.length < 10){ return@fcall 1 } //ラベル付き
else { 2 } //returnキーワード無し
}
}
322デフォルトの名無しさん
2017/12/20(水) 02:29:53.61ID:Y+OkZrNr マップの値を条件判定に使いたいんだけど、Nullableをどう扱って良いのかわからない...
val map = mapOf<String,Boolean>("hoge" to false,"fuge" to true,"piyo" to false)
// ↓こんな感じで書きたいが、Nullableなので怒られる
if (map["hoge"]){/*処理*/}
//---------- 解決策 ----------
// @強制的に!!でNotnullにする。でもなんか気持ち悪い。
if (map["hoge"]!!){/*処理*/}
// Aエルビス演算子を使う。しかし、IDEからBの書き方を提案される
if (map["hoge"] ?: false){/*処理*/}
// B凄いバカっぽい。ていうか、これOKで一番上ダメなんだ...
if (map["hoge"] == true){/*処理*/}
なんか、どれもしっくりこない。どうするのが正解なの....
誰か教えて!お願いします!
val map = mapOf<String,Boolean>("hoge" to false,"fuge" to true,"piyo" to false)
// ↓こんな感じで書きたいが、Nullableなので怒られる
if (map["hoge"]){/*処理*/}
//---------- 解決策 ----------
// @強制的に!!でNotnullにする。でもなんか気持ち悪い。
if (map["hoge"]!!){/*処理*/}
// Aエルビス演算子を使う。しかし、IDEからBの書き方を提案される
if (map["hoge"] ?: false){/*処理*/}
// B凄いバカっぽい。ていうか、これOKで一番上ダメなんだ...
if (map["hoge"] == true){/*処理*/}
なんか、どれもしっくりこない。どうするのが正解なの....
誰か教えて!お願いします!
323デフォルトの名無しさん
2017/12/20(水) 03:07:01.09ID:vJEKLhBA if (map.getOrDefault("hoge", false)) { ... } とか。
うーん。なんか変だね。mapOf では nullable かどうか判定しているのに get 時には nullable かどうかの情報が抜け落ちているような。
うーん。なんか変だね。mapOf では nullable かどうか判定しているのに get 時には nullable かどうかの情報が抜け落ちているような。
324デフォルトの名無しさん
2017/12/20(水) 03:12:58.65ID:O14cUYGW >>322
1はmap["hage"]とか存在しないキー指定すると落ちるだろ
2はエルビスで落ちないようになってて
3が落ちないのは、
ここ https://kotlinlang.org/docs/reference/equality.html
Structural equality あたりに書いてある仕組みのせいかな
どうmapを使えばいいのかは知らん
1はmap["hage"]とか存在しないキー指定すると落ちるだろ
2はエルビスで落ちないようになってて
3が落ちないのは、
ここ https://kotlinlang.org/docs/reference/equality.html
Structural equality あたりに書いてある仕組みのせいかな
どうmapを使えばいいのかは知らん
325デフォルトの名無しさん
2017/12/20(水) 03:15:09.91ID:O14cUYGW 知らんが、kotlinみたいな言語だとキーが無いときの処理を適当にごまかすわかにはいかんだろ
326デフォルトの名無しさん
2017/12/20(水) 03:31:33.35ID:nn3v7K50 >強制的に!!でNotnullにする。でもなんか気持ち悪い。
>if (map["hoge"]!!){/*処理*/}
そもそも、map は、そのキーが存在しない場合もあるのが、当たり前だろ。
そのキーが存在するかどうかを、チェックするメソッドもある
君が仕様・設計を考えるんだ。
1. そのキーが存在した場合の処理と、
2. 存在しなかった場合の処理
初心者は、強制変換の使い方をわかっていないのだから、!! を使うな
>if (map["hoge"]!!){/*処理*/}
そもそも、map は、そのキーが存在しない場合もあるのが、当たり前だろ。
そのキーが存在するかどうかを、チェックするメソッドもある
君が仕様・設計を考えるんだ。
1. そのキーが存在した場合の処理と、
2. 存在しなかった場合の処理
初心者は、強制変換の使い方をわかっていないのだから、!! を使うな
327デフォルトの名無しさん
2017/12/20(水) 03:56:24.26ID:MahKH8pr >>325
+1
「知らないキーでmapに問い合わせたときの結果はnullになることがある」問題をコード的になんとかする必要がどうしてもある
これは本当にどうしようもないので、どっかでKotlin(実際にはIDE)に知らせる面倒を許容するしかない
ポイントとしては面倒でも一旦変数にぶち込むこと。これですべてうまくいく
// checkNotNullの書き方だけ覚えればいいので最近全部これで書いてる
val mapValue: Boolean = checkNotNull(map["hoge"]){ "map does not have key:<hoge>" }
if (mapValue) { doSomething() }
// またletをそんな用途に使って
map["hoge"]?.let{ doSomething() }
// 考え方がJavaっぽい(偏見)変数に入れないとnullチェックした履歴保持できないよ
val mapValue = map["hoge"]
if (mapValue!= null && mapValue) { doSomething() }
// ほら、Kotlinの人はなんでもかんでもwhenで書きたがるから
when(map["hoge"]){
null -> println("ぬるぽ") // なくても動く
true -> doSomethingTrue()
false -> doSomethingFalse()
}
+1
「知らないキーでmapに問い合わせたときの結果はnullになることがある」問題をコード的になんとかする必要がどうしてもある
これは本当にどうしようもないので、どっかでKotlin(実際にはIDE)に知らせる面倒を許容するしかない
ポイントとしては面倒でも一旦変数にぶち込むこと。これですべてうまくいく
// checkNotNullの書き方だけ覚えればいいので最近全部これで書いてる
val mapValue: Boolean = checkNotNull(map["hoge"]){ "map does not have key:<hoge>" }
if (mapValue) { doSomething() }
// またletをそんな用途に使って
map["hoge"]?.let{ doSomething() }
// 考え方がJavaっぽい(偏見)変数に入れないとnullチェックした履歴保持できないよ
val mapValue = map["hoge"]
if (mapValue!= null && mapValue) { doSomething() }
// ほら、Kotlinの人はなんでもかんでもwhenで書きたがるから
when(map["hoge"]){
null -> println("ぬるぽ") // なくても動く
true -> doSomethingTrue()
false -> doSomethingFalse()
}
328デフォルトの名無しさん
2017/12/20(水) 04:24:12.03ID:MahKH8pr 寝起きで書いたら!=がくっついた
if (mapValue != null && mapValue) { doSomething() }
まだ頭寝てるので動作チェックしてないから細かいとこは適当に直したりしてくれ
>>326
安易に nullableValue?.let{ ... } を使って欲しくないのも似たような感じ
今回で言うと現在のmapに"hoge"が登録されていることの保証はどうするんだろうと思う
ぬるぽ出ると追うのもしんどいわけでさ
1行で済むし動作にも影響らしい影響はないんだから脳死状態で checkNotNull(...){ "やべえhoge登録されてねえ" } とか書いとくのおすすめしたいわ
if (mapValue != null && mapValue) { doSomething() }
まだ頭寝てるので動作チェックしてないから細かいとこは適当に直したりしてくれ
>>326
安易に nullableValue?.let{ ... } を使って欲しくないのも似たような感じ
今回で言うと現在のmapに"hoge"が登録されていることの保証はどうするんだろうと思う
ぬるぽ出ると追うのもしんどいわけでさ
1行で済むし動作にも影響らしい影響はないんだから脳死状態で checkNotNull(...){ "やべえhoge登録されてねえ" } とか書いとくのおすすめしたいわ
329デフォルトの名無しさん
2017/12/20(水) 07:46:04.79ID:nn3v7K50 map, hash は、集合の概念だから、
集合A に属するか属さないか、のどちらかの状態をとる
1. そのキーが集合A にあれば、値が取得できる
2. そのキーが集合A になければ、値が取得できない
1, 2 で、君がどういう処理をするか、仕様・設計を決めるのは君!
集合A に属するか属さないか、のどちらかの状態をとる
1. そのキーが集合A にあれば、値が取得できる
2. そのキーが集合A になければ、値が取得できない
1, 2 で、君がどういう処理をするか、仕様・設計を決めるのは君!
330デフォルトの名無しさん
2017/12/20(水) 07:49:29.92ID:f5FKKl5l331デフォルトの名無しさん
2017/12/20(水) 12:00:57.83ID:f5FKKl5l Bがバカっぽいと感じるのは
真偽値 == 真偽値 だと勘違いしているから
実際には2つのNullableTypeの等値比較
真偽値 == 真偽値 だと勘違いしているから
実際には2つのNullableTypeの等値比較
332デフォルトの名無しさん
2017/12/20(水) 13:02:21.99ID:G3r13eVw if(map.getValue("hoge")){/* 処理 */}
これで基本的にキーが存在しないと例外に行くしシンプルだね
これで基本的にキーが存在しないと例外に行くしシンプルだね
333デフォルトの名無しさん
2017/12/20(水) 13:25:19.85ID:g9yiCifS 直感的にはおかしく感じるな。(最初結果見た時は驚いたw)
https://paiza.io/projects/zLCe3AYlPO9luQp7z2NaIw
しかしクラスの参照同士の比較なのでこれで良い。
https://paiza.io/projects/zLCe3AYlPO9luQp7z2NaIw
しかしクラスの参照同士の比較なのでこれで良い。
334デフォルトの名無しさん
2017/12/20(水) 13:51:27.51ID:cc5ffQEu335デフォルトの名無しさん
2017/12/20(水) 13:54:26.10ID:f5FKKl5l >>333
おかしく感じたのはprintln("True")と書いたからじゃないの
not False と True は同義でないよ
https://paiza.io/projects/1WgctVAqXu8SWmlIYtx4YA
おかしく感じたのはprintln("True")と書いたからじゃないの
not False と True は同義でないよ
https://paiza.io/projects/1WgctVAqXu8SWmlIYtx4YA
336デフォルトの名無しさん
2017/12/20(水) 13:58:37.66ID:QHJO7UtC おまえがそう思うのならそうなのだろう。おまえの中ではな。
337デフォルトの名無しさん
2017/12/20(水) 15:20:49.03ID:g9yiCifS338デフォルトの名無しさん
2017/12/20(水) 16:11:14.74ID:skPFcOgX >>337
このコードだとFalse以外のAnyでは
このコードだとFalse以外のAnyでは
339デフォルトの名無しさん
2017/12/20(水) 16:17:54.73ID:f5FKKl5l340デフォルトの名無しさん
2017/12/20(水) 16:28:57.34ID:f5FKKl5l341デフォルトの名無しさん
2017/12/20(水) 18:13:04.50ID:oPcnMRgu342デフォルトの名無しさん
2017/12/20(水) 18:27:37.40ID:AIjICjtT 糞みてえな言語だな
343デフォルトの名無しさん
2017/12/20(水) 18:40:45.87ID:GLW9SuF+ Xamarin程の糞はない
344デフォルトの名無しさん
2017/12/20(水) 21:01:27.13ID:SZt84l7a 糞だからこそ良い
345デフォルトの名無しさん
2017/12/25(月) 05:24:40.47ID:CQjgWB2v やはりJavaを超えられなかったか。
346デフォルトの名無しさん
2017/12/25(月) 09:22:20.35ID:pKfklu/G \ ∩─ー、 ====
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんな餌で俺様が釣られクマ――
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
\/ ● 、_ `ヽ ======
/ \( ● ● |つ
| X_入__ノ ミ そんな餌で俺様が釣られクマ――
、 (_/ ノ /⌒l
/\___ノ゙_/ / =====
〈 __ノ ====
\ \_ \
\___) \ ====== (´⌒
\ ___ \__ (´⌒;;(´⌒;;
\___)___)(´;;⌒ (´⌒;; ズザザザ
347デフォルトの名無しさん
2017/12/25(月) 14:41:12.11ID:eNXAkvu4 >>343
ちょまど神への信仰が不足しているか背教者ですね
ちょまど神への信仰が不足しているか背教者ですね
348デフォルトの名無しさん
2017/12/28(木) 18:16:09.77ID:xKYb+xvk >>278の本は何故か新品よりも高い中古がもう出ているw
(値段のタイプミスか?)
(値段のタイプミスか?)
349デフォルトの名無しさん
2017/12/28(木) 20:08:10.60ID:g7xH4Ri4 購入者の確認不足や品切れ時にたまたま買われることを狙った有名な詐欺だよ
350デフォルトの名無しさん
2017/12/29(金) 01:04:43.78ID:05sEmydS351デフォルトの名無しさん
2017/12/29(金) 10:11:40.46ID:RRbpiG2U >>350
盛ってるから問題ないで
盛ってるから問題ないで
352デフォルトの名無しさん
2018/01/10(水) 07:01:15.70ID:IyW1fpec classのdelegateってinterfaceしか出来ないみたいだけど、
classやabstractのインスタンスでdelegateできない理由をご存知の方いらっしゃいますでしょうか。
可: class SubClass(instance: Interface) : Interface by instance
不可: class SubClass(instance: SuperClass) : SuperClass by instance
classやabstractのインスタンスでdelegateできない理由をご存知の方いらっしゃいますでしょうか。
可: class SubClass(instance: Interface) : Interface by instance
不可: class SubClass(instance: SuperClass) : SuperClass by instance
353デフォルトの名無しさん
2018/01/10(水) 07:32:55.52ID:IyW1fpec もちろんSuperClassはopen指定してあります。
>>352 に答えられる人にそんな野暮なこと言う方はいないと思いますが念のため。
In Actionには「インターフェースを実装しいているなら〜」とさらっと書いていて
クラスでdelegateできない理由は触れられていませんでした。
>>352 に答えられる人にそんな野暮なこと言う方はいないと思いますが念のため。
In Actionには「インターフェースを実装しいているなら〜」とさらっと書いていて
クラスでdelegateできない理由は触れられていませんでした。
354デフォルトの名無しさん
2018/01/10(水) 21:04:38.05ID:CUBllmbw androidにdelegateなんて言葉はない
355デフォルトの名無しさん
2018/01/10(水) 22:52:38.58ID:68cAMYmT >>352-353
例えばこんな感じのKotlinコードをJavaへ変換してみればわかる
interface Interface1 { ... }
interface Interface2 { ... }
class SubClass (impl1:Interface1, impl2:Interface2) : Interface1 by impl1, Interface2 by impl2
例えばこんな感じのKotlinコードをJavaへ変換してみればわかる
interface Interface1 { ... }
interface Interface2 { ... }
class SubClass (impl1:Interface1, impl2:Interface2) : Interface1 by impl1, Interface2 by impl2
356デフォルトの名無しさん
2018/01/11(木) 06:56:39.64ID:irxu1jkK >>355 ありがとうございます。
interface Interface1 { ... } が
open class Interface1 { ... } であったとしても、
class SubClass extends Interface1 implements Interface2
になるので、支障ないと思うのですが、どこか勘違いしていますでしょうか。
interface Interface1 { ... } が
open class Interface1 { ... } であったとしても、
class SubClass extends Interface1 implements Interface2
になるので、支障ないと思うのですが、どこか勘違いしていますでしょうか。
357デフォルトの名無しさん
2018/01/11(木) 07:43:33.12ID:rggai+wG >>356
ごめん多重継承は関係無かったね
問題になるのはコンストラクタかな
class SubClass extends SuperClass というJavaコードに相当するものに変換されるからには
SuperClass のコンストラクタを呼ぶ必要があるけど、
でも SuperClass by instance によってインスタンスが別に渡されたらSuperClassの実体が二つになってしまう
ごめん多重継承は関係無かったね
問題になるのはコンストラクタかな
class SubClass extends SuperClass というJavaコードに相当するものに変換されるからには
SuperClass のコンストラクタを呼ぶ必要があるけど、
でも SuperClass by instance によってインスタンスが別に渡されたらSuperClassの実体が二つになってしまう
358デフォルトの名無しさん
2018/01/11(木) 10:00:24.62ID:J2rrbjux >>352
インターフェースでないと移譲が保証出来ないからでは
インターフェースと違ってクラスの場合はそれが持つオーバーライド可能なメンバ全て移譲しても移譲になるとは限らない
例えば、あるライブラリがInterface, SuperClass, それらを引数に取る関数を提供しているとする
Interfaceを受け取るならInterfaceとして扱うべき
(内部の実装クラスへダウンキャスト出来ること等を前提とすべきでない)で、
SuperClassを受け取る場合も同様だが
こちらはprivateメンバへのアクセスなども含まれていてそれは移譲出来ない
インターフェースでないと移譲が保証出来ないからでは
インターフェースと違ってクラスの場合はそれが持つオーバーライド可能なメンバ全て移譲しても移譲になるとは限らない
例えば、あるライブラリがInterface, SuperClass, それらを引数に取る関数を提供しているとする
Interfaceを受け取るならInterfaceとして扱うべき
(内部の実装クラスへダウンキャスト出来ること等を前提とすべきでない)で、
SuperClassを受け取る場合も同様だが
こちらはprivateメンバへのアクセスなども含まれていてそれは移譲出来ない
359デフォルトの名無しさん
2018/01/12(金) 02:36:59.71ID:EycqiUrc >>352
abstractやclassじゃextendsになっちゃうじゃん
したいのはimplementsじゃん
だからOnly interfaces can be delegated toって言われちゃうんだよ
abstractやclassじゃextendsになっちゃうじゃん
したいのはimplementsじゃん
だからOnly interfaces can be delegated toって言われちゃうんだよ
360デフォルトの名無しさん
2018/01/12(金) 17:51:43.69ID:to65cpCS >>357の言いたかったこととは違うかもしれませんが、以下のように理解しました。
KotlinのdelegateはIn ActionではCollectionを引き合いに出しているが、
実際には、実装したクラスのコンストラクタがprivateで、
ヘルパークラスのファクトリメソッドを通じてしかインスタンスを生成できない
ようなケースで力を発揮する。
コンストラクタがpublicでopenなclassやabstractの場合、素直に継承することを想定している。
In Actionの例も(共変とか反変とかを抜きにすれば)実はArrayListの継承で解決できる。
逆に、classでのdelegateを認めるとfinalなclassも継承できてしまい、
これを禁止するために規則を増やすことになる。
>>359
書き込んだ動機としては、多数のプロパティを持ったクラスを継承したい時に、
class SuperClass(val comp1: Comp1, val com2: Comp2, ...)
class SubClass(instance: SuperClass) : SuperClass(instance.comp1, instance.comp2,...)
とすると、かなり宣言が不格好になるので、
class SubClass(instance: SuperClass) : SuperClass by instance
としたかったのです。
>>358
SuperClass内のSuperClassを引数に取る関数は、
SubClassにおいても引数としてSuperClassを渡せば正しく動作するので、
private(あるいはprotected)メンバへのアクセスがなくても、
実装可能でないかと思います。
ご指摘で理解できていない点があればご指摘いただければ幸いです。
皆様ありがとうございました。
KotlinのdelegateはIn ActionではCollectionを引き合いに出しているが、
実際には、実装したクラスのコンストラクタがprivateで、
ヘルパークラスのファクトリメソッドを通じてしかインスタンスを生成できない
ようなケースで力を発揮する。
コンストラクタがpublicでopenなclassやabstractの場合、素直に継承することを想定している。
In Actionの例も(共変とか反変とかを抜きにすれば)実はArrayListの継承で解決できる。
逆に、classでのdelegateを認めるとfinalなclassも継承できてしまい、
これを禁止するために規則を増やすことになる。
>>359
書き込んだ動機としては、多数のプロパティを持ったクラスを継承したい時に、
class SuperClass(val comp1: Comp1, val com2: Comp2, ...)
class SubClass(instance: SuperClass) : SuperClass(instance.comp1, instance.comp2,...)
とすると、かなり宣言が不格好になるので、
class SubClass(instance: SuperClass) : SuperClass by instance
としたかったのです。
>>358
SuperClass内のSuperClassを引数に取る関数は、
SubClassにおいても引数としてSuperClassを渡せば正しく動作するので、
private(あるいはprotected)メンバへのアクセスがなくても、
実装可能でないかと思います。
ご指摘で理解できていない点があればご指摘いただければ幸いです。
皆様ありがとうございました。
361デフォルトの名無しさん
2018/01/12(金) 19:14:43.07ID:EycqiUrc interface InterfaceClazz{
val comp1:Any
var comp2:Any
fun method1()
}
class SuperClazz(override val comp1: Any, override var comp2: Any) :InterfaceClazz {
override fun method1() {
println("SuperClazz.method1 comp1:$comp1 comp2:$comp2")
}
}
class SubClazz(instance:SuperClazz):InterfaceClazz by instance
こういうのじゃだめなの?
val comp1:Any
var comp2:Any
fun method1()
}
class SuperClazz(override val comp1: Any, override var comp2: Any) :InterfaceClazz {
override fun method1() {
println("SuperClazz.method1 comp1:$comp1 comp2:$comp2")
}
}
class SubClazz(instance:SuperClazz):InterfaceClazz by instance
こういうのじゃだめなの?
362デフォルトの名無しさん
2018/01/12(金) 22:32:24.26ID:to65cpCS363デフォルトの名無しさん
2018/01/13(土) 08:10:52.44ID:9rLeDqe4 Java, C# が、interface を作った理由は、
C++ のclass の、ひし形の形になる、ダイヤモンド継承を嫌ったから
ほとんどの言語は、単一継承 + interface。
継承チェーンに、同じクラスが現れると困る
親クラス ← 子クラス1・2 ← 孫クラス
孫クラスが、子クラス1・2を多重継承すると、
両方の子クラス部分に、親クラスのメンバ変数を含んでしまう
孫クラスからすると、どちらの子クラス経由で、
親クラスのメンバ変数にアクセスすべきか、ややこしい
だから多重継承用に、メンバ変数を持たず、メソッドだけを持つ、interface が作られた
is-a・class・継承よりも、has-a・interface・委譲の方が、柔軟性があって好まれる
C++ のclass の、ひし形の形になる、ダイヤモンド継承を嫌ったから
ほとんどの言語は、単一継承 + interface。
継承チェーンに、同じクラスが現れると困る
親クラス ← 子クラス1・2 ← 孫クラス
孫クラスが、子クラス1・2を多重継承すると、
両方の子クラス部分に、親クラスのメンバ変数を含んでしまう
孫クラスからすると、どちらの子クラス経由で、
親クラスのメンバ変数にアクセスすべきか、ややこしい
だから多重継承用に、メンバ変数を持たず、メソッドだけを持つ、interface が作られた
is-a・class・継承よりも、has-a・interface・委譲の方が、柔軟性があって好まれる
364デフォルトの名無しさん
2018/01/13(土) 10:05:52.35ID:RtHYbtnJ 複数のinterfaceでメソッド名が被ってたらどうするの?
365デフォルトの名無しさん
2018/01/13(土) 10:11:05.35ID:i594883x そんな事態見たことないけど確かにどうなるんだ?
366デフォルトの名無しさん
2018/01/13(土) 10:23:17.39ID:Rp7yFlms パッケージ名とinterface名で指定するんじゃね
367デフォルトの名無しさん
2018/01/13(土) 11:09:24.85ID:rLmRRKlD >>364
実装はサブクラス側でやるんだからどうもなんねーだろ
実装はサブクラス側でやるんだからどうもなんねーだろ
368デフォルトの名無しさん
2018/01/13(土) 12:17:34.58ID:7idPsqBM369デフォルトの名無しさん
2018/01/13(土) 12:18:29.46ID:7idPsqBM Delegataion ってなんだ・・・Delegation ね
370デフォルトの名無しさん
2018/01/18(木) 20:57:21.62ID:uaAP/nEg coroutine builderの例えばasyncの定義を見ると、
fun <T> async(
context: CoroutineContext = DefaultDispatcher,
start: CoroutineStart = CoroutineStart.DEFAULT,
parent: Job? = null,
block: suspend CoroutineScope.() -> T
): Deferred<T> (source)
ってなってんですが、blockパラメータの型が関数型になっているのですが、
型の前にCoroutieScope.とかついてるのですが、これはなんなんでしょうか??
fun <T> async(
context: CoroutineContext = DefaultDispatcher,
start: CoroutineStart = CoroutineStart.DEFAULT,
parent: Job? = null,
block: suspend CoroutineScope.() -> T
): Deferred<T> (source)
ってなってんですが、blockパラメータの型が関数型になっているのですが、
型の前にCoroutieScope.とかついてるのですが、これはなんなんでしょうか??
371デフォルトの名無しさん
2018/01/18(木) 22:13:56.56ID:h6w5lyYQ372デフォルトの名無しさん
2018/01/18(木) 22:42:32.43ID:uaAP/nEg >>371
ありがとうございます。
うーん。ややこしい。何のためにこんなのが必要なんだ・・
呼び出される関数の方でもインスタンス(val a = A("aa"))を作って
関数を呼び出さないといけないってことですよね。
ありがとうございます。
うーん。ややこしい。何のためにこんなのが必要なんだ・・
呼び出される関数の方でもインスタンス(val a = A("aa"))を作って
関数を呼び出さないといけないってことですよね。
373デフォルトの名無しさん
2018/01/18(木) 23:47:50.82ID:h6w5lyYQ374デフォルトの名無しさん
2018/01/22(月) 22:47:52.97ID:FT3BkIDm375デフォルトの名無しさん
2018/01/23(火) 18:27:08.00ID:himcush7 仕組み的に体感出来る程の劣化は起きないと思う
376デフォルトの名無しさん
2018/01/23(火) 19:46:07.93ID:leMx6cGU エルビス式のエルビスって何ですか?プレスリーしか出てこないんですけど
377デフォルトの名無しさん
2018/01/23(火) 19:47:46.14ID:leMx6cGU と思ってググったら本当にプレスリー由来だったのね、、
378デフォルトの名無しさん
2018/01/23(火) 23:26:39.49ID:9+CEbA1m >>375
調べてみたら、delegateよりも前に速度低下はあったようでした。ありがとうございました。
調べてみたら、delegateよりも前に速度低下はあったようでした。ありがとうございました。
379デフォルトの名無しさん
2018/01/24(水) 07:00:29.98ID:YOaqJu3C ?: これのどこがプレスリーなんだよ?と思った時の脳内に浮かんでいたのはサタデーナイトフィーバーの人だったのは俺だけだろうな
380デフォルトの名無しさん
2018/01/24(水) 09:46:01.11ID:yQK5cwW2 ?:)
381デフォルトの名無しさん
2018/01/24(水) 12:18:03.47ID:wZvPOi0Q ?が5
382デフォルトの名無しさん
2018/01/31(水) 15:59:06.95ID:4N9XMFe/ >>161だけど
Javaのリリースサイクルが6か月ごとになったので2018/3/20リリース予定
http://openjdk.java.net/projects/jdk/10/
ローカル変数の型推論きたー
後はGoogleさん早めにAndroidで使えるように。
Javaのリリースサイクルが6か月ごとになったので2018/3/20リリース予定
http://openjdk.java.net/projects/jdk/10/
ローカル変数の型推論きたー
後はGoogleさん早めにAndroidで使えるように。
383デフォルトの名無しさん
2018/01/31(水) 16:05:14.51ID:4N9XMFe/ 後はkotlinを使ってみて自分的にうらやましのは
・Null safety
・1ファイルに複数のクラス書ける
・コルーチン
ぐらいかな・・
・Null safety
・1ファイルに複数のクラス書ける
・コルーチン
ぐらいかな・・
384デフォルトの名無しさん
2018/01/31(水) 18:17:51.93ID:hwMh3j1W 俺は
・val
・最後の引数のラムダを括弧の外に書けること
・「==」でnull考慮込みのequals()呼び出しにしてくれること
・val
・最後の引数のラムダを括弧の外に書けること
・「==」でnull考慮込みのequals()呼び出しにしてくれること
385デフォルトの名無しさん
2018/01/31(水) 18:53:28.83ID:F5No3k5g とにかくJavaと同じことをするのに記述量が圧倒的に少なくて済むのが良いわ。
一つ一つはそれこそ数行程度の違いになるけど、チリが積もって最終的にかなり短くなって可読性が段違い
一つ一つはそれこそ数行程度の違いになるけど、チリが積もって最終的にかなり短くなって可読性が段違い
386デフォルトの名無しさん
2018/01/31(水) 20:20:09.40ID:CrWRl7VR Sから始まる某言語と違って何故か読みやすい
387デフォルトの名無しさん
2018/01/31(水) 20:58:06.42ID:UVbJv7LF Smalltalkの悪口はやめろ
388デフォルトの名無しさん
2018/01/31(水) 21:14:03.77ID:AX72W1bb 俺のS言語が・・・
389デフォルトの名無しさん
2018/01/31(水) 23:02:47.38ID:Mw3vWzBx SQL
390デフォルトの名無しさん
2018/02/01(木) 07:20:22.31ID:d+x91pir Objective-Cを経験すれば大抵の言語は涙が出るほど読みやすい
391デフォルトの名無しさん
2018/02/01(木) 07:42:19.46ID:XxNDw1fe Schemeの悪口?
392デフォルトの名無しさん
2018/02/01(木) 08:58:05.91ID:0qxcm1IL perl「せやな」
393デフォルトの名無しさん
2018/02/01(木) 23:11:28.90ID:PazMLs1n >>390
現役言語じゃないからもう新たに触ることないしなあ
現役言語じゃないからもう新たに触ることないしなあ
394デフォルトの名無しさん
2018/02/01(木) 23:15:10.58ID:oMkeAueE そういえば Objective-C ってMacとかiOSで使われてるんだっけ?
395デフォルトの名無しさん
2018/02/01(木) 23:28:46.21ID:xVAl4gBi MacとかiOSでしか使われていない
396デフォルトの名無しさん
2018/02/02(金) 01:47:08.99ID:sNIUDAKb SwiftはiOSでしか使われていない
397デフォルトの名無しさん
2018/02/02(金) 05:20:56.67ID:s78i1eOK いくらいい言語でも林檎様の傘下だと何されるかわからんからな
使えねーわ
使えねーわ
398デフォルトの名無しさん
2018/02/02(金) 07:12:32.55ID:gnaQFUD2 swiftってオープンソースじゃなかったっけ?
399デフォルトの名無しさん
2018/02/02(金) 08:41:42.94ID:V6ypn24z Swiftはオープンソース化以降は言語開発もコミュニティベースで行われてる
頑張ってはいるようだけどいくつかの問題でObjCに戻る人も割と居るし
クロスプラットフォーム系との競合もあって人気は減少傾向
頑張ってはいるようだけどいくつかの問題でObjCに戻る人も割と居るし
クロスプラットフォーム系との競合もあって人気は減少傾向
400デフォルトの名無しさん
2018/02/02(金) 08:43:29.60ID:2JRgrNpV Kotlinの方がよくできてる
401デフォルトの名無しさん
2018/02/02(金) 09:20:26.67ID:V6ypn24z Kotlinでのクロスプラットフォームは Kotlin/Native(まだベータ) と Multi-OS Engine があるけど
UI部分が固有になるから React NativeのKotlin版のような
UIブリッジするライブラリが生まれてほしい
WebViewも手だけど
UI部分が固有になるから React NativeのKotlin版のような
UIブリッジするライブラリが生まれてほしい
WebViewも手だけど
402デフォルトの名無しさん
2018/02/02(金) 09:22:41.58ID:V6ypn24z JavaScriptエンジンを挟みたくない
403デフォルトの名無しさん
2018/02/02(金) 12:06:11.99ID:jTuMDwxk C#でええやん
404デフォルトの名無しさん
2018/02/02(金) 12:35:18.11ID:V6ypn24z コミュニティの条件に収まらなくてサブスクリプションが要る都合でそっちは二の足
言語自体は割と好きだけど
言語自体は割と好きだけど
405デフォルトの名無しさん
2018/02/02(金) 19:53:43.35ID:YRu1rdgq 何年か前はiOSとandroidのクロスプラットフォーム開発はいまいちすぎて結局それぞれネイティブて開発したけど、今はどうなんだろうな
最近スマホアプリさわらんからよくわからん
最近スマホアプリさわらんからよくわからん
406デフォルトの名無しさん
2018/02/02(金) 21:37:32.04ID:00GaqTOE あ、そうだ。iOSやMacの開発にKotlin使えれば全て丸く収まるじゃねえか。
MacだけならJREあるから既に動くのかな?
MacだけならJREあるから既に動くのかな?
407デフォルトの名無しさん
2018/02/02(金) 21:43:50.82ID:zvuXw/YQ Android studioはMac版もあるし当然Kotlinも使える
ただ、iPhoneアプリは作れねぇ
ただ、iPhoneアプリは作れねぇ
408デフォルトの名無しさん
2018/02/02(金) 22:32:37.72ID:iI1eaKOA >>406
MacとiOSはMacが無いとコンパイルすら出来ないって糞みたいな仕様が一番のネックだからな
MacとiOSはMacが無いとコンパイルすら出来ないって糞みたいな仕様が一番のネックだからな
409デフォルトの名無しさん
2018/02/02(金) 22:38:07.24ID:zvuXw/YQ Windowsもネイティブアプリはそうだろ? 違うっけ?
410デフォルトの名無しさん
2018/02/02(金) 23:17:28.47ID:2JRgrNpV クロスプラットフォームは糞
411デフォルトの名無しさん
2018/02/02(金) 23:39:49.14ID:4J1UtiB3 Xamarin C#が正解
412デフォルトの名無しさん
2018/02/03(土) 00:17:14.67ID:Pk3rL+mD ちょまど教の狂信者か
413デフォルトの名無しさん
2018/02/03(土) 02:29:40.70ID:rIodJ30B Xamarin程の糞はない
C#も10年前の時代遅れの言語だし圧倒的にswift,Java,Kotlinの方が人気が高いし求人も多い
VS for Macはgitでブランチを切り替えたりするだけでビルドできなくなって、
クリーン、リビルド、IDE再起動、PC再起動を頻繁に繰り返さないといけなくなる欠陥品なのが糞
大体MicrosoftはWindowsPhoneのシェアを二桁取ってからモノを言えと言いたい
MicrosoftがやっていることはGoogleやAppleの作ったパイを横取りしようとしているだけ
MVVM前提の開発環境とか言うくせに外部ライブラリを入れないと良い感じでMVVMできないのが糞
UIは共通化できると言うわりにListViewは重くてスワイプがもたついたり画像の表示が遅かったりするのが糞
Xamarin.Formsはちょっと複雑なことしようとするとお得意のdependency serviceとcustom rendererの連発
クロスプラットフォームと言うならXamarin.Formsだけでできないことを恥じろよ
WebViewなどXamarin.Formsの提供するUI部品が糞すぎて
一旦Xamarin.Formsの提供する機能で実装して糞な思いをさせられた後で
Xamarin.AndroidとXamarin.iOSで計3回も同じ実装をさせられるのが糞
Xamarinなんてマイナーな環境使っている人が少ないせいでググって調べものするのに時間がかかるのが糞
qiitaやstackoverflowの情報もXamarinに関するものはAndroidの10分の1以下の投稿しかなくて
下手すると解決策が見つからなくてデザインや機能の面で妥協する結果となる
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
MicrosoftのAndroid向けedgeブラウザもXamarin製でなく、
Microsoft自身も糞認定して使わない糞開発環境がXamarin
エンジニアもデザイナーもお客さんも全員がっかりするのがXamarin
結論としてXamarinを使うと開発工数は伸びアプリのクオリティは落ちるということ
XamarinをやっているやつというのはC#の機能を使うことやXamarinを使うことそれ自体が目的化していて
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
C#も10年前の時代遅れの言語だし圧倒的にswift,Java,Kotlinの方が人気が高いし求人も多い
VS for Macはgitでブランチを切り替えたりするだけでビルドできなくなって、
クリーン、リビルド、IDE再起動、PC再起動を頻繁に繰り返さないといけなくなる欠陥品なのが糞
大体MicrosoftはWindowsPhoneのシェアを二桁取ってからモノを言えと言いたい
MicrosoftがやっていることはGoogleやAppleの作ったパイを横取りしようとしているだけ
MVVM前提の開発環境とか言うくせに外部ライブラリを入れないと良い感じでMVVMできないのが糞
UIは共通化できると言うわりにListViewは重くてスワイプがもたついたり画像の表示が遅かったりするのが糞
Xamarin.Formsはちょっと複雑なことしようとするとお得意のdependency serviceとcustom rendererの連発
クロスプラットフォームと言うならXamarin.Formsだけでできないことを恥じろよ
WebViewなどXamarin.Formsの提供するUI部品が糞すぎて
一旦Xamarin.Formsの提供する機能で実装して糞な思いをさせられた後で
Xamarin.AndroidとXamarin.iOSで計3回も同じ実装をさせられるのが糞
Xamarinなんてマイナーな環境使っている人が少ないせいでググって調べものするのに時間がかかるのが糞
qiitaやstackoverflowの情報もXamarinに関するものはAndroidの10分の1以下の投稿しかなくて
下手すると解決策が見つからなくてデザインや機能の面で妥協する結果となる
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
MicrosoftのAndroid向けedgeブラウザもXamarin製でなく、
Microsoft自身も糞認定して使わない糞開発環境がXamarin
エンジニアもデザイナーもお客さんも全員がっかりするのがXamarin
結論としてXamarinを使うと開発工数は伸びアプリのクオリティは落ちるということ
XamarinをやっているやつというのはC#の機能を使うことやXamarinを使うことそれ自体が目的化していて
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
414デフォルトの名無しさん
2018/02/03(土) 08:57:07.88ID:cx3bBBlj415デフォルトの名無しさん
2018/02/03(土) 09:01:37.02ID:w4Z6vlfg416デフォルトの名無しさん
2018/02/03(土) 09:18:56.79ID:JaWlScCi417デフォルトの名無しさん
2018/02/03(土) 09:33:24.43ID:JaWlScCi 参考
Android・iOS対応のクロスプラットフォームライブラリ、Intel Multi-OS Engine(MOE)
https://qiita.com/yyYank/items/2d96640d713a527691be
Kotlin/Nativeを使ってiOSアプリを作ってみる
https://qiita.com/noripi/items/4ee969c48b3da5ca6fbd
Android・iOS対応のクロスプラットフォームライブラリ、Intel Multi-OS Engine(MOE)
https://qiita.com/yyYank/items/2d96640d713a527691be
Kotlin/Nativeを使ってiOSアプリを作ってみる
https://qiita.com/noripi/items/4ee969c48b3da5ca6fbd
418デフォルトの名無しさん
2018/02/03(土) 09:37:01.92ID:cwvA0gbQ 面倒くさそう
419デフォルトの名無しさん
2018/02/03(土) 09:45:23.72ID:JaWlScCi420デフォルトの名無しさん
2018/02/03(土) 09:50:47.55ID:w4Z6vlfg421デフォルトの名無しさん
2018/02/03(土) 10:04:18.17ID:g4V8Xpml Xamarin C#が正解だよ
簡単で高品質
簡単で高品質
422デフォルトの名無しさん
2018/02/03(土) 11:58:07.39ID:rIodJ30B 時間掛かって低品質のアプリが出来上がるだけクロスプラットフォーム
423デフォルトの名無しさん
2018/02/03(土) 12:05:11.68ID:Pk3rL+mD 正式セミナーで技術より人脈なんて宣伝する糞プラットフォームは使わない
424デフォルトの名無しさん
2018/02/03(土) 12:51:45.20ID:3SRelbb9 Xamarinは簡単だけど高品質かと言われると、、
425デフォルトの名無しさん
2018/02/03(土) 12:54:52.62ID:3SRelbb9 実際クロスプラットフォームが最適なアプリってそんな多くないよな。
何かの画像処理をするとかそういう端末内で複雑なビジネスロジックを組まなくちゃいけないものならそこを共通化できるメリットはあるだろうけど、
サーバーサイドと通信して何かをするのがメインなクライアント系アプリなら普通にネイティブで2つ作った方が楽
何かの画像処理をするとかそういう端末内で複雑なビジネスロジックを組まなくちゃいけないものならそこを共通化できるメリットはあるだろうけど、
サーバーサイドと通信して何かをするのがメインなクライアント系アプリなら普通にネイティブで2つ作った方が楽
426デフォルトの名無しさん
2018/02/03(土) 13:19:34.45ID:cwvA0gbQ Unityでええやん
427デフォルトの名無しさん
2018/02/03(土) 13:29:02.91ID:g4V8Xpml APIクライアントやちょっとした処理も完全に共通化できるから便利だよXamarin
Java,Kotlin / Swift,obj-cだと日付型と日付操作apiみたいな些細な部分でも違いがある
C#にすると文法や基本ライブラリの粒度で共通化できる
Java,Kotlin / Swift,obj-cだと日付型と日付操作apiみたいな些細な部分でも違いがある
C#にすると文法や基本ライブラリの粒度で共通化できる
428デフォルトの名無しさん
2018/02/03(土) 13:58:55.43ID:cwvA0gbQ C++使いなら、QTとかSDLとか
429デフォルトの名無しさん
2018/02/03(土) 14:47:37.76ID:rIodJ30B Xamarinみたいな糞はプロトタイプ開発でしか使い道ない
まともなアプリはみんなネイティブ
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
Microsoft自身も糞認定して使わない糞開発環境がXamarin
まともなアプリはみんなネイティブ
任天堂のXamarin製アプリもカブドットコムのXamarin製アプリも星平均3.0の糞アプリ認定されてる
Microsoft自身も糞認定して使わない糞開発環境がXamarin
430デフォルトの名無しさん
2018/02/03(土) 15:38:21.40ID:I3vkx3c9 Unityは日本語入力の問題さえ解決すれば多分かなりの部分の解決になると思う。
なんせ画面を描くところから自力でやってるからな。
業務アプリでもポチポチ画面押すだけの物とか結構いけると思うし、実際あるんじゃないかな。
なんせ画面を描くところから自力でやってるからな。
業務アプリでもポチポチ画面押すだけの物とか結構いけると思うし、実際あるんじゃないかな。
431デフォルトの名無しさん
2018/02/03(土) 15:57:45.75ID:h3rMVgMV 共通部分はともかくUiはそのプラットフォームのネイティブでやったほうが結局は簡単なんだよな
432デフォルトの名無しさん
2018/02/03(土) 16:06:38.75ID:g4V8Xpml どのプラットフォームでもネイティヴで書いてもVとVMは普通に分離するだろ
なんでマルチプラットフォーム対応で追加のコストはかからない
なんでマルチプラットフォーム対応で追加のコストはかからない
433デフォルトの名無しさん
2018/02/03(土) 16:32:01.67ID:c+hycmxt434デフォルトの名無しさん
2018/02/03(土) 18:14:08.46ID:05c/5eCT クロプラは凝ったことしようとすると詰むね
435デフォルトの名無しさん
2018/02/03(土) 18:35:13.80ID:biHS6/dY Xamarin程の糞はない
436デフォルトの名無しさん
2018/02/03(土) 18:46:40.72ID:I3vkx3c9437デフォルトの名無しさん
2018/02/03(土) 23:11:11.34ID:w4Z6vlfg >>432
すまんけどそろそろXamarinスレに帰ってもらっていいかな
すまんけどそろそろXamarinスレに帰ってもらっていいかな
438デフォルトの名無しさん
2018/02/03(土) 23:47:52.38ID:Dj9L0wRm ザマァw
439デフォルトの名無しさん
2018/02/03(土) 23:53:32.22ID:g4V8Xpml Xamarinで全てが解決する
440デフォルトの名無しさん
2018/02/04(日) 00:09:06.97ID:uJTrEg0Y ざまりんは座間市のマスコットキャラクターです
441デフォルトの名無しさん
2018/02/04(日) 01:24:03.44ID:fXO59JwO >>417
MOE ART って、もう狙ったネーミングとしか思えない。
MOE ART って、もう狙ったネーミングとしか思えない。
442デフォルトの名無しさん
2018/02/04(日) 01:28:27.34ID:fXO59JwO ざまりんとことりん・・・りん繋がりか
443デフォルトの名無しさん
2018/02/04(日) 09:35:33.76ID:FBsDULoD >>442
どう考えてもことりんの方がかわいい
どう考えてもことりんの方がかわいい
444デフォルトの名無しさん
2018/02/04(日) 09:54:33.07ID:fkv+V9jD クマリンだと税金までとってくれる
445デフォルトの名無しさん
2018/02/04(日) 09:57:33.79ID:FBsDULoD 今更だけど、ことりんとこっとりんどっちが正しいんだろ
446デフォルトの名無しさん
2018/02/04(日) 10:25:02.12ID:djmEPYyF XamarinをやっているやつというのはC#の機能を使うことやXamarinを使うことそれ自体が目的化していて
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
お客さんに良いものを届けたいという意思が存在していない
ソフトウェアを作るということは価値のあるものを世の中に提供して世の中をもっといい場所にするために
行われることであるべきで、完全に自分本位でゴミを量産し続けるXamarinエンジニアは全員死んだ方が良い
447デフォルトの名無しさん
2018/02/04(日) 11:57:10.52ID:nOFNDTKE ことりんの記述の簡潔さが良いと言われているスレに来てC#書けなんて言われたらそりゃ嫌がらせだよ
448デフォルトの名無しさん
2018/02/04(日) 12:57:23.44ID:jtpbEfK1 C#の方がエレガントなコードを書けるでしょ
エレガントで保守性の高いプログラムはお客にとってもありがたい
お客にいいものを届けたいならXamarinだよ
Kotlinの奇形じみたセンスのない文法はお客も辟易してる
kotlinを使いたいというプログラマのわがままでお客に迷惑をかけちゃダメだ
エレガントで保守性の高いプログラムはお客にとってもありがたい
お客にいいものを届けたいならXamarinだよ
Kotlinの奇形じみたセンスのない文法はお客も辟易してる
kotlinを使いたいというプログラマのわがままでお客に迷惑をかけちゃダメだ
449デフォルトの名無しさん
2018/02/04(日) 13:02:47.05ID:FBsDULoD なんか変なのが居着いちゃったな。。。
450デフォルトの名無しさん
2018/02/04(日) 13:28:53.05ID:FSE7+++a C#は、.Net か Monoを入れないといけないのがウザいし
JavaやKotlinは、JDK入れないといけないし、
やっぱそういう意味では、Swiftが最強やな
JavaやKotlinは、JDK入れないといけないし、
やっぱそういう意味では、Swiftが最強やな
451デフォルトの名無しさん
2018/02/04(日) 13:45:15.33ID:zMXPgQ7i ねーよ
452デフォルトの名無しさん
2018/02/04(日) 13:47:54.74ID:th3aOzJF ことりんスレということを思い出していただきたい
453デフォルトの名無しさん
2018/02/04(日) 14:38:34.08ID:iVs4GAGZ 何ここ、ザマリンスレなの?
454デフォルトの名無しさん
2018/02/04(日) 14:39:13.20ID:zMXPgQ7i ザマリンアンチが居ついた
455デフォルトの名無しさん
2018/02/04(日) 15:18:28.39ID:Iw8xCsU2 Xamarinスレでは相手にされないものでね
ここなら最初からできる
ここなら最初からできる
456デフォルトの名無しさん
2018/02/04(日) 17:01:56.94ID:fXO59JwO うーん。しかし、Xamarin って本屋行くとiOSアプリ関係の本の所にちょっとしか置いてないし、
ほとんど名前しか知らないから俺には批判することすらできないなあ。眼中にない感じ。
仕事でも必要になることは今のところ全くないし。(ま、仕事で使わないと言えば Kotlin も
Java も俺は使わないんだけどね)。
ほとんど名前しか知らないから俺には批判することすらできないなあ。眼中にない感じ。
仕事でも必要になることは今のところ全くないし。(ま、仕事で使わないと言えば Kotlin も
Java も俺は使わないんだけどね)。
457デフォルトの名無しさん
2018/02/04(日) 17:20:25.12ID:FSE7+++a Xamarinに興味ないのならこのスレ来んなよカス
458デフォルトの名無しさん
2018/02/04(日) 17:24:52.19ID:zMXPgQ7i >>457
ここKotlinスレやでwww
ここKotlinスレやでwww
459デフォルトの名無しさん
2018/02/04(日) 17:29:38.53ID:fXO59JwO >>457
全くないねえw
全くないねえw
460デフォルトの名無しさん
2018/02/04(日) 19:41:54.65ID:djmEPYyF Xamarin程の糞はない
461デフォルトの名無しさん
2018/02/04(日) 20:04:16.29ID:8c6AhnDA お前らそんなに暇ならKotlinで人の役に立つブラグラムでも書いてこいよ
462デフォルトの名無しさん
2018/02/04(日) 20:14:32.95ID:th3aOzJF やだよ
俺は俺のためにプログラムするだけだ
俺は俺のためにプログラムするだけだ
463デフォルトの名無しさん
2018/02/04(日) 20:40:33.04ID:NcR26d4z ことりんはBカップ、ザマリンはHカップだそうだ。
どっちが優れているかは明らかだろう。
どっちが優れているかは明らかだろう。
464デフォルトの名無しさん
2018/02/04(日) 21:04:53.75ID:v0/VVSUj ザマリンはケツぷりんぷりんやで
465デフォルトの名無しさん
2018/02/05(月) 06:25:07.64ID:XnXa3nca >>463
その二択ならことりんだわ
その二択ならことりんだわ
466デフォルトの名無しさん
2018/02/05(月) 07:01:14.71ID:PujqrgUf ことりん使いはロリコンってことなのか?
467デフォルトの名無しさん
2018/02/05(月) 09:24:55.28ID:Bet9M/a/ まぁ、そういうことになるわな
468デフォルトの名無しさん
2018/02/05(月) 11:01:26.93ID:U6/FYtwu 女性の敵ですよ(歌詞)
469デフォルトの名無しさん
2018/02/05(月) 17:22:37.32ID:tfCzDdoz ある非同期関数を呼び出し側のコンテキストで実行したいのですが、例えばC#の場合
void async testAsync() {
await funAsync1(); // configureAwait(false)しない
hoge1();
await funAsync2(); // configureAwait(false)しない
hoeg2();
}
で、testAsyncをメインスレッドから呼び出しせば、hoge1とhoge2は呼び出し側のコンテキストつまり
メインスレッド上で実行されるのですが、
同じ事をkotlinでやるにはどうすればいいでしょうか??
fun testAsync() : Job {
return launch {
funAsync1().await()
hoge1();
funAsync2().await()
hoge2();
}
}
void async testAsync() {
await funAsync1(); // configureAwait(false)しない
hoge1();
await funAsync2(); // configureAwait(false)しない
hoeg2();
}
で、testAsyncをメインスレッドから呼び出しせば、hoge1とhoge2は呼び出し側のコンテキストつまり
メインスレッド上で実行されるのですが、
同じ事をkotlinでやるにはどうすればいいでしょうか??
fun testAsync() : Job {
return launch {
funAsync1().await()
hoge1();
funAsync2().await()
hoge2();
}
}
470デフォルトの名無しさん
2018/02/05(月) 17:23:55.91ID:tfCzDdoz launch(UI)とか昔のコードみるとあるのですが、UIは廃止されたのでしょうか?
471デフォルトの名無しさん
2018/02/05(月) 17:57:24.43ID:RkA+fItw ここXamarinスレだから、そんなこと聞かれても困る
472デフォルトの名無しさん
2018/02/05(月) 18:58:41.41ID:wW/kiq+x >>463
情報の出処について詳細求む
情報の出処について詳細求む
473デフォルトの名無しさん
2018/02/05(月) 20:07:43.39ID:Gnk0ssBz なんかスレチな話題ばっかりなんだが、コトリンインアクション買う価値ある?
本家HPのリファレンスで十分?
本家HPのリファレンスで十分?
474デフォルトの名無しさん
2018/02/05(月) 20:54:56.13ID:AaZ8U1Zi475デフォルトの名無しさん
2018/02/05(月) 21:08:10.13ID:tfCzDdoz launch(UI)のUIはcoroutine-androidの別モジュールだった。すみません。
476デフォルトの名無しさん
2018/02/05(月) 21:14:06.27ID:U6/FYtwu コルーチンは実験的らしいけど
Androidなら「android kotlin 非同期」とかでググってみたらいいんじゃないかな
実験的じゃない方なら「android 非同期」でJavaのやり方をそのままKotlinに
Androidなら「android kotlin 非同期」とかでググってみたらいいんじゃないかな
実験的じゃない方なら「android 非同期」でJavaのやり方をそのままKotlinに
477デフォルトの名無しさん
2018/02/05(月) 23:17:35.87ID:nOjIwE3H >>473-474
Kotlinイン・アクション、2017
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
太郎はたぶん、イン・アクションを参考にしながら、スタートブックを書いたのかな?
そういう意味では、太郎本の方が有利
Kotlinイン・アクション、2017
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
太郎はたぶん、イン・アクションを参考にしながら、スタートブックを書いたのかな?
そういう意味では、太郎本の方が有利
478デフォルトの名無しさん
2018/02/06(火) 05:27:10.63ID:8sdmif4x479デフォルトの名無しさん
2018/02/06(火) 06:25:53.98ID:rJfYat5w コルーチンっていつまで実験的扱いなんだ
普通に十分実用に耐えるんだが
普通に十分実用に耐えるんだが
480デフォルトの名無しさん
2018/02/06(火) 08:50:02.13ID:BCxTzJO3481デフォルトの名無しさん
2018/02/06(火) 09:12:44.31ID:mPJqoZjS 標準でページ翻訳を備えるブラウザが便利
stackoverflow(英語本家)のやり取りなんかは本じゃ得られないし
stackoverflow(英語本家)のやり取りなんかは本じゃ得られないし
482デフォルトの名無しさん
2018/02/06(火) 09:21:42.12ID:BI0U6pHR ノン・アクション
483デフォルトの名無しさん
2018/02/06(火) 09:30:50.75ID:KYIMWbNh Amazonでkindle版のサンプルがただで読めるよ。サンプルだからどの程度まで読めるかはわからないが。
484デフォルトの名無しさん
2018/02/06(火) 11:58:30.44ID:Ql6hMbqV Stackoverflowを翻訳なしで読めないならKotlinより先に英語を勉強した方が良いと思う
煽りじゃなくてマジで
煽りじゃなくてマジで
485デフォルトの名無しさん
2018/02/06(火) 12:37:44.65ID:mPJqoZjS 全く読めないならその通りだね
その場合検索もまともに出来ないだろうし
でも情報を探しているときに日本語と同じ速度で流し読み出来る人以外には翻訳おすすめ
その場合検索もまともに出来ないだろうし
でも情報を探しているときに日本語と同じ速度で流し読み出来る人以外には翻訳おすすめ
486デフォルトの名無しさん
2018/02/06(火) 12:53:34.58ID:BI0U6pHR Google先生の翻訳精度も最近上がってる気がする
487デフォルトの名無しさん
2018/02/06(火) 13:14:41.74ID:Cp0wU7qW たまにできる・できないとか真逆の意味で訳される
488デフォルトの名無しさん
2018/02/06(火) 14:05:56.32ID:oL/xYjbv 読めなくても文法の基礎知識があれば翻訳を修正しながら読める
489デフォルトの名無しさん
2018/02/06(火) 20:33:53.89ID:BCxTzJO3 最近のGoogle先生はほんと優秀で、一回全部Google翻訳にかけて、意味がわからんところだけ英文見て修正するだけでも単語調べる時間減るから、だいぶ時間の節約になる
490デフォルトの名無しさん
2018/02/06(火) 21:28:26.63ID:HNEg71Ng 精度が良いからって頼りきりなのは問題だよ
データシートも翻訳するの?
データシートも翻訳するの?
491デフォルトの名無しさん
2018/02/06(火) 22:10:15.81ID:rTnXOt5h 時間節約や翻訳支援に有用性があるという程度の話に
突っかかって行く意味あるのか?
突っかかって行く意味あるのか?
492デフォルトの名無しさん
2018/02/06(火) 23:01:06.65ID:ovlDN9kS 言語オタクと初心者以外本なんて必要ないような
最低限の知識は軽く公式のドキュメント読んで後は
その都度覚えれば十分だなぁ
言語オタクじゃないので言語よりアプリ作るのが目的だからな
最低限の知識は軽く公式のドキュメント読んで後は
その都度覚えれば十分だなぁ
言語オタクじゃないので言語よりアプリ作るのが目的だからな
493デフォルトの名無しさん
2018/02/06(火) 23:03:49.83ID:BI0U6pHR Kotlin自体より、Android SDK等のクラスライブラリの方が使いこなすの大変だわ
494デフォルトの名無しさん
2018/02/07(水) 16:35:52.55ID:c/oxW6ag 新しい言語覚える時は適当に評価高い本を一冊買う派だな俺は
全体像をつかむのに体系的ににまとまった本はやっぱり便利
全体像をつかむのに体系的ににまとまった本はやっぱり便利
495デフォルトの名無しさん
2018/02/09(金) 11:15:30.34ID:S2cW3gVf 自分の慣れた言語で当たり前だったやり方でも、他の言語ならもっとスマートに書けるとかあるからな
公式ドキュメントだとどうしても全体を俯瞰的に見るのは難しいから、自分が存在を知っている情報以外の情報に気付きにくい
公式ドキュメントだとどうしても全体を俯瞰的に見るのは難しいから、自分が存在を知っている情報以外の情報に気付きにくい
496デフォルトの名無しさん
2018/02/10(土) 18:20:28.04ID:ax7FG40j カンファレンス楽しみ
497デフォルトの名無しさん
2018/02/11(日) 00:06:26.27ID:Dss3s5Hr ねえ
// int[] sKey
// byte[] wKey
// int data
wKey[0] += sKey[(int) wKey[1] & 0xFF] - data;
wKey[1] -= (byte) ((sKey[(int) data & 0xFF] ^ wKey[2]) & 0xFF);
wKey[2] ^= (byte) (data + sKey[(int) wKey[3] & 0xFF]) & 0xFF;
wKey[3] -= (byte) (wKey[0] - sKey[(int) data & 0xFF]) & 0xFF;
int dKey = ((int) wKey[0]) & 0xFF | (wKey[1] << 8) & 0xFF00 | (wKey[2] << 16) & 0xFF0000 | (wKey[3] << 24) & 0xFF000000;
こういうのってKotlinでどう書けばいいの…
// int[] sKey
// byte[] wKey
// int data
wKey[0] += sKey[(int) wKey[1] & 0xFF] - data;
wKey[1] -= (byte) ((sKey[(int) data & 0xFF] ^ wKey[2]) & 0xFF);
wKey[2] ^= (byte) (data + sKey[(int) wKey[3] & 0xFF]) & 0xFF;
wKey[3] -= (byte) (wKey[0] - sKey[(int) data & 0xFF]) & 0xFF;
int dKey = ((int) wKey[0]) & 0xFF | (wKey[1] << 8) & 0xFF00 | (wKey[2] << 16) & 0xFF0000 | (wKey[3] << 24) & 0xFF000000;
こういうのってKotlinでどう書けばいいの…
498デフォルトの名無しさん
2018/02/11(日) 00:14:54.33ID:7rBQZAiC 宿題は自分でやろうね
499デフォルトの名無しさん
2018/02/11(日) 00:37:59.12ID:tZ50hO/2 >>497
IntelliJかAndroidStudioで変換してエラーを手修正すればOK
IntelliJかAndroidStudioで変換してエラーを手修正すればOK
500デフォルトの名無しさん
2018/02/11(日) 05:15:17.18ID:B0DbdRYG >>497
それは何ていう言語で書いてあるんだ?
それは何ていう言語で書いてあるんだ?
501デフォルトの名無しさん
2018/02/11(日) 06:47:22.49ID:7rolFSqw >>497
言いたいことを想像しながらの答えになるけど、ビット演算もシフト演算もKotlinにはあるよ。
ttps://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html
Cのような見栄えにならないとしても、それはKotlinの目指すところではないということかと。
言いたいことを想像しながらの答えになるけど、ビット演算もシフト演算もKotlinにはあるよ。
ttps://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html
Cのような見栄えにならないとしても、それはKotlinの目指すところではないということかと。
502デフォルトの名無しさん
2018/02/11(日) 08:33:39.91ID:HsBVk8FN kotlinでやるならwKeyもIntArrayとかにしたほうがよさそう
503デフォルトの名無しさん
2018/02/11(日) 08:54:01.46ID:tZ50hO/2 普通にJavaでしょ
殆どIntelliJがやってくれる
殆どIntelliJがやってくれる
504デフォルトの名無しさん
2018/02/11(日) 10:57:18.59ID:7jnO/yAb505デフォルトの名無しさん
2018/02/11(日) 11:35:59.62ID:hLOHWIXG もとの言語知らんけどもっとマシな書き方あるだろと思う
506デフォルトの名無しさん
2018/02/11(日) 11:51:33.86ID:qM2RbKtk 何かの外部の処理論理をそのまま記述したって感じだな
外部の処理記述と突き合わせなければならないような場合はこんなのをよく見る
変にスマートに書き換えされてると脳内再変換コストがかかるというパターンw
外部の処理記述と突き合わせなければならないような場合はこんなのをよく見る
変にスマートに書き換えされてると脳内再変換コストがかかるというパターンw
507デフォルトの名無しさん
2018/02/11(日) 13:44:27.62ID:Dss3s5Hr508デフォルトの名無しさん
2018/02/11(日) 14:07:54.93ID:tZ50hO/2 >>507
Javaではこれがfalseになる
Integer a = 0;
Long b = a + 0L;
System.out.println( a.equals(b) );
コード上のプリミティブ型とクラス型の区別を排除していたり(最適化でプリミティブ型になる)
型推論を持つKotlinで数値型の暗黙の型変換は地雷になるのであえて無くしている
Javaではこれがfalseになる
Integer a = 0;
Long b = a + 0L;
System.out.println( a.equals(b) );
コード上のプリミティブ型とクラス型の区別を排除していたり(最適化でプリミティブ型になる)
型推論を持つKotlinで数値型の暗黙の型変換は地雷になるのであえて無くしている
509デフォルトの名無しさん
2018/02/11(日) 16:20:36.85ID:QgiY6BS8 こういうの見るとセンスねえなあって思う
C#の開発者が優秀すぎた
C#の開発者が優秀すぎた
510デフォルトの名無しさん
2018/02/11(日) 18:58:12.47ID:JShv+xJ2 Javaの検査例外になれるとKotlin-JVMで検査例外使えないのが辛い・・
511デフォルトの名無しさん
2018/02/11(日) 20:20:29.62ID:Dss3s5Hr >>508
例えば引数にByteを使う場合にJavaでは数値の明示的変換が要るのに対してKotlinでは要らないけど
いざ数値と比較しようとするときには
-> Java/Kotlin
== -> true/error
==(cast) -> true/true
equals -> false/false
equals(cast) -> true/true
になってKotlin側は値比較をしてくれないのはそのせいか
いやでも引数に使うときや代入時には(型の範囲内なら)変換無しで通るんだから
数値比較でも比較される型の範囲内ならキャスト不要にして欲しいな
例えば引数にByteを使う場合にJavaでは数値の明示的変換が要るのに対してKotlinでは要らないけど
いざ数値と比較しようとするときには
-> Java/Kotlin
== -> true/error
==(cast) -> true/true
equals -> false/false
equals(cast) -> true/true
になってKotlin側は値比較をしてくれないのはそのせいか
いやでも引数に使うときや代入時には(型の範囲内なら)変換無しで通るんだから
数値比較でも比較される型の範囲内ならキャスト不要にして欲しいな
512デフォルトの名無しさん
2018/02/11(日) 21:15:48.50ID:prqcbbby kotlin初心者の質問くんはここでいいですか…?
513デフォルトの名無しさん
2018/02/11(日) 21:19:39.67ID:gE7bRFhE ほかあたってください
514512
2018/02/11(日) 21:22:12.72ID:prqcbbby すみませんでした
515デフォルトの名無しさん
2018/02/11(日) 21:58:08.45ID:B0DbdRYG >>513
いや、いいだろ。なぜ?
いや、いいだろ。なぜ?
516デフォルトの名無しさん
2018/02/11(日) 22:32:21.15ID:gE7bRFhE すみません、Xamarinスレと勘違いしました
517デフォルトの名無しさん
2018/02/12(月) 15:11:34.54ID:Ut4sP9LM ワロタ
518デフォルトの名無しさん
2018/02/12(月) 15:28:15.00ID:rB04jb5x kotlinの話題が許されないkotlinスレ
519デフォルトの名無しさん
2018/02/12(月) 15:36:24.81ID:lpfNHnpq 何言ってんだここはザマリンスレだぞ
520デフォルトの名無しさん
2018/02/12(月) 16:44:32.14ID:gfcybQxo そういや Kotlin も初心者質問スレみたいのがあった方が良いんじゃないか?
今はまだ言語そのものを知らない人が多いようなのでこのスレだけでも良いかも知れないが、何れ増えて来るだろうし。
今はまだ言語そのものを知らない人が多いようなのでこのスレだけでも良いかも知れないが、何れ増えて来るだろうし。
521デフォルトの名無しさん
2018/02/12(月) 19:14:25.11ID:rB04jb5x そんなん増えてきたら作ればいいだろ
このスレですら過疎すぎてxamarinに乗っ取られてるんだからこれ以上住人を分散させなくていい
このスレですら過疎すぎてxamarinに乗っ取られてるんだからこれ以上住人を分散させなくていい
522デフォルトの名無しさん
2018/02/12(月) 19:27:31.45ID:gtsgi9fT Xamarin程の糞はない
523デフォルトの名無しさん
2018/02/12(月) 20:00:50.98ID:waI/80wR ある
524デフォルトの名無しさん
2018/02/12(月) 20:06:04.05ID:gfcybQxo >>521
ま、そうだな。
ま、そうだな。
525デフォルトの名無しさん
2018/02/12(月) 21:59:41.62ID:TVd19ADi XamarinってKotlinより流行ってるん?
526デフォルトの名無しさん
2018/02/12(月) 22:20:35.54ID:Af1G2ZWC 結局Xamarinの話題でまわるスレ
527デフォルトの名無しさん
2018/02/12(月) 22:23:41.28ID:rB04jb5x Kotlinはようやく存在が知られ始めたところだし、これからよ
528デフォルトの名無しさん
2018/02/12(月) 22:26:32.35ID:NpQ9GJ9J ざまりんとかことりんとか何か気安いな
529デフォルトの名無しさん
2018/02/12(月) 22:35:59.46ID:Bk9VmC4X XamarinというかC#が強すぎるんだよね
530デフォルトの名無しさん
2018/02/12(月) 22:46:21.77ID:gfcybQxo いやしかし特定の分野でだけではないかな。Web関係とか。
少なくとも俺の日頃の仕事では全く絡まないのでどこでよく使われているのかよくわからない。
少なくとも俺の日頃の仕事では全く絡まないのでどこでよく使われているのかよくわからない。
531デフォルトの名無しさん
2018/02/13(火) 06:41:15.56ID:+5F8N/ik C++でAndroid書くみたいなのは完全にオワコン?
532デフォルトの名無しさん
2018/02/13(火) 09:16:08.55ID:WXuIo0Zq ニッチコン
533デフォルトの名無しさん
2018/02/13(火) 09:22:14.51ID:Hjhq84aM >>531
ネイティブってこと?それだと当然CPUが違うと動かないよね。
ネイティブってこと?それだと当然CPUが違うと動かないよね。
534デフォルトの名無しさん
2018/02/13(火) 09:28:15.91ID:WXuIo0Zq え?
535デフォルトの名無しさん
2018/02/13(火) 10:09:44.20ID:ek2wpFVO Xamarinって確かライセンス買わないと使える機能に制限あるんじゃなかったっけ
536デフォルトの名無しさん
2018/02/13(火) 11:48:52.36ID:i1aJT757 使った事がないのでわかりません
537デフォルトの名無しさん
2018/02/13(火) 12:50:25.21ID:d0Q2J5B+ そうか Java VMで動くC#があれば全て解決するのか
538デフォルトの名無しさん
2018/02/13(火) 14:45:21.02ID:flHxC5Ds >>537
なんでわざわざJVMで?
なんでわざわざJVMで?
539デフォルトの名無しさん
2018/02/13(火) 16:28:11.56ID:JFn7hM60 C#自体あんまり好きじゃないから勘弁してくれ
540デフォルトの名無しさん
2018/02/13(火) 19:15:59.91ID:KJxSXl65 >>535
XamarinのライセンスはVisual Studioライセンスに統合されてる
Communityライセンスの条件内なら無料
そうでなければ年間サブスクリプションが必要(約6万円 / 年・開発者)
XamarinのライセンスはVisual Studioライセンスに統合されてる
Communityライセンスの条件内なら無料
そうでなければ年間サブスクリプションが必要(約6万円 / 年・開発者)
541デフォルトの名無しさん
2018/02/13(火) 20:59:24.53ID:YVR14H+q 安いなぁ
542デフォルトの名無しさん
2018/02/13(火) 21:10:26.79ID:RM6vxbUw 安いと感じるか高いと感じるかはあなたしだいです。
543デフォルトの名無しさん
2018/02/13(火) 23:22:43.96ID:7sc/QqUb でここはKotlinスレでいいんだよな?
544デフォルトの名無しさん
2018/02/14(水) 00:51:14.52ID:71Om1Biy Kotlin だって
いいじゃないか
JavaVM だもの
いいじゃないか
JavaVM だもの
545デフォルトの名無しさん
2018/02/14(水) 07:14:41.99ID:3FUTBO2y546デフォルトの名無しさん
2018/02/14(水) 12:55:24.11ID:EGLxgTrP kotlinは好きだけどJVMがなぁ・・・
て思ってる人はかなり多いと思うよ
kotlin nativeに頑張ってもらって
さっさとJVMから足洗ってほしい
て思ってる人はかなり多いと思うよ
kotlin nativeに頑張ってもらって
さっさとJVMから足洗ってほしい
547デフォルトの名無しさん
2018/02/14(水) 13:07:48.38ID:d5//Tphf 同意
548デフォルトの名無しさん
2018/02/14(水) 13:19:15.79ID:WIinEwd5 ぼきはJavaのライブラリ使うのでJVMでもいいれす(^p^)
549デフォルトの名無しさん
2018/02/14(水) 13:35:25.05ID:QwasDp2D 俺もとりあえずはJVMで良い。
気になるのはJavaScriptの方かな。
気になるのはJavaScriptの方かな。
550デフォルトの名無しさん
2018/02/14(水) 17:38:51.85ID:D3O9gfhg Kotlinに移行しようかとしばらく触ってみたけど、C#の方が痒いところに手が届くいい言語だな、、、
551デフォルトの名無しさん
2018/02/14(水) 18:38:51.02ID:8PtXrtN7 なんだかんだで膨大のJavaのライブラリとそれらのノウハウを使えるってのが大きいわな
552デフォルトの名無しさん
2018/02/14(水) 19:57:38.83ID:oF080CGK Javaの腐ったライブラリよりC#の洗練されたライブラリの方が有り難いんだけど
553デフォルトの名無しさん
2018/02/14(水) 20:14:34.75ID:viC2s+IO554デフォルトの名無しさん
2018/02/14(水) 20:56:03.30ID:UlcWCziO >>55
バッドノウハウは要らないのと神託社に抑えられいるのがイヤン
バッドノウハウは要らないのと神託社に抑えられいるのがイヤン
555デフォルトの名無しさん
2018/02/14(水) 21:35:40.97ID:mO/mX4fn ほとんど借金なんだよなぁ
COBOLと同じ道辿ってる
COBOLと同じ道辿ってる
556デフォルトの名無しさん
2018/02/15(木) 12:27:28.16ID:GqN6d9KA イミフ
557デフォルトの名無しさん
2018/02/15(木) 13:04:38.64ID:n8vclWLi JAVAの肩持つわけじゃないがCOBOLと同じ道は流石にないわ
558デフォルトの名無しさん
2018/02/15(木) 18:18:01.31ID:CMBfD/sb COBOLとは全然状況違うよな
分散処理のフレームワークとかミドルとか活発に開発されてるし
言語としては最先端ではないかもしれないけど、逆に最先端の言語でも優れたプロダクトを生み出してないなら大して存在価値ないし
分散処理のフレームワークとかミドルとか活発に開発されてるし
言語としては最先端ではないかもしれないけど、逆に最先端の言語でも優れたプロダクトを生み出してないなら大して存在価値ないし
559デフォルトの名無しさん
2018/02/15(木) 18:44:01.31ID:krlBMZHL これから終わるんだよ
kotlinとc#に駆逐される
kotlinとc#に駆逐される
560デフォルトの名無しさん
2018/02/15(木) 18:54:22.05ID:skblyvdp JavaVMの上でCOBOLが動くようになったりして・・・
561デフォルトの名無しさん
2018/02/15(木) 19:02:58.45ID:SuVvVuMr 一定の奴隷需要は残るだろうね
562デフォルトの名無しさん
2018/02/15(木) 19:36:21.03ID:1CgTZOOO これから終わると言われ続けて10年
563デフォルトの名無しさん
2018/02/15(木) 21:54:13.46ID:qz0oQ/wP write once run anywhereとか言われてた頃が懐かしいな
564デフォルトの名無しさん
2018/02/15(木) 22:34:41.26ID:2kJoQloU565デフォルトの名無しさん
2018/02/15(木) 22:40:34.93ID:2kJoQloU まあでも確かにJava言語は使われなくなっていくだろうね。
うちもJavaで作ってるシステムの機能追加なんかはkotlinでやってるし、JVMで動かすのが要件な新規のプログラムももうほぼkotlinに移行してる。
スマホは知らんけどandroid開発はもうkotlinが多いのかな?
うちもJavaで作ってるシステムの機能追加なんかはkotlinでやってるし、JVMで動かすのが要件な新規のプログラムももうほぼkotlinに移行してる。
スマホは知らんけどandroid開発はもうkotlinが多いのかな?
566デフォルトの名無しさん
2018/02/15(木) 23:12:11.62ID:/UvppoEW ドロイド会議のアンケートでもkotlin使ってるひと多かったし
567デフォルトの名無しさん
2018/02/15(木) 23:59:58.64ID:9umHg1OB Kotlinを推しつつもJavaはまだ現役だと考えている
しかしJava8でラムダが入ったときと
AndroidがJava8に対応したときは正直「余計なことしおって」と思ったな
Java6のままだったら今以上にKotlinが推されてただろうからw
しかしJava8でラムダが入ったときと
AndroidがJava8に対応したときは正直「余計なことしおって」と思ったな
Java6のままだったら今以上にKotlinが推されてただろうからw
568デフォルトの名無しさん
2018/02/16(金) 03:16:32.96ID:RsIE9z2G しかしJavaのラムダはやりすぎだろって感じがした。
569デフォルトの名無しさん
2018/02/16(金) 05:43:13.28ID:shLmPi2M 確かに
レガシーJavaおじさんと現代人Kotlin使いで棲みわけた方が平和だったかもしれないね
レガシーJavaおじさんと現代人Kotlin使いで棲みわけた方が平和だったかもしれないね
570デフォルトの名無しさん
2018/02/16(金) 06:37:35.95ID:br7rfOfj kotlinでandroidの説明してるところなんか全然ない
先進的な一部が勝手に使い始めてるだけで普及の段階ではない、いつもながら日本は遅れてる
先進的な一部が勝手に使い始めてるだけで普及の段階ではない、いつもながら日本は遅れてる
571デフォルトの名無しさん
2018/02/16(金) 06:49:21.30ID:UxRi07OK 全然ないことはないだろ
572デフォルトの名無しさん
2018/02/16(金) 07:11:23.90ID:shLmPi2M (僕の周りでは)全然ない
(国内では)全然ない
(国内では)全然ない
573デフォルトの名無しさん
2018/02/16(金) 07:17:40.02ID:W9Ay2BhF 最近ネットに出て来るandroid周りのサンプルはほぼkotlinじゃない?
574デフォルトの名無しさん
2018/02/16(金) 09:05:39.78ID:3Bntq5A/ kotlinの実務経験ないやつは失業ざまあwww
575デフォルトの名無しさん
2018/02/16(金) 09:19:32.40ID:OW1usLwi 実務経験って、そもそも実務で使われてる所がまだ少なかろう。
576デフォルトの名無しさん
2018/02/16(金) 10:41:09.40ID:FgGKrURU 実際DroidKaigiのセッションスライドのコードはほぼKotlinだったし、実務もKotilnである割合はかなり増えてるでしょ。
自分も実務ではもう1年くらい使ってるし。
自分も実務ではもう1年くらい使ってるし。
577デフォルトの名無しさん
2018/02/16(金) 10:58:35.59ID:OW1usLwi そりゃAndroidだから増えてて当然な感じするが、世の中にはAndroidしかないわけではないからなあ。
578デフォルトの名無しさん
2018/02/16(金) 11:06:50.68ID:e2WRvV7P 俺は逆にandroidまったくやらんけどkotlinめっちゃ使ってるよ
ローカルのプログラムでもサーバーサイドでも
まだこういうのは少数派だろうけど
ローカルのプログラムでもサーバーサイドでも
まだこういうのは少数派だろうけど
579デフォルトの名無しさん
2018/02/16(金) 12:46:25.84ID:6HTN9r9U ああ。俺は趣味では使うよ。というか学習中なので敢えて使う感じ。Kotlinだとどう書けるかを調べながら書いてる感じ。
580デフォルトの名無しさん
2018/02/16(金) 12:47:35.63ID:ime2ev9d ながら勉強?
581デフォルトの名無しさん
2018/02/16(金) 12:58:29.56ID:6HTN9r9U ながらというか、CやPerlなら仕事で何十年も使ってて間が働くからどう書くかはすぐ想像できる(Javaも趣味で20年ぐらいやってるのでなんとなくわかる)んだが、
Kotlinはそれと似たようにも書けるしKotlinならではの書き方もできるわけで、その辺のKpylin的な書き方を学習してる感じ。
Kotlinはそれと似たようにも書けるしKotlinならではの書き方もできるわけで、その辺のKpylin的な書き方を学習してる感じ。
582デフォルトの名無しさん
2018/02/16(金) 12:59:00.48ID:6HTN9r9U 間がじゃない、勘がだ。
583デフォルトの名無しさん
2018/02/16(金) 13:01:00.94ID:6HTN9r9U うう。やはりスマホだと変なタイプミス増えるな。orz
584デフォルトの名無しさん
2018/02/16(金) 13:02:16.20ID:6wcMGkCt くぴりんw
585デフォルトの名無しさん
2018/02/16(金) 13:05:28.66ID:3Bntq5A/ どうせお前らrxもMVVMもfluxも分からないんだろ
失業ざまああwwwwwww
失業ざまああwwwwwww
586デフォルトの名無しさん
2018/02/16(金) 15:00:09.56ID:WR2/4984 どこかで聞いたことがあるようなないような・・・
587デフォルトの名無しさん
2018/02/16(金) 18:08:43.61ID:LeDNkgwE588デフォルトの名無しさん
2018/02/16(金) 19:12:39.30ID:pw8u3FlN589デフォルトの名無しさん
2018/02/16(金) 19:50:26.64ID:uCgPr+rC590デフォルトの名無しさん
2018/02/16(金) 20:40:30.87ID:YSXjevvC 俺
も
知らない
も
知らない
591デフォルトの名無しさん
2018/02/16(金) 21:50:37.65ID:A7OU5IQx 車輪の
再発明に
名前を付けた
再発明に
名前を付けた
592デフォルトの名無しさん
2018/02/16(金) 22:05:45.45ID:JKZCusui モルゲッソヨ
593デフォルトの名無しさん
2018/02/16(金) 22:11:32.26ID:kk8fZRd1 今分かったんですけど、プライマリコンストラクタ宣言せずに
セカンダリコンストラクタって宣言できるんですね。
プライマリコンストラクタの主な用途ってコンストラクタのパラメータの宣言とプロパティの宣言を
一緒にできるぐらいですか??用途は。
class Test(val p1: String)とか
セカンダリコンストラクタって宣言できるんですね。
プライマリコンストラクタの主な用途ってコンストラクタのパラメータの宣言とプロパティの宣言を
一緒にできるぐらいですか??用途は。
class Test(val p1: String)とか
594デフォルトの名無しさん
2018/02/16(金) 23:21:19.28ID:JKZCusui595デフォルトの名無しさん
2018/02/16(金) 23:59:52.15ID:JKZCusui 基本は省略表記なだけ
https://ideone.com/3Uc2dJ
https://ideone.com/3Uc2dJ
596デフォルトの名無しさん
2018/02/17(土) 00:19:37.32ID:1ji1uAN3 >>594
でも、空のプライマリコンストラクタを明示的に宣言するのと省略するのでは厳密には同一ではないですよね??
だから、言葉の定義の問題にもなっちゃうけど、initブロックはinitブロックであってプライマリコンストラクタと同一視
しない方がいいとか。プライマリコンストラクタはあくまでclass Test(val p1: String)のval p1: String部分だけで、
プライマリコンストラクタはボディは持てない。
初期化はinitブロックで行うとか?
でも、空のプライマリコンストラクタを明示的に宣言するのと省略するのでは厳密には同一ではないですよね??
だから、言葉の定義の問題にもなっちゃうけど、initブロックはinitブロックであってプライマリコンストラクタと同一視
しない方がいいとか。プライマリコンストラクタはあくまでclass Test(val p1: String)のval p1: String部分だけで、
プライマリコンストラクタはボディは持てない。
初期化はinitブロックで行うとか?
597デフォルトの名無しさん
2018/02/17(土) 00:24:21.47ID:1ji1uAN3 https://kotlinlang.org/docs/reference/classes.html
正式な言語仕様書とかないんでしったけ??
JavaとかC#はしっかりした言語仕様書みたいのあって言葉もしっかり定義されてると
思いますが、kotlinはそういうのないとか・・
正式な言語仕様書とかないんでしったけ??
JavaとかC#はしっかりした言語仕様書みたいのあって言葉もしっかり定義されてると
思いますが、kotlinはそういうのないとか・・
598デフォルトの名無しさん
2018/02/17(土) 00:37:46.91ID:1ji1uAN3 Note that code in initializer blocks effectively becomes part of the primary constructor.
Delegation to the primary constructor happens as the first statement of a secondary constructor, so the code in all initializer blocks is executed before the secondary constructor body
まぁ、ここにはプライマリコンストラクタの一部になるって書いてあるね。
Delegation to the primary constructor happens as the first statement of a secondary constructor, so the code in all initializer blocks is executed before the secondary constructor body
まぁ、ここにはプライマリコンストラクタの一部になるって書いてあるね。
599デフォルトの名無しさん
2018/02/17(土) 00:43:30.54ID:vJDAw5Ja >>596
そうね暗黙の場合と違いあるから省略という表現は不正確だったごめん
セカンダリコンストラクタが無い場合、暗黙のプライマリコンストラクタはpublicになる
セカンダリコンストラクタが有る場合、暗黙のプライマリコンストラクタは未初期化メンバを残せる
そうね暗黙の場合と違いあるから省略という表現は不正確だったごめん
セカンダリコンストラクタが無い場合、暗黙のプライマリコンストラクタはpublicになる
セカンダリコンストラクタが有る場合、暗黙のプライマリコンストラクタは未初期化メンバを残せる
600デフォルトの名無しさん
2018/02/17(土) 01:07:01.46ID:vJDAw5Ja601デフォルトの名無しさん
2018/02/17(土) 09:11:07.08ID:cSouIKOJ Kotlin使いがJava使いにマウント取ってる様を見てまたこの繰り返しかと思いそっ閉じ
602デフォルトの名無しさん
2018/02/17(土) 11:37:12.55ID:EWYfJ6l0 マウント取ってるように見える?そりゃなんていうか、劣等感強すぎでは?
てか一々そんなこと考えてないで自分でも使えばいいじゃん。禁止されているわけでもなし。
Java が使える状態になったことのある人が Kotlin 使えるようになれないわけがないと思うが。
てか一々そんなこと考えてないで自分でも使えばいいじゃん。禁止されているわけでもなし。
Java が使える状態になったことのある人が Kotlin 使えるようになれないわけがないと思うが。
603デフォルトの名無しさん
2018/02/17(土) 19:20:37.06ID:MOg6+5DY ていうかkotlin使いって99%Java使いも兼ねてるだろうからマウントとるも何もないのでは
604デフォルトの名無しさん
2018/02/17(土) 22:06:51.34ID:QsKtGr9g 今使ってる人はそもそもJavaできるからな
より使いやすくても、対立構造にはならないよな
より使いやすくても、対立構造にはならないよな
605デフォルトの名無しさん
2018/02/18(日) 01:22:27.54ID:5P/pcqvC >>557
モバイル開発は違うかもだが、業務系は極端に言っちまうとjava要員集めるっつたら使い捨て兵隊集めだよ。
モバイル開発は違うかもだが、業務系は極端に言っちまうとjava要員集めるっつたら使い捨て兵隊集めだよ。
606デフォルトの名無しさん
2018/02/18(日) 11:33:46.48ID:LPhOEvze そんな自分の知ってる世界だけの狭い話をされても
607デフォルトの名無しさん
2018/02/18(日) 13:07:28.97ID:hkjnjusX Kotlin, RxJava, MVVMは基本的な必須スキルだからな
未だに実務経験ないやつは失業確定ざまああwwwwwww
未だに実務経験ないやつは失業確定ざまああwwwwwww
608デフォルトの名無しさん
2018/02/18(日) 13:07:47.53ID:1pIRFdOf609デフォルトの名無しさん
2018/02/18(日) 13:24:23.64ID:R7wrwf8X Android系の技術スレは失業だの兵隊だの低いところでマウント争ってるんだな。稼いでるやついなそう。
610デフォルトの名無しさん
2018/02/18(日) 13:56:19.84ID:D295fkqM そういやKotlinはまだ求人数は少ないけど給与は良いって調査結果があったな
中途半端だと仕事にありつけないかもしれないな
中途半端だと仕事にありつけないかもしれないな
611デフォルトの名無しさん
2018/02/18(日) 14:56:03.30ID:oDDrqbus しかしKotlinってKotlinらしくない従来のJavaっぽい書き方をしても動いてしまうからな。金を多く払う意味があまりないかも知れないぞ。
612デフォルトの名無しさん
2018/02/18(日) 16:12:24.98ID:nyTLTr1m Kotlinで単価が高いのは、チームが今後Kotlinでやってけるように導入の面倒見れる人だよ
>>611が言ってるレベルの奴なんてそもそも高い単価で雇われないから
>>611が言ってるレベルの奴なんてそもそも高い単価で雇われないから
613デフォルトの名無しさん
2018/02/18(日) 16:20:57.25ID:JlUJeRgg 面倒みなきゃならんほどのものじゃないでしょ
プログラム初心者じゃあるまいし
プログラム初心者じゃあるまいし
614デフォルトの名無しさん
2018/02/18(日) 16:37:41.33ID:nyTLTr1m >>613
お前の周辺状況について述べてるわけじゃないことぐらい理解して
お前の周辺状況について述べてるわけじゃないことぐらい理解して
615デフォルトの名無しさん
2018/02/18(日) 16:51:37.36ID:oDDrqbus >>612
雇う側がそれを見抜ければ良いんだろうけどね。
雇う側がそれを見抜ければ良いんだろうけどね。
616デフォルトの名無しさん
2018/02/18(日) 17:24:17.84ID:JlUJeRgg617デフォルトの名無しさん
2018/02/18(日) 19:36:30.68ID:nyTLTr1m618デフォルトの名無しさん
2018/02/18(日) 22:46:31.63ID:mRumiIcD ラムダ式から式の外側のthisを参照するにはどうすればいいでしょうか?現状、
val this_ = this
async {
this_
}
とかしてますけど、これ以外方法ない?
val this_ = this
async {
this_
}
とかしてますけど、これ以外方法ない?
619デフォルトの名無しさん
2018/02/19(月) 00:54:19.29ID:bFR3uyhH >>618
無いことはないけど俺もそうしてるよ
class A {
fun f(){
async {
this@A
}
}
}
https://kotlinlang.org/docs/reference/this-expressions.html
無いことはないけど俺もそうしてるよ
class A {
fun f(){
async {
this@A
}
}
}
https://kotlinlang.org/docs/reference/this-expressions.html
620デフォルトの名無しさん
2018/02/19(月) 07:19:51.84ID:YvDQTksi >>618
結局それが1番手っ取り早いと思うけど、this_っていう変数名は気持ち悪いから嫌
結局それが1番手っ取り早いと思うけど、this_っていう変数名は気持ち悪いから嫌
621デフォルトの名無しさん
2018/02/19(月) 11:29:23.81ID:IoDkpp2Z 言っとくけどselfもダサいよ
622デフォルトの名無しさん
2018/02/19(月) 11:44:10.96ID:yCg2MRRi そうじゃねえだろ
それを言うなら、self_ もダサい
それを言うなら、self_ もダサい
623デフォルトの名無しさん
2018/02/19(月) 12:18:18.12ID:uDWMisC4 やっぱ thiz だよね
624デフォルトの名無しさん
2018/02/19(月) 12:46:45.80ID:8HhXX1j3 どう書いても最適化されて同じコードになったりして・・・
625デフォルトの名無しさん
2018/02/19(月) 16:13:32.25ID:qb2IEpmC 俺なら一目で何だか分かる名前にする
626デフォルトの名無しさん
2018/02/19(月) 17:29:10.39ID:yTArt2lJ 例えば?
627デフォルトの名無しさん
2018/02/19(月) 17:33:59.71ID:tDxwJ5H8 >>619
ありがとうござます。this@hogeを使う事にしました
ありがとうござます。this@hogeを使う事にしました
628デフォルトの名無しさん
2018/02/19(月) 17:36:07.64ID:UjHZ69on >>626
val unko = this
val unko = this
629デフォルトの名無しさん
2018/02/19(月) 17:37:58.45ID:jylwc8fn ore,kore,sore
630デフォルトの名無しさん
2018/02/19(月) 17:39:35.65ID:UjHZ69on val 式の外側のthis = this
async {
式の外側のthis.method()
}
これが1番わかりやすいな
async {
式の外側のthis.method()
}
これが1番わかりやすいな
631デフォルトの名無しさん
2018/02/19(月) 18:45:31.43ID:J+iGZU0/ class名.instanceはコトリンではつかえないのん?
632デフォルトの名無しさん
2018/02/19(月) 22:24:58.24ID:9U/kf45x >>631
objectで宣言したクラス(シングルトン)のclass名.INSTANCEのことでしょうか?
objectで宣言したクラス(シングルトン)のclass名.INSTANCEのことでしょうか?
633デフォルトの名無しさん
2018/02/19(月) 23:31:48.80ID:4xWfaW8A エンクロージングインスタンスの話。
クラス名.thisの間違いだった。
クラス名.thisの間違いだった。
634デフォルトの名無しさん
2018/02/19(月) 23:50:04.20ID:bFR3uyhH ラムダに束縛したいのはthisだけとは限らないしネストも有り得るので
クラス外の関数として分離した場合の引数名のイメージで変数名付けてる
val view = this
val cal = activeCalculator
async {
cal.recalc()
transaction {
val tran = this
check(cal, tran)
}
view.notifyUpdate()
}
クラス外の関数として分離した場合の引数名のイメージで変数名付けてる
val view = this
val cal = activeCalculator
async {
cal.recalc()
transaction {
val tran = this
check(cal, tran)
}
view.notifyUpdate()
}
635デフォルトの名無しさん
2018/02/20(火) 06:41:06.84ID:qL04aTa6636デフォルトの名無しさん
2018/02/20(火) 09:07:54.40ID:qXeXVbGF ネストする時は、
this__
this___
this____
this_____
と、_を増やしてけば
this__
this___
this____
this_____
と、_を増やしてけば
637デフォルトの名無しさん
2018/02/20(火) 10:02:20.87ID:I+nWo9FQ よみづらい
638デフォルトの名無しさん
2018/02/20(火) 10:02:36.87ID:pltRTpB+ >>636
フォントが違うと見え方が変わりそう
フォントが違うと見え方が変わりそう
639デフォルトの名無しさん
2018/02/20(火) 12:03:00.62ID:5NVGlXhy >>636
天才かよ
天才かよ
640デフォルトの名無しさん
2018/02/20(火) 12:57:02.91ID:DWBDu+Jk ま、しかし、あまりにもネストが深くなるようならロジック考え直した方が良いかも
641デフォルトの名無しさん
2018/02/20(火) 20:10:18.67ID:xSX01qXm メソッド参照とか別クラスとか。
642デフォルトの名無しさん
2018/02/20(火) 20:29:10.81ID:qXSQ9QV9 ネストは三段ぐらいまでにしといた方がいいだろうな。
その辺が迷宮の入り口だ。
Cのポインタとかも同じ。3段以上先には魔物が住んでいる。
その辺が迷宮の入り口だ。
Cのポインタとかも同じ。3段以上先には魔物が住んでいる。
643デフォルトの名無しさん
2018/02/20(火) 20:35:32.22ID:qL04aTa6 せめて他のメソッドに切り出すくらいは最低でもやるべきだわな
644デフォルトの名無しさん
2018/02/20(火) 22:17:03.69ID:/iBGk+pN androidでデータバインディングしようとして
class Foo {
@Bindable
val bar get() = hoge.bar
}
とかできないの??・・・
class Foo {
@Bindable
val bar get() = hoge.bar
}
とかできないの??・・・
645デフォルトの名無しさん
2018/02/20(火) 22:18:25.44ID:/iBGk+pN エラー内容はThis annotation is not applicable to target 'member property without
backingField or delegate'です。
どうしたらいいでしょかね
backingField or delegate'です。
どうしたらいいでしょかね
646デフォルトの名無しさん
2018/02/20(火) 22:30:04.18ID:/iBGk+pN Javaでは
class Foo {
@Bindable
String getBar() { hoge.getBar() }
}
で、hogeはFooのフィールド変数です。
class Foo {
@Bindable
String getBar() { hoge.getBar() }
}
で、hogeはFooのフィールド変数です。
647デフォルトの名無しさん
2018/02/20(火) 23:05:50.58ID:/iBGk+pN ごめんさい。解決しました。@get:Bindable
648デフォルトの名無しさん
2018/02/21(水) 00:01:54.65ID:CION/kfn また、アノテーションだけど。遅延初期化ではアノテーションつけれんの?しょぼーん。
@field:Transient
val lazyVal by lazy {}
だめか・・
@field:Transient
val lazyVal by lazy {}
だめか・・
649デフォルトの名無しさん
2018/02/21(水) 14:48:51.57ID:aopUu534 いま触れてないけどkotlin-Nativeってどんな感じ?
ほとんどなんでもコンパイルかけれる?
見たところLLVM通すから行けそうだけど
ほとんどなんでもコンパイルかけれる?
見たところLLVM通すから行けそうだけど
650デフォルトの名無しさん
2018/02/21(水) 15:35:13.89ID:HWbyxxJS 実用で使うのはまだ怖いけど、遊びで触る分にはちゃんと動くよ。
javaの標準パッケージが全く使えないから、jvmで動かす前提で作ってあるクラスだのライブラリだのが動かないという辛さはある。
javaの標準パッケージが全く使えないから、jvmで動かす前提で作ってあるクラスだのライブラリだのが動かないという辛さはある。
651デフォルトの名無しさん
2018/02/21(水) 16:03:44.92ID:wwQ+gY6z javaのパッケージ使えないんならわざわざJVM言語使う価値なんかないわwさよなら〜
652デフォルトの名無しさん
2018/02/21(水) 16:13:56.98ID:4d1xezjM うん。はっきり言って現状ではこれを使うメリットが何一つ思い浮かばないよ俺も。
653デフォルトの名無しさん
2018/02/21(水) 17:59:59.69ID:ftdNQJg9 地味にアップデートされてるからJBが飽きなければそのうち実用レベルになるかもねえ
654デフォルトの名無しさん
2018/02/21(水) 18:05:11.04ID:2C7myRiq それなりの標準ライブラリはあるんでしょ?まだないの?(ないわけないか。なければ Hello world も出せないもんな)
655デフォルトの名無しさん
2018/02/21(水) 18:28:14.61ID:aopUu534 ありがとう。
なるほどまだ様子見しとくわ
Javaの標準パッケージ動かないの辛いね
なるほどまだ様子見しとくわ
Javaの標準パッケージ動かないの辛いね
656デフォルトの名無しさん
2018/02/21(水) 18:37:05.98ID:KLOfXDKN >>652
はいキチガイ
はいキチガイ
657デフォルトの名無しさん
2018/02/21(水) 18:56:30.68ID:sG9Uh+s7 >>656がメリットを説明してくれる模様w
658デフォルトの名無しさん
2018/02/21(水) 19:15:48.38ID:CION/kfn この言語意味不明になってきた。
class Test {
var str: String
get() = field
set(value) { }
constructor() {
str = "あいう"
}
}
val t = Test()
普通にstrがnullになる
class Test {
var str: String
get() = field
set(value) { }
constructor() {
str = "あいう"
}
}
val t = Test()
普通にstrがnullになる
659デフォルトの名無しさん
2018/02/21(水) 19:17:58.58ID:CION/kfn セカンダリコンストラクタでstrのbakcingFieldにアクセスできないの??
constructor() {
str = "あいう" // これはsetter経由のプロパティアクセス
}
constructor() {
str = "あいう" // これはsetter経由のプロパティアクセス
}
660デフォルトの名無しさん
2018/02/21(水) 19:21:36.71ID:ftdNQJg9 >>656
現状でこれ使ってハッピーなことがあるなら教えてくれw
現状でこれ使ってハッピーなことがあるなら教えてくれw
661デフォルトの名無しさん
2018/02/21(水) 19:23:37.72ID:ftdNQJg9 >>658-659
そのコードの意図がよく分からないんだけど、何がしたいの?ゆ
そのコードの意図がよく分からないんだけど、何がしたいの?ゆ
662デフォルトの名無しさん
2018/02/21(水) 19:30:46.29ID:CION/kfn663デフォルトの名無しさん
2018/02/21(水) 19:35:19.91ID:CION/kfn664デフォルトの名無しさん
2018/02/21(水) 19:38:04.92ID:CION/kfn665デフォルトの名無しさん
2018/02/21(水) 19:44:04.71ID:ftdNQJg9 そういうことね
確かにこれならsetterの部分でコンパイルエラー出て欲しい気がするな
帰ったらドキュメント舐め回してみるか
確かにこれならsetterの部分でコンパイルエラー出て欲しい気がするな
帰ったらドキュメント舐め回してみるか
666デフォルトの名無しさん
2018/02/21(水) 22:17:43.95ID:mU+xwBkv >>658
lateinintつけないでコンパイル通ってしまうなら、Kotlinコンパイラのバグの可能性も...
lateinintつけないでコンパイル通ってしまうなら、Kotlinコンパイラのバグの可能性も...
667デフォルトの名無しさん
2018/02/21(水) 22:24:25.01ID:mU+xwBkv668デフォルトの名無しさん
2018/02/21(水) 22:33:20.79ID:A2iqRMA5 悪意の無い初心者がめちゃくちゃ書いてもちゃんと面倒見てくれるべきだと思う
669デフォルトの名無しさん
2018/02/21(水) 23:05:16.86ID:CION/kfn null安全の導入とともに変数は宣言時に初期値を与えなきゃいけなくなって、
ローカル変数は宣言時に与えなきゃいけないけど、インスタンス変数は宣言時または
コンストラクタ内で与えればOKなんだけど、
backingFieldを持つプロパティと相性悪かった?ってことかな。
backingFieldを持つプロパティはプロパティイニシャライザを与えるか、
コンストラクタ内でbackingFieldに直接初期化するという条件を付けくわえないとだめ?
field:str = "あいう" // コンストラクタ内でのみ使えるbakckingFieldにアクセスする専用構文の導入が必要 か
str = "あいう” // コンストラクタ内でのプロパティへの代入はsetterは経由しないとかの条件が必要
ローカル変数は宣言時に与えなきゃいけないけど、インスタンス変数は宣言時または
コンストラクタ内で与えればOKなんだけど、
backingFieldを持つプロパティと相性悪かった?ってことかな。
backingFieldを持つプロパティはプロパティイニシャライザを与えるか、
コンストラクタ内でbackingFieldに直接初期化するという条件を付けくわえないとだめ?
field:str = "あいう" // コンストラクタ内でのみ使えるbakckingFieldにアクセスする専用構文の導入が必要 か
str = "あいう” // コンストラクタ内でのプロパティへの代入はsetterは経由しないとかの条件が必要
670デフォルトの名無しさん
2018/02/22(木) 00:40:47.03ID:P3OwyHQx バグ相当だと思う
初期化(setter呼び出し)の有無は判定出来ているのだから
コンパイルエラーにするのが難しいなら
その直後にそのプロパティのBacking Fieldがnullだったら
KotlinNullPointerExceptionを投げる処理を暗黙的に追加すべき
初期化(setter呼び出し)の有無は判定出来ているのだから
コンパイルエラーにするのが難しいなら
その直後にそのプロパティのBacking Fieldがnullだったら
KotlinNullPointerExceptionを投げる処理を暗黙的に追加すべき
671デフォルトの名無しさん
2018/02/22(木) 00:42:25.58ID:P3OwyHQx コンパイラor言語仕様のバグって意味ね
672デフォルトの名無しさん
2018/02/22(木) 01:34:10.26ID:2g+h2XZc null安全の導入->非nullableのクラス型のデフォルト値なんてないから、変数は必ず初期化する
必要がある->(この再、nullable、非nullable関係なく全変数初期化するように)
未初期化の変数がコンパイラエラーにならないんて、これが言語仕様なら
仕様がクソだったってことだな(さすが、適当に作った言語ってことに)。
コンパイラのバグであることを祈ろう。
必要がある->(この再、nullable、非nullable関係なく全変数初期化するように)
未初期化の変数がコンパイラエラーにならないんて、これが言語仕様なら
仕様がクソだったってことだな(さすが、適当に作った言語ってことに)。
コンパイラのバグであることを祈ろう。
673666
2018/02/22(木) 06:49:37.65ID:W5l1Fr+S674666
2018/02/22(木) 06:57:22.88ID:W5l1Fr+S675デフォルトの名無しさん
2018/02/22(木) 07:31:42.26ID:tIZ7FSiP C#でいいじゃん
676デフォルトの名無しさん
2018/02/22(木) 07:39:36.87ID:HpXxCMc4 >>674
いや、この件は普通にコンパイラの仕様バグだと思うからissue上げて来なよ
いや、この件は普通にコンパイラの仕様バグだと思うからissue上げて来なよ
677デフォルトの名無しさん
2018/02/22(木) 07:44:53.50ID:HpXxCMc4 一回しか代入したくないならセッターの中にそういう処理を書けばいいだけだし、
非NullableなのにNullが入る状態でコンパイルできるのはどう考えてもバグでしょ
非NullableなのにNullが入る状態でコンパイルできるのはどう考えてもバグでしょ
678デフォルトの名無しさん
2018/02/22(木) 07:45:17.47ID:P3OwyHQx >>673
そういう手法のときは内部フィールド側はNullableになっているべきじゃないかな
通常ケースの一つとしてnullがあるパターンなわけだから
private var strF: String? = null
var str: String get(){return strF ?: ""} set(value) { }
そういう手法のときは内部フィールド側はNullableになっているべきじゃないかな
通常ケースの一つとしてnullがあるパターンなわけだから
private var strF: String? = null
var str: String get(){return strF ?: ""} set(value) { }
679デフォルトの名無しさん
2018/02/22(木) 09:29:54.25ID:tZO46ghF setterを空にしたらバッキングフィールドへの代入は永遠にされないのでは?
外部からバッキングフィールドへの代入ってできないよね?
(getterで値を変更するカウンターみたいなやつは別として)。
外部からバッキングフィールドへの代入ってできないよね?
(getterで値を変更するカウンターみたいなやつは別として)。
680デフォルトの名無しさん
2018/02/22(木) 21:30:53.59ID:MQzOZIuj Nullableでないプロパティのsetterがnullの状態で呼ばれることがあるって考えるとなんか気持ち悪いな
俺の感覚だとsetterが呼ばれた時点でフィールドは初期化されていて欲しいしフィールドの初期化にsetterは使って欲しくない
俺の感覚だとsetterが呼ばれた時点でフィールドは初期化されていて欲しいしフィールドの初期化にsetterは使って欲しくない
681デフォルトの名無しさん
2018/02/22(木) 22:55:00.07ID:4ek3nBtk JRubyよりはええんか?
682デフォルトの名無しさん
2018/02/23(金) 00:50:16.39ID:U4AoY/IO >>658の var str : String の部分を var str = "aaa" みたいに書くと var なのに str に何を代入しても
中身が"abc"のまま変化しないプロパティが完成w
中身が"abc"のまま変化しないプロパティが完成w
683デフォルトの名無しさん
2018/02/23(金) 00:50:44.77ID:U4AoY/IO 間違えた。"abc"じゃない"aaa"な。
684デフォルトの名無しさん
2018/02/23(金) 07:49:04.02ID:bsuGQjVb >>682
ワロタ
嫌な会社を辞めるときにテロとしてそういうコード残しておくイタズラとかできそう
それはそうとnullableじゃないのにnullになりうるセッターがコンパイル通るのはやっぱおかしいよな
そんなんする奴がいるのかって話ではあるが
ワロタ
嫌な会社を辞めるときにテロとしてそういうコード残しておくイタズラとかできそう
それはそうとnullableじゃないのにnullになりうるセッターがコンパイル通るのはやっぱおかしいよな
そんなんする奴がいるのかって話ではあるが
685デフォルトの名無しさん
2018/02/23(金) 08:31:33.24ID:nqFe2RWJ githubにあるkotlinのプロジェクトはissuesのリンクがないや
どこに報告すればいいんだ
どこに報告すればいいんだ
686デフォルトの名無しさん
2018/02/23(金) 08:54:38.23ID:MOvRrowf >>685
なぜREADMEを読まない…
なぜREADMEを読まない…
687デフォルトの名無しさん
2018/02/23(金) 14:54:59.97ID:0k9d4/AB688デフォルトの名無しさん
2018/02/23(金) 18:54:32.34ID:fUBBLv0N こりゃダメだ
C#使おっと
C#使おっと
689デフォルトの名無しさん
2018/02/23(金) 19:22:20.80ID:tkkK8G2q >>687
えぇ…これ仕様通りなん?だとしたら糞じゃね?
えぇ…これ仕様通りなん?だとしたら糞じゃね?
690デフォルトの名無しさん
2018/02/23(金) 20:44:31.66ID:Py5a3myD691デフォルトの名無しさん
2018/02/23(金) 21:13:42.52ID:8lqriKW0 C#はそもそもnull安全じゃないから出てくること自体おかしい
692デフォルトの名無しさん
2018/02/23(金) 21:26:34.63ID:i7MOfoRF 8.0ではoptinでnull安全にできるようになるんじゃなかったけ。まあ、でもmicrosoftはこんなポカしないと思うけど。
693デフォルトの名無しさん
2018/02/23(金) 22:05:57.26ID:R3lraTlN オプティン…
694デフォルトの名無しさん
2018/02/23(金) 22:13:05.72ID:YiHajEe6 ・セカンダリコンストラクタが存在する
・代入して初期化してる(ように見える)プライマリコンストラクタかセカンダリコンストラクタがある
この2つを満たすとコンパイル通っちゃうのかな
https://paiza.io/projects/78ZAW5fM_jNEyfhRPD5VbA
・代入して初期化してる(ように見える)プライマリコンストラクタかセカンダリコンストラクタがある
この2つを満たすとコンパイル通っちゃうのかな
https://paiza.io/projects/78ZAW5fM_jNEyfhRPD5VbA
695デフォルトの名無しさん
2018/02/23(金) 22:28:48.21ID:8lqriKW0 >>694
こりゃコンパイラのバグ説が濃厚だな
こりゃコンパイラのバグ説が濃厚だな
696デフォルトの名無しさん
2018/02/23(金) 22:46:50.15ID:ZKkKvK7/ 完全に趣味でSwift触り始めたんだけど、ことりんと似すぎてて脳の切り替えが大変
697デフォルトの名無しさん
2018/02/23(金) 23:32:19.57ID:gu5jD4u6 setterがNOPだからでしょ
何もおかしくないと思うんだが
何もおかしくないと思うんだが
698デフォルトの名無しさん
2018/02/23(金) 23:51:24.69ID:pZoCSvCU >>697
Javaなら何もおかしくないけど、これはkotlinなんですよ
Javaなら何もおかしくないけど、これはkotlinなんですよ
699デフォルトの名無しさん
2018/02/24(土) 00:23:17.37ID:KMKYwria あー、ごめんごめん、nullableじゃないのにってことね
700デフォルトの名無しさん
2018/02/24(土) 06:43:01.61ID:geSYf0sR SwiftではOptionalよん
701デフォルトの名無しさん
2018/02/24(土) 06:47:11.68ID:H2lSL8Bq そこら辺の名称も統一してくれたらよかったのに
702デフォルトの名無しさん
2018/02/24(土) 08:17:33.01ID:vmshfWHt 引数や戻り値の属性(アノテーション)としての出自でNullable (@Nullable)
型引数を持つデータ構造として出自でOptional (Optional<T>)
型引数を持つデータ構造として出自でOptional (Optional<T>)
703デフォルトの名無しさん
2018/02/24(土) 08:21:38.91ID:gsJVlH30 だから何?
704デフォルトの名無しさん
2018/02/24(土) 08:32:56.79ID:vmshfWHt 単なる経緯にだからも何も無いんだけど
705デフォルトの名無しさん
2018/02/24(土) 09:18:53.65ID:b9ViFkCo Optionalではアンラップが必要で、Nullableでは不要
706デフォルトの名無しさん
2018/02/24(土) 15:32:03.48ID:QRpOEI48 つまりOptionalは神Nullableは糞
707デフォルトの名無しさん
2018/02/24(土) 15:33:06.32ID:QRpOEI48 間違えた逆だNullableは神Optionalは糞
708デフォルトの名無しさん
2018/02/24(土) 16:29:10.25ID:XDApard5 神と糞は種類が違うだろ
709デフォルトの名無しさん
2018/02/24(土) 16:55:50.73ID:La3HIAz8 Xamarin程の糞はない
710デフォルトの名無しさん
2018/02/24(土) 20:13:00.64ID:geSYf0sR Kotlinではnullにならない型など存在しないのだ、がっはっは
711デフォルトの名無しさん
2018/02/24(土) 23:25:19.26ID:QE7g/pJn 神は糞である。
712デフォルトの名無しさん
2018/02/25(日) 06:02:39.69ID:z/Jlakx1 糞は紙で拭け
713デフォルトの名無しさん
2018/02/25(日) 10:33:42.84ID:4s22ePtw Kotlinインアクションの尼評価低いなと思ったら理由が「難しい」ってw
714デフォルトの名無しさん
2018/02/25(日) 10:54:15.05ID:skC5U3zO やっぱGroovy in Actionだろ、GradleはGrooovyなんだぜぇ
715デフォルトの名無しさん
2018/02/25(日) 11:44:58.69ID:XjF3qDop716デフォルトの名無しさん
2018/02/25(日) 11:46:33.02ID:XjF3qDop あ、Kotlin で検索したら出てきた本だけど Kotlin とは限らないみたいだな。すまん。
717デフォルトの名無しさん
2018/02/25(日) 11:50:17.94ID:XjF3qDop すまん。Kotlin の K の字も出てこないな。忘れてくれ。
718デフォルトの名無しさん
2018/02/25(日) 12:40:42.33ID:pcyqC+jB Kotlinイン・アクション、2017
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
せっかく太郎が、イン・アクションを参考にして、わかりやすく書いたのだから、
日本人は、太郎本を読んだ方がよい
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
せっかく太郎が、イン・アクションを参考にして、わかりやすく書いたのだから、
日本人は、太郎本を読んだ方がよい
719デフォルトの名無しさん
2018/02/25(日) 13:02:41.55ID:OHKw3fir 情報量はインアクションの方が多いから、わざわざ薄めた本を買う必要なんてないよ
720デフォルトの名無しさん
2018/02/25(日) 13:29:07.46ID:V/Ygd9gi >>718
お前はスッキリをすすめてろよ
お前はスッキリをすすめてろよ
721デフォルトの名無しさん
2018/02/25(日) 14:16:36.00ID:4s22ePtw Kotlin本といえば今のところインアクションとスタートブックの2択だと思うけど、
「難しい」って理由でレビュー評価下げるのはどうよ?と思ったんで、難しい以外に
インアクションで問題点ある?
バージョンが古いとか?
「難しい」って理由でレビュー評価下げるのはどうよ?と思ったんで、難しい以外に
インアクションで問題点ある?
バージョンが古いとか?
722デフォルトの名無しさん
2018/02/25(日) 14:31:03.18ID:VQCl2C19 ※716
Androidの入門本なんてAndroid搭載機種の種類と同じくらい大量に出てるのになぜわざわざそれを貼ろうと思ったのか
Androidの入門本なんてAndroid搭載機種の種類と同じくらい大量に出てるのになぜわざわざそれを貼ろうと思ったのか
723デフォルトの名無しさん
2018/02/25(日) 14:41:45.45ID:XjF3qDop >>722
先に書いた通り、AmazonでKotlinで検索して出てきたため。
先に書いた通り、AmazonでKotlinで検索して出てきたため。
724デフォルトの名無しさん
2018/02/25(日) 15:09:27.72ID:Ydc/tL+D 電子書籍でレイアウト固定だと買う気しない
725デフォルトの名無しさん
2018/02/26(月) 08:03:23.98ID:RZjRtr5i 知らんけどkotlinのandroid入門書なんてもう山ほど出てるんちゃうの?まだjavaばっかなの?
726デフォルトの名無しさん
2018/02/26(月) 08:23:30.09ID:t40oU2wX まだ一冊しかないのでは?
727デフォルトの名無しさん
2018/02/26(月) 08:27:44.65ID:RZjRtr5i そうなのか、意外と動き遅いんだな
728デフォルトの名無しさん
2018/02/26(月) 08:56:28.62ID:qQ1Da7Hp 本で勉強する時代じゃないからね
729デフォルトの名無しさん
2018/02/26(月) 09:20:17.57ID:G+urRbGd 細切れ情報を探すのはやだな。レベルも方針もバラバラだし。
良書があるなら本がいい。
良書があるなら本がいい。
730デフォルトの名無しさん
2018/02/26(月) 09:34:26.29ID:/jWICelY まあ、AndroidでKotlin使うのは増え続けるだろうから何れ本も増えるだろう。
731デフォルトの名無しさん
2018/02/26(月) 09:43:22.22ID:CZmy/XEe 本は中古やで何冊かあったよ、まだ高かったけど
正直Pythonは失敗だったと思う
正直Pythonは失敗だったと思う
732デフォルトの名無しさん
2018/02/26(月) 10:09:15.19ID:G+urRbGd pythonは糞本で良書が埋もれちゃってる
733デフォルトの名無しさん
2018/02/26(月) 10:47:30.45ID:/j3wCSg3 Null Objectパターン流行るといいなあ。
734デフォルトの名無しさん
2018/02/26(月) 13:51:07.53ID:Mu1MCm3E >>732
流行った言語は自動的にそうなる。
流行った言語は自動的にそうなる。
735デフォルトの名無しさん
2018/02/26(月) 17:53:54.70ID:i6+hAPO4 >>733
流行るも何もgof23パターンのうちの一つだぞ
流行るも何もgof23パターンのうちの一つだぞ
736デフォルトの名無しさん
2018/02/26(月) 18:03:06.16ID:3e/qclCH Null Objectはgof外でしょ
737デフォルトの名無しさん
2018/02/26(月) 18:15:26.27ID:i6+hAPO4738デフォルトの名無しさん
2018/02/26(月) 18:44:34.21ID:3e/qclCH 気にするな、禊としてXamarinのライセンス買ってこい
739デフォルトの名無しさん
2018/02/26(月) 18:51:59.91ID:3Mt4XsWV 買わない買わない
740デフォルトの名無しさん
2018/02/26(月) 19:46:08.16ID:FSYyOpBd741デフォルトの名無しさん
2018/02/27(火) 10:02:27.46ID:GEmGj4yT IntelliJの変換機能使ってシコシコKotlinに変換してるけどstatic無いのがウザくなって来た
Swiftにはあるのにー
Swiftにはあるのにー
742デフォルトの名無しさん
2018/02/27(火) 12:16:20.20ID:pU97M93t >>741
コンパニオンは?
コンパニオンは?
743デフォルトの名無しさん
2018/02/27(火) 18:56:17.20ID:9XUAnYvD 自動変換使ったら普通にcompanion objectにならなかったっけ
744デフォルトの名無しさん
2018/02/27(火) 20:07:07.98ID:VEiALCIH スーパーコンパニオンがいいです
745デフォルトの名無しさん
2018/02/27(火) 23:14:15.97ID:m5Iw3K9X 自動変換してもコンパニオンにならなかったから、シコシコ変えてる
746デフォルトの名無しさん
2018/02/27(火) 23:34:21.25ID:l+pACPTY Android stuiosって糞重いのな
Xcodeの比じゃなかったわ
Xcodeの比じゃなかったわ
747デフォルトの名無しさん
2018/02/27(火) 23:39:03.53ID:oVWfwCMw Core i7、メモリ32GBだけど、コーディングに支障があるほど重いとは感じないかな
748デフォルトの名無しさん
2018/02/28(水) 00:05:50.05ID:KPu2dHe+ ノート用のi5、8Gでもサクサク動くぞ
749デフォルトの名無しさん
2018/02/28(水) 01:54:55.83ID:SwOhtkGH 基本xcodeの方が重くない?
750デフォルトの名無しさん
2018/02/28(水) 04:32:16.89ID:ifAjmiIg Android stuios...
751デフォルトの名無しさん
2018/02/28(水) 06:49:11.80ID:qqsPLA0F 明らかにxcodeの方が重い
752デフォルトの名無しさん
2018/02/28(水) 06:51:00.64ID:qqsPLA0F あ、Android StudioじゃなくてAndroid stuiosの話なのか
それなら知らんわ
それなら知らんわ
753デフォルトの名無しさん
2018/02/28(水) 07:13:17.29ID:hln4Ed73 VisualStudioはサクサク動くね
754デフォルトの名無しさん
2018/02/28(水) 08:34:11.55ID:pTBSmEfK Android Studioはエミュレータの起動が激重
755デフォルトの名無しさん
2018/02/28(水) 08:51:39.92ID:CR0DdEON お前のPCが糞なんだろ
756デフォルトの名無しさん
2018/02/28(水) 09:34:38.82ID:3IEGD0z0 そういやエミュレータは遅いな。あれ速くならんもんかね?実機に繋いじゃうしかないか?
757デフォルトの名無しさん
2018/02/28(水) 11:19:49.30ID:fhD/c/L7 そんなにおもいか?
758デフォルトの名無しさん
2018/02/28(水) 12:23:44.87ID:pWBZNbli その部分はXcodeも糞重いからまあしゃあない
759デフォルトの名無しさん
2018/02/28(水) 13:05:00.32ID:/o1cB3Jz お前の収入がまともなPCも買えないほど低いだけ
760デフォルトの名無しさん
2018/02/28(水) 15:32:06.67ID:nKEiX8dA Flutterが話題になってるけど、Dartなんだよなあ、、
761デフォルトの名無しさん
2018/02/28(水) 15:32:21.47ID:nKEiX8dA Kotlinならよかったのに
762デフォルトの名無しさん
2018/02/28(水) 15:59:23.70ID:/fCVXMT7 やっぱ金掛けてゲーミングPCにしないといかんかね
763デフォルトの名無しさん
2018/02/28(水) 17:02:46.79ID:Dh2+122Q 何の話ししてるんだ
764デフォルトの名無しさん
2018/02/28(水) 17:05:13.06ID:Dh2+122Q IntelliJファミリーのIDEが不自然に重い時はプラグインを疑った方が良い
もしくは単純にindexingか何かをしてるだけか
とりあえず2013年モデルでメモリ8GBのMBPでもサクサク動く
もしくは単純にindexingか何かをしてるだけか
とりあえず2013年モデルでメモリ8GBのMBPでもサクサク動く
765デフォルトの名無しさん
2018/02/28(水) 21:48:31.62ID:CR0DdEON さっさとまともな収入得られる会社に転職しろ
766デフォルトの名無しさん
2018/03/01(木) 05:22:15.58ID:cE1p2NGM googleさんの本命はkotlinじゃなくてflutterのDartだったってこと?
767デフォルトの名無しさん
2018/03/01(木) 06:15:15.24ID:uqwlFRYM いや、あの会社がプログラミング言語を開発するのは趣味みたいなもんだから。
768デフォルトの名無しさん
2018/03/01(木) 11:37:02.64ID:tn3lzpGs 飽きたら捨てるでしょ
769デフォルトの名無しさん
2018/03/01(木) 13:21:29.38ID:a0FtR1fD 女ったらし
770デフォルトの名無しさん
2018/03/01(木) 13:52:18.31ID:rGfsNRkK Goってどこ行ったんだよ
771デフォルトの名無しさん
2018/03/01(木) 14:25:40.30ID:a0FtR1fD トイレ
772デフォルトの名無しさん
2018/03/01(木) 16:56:43.31ID:/5bgAPbJ 有名どころだけでもGASとgoとDartとあるからな
統一しろや
統一しろや
773デフォルトの名無しさん
2018/03/01(木) 17:02:42.69ID:SIvaL2Ua なんかgoogleって統一感無いよなー。
dart捨てたと思ってたのに、このタイミングで復活させるとかさ。ならchromeに予定通りvm載せろや
dart捨てたと思ってたのに、このタイミングで復活させるとかさ。ならchromeに予定通りvm載せろや
774デフォルトの名無しさん
2018/03/01(木) 17:40:32.49ID:JNnNxKxo もうどれにも移行せずJavaに留まるのが一番
775デフォルトの名無しさん
2018/03/01(木) 18:09:19.76ID:cE1p2NGM >>773
それが望ましいな。まぁ、Flutter+Dartが成功したらchromeにもDartVM搭載復活とかあるかもね。
それで、JavaScript絶滅に追いやってほしいわ。
今どきの言語ならなんえり好みしないからフロントエンドからJavaScriptを絶滅に追いやってほしい。
それが望ましいな。まぁ、Flutter+Dartが成功したらchromeにもDartVM搭載復活とかあるかもね。
それで、JavaScript絶滅に追いやってほしいわ。
今どきの言語ならなんえり好みしないからフロントエンドからJavaScriptを絶滅に追いやってほしい。
776デフォルトの名無しさん
2018/03/01(木) 18:12:11.07ID:uQkXDe7H 未だにKotlinの実務経験のないやつは完全失業ざまあwww
777デフォルトの名無しさん
2018/03/01(木) 18:13:28.77ID:tn3lzpGs それはない
778デフォルトの名無しさん
2018/03/01(木) 18:26:37.33ID:ABErgR5Z >>774
COBOLだってまだ生きてるしね
COBOLだってまだ生きてるしね
779デフォルトの名無しさん
2018/03/01(木) 18:48:56.63ID:cE1p2NGM つか、あれ、ラムダ式の中で値返すときretrunとかキーワードつけないのかー
ふーんって思ったけど、制御までreturnするんじゃないのか・・
{
if (条件式) 値1
その他の文
値2
}
で、if文の条件式が真の時、値1が返ってreturnするのかと思ったらその後も実行されるのか・・
ふーんって思ったけど、制御までreturnするんじゃないのか・・
{
if (条件式) 値1
その他の文
値2
}
で、if文の条件式が真の時、値1が返ってreturnするのかと思ったらその後も実行されるのか・・
780デフォルトの名無しさん
2018/03/01(木) 18:56:24.56ID:cE1p2NGM あれ、どうやって値返すんだよん。if else使いたくないんだけど。
781デフォルトの名無しさん
2018/03/01(木) 19:05:41.78ID:uqwlFRYM >>779-780
太郎本でも読むことをお勧めする
太郎本でも読むことをお勧めする
782デフォルトの名無しさん
2018/03/01(木) 19:22:21.90ID:SIvaL2Ua783デフォルトの名無しさん
2018/03/01(木) 19:23:41.14ID:cE1p2NGM コンパイルエラーがでるからそこらへん適当にやっててもなんとかなったけどww。
真面目に考えるとどうなってんだこれww
今までコンパイルエラーが消えるように適当に例えば、
fun testAsync(): Deffered<String> {
return async {
lock.withLock {
"ABC"
}
}
}
むしろ、retrunを付けると怒られたからこのままにしたけど。return@asyncってラベルつけるればいいのか。
ラベルつけない場合はどうなってんだこれ。
真面目に考えるとどうなってんだこれww
今までコンパイルエラーが消えるように適当に例えば、
fun testAsync(): Deffered<String> {
return async {
lock.withLock {
"ABC"
}
}
}
むしろ、retrunを付けると怒られたからこのままにしたけど。return@asyncってラベルつけるればいいのか。
ラベルつけない場合はどうなってんだこれ。
784デフォルトの名無しさん
2018/03/01(木) 21:08:11.92ID:lRGki80K inline の場合は return の意味がちょっと変わっちゃうんじゃない?
785デフォルトの名無しさん
2018/03/02(金) 09:57:27.48ID:cO6anSKk786デフォルトの名無しさん
2018/03/02(金) 19:55:39.45ID:UK6+GFm3 >>785
ありがとう。ちょっと前に話題になってたのね。
つか、前に教えてもらったhttp://jetbrains.github.io/kotlin-spec/
にそれに関する事のってねぇな?
DartだってECMAでしっかりした仕様書になってるのに、
仕様書がいまだにこんなレベルなのにAndroidのFirst Class Languageにするなんて
Google何考えてんだか・・
ありがとう。ちょっと前に話題になってたのね。
つか、前に教えてもらったhttp://jetbrains.github.io/kotlin-spec/
にそれに関する事のってねぇな?
DartだってECMAでしっかりした仕様書になってるのに、
仕様書がいまだにこんなレベルなのにAndroidのFirst Class Languageにするなんて
Google何考えてんだか・・
787デフォルトの名無しさん
2018/03/02(金) 20:38:44.95ID:UK6+GFm3 後、
https://ideone.com/RIMEHi
で、
val t = Test()
t.update()
にすると、propertyが変更されないっぽいんですけど、なんででしょうか??
Android環境でコルーチンを使ってます
よろしくお願いします。
https://ideone.com/RIMEHi
で、
val t = Test()
t.update()
にすると、propertyが変更されないっぽいんですけど、なんででしょうか??
Android環境でコルーチンを使ってます
よろしくお願いします。
788デフォルトの名無しさん
2018/03/02(金) 20:49:08.27ID:UK6+GFm3 あれ、そういや、>>787でfieldってラムダ式の中から変更できるの??
789デフォルトの名無しさん
2018/03/02(金) 21:31:57.84ID:ypGJ9h8+ ダメだこの言語…はやく何とかしないと…
790デフォルトの名無しさん
2018/03/02(金) 21:56:02.44ID:Cxn2x5kD え、Androidやろうと思って今ならKotlinかなって思って調べてたのに。
791デフォルトの名無しさん
2018/03/03(土) 00:14:44.42ID:xuTznB0o >>787
Androidやコルーチンであることは直接の関係が無く
インラインでないラムダとprivate setの組み合わせが影響しているようだ
https://ideone.com/aLit2X
↑これの「4」が出力されるケースと同じでsetの処理を通らずに
バッキングフィールドに直に代入されてると思う
バグか仕様か断言はしないけど、多分コンパイラのバグじゃないかな
Androidやコルーチンであることは直接の関係が無く
インラインでないラムダとprivate setの組み合わせが影響しているようだ
https://ideone.com/aLit2X
↑これの「4」が出力されるケースと同じでsetの処理を通らずに
バッキングフィールドに直に代入されてると思う
バグか仕様か断言はしないけど、多分コンパイラのバグじゃないかな
792デフォルトの名無しさん
2018/03/03(土) 00:41:15.44ID:AQTy3jz6793デフォルトの名無しさん
2018/03/03(土) 00:53:35.09ID:X3kFcdUX この前のもだけど誰かバグとして報告してあげて…
794デフォルトの名無しさん
2018/03/03(土) 01:02:48.20ID:AQTy3jz6 そうだよね。俺もちょっと前というか昨日もそうだけど、>>787のまた変な動きに出くわして
さすがにうんざりしてIssue Trackerのぞいたけど、前のも報告されてないっぽいよねww
つか、前のやつは単なるコンパイラのバグですまされない仕様修正とか入りそうな予感してるんだけど。
まぁ、現状の仕様ってのがなんだかよくわからんけど。
さすがにうんざりしてIssue Trackerのぞいたけど、前のも報告されてないっぽいよねww
つか、前のやつは単なるコンパイラのバグですまされない仕様修正とか入りそうな予感してるんだけど。
まぁ、現状の仕様ってのがなんだかよくわからんけど。
795デフォルトの名無しさん
2018/03/03(土) 07:18:41.68ID:LSyqUS+v じゃあiOS開発に引きこもってろ
796デフォルトの名無しさん
2018/03/03(土) 09:31:08.45ID:xuTznB0o コンパイラのバグはバグとして直すのが当然だけど
この前のバッキングフィールドの初期化回避や
setter内のインラインでないラムダからバッキングフィールドにアクセスするのを
普通のアプリ開発として書いているのなら止めた方が良いと思う
個人的な感覚では動作以前に「コンパイルが通るべきでは無いコード」だと思うので
この前のバッキングフィールドの初期化回避や
setter内のインラインでないラムダからバッキングフィールドにアクセスするのを
普通のアプリ開発として書いているのなら止めた方が良いと思う
個人的な感覚では動作以前に「コンパイルが通るべきでは無いコード」だと思うので
797デフォルトの名無しさん
2018/03/03(土) 11:42:59.48ID:GRjh9/QH 仕様がないとバグかそうでないか判断できないが仕様はどこにあるんだ?
798デフォルトの名無しさん
2018/03/03(土) 20:31:37.81ID:AQTy3jz6 kotlinで3000行くらいすでに書いちゃったけど、とりあえず、private setをpublic setに直して回避・・
しばらくflutterで遊んでくるか
しばらくflutterで遊んでくるか
799デフォルトの名無しさん
2018/03/03(土) 20:32:59.01ID:usZqppoC しようがないなあ
800デフォルトの名無しさん
2018/03/03(土) 22:17:04.30ID:veVqPwjm 醤油が無いなぁ
801デフォルトの名無しさん
2018/03/03(土) 23:44:09.37ID:AQTy3jz6 死なないかなぁ
802デフォルトの名無しさん
2018/03/04(日) 14:00:55.46ID:6Lia9zzl >>658のコードなんかは誰も書かないから発見さえされないし報告されてないんだろうね
803デフォルトの名無しさん
2018/03/04(日) 14:48:36.99ID:D9lK5f2H これからプログラミング初心者がkotlinを触るようになったらそこらへんも色々見つかるだろうね
今はまだほぼ他の言語で経験のある人しか触ってないでしょ
今はまだほぼ他の言語で経験のある人しか触ってないでしょ
804デフォルトの名無しさん
2018/03/04(日) 17:28:56.35ID:PgKwjWml こんな事いうと荒れるけど、逆だと思う
805デフォルトの名無しさん
2018/03/04(日) 18:11:45.65ID:KRR85xAP >>787
変更されてるんだけど・・・
変更されてるんだけど・・・
806デフォルトの名無しさん
2018/03/05(月) 12:20:24.87ID:qx4LEZCO 他の言語っていうか、java本業の人しか触ってないでしょ
Androidの入門書もまだほぼjavaばっかだし
Androidの入門書もまだほぼjavaばっかだし
807デフォルトの名無しさん
2018/03/06(火) 10:59:36.24ID:do1rqvuo コマンドラインから何も引数付けずに kotlinc 実行するとRPELで動くけどこの時に :help で出てくる :dump bytecode ってなんなの?
名前からしてバイトコードをダンプするであろうことはわかるけど、いつやっても何も出ないんだよね。
名前からしてバイトコードをダンプするであろうことはわかるけど、いつやっても何も出ないんだよね。
808デフォルトの名無しさん
2018/03/06(火) 11:00:47.10ID:do1rqvuo タイプミスった。rpelじゃねえ。replだ。
809デフォルトの名無しさん
2018/03/07(水) 22:44:21.36ID:hoG4dIXg C#のnameof演算子だと、コンパイル時に評価されますけど。
kotlinのプロパテイ参照は結構オーバーヘッド高いですかね??
when (propertyName) {
::property1.name ->
::property2.name ->
}
結構頻繁に評価されるコードなんですよね
kotlinのプロパテイ参照は結構オーバーヘッド高いですかね??
when (propertyName) {
::property1.name ->
::property2.name ->
}
結構頻繁に評価されるコードなんですよね
810デフォルトの名無しさん
2018/03/07(水) 22:49:50.60ID:hoG4dIXg 今は定数でやってんですけど、まだ書き換えるべきが保留してるんです。
when (propertyName) {
"property1" ->
"property2" ->
}
リフレクション絡みのオブジェクトも普通にGC対象?で、その都度生成されたり破棄されたりすると予想しますが。
もちろんアプリ全体のボトルネックになるぐらい影響はないですけど、うーん。踏ん切りがつかん。
when (propertyName) {
"property1" ->
"property2" ->
}
リフレクション絡みのオブジェクトも普通にGC対象?で、その都度生成されたり破棄されたりすると予想しますが。
もちろんアプリ全体のボトルネックになるぐらい影響はないですけど、うーん。踏ん切りがつかん。
811デフォルトの名無しさん
2018/03/07(水) 23:45:15.29ID:PbzxZDny Enumじゃだめ?
812デフォルトの名無しさん
2018/03/08(木) 00:35:53.57ID:c/6ZktFW >>810
ありがとうございます。そうですね。プロパティ増やすたびにEnumの定数も定義する必要がありますが、
パフォーマンス的にはいいですよね。
で、今ちょっと見たことなかったんですけど、Javaのバイトコード見てみたんですけど最適化されてるのか??
メソッド呼び出しされてるのかと思ったら、定数値に置き換えられてました。
最適化のせいなら将来のコンパイラでどうなるかわかりませんけど、とりあえず、普通にプロパティ参照使って
置き換えてます。
ありがとうございました。
ありがとうございます。そうですね。プロパティ増やすたびにEnumの定数も定義する必要がありますが、
パフォーマンス的にはいいですよね。
で、今ちょっと見たことなかったんですけど、Javaのバイトコード見てみたんですけど最適化されてるのか??
メソッド呼び出しされてるのかと思ったら、定数値に置き換えられてました。
最適化のせいなら将来のコンパイラでどうなるかわかりませんけど、とりあえず、普通にプロパティ参照使って
置き換えてます。
ありがとうございました。
813デフォルトの名無しさん
2018/03/08(木) 00:36:28.98ID:c/6ZktFW814デフォルトの名無しさん
2018/03/10(土) 08:59:29.43ID:sfqxq7fN でもそれ結局今日も同じメニューになるよな
たまにはやよい軒行きたいわ、遠いけど
たまにはやよい軒行きたいわ、遠いけど
815デフォルトの名無しさん
2018/03/10(土) 09:00:01.91ID:sfqxq7fN すまん誤爆した
Xamarinのライセンス買ってくるわ
Xamarinのライセンス買ってくるわ
816デフォルトの名無しさん
2018/03/10(土) 10:27:08.72ID:lbutdI68 俺は大戸屋が多いかな
817デフォルトの名無しさん
2018/03/10(土) 10:30:40.87ID:QX6Zsi+5 俺はとんでんかな
818デフォルトの名無しさん
2018/03/10(土) 11:04:56.69ID:R1lisrFC やよい軒の鳥カツ定食なくなったらしいな
あれしか食わなかったのに
あれしか食わなかったのに
819デフォルトの名無しさん
2018/03/10(土) 11:07:21.06ID:TTti/WSS それは残念
820デフォルトの名無しさん
2018/03/10(土) 11:15:49.69ID:McxjgaUo waitとかマルチスレッド機能ぐらい用意しとけよー
結局java.lang.Objectから離れれられんじゃないか
結局java.lang.Objectから離れれられんじゃないか
821デフォルトの名無しさん
2018/03/10(土) 18:14:12.56ID:a2p+alti822デフォルトの名無しさん
2018/03/10(土) 19:55:04.16ID:Uyf8EqGw 逆に言えばJavaの機能で出来ることをわざわざKotlinで独自に作り直す必要ってあるかね
823デフォルトの名無しさん
2018/03/10(土) 20:16:52.67ID:MudN2Ixk クロスプラットフォーム押していくなら、Javaからある程度離れて開発できないとな。
Kotlin=JVMなら別にいいけど。
Kotlin=JVMなら別にいいけど。
824デフォルトの名無しさん
2018/03/10(土) 20:22:51.72ID:SpAeFxwP flutterがKotlinでできるようになったら流行りそうなのになー
825デフォルトの名無しさん
2018/03/10(土) 20:34:05.66ID:MudN2Ixk それが一番だけど、そうなるにはそうなるにはJetBrainsの対応待ってると時間かかりそうだから、
Google買収しないと。IDE全体抱えてもあれだからkotlin部門だけでも
Google買収しないと。IDE全体抱えてもあれだからkotlin部門だけでも
826デフォルトの名無しさん
2018/03/10(土) 23:43:23.18ID:MSLQ1fUp >>822
機能的に同じでも、より簡潔に書けるなら価値ある
機能的に同じでも、より簡潔に書けるなら価値ある
827デフォルトの名無しさん
2018/03/11(日) 16:57:48.79ID:WkTMJw5e ゆくゆくはそうなっていくかもしれないけど、まずはJava完全互換を徹底して開発者を集めないとKotlin自体終わっちゃうし
828デフォルトの名無しさん
2018/03/11(日) 18:30:40.29ID:kscc7mIG JVMがLLVM上で開発されるようになれば...
829デフォルトの名無しさん
2018/03/12(月) 10:57:45.81ID:b79+6Z0V 日本のことりん本の電書、固定レイアウトなのか・・・
830デフォルトの名無しさん
2018/03/12(月) 17:04:59.84ID:nBdxFZ73 ことりん本に限らず図表の多い専門書は基本固定レイアウトが多い
831デフォルトの名無しさん
2018/03/13(火) 17:21:36.75ID:UOahYQi3 超初心者で申し訳ありません。
Kotlinスタートブックを購入しました。
REPLを多用してるのでAndroid Studio3.01のREPLで進めたいのですが、
単純に、Kotlin REPLパネル内に、書籍のコード〜 じゃ無いようで、今一つ、Android StudioのREPLの使い方が分かりません。
Android Studio3.01のREPLで、「Kotlinスタートブック」をスターと部分だけでも紹介してる情報なありますでしょうか?
Kotlinスタートブックを購入しました。
REPLを多用してるのでAndroid Studio3.01のREPLで進めたいのですが、
単純に、Kotlin REPLパネル内に、書籍のコード〜 じゃ無いようで、今一つ、Android StudioのREPLの使い方が分かりません。
Android Studio3.01のREPLで、「Kotlinスタートブック」をスターと部分だけでも紹介してる情報なありますでしょうか?
832デフォルトの名無しさん
2018/03/13(火) 18:59:50.25ID:UOahYQi3 あれこれして
書籍 P28の最初の一発目
class Rational(val numerator: Int, val denominator: Int)
val half = Rational(1,2)
half.denominator
と、打ち込んで 実行させたら、2って出来ました〜
Android Studio3.01のREPLを使って、読みすすめそうです。
書籍 P28の最初の一発目
class Rational(val numerator: Int, val denominator: Int)
val half = Rational(1,2)
half.denominator
と、打ち込んで 実行させたら、2って出来ました〜
Android Studio3.01のREPLを使って、読みすすめそうです。
833デフォルトの名無しさん
2018/03/14(水) 10:24:21.09ID:lhJp7l4Q 解決したみたいだからいいけど、
技術書を写経するときはREPLよりもコードをファイルとして残しておいた方がいいと思うよ
読み進めた後にちょっと前に見たところを戻って書き換えたりとかしたくなることが多いと思う
技術書を写経するときはREPLよりもコードをファイルとして残しておいた方がいいと思うよ
読み進めた後にちょっと前に見たところを戻って書き換えたりとかしたくなることが多いと思う
834デフォルトの名無しさん
2018/03/14(水) 11:03:31.74ID:fxigNd06835デフォルトの名無しさん
2018/03/14(水) 12:56:22.69ID:ccacMMCY フィードバックが早い方がいいからREPLでいい
836デフォルトの名無しさん
2018/03/14(水) 12:57:38.85ID:GCqcIqER 肴は炙った烏賊でいい
837デフォルトの名無しさん
2018/03/14(水) 13:03:02.13ID:h74A18Hb 女は無口な人がいい
838デフォルトの名無しさん
2018/03/14(水) 13:03:14.15ID:BC3u9Cri ちょこちょこバージョンアップしてるみたいだけど、リリースノートってあるのかな?
839デフォルトの名無しさん
2018/03/14(水) 13:30:40.55ID:+tq877Bs Swiftのバージョンアップは破壊的変更が多くてダルいらしいけどKotlinはどうなの?
840デフォルトの名無しさん
2018/03/14(水) 14:23:01.55ID:Qa1wTICM いい感じ
841デフォルトの名無しさん
2018/03/14(水) 14:24:35.40ID:qG6o0CFM842デフォルトの名無しさん
2018/03/14(水) 14:27:37.09ID:qG6o0CFM >>835
Android studio使ってるならファイルをデバッグ実行してEvaluate Expressionするのが1番フィードバックが早くて使い勝手も良い
Android studio使ってるならファイルをデバッグ実行してEvaluate Expressionするのが1番フィードバックが早くて使い勝手も良い
843デフォルトの名無しさん
2018/03/14(水) 16:55:28.17ID:+tq877Bs >>840
そっか。じゃあ使ってみるかなー。
そっか。じゃあ使ってみるかなー。
844デフォルトの名無しさん
2018/03/14(水) 16:57:41.33ID:OPcLX1QE845デフォルトの名無しさん
2018/03/16(金) 11:31:44.04ID:vJGNF0d1846デフォルトの名無しさん
2018/03/16(金) 22:10:31.22ID:67qLUtaY >>845
WantedのPython需要はやっぱAI関連なのかな
WantedのPython需要はやっぱAI関連なのかな
847デフォルトの名無しさん
2018/03/16(金) 22:32:20.81ID:KxYkqF9B ライブラリが充実してて扱いが楽だからな
848デフォルトの名無しさん
2018/03/16(金) 22:38:51.57ID:KIAzdbMU >>822
少数でも信者が多ければ上位に食い込みやすいランキングに見える
少数でも信者が多ければ上位に食い込みやすいランキングに見える
849デフォルトの名無しさん
2018/03/17(土) 14:34:51.60ID:WLSgA37U >>847
そういうことじゃないだろアホ
そういうことじゃないだろアホ
850デフォルトの名無しさん
2018/03/17(土) 14:41:12.30ID:Ak7laUjo >>849
じゃあなんだよボケェ
じゃあなんだよボケェ
851デフォルトの名無しさん
2018/03/17(土) 15:03:30.33ID:fRkZs0aE >>806
Androidアプリを完全にkotlinで実装するのはまだ苦労する
Androidアプリを完全にkotlinで実装するのはまだ苦労する
852デフォルトの名無しさん
2018/03/17(土) 23:24:04.39ID:tM7ojUn9853デフォルトの名無しさん
2018/03/17(土) 23:25:40.94ID:vXQXG/x7 あ、すまん。ちゃんと読んでなかった。
入門の文脈か
入門の文脈か
854デフォルトの名無しさん
2018/03/18(日) 00:15:28.10ID:JCaBc1o3 ぶっちゃけ、PythonとKotlin覚えときゃ十分だよな
ソース見られてもいいようなちょっとした内部処理はPythonでやって、それ以外はKotlinでやればいいし
ソース見られてもいいようなちょっとした内部処理はPythonでやって、それ以外はKotlinでやればいいし
855デフォルトの名無しさん
2018/03/18(日) 08:08:21.52ID:ewv3muP4 REPLの使い方の説明ないんだよねあの本
ぶっちゃけ最初からいきなりファイル書いたほうがいいと思うわ
ぶっちゃけ最初からいきなりファイル書いたほうがいいと思うわ
856デフォルトの名無しさん
2018/03/18(日) 17:30:16.63ID:lc8puhwP REPL の :dump bytecode が未だにわからん。
分かるやつは居ないのか?
分かるやつは居ないのか?
857デフォルトの名無しさん
2018/03/18(日) 19:44:41.94ID:9zPyp0Eq githubで検索してmasterブランチのソース見たけど :dump bytecodeの対象は
ReplFromTerminal 経由で ReplInterpreterが直に持ってるReplClassLoaderで
ReplClassLoaderはaddClassされたものをdumpするみたい
それで addClass探したら HistoryActionsForNoRepeat で
ReplClassLoaderを新たに生成してaddClassしてるのしか見当たらなかった
読み間違いでなければ、addと列挙を異なるReplClassLoaderインスタンスでやってるので
dump bytecodeは常に何も出ないのでは
ReplFromTerminal 経由で ReplInterpreterが直に持ってるReplClassLoaderで
ReplClassLoaderはaddClassされたものをdumpするみたい
それで addClass探したら HistoryActionsForNoRepeat で
ReplClassLoaderを新たに生成してaddClassしてるのしか見当たらなかった
読み間違いでなければ、addと列挙を異なるReplClassLoaderインスタンスでやってるので
dump bytecodeは常に何も出ないのでは
858デフォルトの名無しさん
2018/03/18(日) 19:58:20.59ID:9zPyp0Eq HistoryActionsForNoRepeatで作られるReplClassLoaderは
topClassLoaderと合わせて3重にネストしてるように見える
ReplClassLoader (HistoryActionsForNoRepeatのメソッド内のclassLoader)
→親 URLClassLoader
→親 ReplClassLoader (状態によってはGenericReplEvaluatorStateのtopClassLoader)
→親 URLClassLoader
→親 ReplClassLoader (ReplInterpreterのclassLoader)
→親 URLClassLoader
makeReplClassLoaderは引数のbaseClassloaderがReplInterpreterだったら
newせず引数をキャストして返した方がいいような気が
topClassLoaderと合わせて3重にネストしてるように見える
ReplClassLoader (HistoryActionsForNoRepeatのメソッド内のclassLoader)
→親 URLClassLoader
→親 ReplClassLoader (状態によってはGenericReplEvaluatorStateのtopClassLoader)
→親 URLClassLoader
→親 ReplClassLoader (ReplInterpreterのclassLoader)
→親 URLClassLoader
makeReplClassLoaderは引数のbaseClassloaderがReplInterpreterだったら
newせず引数をキャストして返した方がいいような気が
859デフォルトの名無しさん
2018/03/18(日) 19:59:58.88ID:9zPyp0Eq × ReplInterpreterだったら
○ ReplClassLoaderだったら
○ ReplClassLoaderだったら
860デフォルトの名無しさん
2018/03/18(日) 22:52:30.43ID:R4d/cKLT861デフォルトの名無しさん
2018/03/18(日) 23:20:50.45ID:z+wS9hu5 >>860
ちょっと意地悪だなあ
ちょっと意地悪だなあ
862デフォルトの名無しさん
2018/03/19(月) 04:29:32.92ID:XZfuRe7p ん?
863デフォルトの名無しさん
2018/03/19(月) 09:41:29.40ID:BSZ+YwbD お!
864デフォルトの名無しさん
2018/03/19(月) 09:59:38.75ID:fKuRgkEG まー、わからないことがあればコード読むのが一番だけど、読まなくても質問の仕方ってもんがあるよな
865デフォルトの名無しさん
2018/03/19(月) 10:04:43.65ID:tGex/oOn どなたかお分かりになる方はいらっしゃいませんか?
だよな、普通は
だよな、普通は
866デフォルトの名無しさん
2018/03/19(月) 10:06:41.70ID:I7PCjnkp お客様の中にお医者様はいらっしゃいませんか?
867デフォルトの名無しさん
2018/03/19(月) 12:12:03.45ID:vFKsd4qZ >>866
医者ではなくて石屋ですが、お役に立てますか?
医者ではなくて石屋ですが、お役に立てますか?
868デフォルトの名無しさん
2018/03/19(月) 12:27:52.49ID:vZ8Ujcaa おう、帰っていいぞ
869デフォルトの名無しさん
2018/03/19(月) 12:35:26.57ID:BSZ+YwbD 寒いな
春なのに
春なのに
870デフォルトの名無しさん
2018/03/19(月) 12:44:20.63ID:/OLYcrDu この一言を添えるべきだったな。
「わからない人は書かないでください。」
「わからない人は書かないでください。」
871デフォルトの名無しさん
2018/03/19(月) 13:13:36.50ID:5154S4rE >>867
16進コードで会話してろ
16進コードで会話してろ
872デフォルトの名無しさん
2018/03/19(月) 14:44:57.52ID:/OLYcrDu 3E 00
873デフォルトの名無しさん
2018/03/19(月) 14:51:05.74ID:G/+G0Iaz 18 FC
874デフォルトの名無しさん
2018/03/19(月) 15:13:34.00ID:I7PCjnkp GOTO CA FE
875デフォルトの名無しさん
2018/03/19(月) 15:21:12.76ID:vUEuVEml 55 4E 4B 4F
876デフォルトの名無しさん
2018/03/19(月) 18:52:34.43ID:blJe5AIS 前々から思ってたけどkotlinスレって加齢臭すごいよな
877デフォルトの名無しさん
2018/03/19(月) 19:46:11.90ID:ahbMAcYG >>874
機械語にハンドアセンブルしなきゃ…
機械語にハンドアセンブルしなきゃ…
878デフォルトの名無しさん
2018/03/19(月) 21:18:34.15ID:C8WhjMTe あいむふぉーてぃーふぁいぶにやーずおーるど
879デフォルトの名無しさん
2018/03/19(月) 21:42:58.40ID:t8aO/EAD にやーず
880デフォルトの名無しさん
2018/03/19(月) 22:15:22.73ID:C8WhjMTe マグナムドライをマグマグドライと呼ぶほど落ちぶれてはいない
881デフォルトの名無しさん
2018/03/20(火) 00:35:07.47ID:J0Id73NT まぐまぐドライだろ普通。
882デフォルトの名無しさん
2018/03/21(水) 09:14:27.60ID:hFmBEg63 Graalって今年のJava11に間に合うのか?
Kotlin/Native(LLVM)なんかよりずっと期待できそうだが。
Kotlin/Native(LLVM)なんかよりずっと期待できそうだが。
883デフォルトの名無しさん
2018/03/21(水) 10:59:02.18ID:X+3O/rSH GraalとKotlin/Nativeって用途もコンセプトも被ってないと思うんだけど
LLVMの使い方も逆方向だし
LLVMの使い方も逆方向だし
884デフォルトの名無しさん
2018/03/21(水) 11:48:06.15ID:mE2iQj+B Graalがどうとかいう以前に、JVMがないプラットフォームがあるのを何とかして欲しい。
ライブラリも含めてコードをそのまま持ち込んでも動くならともかく、Graalで多言語をサポートしても、
各言語の基本仕様だけでは大したことは出来ない。
ライブラリも含めてコードをそのまま持ち込んでも動くならともかく、Graalで多言語をサポートしても、
各言語の基本仕様だけでは大したことは出来ない。
885デフォルトの名無しさん
2018/03/21(水) 11:52:50.41ID:R6+TRObd run sometime somewhereだから仕方ない
886デフォルトの名無しさん
2018/03/21(水) 12:51:58.11ID:lHxXP1st Graal
世界大百科事典内のGraalの言及
【聖杯伝説】より
…12世紀末ヨーロッパで顕在化したキリスト教の色濃い伝説だが,起源には諸説あり,
ケルト説話を源とする考えが有力。聖杯Graal(英語はGrail)を扱った最初の作品は
フランスの詩人クレティアン・ド・トロアの《ペルスバルまたは聖杯物語》(1185ころ)。
主人公が漁夫王の城で目にしたふしぎな行列,血の滴る槍と光り輝く聖杯について,
心に抱いた質問を口に出さなかった失敗がすべての発端であった。…
https://kotobank.jp/word/Graal-1233958
世界大百科事典内のGraalの言及
【聖杯伝説】より
…12世紀末ヨーロッパで顕在化したキリスト教の色濃い伝説だが,起源には諸説あり,
ケルト説話を源とする考えが有力。聖杯Graal(英語はGrail)を扱った最初の作品は
フランスの詩人クレティアン・ド・トロアの《ペルスバルまたは聖杯物語》(1185ころ)。
主人公が漁夫王の城で目にしたふしぎな行列,血の滴る槍と光り輝く聖杯について,
心に抱いた質問を口に出さなかった失敗がすべての発端であった。…
https://kotobank.jp/word/Graal-1233958
887デフォルトの名無しさん
2018/03/21(水) 15:19:20.83ID:v2KUYd83 JavaのコードをKotlinにIntteliJさん使って変換すると
fun hogehoge(value: String): Int? {
var value = value
みたいなコードでName shadowedってワーニングがでる
仕方ないのでvar_value = valueみたいに名前変えてんだけど、どうするのがベストかな?これ以外に良い方法あったら教えて
fun hogehoge(value: String): Int? {
var value = value
みたいなコードでName shadowedってワーニングがでる
仕方ないのでvar_value = valueみたいに名前変えてんだけど、どうするのがベストかな?これ以外に良い方法あったら教えて
888デフォルトの名無しさん
2018/03/21(水) 15:21:46.97ID:MTE55bx9 ウォーニング
889デフォルトの名無しさん
2018/03/21(水) 15:34:51.57ID:lHxXP1st ぅおー
890デフォルトの名無しさん
2018/03/21(水) 17:15:46.16ID:F1sATeyh891デフォルトの名無しさん
2018/03/21(水) 20:14:30.97ID:v2KUYd83 Inspect Codeをどこをどういじったら変わるのか分からない
プロファイルってやつ?
名前の通りインテリすぎて使いこなせてない・・・orz
プロファイルってやつ?
名前の通りインテリすぎて使いこなせてない・・・orz
892デフォルトの名無しさん
2018/03/22(木) 00:14:47.99ID:tdHViWJs def initialize (number)
@number = number
end
Ruby のクラス内の、インスタンスメソッドの引数を、インスタンス変数に代入するなど、
@ の有無で、判別できるなら良いけど、
関数の引数と、関数内の変数は、共にローカルスコープで、
完全に、変数名もスコープも一致しているから、明らかな間違い
@number = number
end
Ruby のクラス内の、インスタンスメソッドの引数を、インスタンス変数に代入するなど、
@ の有無で、判別できるなら良いけど、
関数の引数と、関数内の変数は、共にローカルスコープで、
完全に、変数名もスコープも一致しているから、明らかな間違い
893デフォルトの名無しさん
2018/03/22(木) 06:52:19.77ID:cNCV2D+g894デフォルトの名無しさん
2018/03/22(木) 11:14:05.99ID:65GKgG7q 受け取った値に何かしらの加工を加えて返却する関数だと推測するけど
それなら引数の方をrawValueにするとか、変数の方をnewValueにするとか
なんでもいいけどとりあえずそのコードは俺がコードレビューするなら絶対指摘する
それなら引数の方をrawValueにするとか、変数の方をnewValueにするとか
なんでもいいけどとりあえずそのコードは俺がコードレビューするなら絶対指摘する
895デフォルトの名無しさん
2018/03/25(日) 18:43:29.93ID:xXe3d6X4 Javaで
a instanceof CharSequence[]
してた部分はKotlinではどう置き換えたらいいでしょうか?
a is Array<CharSequence>
だとcannot check for instance of erased typeでエラーがでて型チェックができません。
a instanceof CharSequence[]
してた部分はKotlinではどう置き換えたらいいでしょうか?
a is Array<CharSequence>
だとcannot check for instance of erased typeでエラーがでて型チェックができません。
896デフォルトの名無しさん
2018/03/25(日) 20:49:47.22ID:sH0z9dIi うちのKotlinはエラーにならないな
897デフォルトの名無しさん
2018/03/25(日) 21:12:24.65ID:xXe3d6X4 https://ideone.com/IAkBb8
あれ、マジですか。Android Studioの方で駄目です。
バージョンって
ext.kotlin_version = '1.2.21'
これかな
あれ、マジですか。Android Studioの方で駄目です。
バージョンって
ext.kotlin_version = '1.2.21'
これかな
898デフォルトの名無しさん
2018/03/25(日) 21:41:32.67ID:sH0z9dIi ああ、aが実際にArray<CharSequence>のときはエラーにならないぽい
Array<*>にするしかないのかなあ
Array<*>にするしかないのかなあ
899デフォルトの名無しさん
2018/03/26(月) 09:16:05.43ID:NJeKHnKt if(a is Array<*>) {
b = a.filterIsInstance<CharSequence>().toTypedArray()
}
とかは?
b = a.filterIsInstance<CharSequence>().toTypedArray()
}
とかは?
900899
2018/03/26(月) 09:17:35.12ID:NJeKHnKt 途中で送っちゃった
JavaのコードからAnyでくる何かの配列を扱いたいときに確かこんな感じで書いた記憶が
JavaのコードからAnyでくる何かの配列を扱いたいときに確かこんな感じで書いた記憶が
901デフォルトの名無しさん
2018/03/26(月) 18:15:27.91ID:edzRf7Rx 勉強しようと思いリファレンス読みつつ Koans をやり始めた
最初は var, val や if, for とかかなと思ってたから面食らった
最初は var, val や if, for とかかなと思ってたから面食らった
902デフォルトの名無しさん
2018/03/26(月) 19:08:10.03ID:mWf0fgjW 小手ぇッ!
903デフォルトの名無しさん
2018/03/28(水) 16:51:24.37ID:9zvhOWaV |Д`) ダレモイナイ・・
904デフォルトの名無しさん
2018/03/28(水) 17:07:17.12ID:FSNaWGFp >>903
オドル ナラ イマノ ウチ
オドル ナラ イマノ ウチ
905デフォルトの名無しさん
2018/03/28(水) 18:05:16.95ID:rBOzlEgA |∀`) ことりんするならイマノウチ!!
906デフォルトの名無しさん
2018/03/28(水) 23:29:45.23ID:Q7o3nHcv907デフォルトの名無しさん
2018/03/28(水) 23:43:00.81ID:Q7o3nHcv908デフォルトの名無しさん
2018/03/28(水) 23:48:30.41ID:FSNaWGFp Java訴訟で神託に負けたから、次バージョンからkotlinかな
909デフォルトの名無しさん
2018/03/29(木) 15:57:35.16ID:Ld+rPSgg やっぱりこのスレおっさんしかいないな
910デフォルトの名無しさん
2018/03/29(木) 17:12:06.04ID:JAPGCpCV >>908
Kotolinにしても中身Javaじゃないの?
Kotolinにしても中身Javaじゃないの?
911デフォルトの名無しさん
2018/03/29(木) 17:22:11.83ID:HJyUih4q 中身??
912デフォルトの名無しさん
2018/03/29(木) 18:57:11.92ID:xJeXOp0s Googleが一兆円払ったら今までと同じようにAndroid使っていけるんですかね
Androidがなくなるみたいな話じゃないんですかね
Androidがなくなるみたいな話じゃないんですかね
913デフォルトの名無しさん
2018/03/29(木) 20:16:40.50ID:5psyvZry 長期的にはAndroidはJavaから離れてSwift化していくと思う
Kotlinはそれまでの繋ぎだろう
構文似てるし
Kotlinはそれまでの繋ぎだろう
構文似てるし
914デフォルトの名無しさん
2018/03/29(木) 20:31:18.17ID:UssF7XvX 問題になっているのはAPI仕様なんで、kotlinに変えただけじゃ解決しないよ。
googleは企業間摩擦で割と子供っぽい対応をするところがあるので、神託を敵対買収とか糞味噌展開を期待。
googleは企業間摩擦で割と子供っぽい対応をするところがあるので、神託を敵対買収とか糞味噌展開を期待。
915デフォルトの名無しさん
2018/03/29(木) 20:36:18.46ID:QcATsJvj ねーよ
916デフォルトの名無しさん
2018/03/29(木) 20:42:47.29ID:yhEgq3Dh また控訴してひっくり返らないか?
917デフォルトの名無しさん
2018/03/29(木) 20:44:26.62ID:aZVw2F6N SwiftがKotlin化しろよ
918デフォルトの名無しさん
2018/03/29(木) 21:08:11.75ID:yhEgq3Dh しかしGoogleがフェアユースとか言い出さなければよかっただけなんじゃないかという感じがする。
919デフォルトの名無しさん
2018/03/29(木) 22:43:45.47ID:rCpsVAyI つうかAndroidもOpenJDKに移行するんだからもうその訴訟自体どうでも良くなるんじゃねーの
920デフォルトの名無しさん
2018/03/30(金) 01:59:33.03ID:HiRGJtMt swiftは破壊的変更が多すぎてkotlinが良い
921デフォルトの名無しさん
2018/03/30(金) 02:07:24.18ID:RNuPdbRv 俺も今のところkotlin。かといってswiftほとんど知らないわけだが。Apple関係に手を出さない限り必要性がほとんどないよなあれ。
まあ今後変わるかも知れないが。
まあ今後変わるかも知れないが。
922デフォルトの名無しさん
2018/03/30(金) 03:13:29.93ID:quPTDKQd フェアユースの方はまだ上告できるけど
ひっくり返る望みはほぼ無いようだから諦めて払うか別の弾持ち出してさらに粘るかだろうね
払うにしても時間たってるから賠償請求額上乗せしてくるんだろうけど
損害賠償だけで使用差し止めは要求してないからAndroidからJavaAPIが消えるという事は無い
はず
ひっくり返る望みはほぼ無いようだから諦めて払うか別の弾持ち出してさらに粘るかだろうね
払うにしても時間たってるから賠償請求額上乗せしてくるんだろうけど
損害賠償だけで使用差し止めは要求してないからAndroidからJavaAPIが消えるという事は無い
はず
923デフォルトの名無しさん
2018/03/30(金) 05:37:33.53ID:/yjqGB9g その前にfuchsiaへの移行を狙ってるはず
924デフォルトの名無しさん
2018/03/30(金) 09:23:57.46ID:k/BEaYLJ kotlinってAndroid関係以外でも需要あんの?
925デフォルトの名無しさん
2018/03/30(金) 09:25:44.59ID:z9J7NVX/ Swiftはよくできてると思うが、毎年変更があるのがいけてないな
まぁー、Javaもついこないだ9出たと思ったら、もう10が出てたりするけど
まぁー、Javaもついこないだ9出たと思ったら、もう10が出てたりするけど
926デフォルトの名無しさん
2018/03/30(金) 09:34:51.66ID:MX8csIcp javaが全部Kotlinに置き換わる
今プログラミング言語で一番使われてるのがjava
つまりKotlin最強になるということだ
今プログラミング言語で一番使われてるのがjava
つまりKotlin最強になるということだ
927デフォルトの名無しさん
2018/03/30(金) 09:38:23.13ID:+3QUYcgW928デフォルトの名無しさん
2018/03/30(金) 09:49:19.73ID:k/BEaYLJ >>927
なんでも出来るの定義が分からんけど、Swiftよりいろいろ出来るってこと?
なんでも出来るの定義が分からんけど、Swiftよりいろいろ出来るってこと?
929デフォルトの名無しさん
2018/03/30(金) 09:53:15.88ID:TlFsJGTt Nativeがあるといいけどライブラリどうなるのって問題があるな
930デフォルトの名無しさん
2018/03/30(金) 10:10:19.33ID:fmoCCzNn931デフォルトの名無しさん
2018/03/30(金) 10:45:56.12ID:KtkxdaJ1 javaでできることしかできない
932デフォルトの名無しさん
2018/03/30(金) 10:49:21.30ID:otdYqK6P CのDLL呼び出しというかWinAPIはJavaより楽にできるの?
933デフォルトの名無しさん
2018/03/30(金) 10:58:26.37ID:QjhurjtM つまり、動かすにはJavaランタイムのインストールが必須ってことですかね
デフォルトでJREが入ってないMacのアプリを作るのはきついかな
ちなみに、SwiftでもWebアプリのサーバサイド書けるし、コマンドラインで手動コンパイルなしで実行するスクリプト的な使い方もできます。REPLもついてくるし
デフォルトでJREが入ってないMacのアプリを作るのはきついかな
ちなみに、SwiftでもWebアプリのサーバサイド書けるし、コマンドラインで手動コンパイルなしで実行するスクリプト的な使い方もできます。REPLもついてくるし
934デフォルトの名無しさん
2018/03/30(金) 11:21:20.20ID:iNu2Do3a935デフォルトの名無しさん
2018/03/30(金) 11:57:59.25ID:MX8csIcp Swift程の糞はない
936デフォルトの名無しさん
2018/03/30(金) 12:17:55.13ID:zd7t6e3u サーバーサイドをSwiftで作るメリットが何一つ思いつかない
937デフォルトの名無しさん
2018/03/30(金) 12:27:18.25ID:TlFsJGTt そういやKotlinはOpenJDKのJREがあれば動くからAndroid以外ではライセンス気にする必要がないね。
938デフォルトの名無しさん
2018/03/30(金) 12:27:33.92ID:QjhurjtM Swiftプログラマがスキルをそのまま活かせるというメリットがありますよ
939デフォルトの名無しさん
2018/03/30(金) 13:51:03.25ID:zGaUw9Ep >>911
理解が違ってたらすまんけど記述言語がKotlinだとしても中身はJavaにコンバートしてAndroid上で動いてるんじゃないの?という意味。
理解が違ってたらすまんけど記述言語がKotlinだとしても中身はJavaにコンバートしてAndroid上で動いてるんじゃないの?という意味。
940デフォルトの名無しさん
2018/03/30(金) 14:28:00.49ID:2XCpch6d >>934
Sandboxの中で何ができるかって文脈じゃないでしょ
Sandboxの中で何ができるかって文脈じゃないでしょ
941デフォルトの名無しさん
2018/03/30(金) 15:46:14.27ID:dI/ml2BM942デフォルトの名無しさん
2018/03/30(金) 16:20:58.01ID:zGaUw9Ep >>941
ググってみた。ORACLEの特許はJava APIに対してなんだな。
ORACLEの特許はJava全般に渡ると思ってたのでバイトコードに変換しても(俺はこれをコンバートと言ってた。理解出来てなくてすまない)JMVで動いてる事自体が特許にひっかかるんじゃないかと思ってた。
Android OSのソースの特許で揉めてる部分をKotlinに置き換えれば大丈夫って事になるのかな。
ググってみた。ORACLEの特許はJava APIに対してなんだな。
ORACLEの特許はJava全般に渡ると思ってたのでバイトコードに変換しても(俺はこれをコンバートと言ってた。理解出来てなくてすまない)JMVで動いてる事自体が特許にひっかかるんじゃないかと思ってた。
Android OSのソースの特許で揉めてる部分をKotlinに置き換えれば大丈夫って事になるのかな。
943デフォルトの名無しさん
2018/03/30(金) 17:31:12.32ID:+3QUYcgW apple傘下のものをメインにするのはやっぱちょっと怖い
G様なら飽きたら放置だからそこは安心
G様なら飽きたら放置だからそこは安心
944デフォルトの名無しさん
2018/03/30(金) 19:59:07.85ID:HiRGJtMt >>936
appleはwordpress使ってるしな
appleはwordpress使ってるしな
945デフォルトの名無しさん
2018/03/30(金) 20:49:12.14ID:5zcIzVPR >942
androidで使ってたdalvikはレジスタマシンじゃん。
素のjvmならスタックマシンだからそこで特許は無理じゃね?
あとAPIだってそれだけじゃ特許とれんだろ。オラクルも特許侵害は言ってなかったような。
androidで使ってたdalvikはレジスタマシンじゃん。
素のjvmならスタックマシンだからそこで特許は無理じゃね?
あとAPIだってそれだけじゃ特許とれんだろ。オラクルも特許侵害は言ってなかったような。
946デフォルトの名無しさん
2018/03/30(金) 21:17:15.04ID:5ShTLiJo プログラミング言語なんて適材適所だからな
少なくとも現時点ではサーバーサイドSwiftなんて選択肢としては悪手の中の悪手だわ
言語機能云々じゃなくて、エコシステム全体で見た時にあえてSwiftを選ぶ理由が本当に何もない
少なくとも現時点ではサーバーサイドSwiftなんて選択肢としては悪手の中の悪手だわ
言語機能云々じゃなくて、エコシステム全体で見た時にあえてSwiftを選ぶ理由が本当に何もない
947デフォルトの名無しさん
2018/03/30(金) 21:24:20.31ID:VLv20Yes Xamarin程の糞はない
948デフォルトの名無しさん
2018/03/30(金) 21:33:06.98ID:TqB3XhjJ そんな狂信者召喚呪文を唱えなくてもw
949デフォルトの名無しさん
2018/03/30(金) 21:34:00.99ID:NMcWpz2k >>936
かつてそれと全く同じ理屈でなんでもかんでもJavascriptで作ろうといわれた時代があってだな
かつてそれと全く同じ理屈でなんでもかんでもJavascriptで作ろうといわれた時代があってだな
950デフォルトの名無しさん
2018/03/30(金) 22:10:23.39ID:XwbtKQIj node,jsはバリバリの現役じゃん
951デフォルトの名無しさん
2018/03/30(金) 23:33:20.26ID:z9J7NVX/ かつてじゃなくて今もNode.jsはそこそこ流行ってるじゃん
Electronで作ってるVSCodeとかかなり使いやすいぞ
まー自分は使う気になれんが
Electronで作ってるVSCodeとかかなり使いやすいぞ
まー自分は使う気になれんが
952デフォルトの名無しさん
2018/03/30(金) 23:58:51.51ID:5zcIzVPR googleはkotlinやってるのにflutterでdartとか、一つに絞らんのかね?
953デフォルトの名無しさん
2018/03/31(土) 01:24:09.27ID:6wN5DSYc 絞ってるだろ
なんか勘違いしてるようだが、Google自身はKotlinもDartも一切使ってないぞ
なんか勘違いしてるようだが、Google自身はKotlinもDartも一切使ってないぞ
954デフォルトの名無しさん
2018/03/31(土) 02:20:18.15ID:N28z9/rW 結局、ちんこが勃つか勃たないかが重要なんだ
人を見た目で判断してはいけないと理屈で考えたとしても
ちんこが勃つか勃たないかまでは理性でコントロールはできない
だから男の方から女を選ぶ必要がある
女の方からいくら好きだと言って男に言い寄ってもちんこが勃たなければそこで終わりなのだ
男の方から女の方に言い寄る分には問題ない。ちんこが勃つということを表明しているのと同じだからだ
従って、肉食系女子、草食系男子というのはありえないということ
人を見た目で判断してはいけないと理屈で考えたとしても
ちんこが勃つか勃たないかまでは理性でコントロールはできない
だから男の方から女を選ぶ必要がある
女の方からいくら好きだと言って男に言い寄ってもちんこが勃たなければそこで終わりなのだ
男の方から女の方に言い寄る分には問題ない。ちんこが勃つということを表明しているのと同じだからだ
従って、肉食系女子、草食系男子というのはありえないということ
955デフォルトの名無しさん
2018/03/31(土) 08:01:27.00ID:xq+IiG37 >>922
アメリカだと巨額な賠償命令が出るときは青天井のことはあるけど、
賠償請求額ってふっかけることが多いから、賠償額の審理が終わったら
「8年も引っ張ってこれだけかよ!」みたいな額だったというオチもありえなくはない。
アメリカだと巨額な賠償命令が出るときは青天井のことはあるけど、
賠償請求額ってふっかけることが多いから、賠償額の審理が終わったら
「8年も引っ張ってこれだけかよ!」みたいな額だったというオチもありえなくはない。
956デフォルトの名無しさん
2018/03/31(土) 09:24:21.22ID:AO5bN52+ >>953
Googleも使ってるだろ
Googleも使ってるだろ
957デフォルトの名無しさん
2018/03/31(土) 10:32:10.63ID:8OkV2LA+ >>953
Google製のAndroidのライブラリでKotlin使ってるぞ
Google製のAndroidのライブラリでKotlin使ってるぞ
958デフォルトの名無しさん
2018/03/31(土) 16:49:26.44ID:4s7VNOk8 しかしAPIが著作権の問題で使ってはいけないとなると、その他のOSやライブラリもそうなりかねんわけで、
コンピュータ業界全体が大混乱に陥るのではないか?
以前 Linux でも似たような点が問われたことがあったように思うが、Linux に UNIX と同じシステムコールを
作った場合に関数名が同じとか関連する定数の定義が同じとか、呼び出し方や機能が同じになるわけで、
その部分に著作権があると言われて使用不能になったら互換OSや互換ライブラリは全滅になる。
同じ機能があっても違う呼び出し方しなければいけなくなってしまうからな。同じファイルオープンなのに
open() が使えないなんてなったらかなりアホらしいしもはやそんなもん障害でしかなかろう。
(変換すればいいのでその内なんとかなるだろうが、とても面倒だ)。
コンピュータ業界全体が大混乱に陥るのではないか?
以前 Linux でも似たような点が問われたことがあったように思うが、Linux に UNIX と同じシステムコールを
作った場合に関数名が同じとか関連する定数の定義が同じとか、呼び出し方や機能が同じになるわけで、
その部分に著作権があると言われて使用不能になったら互換OSや互換ライブラリは全滅になる。
同じ機能があっても違う呼び出し方しなければいけなくなってしまうからな。同じファイルオープンなのに
open() が使えないなんてなったらかなりアホらしいしもはやそんなもん障害でしかなかろう。
(変換すればいいのでその内なんとかなるだろうが、とても面倒だ)。
959デフォルトの名無しさん
2018/03/31(土) 16:55:55.58ID:mHmVXJoy お前らの作る糞アプリには関係ねえよ
960デフォルトの名無しさん
2018/03/31(土) 17:45:23.01ID:jIkIgkDE >>958
・Wineは使えなくなってしまい、もはや、Windowsの互換OSは未来永劫作れない。
・mingw32 の windows.h ヘッダも著作権的にダメなのかい。
・こうなったのは、アメリカの法制度が悪いから。
世界中のみんなが、アメリカの法律は無視しよう。
・Wineは使えなくなってしまい、もはや、Windowsの互換OSは未来永劫作れない。
・mingw32 の windows.h ヘッダも著作権的にダメなのかい。
・こうなったのは、アメリカの法制度が悪いから。
世界中のみんなが、アメリカの法律は無視しよう。
961デフォルトの名無しさん
2018/03/31(土) 18:17:57.80ID:0VxPNd/B いやヘッダの著作権は普通にあるぞ
著作権の利用許諾に反するかどうかの問題
著作権の利用許諾に反するかどうかの問題
962デフォルトの名無しさん
2018/03/31(土) 18:41:13.65ID:N28z9/rW お前らみたいな糞に人権はねえよ
963デフォルトの名無しさん
2018/03/31(土) 19:29:14.09ID:qrmwmyS1 ∧_∧ / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
( ) \_____
│ │ │
(__)___)
( ´∀`)< オマエモナー
( ) \_____
│ │ │
(__)___)
964デフォルトの名無しさん
2018/04/01(日) 02:39:43.21ID:t+tZ7rq3965デフォルトの名無しさん
2018/04/01(日) 08:56:07.46ID:h55dGxCd 以前の会社にBSDを好んで使ってる人が結構いたけど、まだ使ってるんだろうか
そんな心配してる私はMacユーザーw
そんな心配してる私はMacユーザーw
966デフォルトの名無しさん
2018/04/01(日) 09:44:08.65ID:GUPc3ba+ >>961
「コメント」などには著作権はあるけれど、関数のプロトタイプ宣言や構造体定義にまで
著作権を認めてしまうと、互換ライブラリ、互換言語処理系などを作ることが全くできなく
なってしまい、人々は困る。
「コメント」などには著作権はあるけれど、関数のプロトタイプ宣言や構造体定義にまで
著作権を認めてしまうと、互換ライブラリ、互換言語処理系などを作ることが全くできなく
なってしまい、人々は困る。
967デフォルトの名無しさん
2018/04/01(日) 10:24:40.55ID:x6ZL87kc968デフォルトの名無しさん
2018/04/01(日) 10:30:02.87ID:GlQ4Mmqm MacというかNeXTはどちらかというとBSD系だろ
969デフォルトの名無しさん
2018/04/01(日) 13:10:03.37ID:GUPc3ba+ >>967
料理本に書いてあるやり方を真似て、別の本を出しても、著作権侵害にはならない判例
がアメリカでは基本になっている。
だから、リファレンスを理解して同じ機能のAPIを作っても著作権侵害にはならないと言うのが
原則だとされる。
料理本に書いてあるやり方を真似て、別の本を出しても、著作権侵害にはならない判例
がアメリカでは基本になっている。
だから、リファレンスを理解して同じ機能のAPIを作っても著作権侵害にはならないと言うのが
原則だとされる。
970デフォルトの名無しさん
2018/04/01(日) 13:13:12.20ID:hcSbVWUA >>966
今回の判決はその困ったことが起こった、ということ。
今回の判決はその困ったことが起こった、ということ。
971デフォルトの名無しさん
2018/04/01(日) 14:56:45.30ID:6Umx8Fig googleも似たようなAPIを作って差し替えればいいんじゃねえの
972デフォルトの名無しさん
2018/04/01(日) 15:15:41.61ID:e1UC7+4i973デフォルトの名無しさん
2018/04/01(日) 15:29:57.78ID:CcB7Toli だからJavaとかいう臭い言語なんか最初から使ってなきゃよかったんだよ
オラクルとかいう臭い企業が牛耳ってる言語なんか使わないでも
もっと良い言語作れる能力あるのに
使用者が多いからと開発者に媚びた結果がこれだよ
オラクルとかいう臭い企業が牛耳ってる言語なんか使わないでも
もっと良い言語作れる能力あるのに
使用者が多いからと開発者に媚びた結果がこれだよ
974デフォルトの名無しさん
2018/04/01(日) 16:01:17.13ID:6Umx8Fig DroidKaigi 2018 - コードで見るFlutterアプリの実装 / konifar [JA]
ttps://www.youtube.com/watch?v=sRV_bSdyDjw
ttps://www.youtube.com/watch?v=sRV_bSdyDjw
975デフォルトの名無しさん
2018/04/01(日) 16:50:50.24ID:5WhrWLun Appleみたいにちゃんと買い取った会社と言語でやるべきだったな
976デフォルトの名無しさん
2018/04/01(日) 18:15:05.92ID:2oobpuBw 2003年時点のAndroid社が今の状況を予想できるわけがない
977デフォルトの名無しさん
2018/04/01(日) 18:33:04.60ID:zXYiYzGh Kotlinってのは内部でJavaに変換してるの?
978デフォルトの名無しさん
2018/04/01(日) 19:04:07.13ID:ikLL1y/K はぁ?
バイトコード吐いてんだろが
バイトコード吐いてんだろが
979デフォルトの名無しさん
2018/04/01(日) 19:19:56.66ID:nEv6CmIl javaのソースコードという意味なら、してない
980デフォルトの名無しさん
2018/04/01(日) 19:31:07.79ID:zXYiYzGh981デフォルトの名無しさん
2018/04/01(日) 20:39:15.00ID:EwuQ9U5u >>980
駄目だよ。
問題になっているのはjava APIの著作権なので、それがclassライブラリを指しているのかvm仕様を指してるのかわからんが、いずれにしてもkotlinでも状況は一緒。
ただandroidは神託が自らgpl化したopen jdkに移行したから、今後はjavaを使い続けても問題ない、はず
駄目だよ。
問題になっているのはjava APIの著作権なので、それがclassライブラリを指しているのかvm仕様を指してるのかわからんが、いずれにしてもkotlinでも状況は一緒。
ただandroidは神託が自らgpl化したopen jdkに移行したから、今後はjavaを使い続けても問題ない、はず
982デフォルトの名無しさん
2018/04/01(日) 20:40:21.31ID:F6+rL4W6983デフォルトの名無しさん
2018/04/01(日) 20:50:46.74ID:zXYiYzGh984デフォルトの名無しさん
2018/04/01(日) 20:52:52.55ID:R0oJ/MH9 個人で作るならコトリンのが作りやすいやろ
仕事だとなかなか採用できんね
仕事だとなかなか採用できんね
985デフォルトの名無しさん
2018/04/01(日) 21:06:29.17ID:HqgCmSKj 次スレってあるの?
986デフォルトの名無しさん
2018/04/01(日) 23:44:28.04ID:rXkEVdGw >>967
互換実装を作成するプロジェクトはあったのに知らないのかぁ
互換実装を作成するプロジェクトはあったのに知らないのかぁ
987デフォルトの名無しさん
2018/04/01(日) 23:48:12.01ID:rXkEVdGw988デフォルトの名無しさん
2018/04/02(月) 00:39:40.41ID:C+8pBWNh >>986
それ実際訴えられて潰されたんだが
それ実際訴えられて潰されたんだが
989デフォルトの名無しさん
2018/04/02(月) 01:10:06.98ID:NWmlauvJ >>988
潰された例を具体的に元のプロダクト名と互換実装プロジェクトの名前を上げてどうぞ
潰された例を具体的に元のプロダクト名と互換実装プロジェクトの名前を上げてどうぞ
990デフォルトの名無しさん
2018/04/02(月) 01:52:31.51ID:J8SaQrAA991デフォルトの名無しさん
2018/04/02(月) 02:18:36.77ID:6c8y0pm0 オラクルなんなん
てかフェアユース不適合なの意味わからん
てかフェアユース不適合なの意味わからん
992デフォルトの名無しさん
2018/04/02(月) 08:44:47.98ID:UWLzNtKZ なんらかの理由でgoogleの足を引っ張りたかっただけだろ
下手したらITの世界全体に致命的なダメージを与えかねないクソ前例を作りやがった
下手したらITの世界全体に致命的なダメージを与えかねないクソ前例を作りやがった
993デフォルトの名無しさん
2018/04/02(月) 09:45:31.19ID:OHYuqcPP994デフォルトの名無しさん
2018/04/02(月) 09:47:44.72ID:S0/BFwFL オラクルが足を引っ張らなかったことなんてほぼ無い
995デフォルトの名無しさん
2018/04/02(月) 09:50:00.80ID:NWmlauvJ996デフォルトの名無しさん
2018/04/02(月) 09:55:14.66ID:NWmlauvJ >>993
しかもHarmonyを出すとか意味わかっていってるのか?
しかもHarmonyを出すとか意味わかっていってるのか?
997デフォルトの名無しさん
2018/04/02(月) 09:59:01.80ID:OHYuqcPP いきなり、お前呼ばわりって頭可笑しいと思うの。
先ずはお礼でしょう?
先ずはお礼でしょう?
998デフォルトの名無しさん
2018/04/02(月) 10:31:08.79ID:Qs9eq6u+ お前呼ばわりは酷いな
せめてお主だろ
せめてお主だろ
999デフォルトの名無しさん
2018/04/02(月) 10:54:35.94ID:ij6KZLBS せめてさんをつけろ
ねえお前さん
ねえお前さん
1000デフォルトの名無しさん
2018/04/02(月) 11:00:15.69ID:k9cTFSac 1000ならXamarinのライセンスを1000個買う
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 152日 10時間 52分 32秒
新しいスレッドを立ててください。
life time: 152日 10時間 52分 32秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【悲報】小泉「あっノート忘れた😲」会談用の資料を忘れる、自己アピールの要人ヘリ要請等、少しも覚醒していなかった [359965264]
- 高市早苗(CV:安倍晋三)👈コイツが言いそうなセリフww [916950698]
- 日本で対中宣戦布告が正しかったという謎の国民意識が醸成され学者や外交官が危機感を表明 [819729701]
- 【動画】ママチャリまんさん「わたし女ですけど!」シャコシャコシャコシャコ 🚴‍♀❗🚛 [329329848]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- おまえらスキンケアしてる?
