X



Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0082デフォルトの名無しさん
垢版 |
2016/04/12(火) 15:18:33.45ID:9HGJ3JQs
>>81
てことはAndroid N以降はOracleとの訴訟の件は関係ないってことになる?
あと、その考え方だと、kotlinを正式採用の方が現実味あるのかな
0083デフォルトの名無しさん
垢版 |
2016/04/12(火) 20:56:18.12ID:Rk5bS0ji
KotlinよりScalaの方がありそう
0084デフォルトの名無しさん
垢版 |
2016/04/12(火) 21:30:53.05ID:zxlf4Ltj
>>82
OpenJDKはOracle公認だから、使い方にもよるかも知れないけどGoogleがOracleに責められずにフリーで使える可能性はある。
ただ、Oracleはライセンス料が欲しいわけだからあの手この手で金を要求しようとすると思う。
Swiftよりはkotlinのほうがまだ可能性はあると思うがGoogleがサポートする必要性が薄いとも思う。
0085デフォルトの名無しさん
垢版 |
2016/04/12(火) 21:35:28.14ID:ZWvwh7J9
>>83
Androidでscalaは辛いらしい
何が辛いのかよく分からんけど
0088デフォルトの名無しさん
垢版 |
2016/04/13(水) 09:06:47.77ID:E2Yhqe8e
>>83
そう?Scalaが普及しはじめてから何年も経つけど、GoogleがScalaに興味を示したことってあったっけ?
0089デフォルトの名無しさん
垢版 |
2016/04/16(土) 21:14:12.15ID:1vFpn8v7
JavaのOO畑で関数型とかよく分からんしってマルチパラダイム言語の第一歩によさそうだなKotlin
名前も可愛いし
0091デフォルトの名無しさん
垢版 |
2016/05/01(日) 10:54:20.06ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
0092デフォルトの名無しさん
垢版 |
2016/06/19(日) 22:31:14.76ID:eVkfK1tp
話題なさすぎじゃね
0093デフォルトの名無しさん
垢版 |
2016/08/06(土) 23:21:47.71ID:DcF8zl9X
javaに触らすいきなりkotlinから
アンドロイド開発に入門するのって無茶ですかね?
そういうコンセプトの入門書とかないかな
0094デフォルトの名無しさん
垢版 |
2016/08/07(日) 00:17:57.07ID:ImwDssOT
無茶というか無意味な縛りプレイだよ
Java分からないとサンプルコード読めないじゃん
0095デフォルトの名無しさん
垢版 |
2016/08/08(月) 11:17:38.46ID:tg5qo0Cy
無意味な縛りですかね。javaの構文自体は平易だからandroidとセットでkotlinの構文が学べたほうがいいなのかなと
0097デフォルトの名無しさん
垢版 |
2016/08/09(火) 07:51:56.25ID:qoHYj2J7
じゃあ尚更Javaでいいだろ
KotlinなんかJavaやったあとなら一瞬でマスターできるからどうでもいい
0100デフォルトの名無しさん
垢版 |
2016/11/10(木) 04:01:41.16ID:5wJA0ZNT
日本人は流行に乗りたがるけどすぐ飽きるね
名前に釣られただけで結局流行りそうにない
0101デフォルトの名無しさん
垢版 |
2016/11/14(月) 23:59:31.98ID:wCV5pHeX
scalaと比べていいところってある?
ユーザ数はscalaのほうが多いだろうしどっちやろうか迷ってる
0102デフォルトの名無しさん
垢版 |
2016/11/15(火) 00:56:14.67ID:r0bdrrlQ
カオスじゃない
Javaとの完全な互換性がある(Scalaは事実上一方通行)
Scalaに比べれば遥かにまともな言語だよ
Scalaはとりあえず全部ブチ込んでみただけの実験言語で、本来実用に使うようなもんじゃない
0108デフォルトの名無しさん
垢版 |
2017/01/18(水) 21:56:09.40ID:nmk83e0+
あるオープンソースのコードを呼んでてIDEで飛べないクラスがあって調べたらKotlinを見つけた
どう使い分けるんだろう
0109デフォルトの名無しさん
垢版 |
2017/01/20(金) 09:01:11.60ID:fIQqHT5d
>>108
普段はJavaを使っているけど
BigIntegerで数値計算するとか、raw stringでスクリプト生成するときだけ
Kotlinでクラス作成するという用途なら理解できなくもない。
0112デフォルトの名無しさん
垢版 |
2017/03/11(土) 08:06:57.61ID:vLyp82+E
>>111
コルーチン...ロシア人かな? Kotlinだけに。
0114デフォルトの名無しさん
垢版 |
2017/04/13(木) 10:00:40.79ID:p+wJDHjt
んーcoroutine、便利さを挙動の理解の混乱が上回ってる..w
かえって複雑になりそう
0115デフォルトの名無しさん
垢版 |
2017/04/14(金) 10:49:57.90ID:rxkV6/uG
>>114
coroutineって「状態を持つ」ような気がするんだけど、
関数型プログラミングのイミュータブルであるべきという
考え方に逆行しているという理解であってますか?
0116デフォルトの名無しさん
垢版 |
2017/04/15(土) 00:40:02.53ID:5VFPMUgC
>>115
なんちゃって関数型プログラミングでは状態の局所化に役立つ便利な道具だと思うよ
ステートマシンなどという糞を排除できる
0118デフォルトの名無しさん
垢版 |
2017/04/18(火) 07:19:21.21ID:q56THeJt
このスレで言うのもなんだが、初心者の質問はTwitterで投げるのがいいよ
普及させたい人が定期的に検索して拾ってくれるから
0119115
垢版 |
2017/04/22(土) 21:58:39.69ID:8rHjbk1S
>>114
オブジェクトのように「フィールド」に「値」を状態として持つのではなく、
coroutineは「コード上」に「まだ実行されていない処理」を状態として持つから
複雑で分かりにくいんじゃないかなと思いました。

>>116
coroutine自体がステートマシンだと書いてあるものを見たのですが、
ステートマシンが局所化されるモナドのような何か?(わかってない)
0122デフォルトの名無しさん
垢版 |
2017/05/01(月) 23:00:23.52ID:+TVy5Krd
Rubyの、p, pp みたいに、自動的に、コンテナ内を展開して、
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?

p コンテナ・オブジェクト
0127デフォルトの名無しさん
垢版 |
2017/05/18(木) 03:35:35.85ID:Wz6O2oVO
きたな
0131デフォルトの名無しさん
垢版 |
2017/05/18(木) 08:35:35.63ID:zgtLgueR
Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.

だって。
0133デフォルトの名無しさん
垢版 |
2017/05/18(木) 09:13:30.93ID:zw0yFHDv
ビジネスクラスより上
0135デフォルトの名無しさん
垢版 |
2017/05/18(木) 10:06:03.05ID:L+z+Rh5o
記念アゲ (・8・)
0139デフォルトの名無しさん
垢版 |
2017/05/18(木) 12:38:42.71ID:zgtLgueR
>>137
今までのJava資産を活かしながらシームレスに移行できる、というのが大きい。
その意味でc#はありえん。
0144デフォルトの名無しさん
垢版 |
2017/05/18(木) 15:12:54.92ID:d+oDyp66
日本Kotlinユーザグループ代表、長澤 太郎
Kotlinスタートブック -新しいAndroidプログラミング、2016

WEB+DB vol.94 の特集が、Kotlin, Electron

m, 10
a, 5
m, 2

こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
0145デフォルトの名無しさん
垢版 |
2017/05/18(木) 15:28:16.59ID:/Shfsuc2
KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ
0148デフォルトの名無しさん
垢版 |
2017/05/18(木) 18:29:24.60ID:xYh7ZO1T
競技プログラミングでKotlinを覚えるか…
0150デフォルトの名無しさん
垢版 |
2017/05/19(金) 08:25:10.64ID:Yy4p2hUQ
>>144 自己レス
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
0151デフォルトの名無しさん
垢版 |
2017/05/19(金) 13:20:04.25ID:JnsQ7Gr+
ニュース見て始めて半日くらいの調べもの堪え性のない人が質問です!
それはそうと初心者スレとか質問スレとかあってもいいかもしれないですね!

>>> var list = listOf(10, 20, 30)
>>> list[1] + 5
25
>>> var map = mapOf(1 to 10, 2 to 20, 3 to 30)
>>> map[1] + 5
error: infix call corresponds to a dot-qualified call 'map[1].plus(5)' which is not allowed on a nullable receiver 'map[1]'. Use '?.'-qualified call instead
>>> map[1]?.plus(5)
15
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
0154デフォルトの名無しさん
垢版 |
2017/05/19(金) 22:29:26.32ID:HhPXEO/A
じゃ今後のAndroidのライブラリにはKotlinで書かれてるものの出てくるのかな?
0156デフォルトの名無しさん
垢版 |
2017/05/20(土) 02:32:08.53ID:WmFfeyqJ
>>151
map[何々]が、nullable だから。
map[1]は存在するけど、map[4]なら存在しない

map[1].plus(5)なら、map[1](レシーバー)がnullableだから、
null.plus(5)の場合にバグるから、?. null許容演算子を使う
0157デフォルトの名無しさん
垢版 |
2017/05/20(土) 15:30:08.83ID:LOC45URm
Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
0159デフォルトの名無しさん
垢版 |
2017/05/20(土) 19:38:14.41ID:NqXZxUdZ
Android StudioでのIntelliJ Kotlinプラグインが公式サポートされただけでAndroid System LibにKotlinクラス群が入ったわけじゃないんだよなぁ

>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
0160デフォルトの名無しさん
垢版 |
2017/05/20(土) 20:11:09.01ID:LOC45URm
企業内での使用はGoogle公式かどうかですごい影響あるよ
0161デフォルトの名無しさん
垢版 |
2017/05/21(日) 10:31:28.30ID:4E+x2A2G
これをきにコトリンを始める人がいっぱいいそうだが
ほとんど人が挫折するんだろうな
0163デフォルトの名無しさん
垢版 |
2017/05/21(日) 10:40:32.81ID:tBEndF3S
Kotlin言語そのものは難しくないがJavaの言語に加えて
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
0164デフォルトの名無しさん
垢版 |
2017/05/21(日) 11:08:54.99ID:h5RyjkDf
kotlinにはtypescriptのtsserverみたいに補完機能はないんでしょうか?
0166デフォルトの名無しさん
垢版 |
2017/05/21(日) 12:33:48.18ID:sr6r/1gA
?なvarをif != null したら!!いらないようにしてほしいな〜
valに入れ直すのはスマートじゃないよ
0167デフォルトの名無しさん
垢版 |
2017/05/21(日) 13:24:08.34ID:tU5Dlyyu
>>156
似たようなとこで詰まってた
Nullableでご安全にする理屈はわかるけど連想配列の利用法としては煩雑だね
覚えとくしかないか
それともこのへん便利な格納構造があるのかな
0168デフォルトの名無しさん
垢版 |
2017/05/21(日) 18:45:53.63ID:UuW+xgyM
>>> var map = mapOf(1 to 10,2 to 20)
>>> map[3]
null
>>> var list = listOf(10,20)
>>> list[3]
java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
>>157の言う通り、究極的にはこのしょーもない内部仕様のせいである
この仕様を知ってるKotlinがmap作った時点で全要素Nullableにしてくれてるのだね

>>> var value = map[2]
>>> value
20
>>> value + 5
error: infix call corresponds to a dot-qualified call 'value.plus(5)' which is not allowed on a nullable receiver 'value'. Use '?.'-qualified call instead
>>> var value:Int = map[2]
error: type mismatch: inferred type is Int? but Int was expected
このへんも、Null安全のない言語から来た人はふんす!!ってなると思われ
0169デフォルトの名無しさん
垢版 |
2017/05/21(日) 20:26:44.09ID:9L9dm7b/
>>163
C#文法とC#ライブラリを学習するよりは楽そう

>>165
Java APIをKotlin APIに透過的に見せるからラッパーの用意すら要らんでしょ
0170デフォルトの名無しさん
垢版 |
2017/05/21(日) 20:46:52.64ID:RH0jdAto
最終的に訴訟のネタにもなってるjavaを切り離す方向まで行かないんですかね。
0171デフォルトの名無しさん
垢版 |
2017/05/21(日) 21:44:40.19ID:mFn/WD+c
VMの問題なんだからいまさらどうしようもないだろ。
0172デフォルトの名無しさん
垢版 |
2017/05/21(日) 22:54:56.67ID:1evlh7eH
Ruby, JS などで、メソッドチェーンすると、
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、

メソッドチェーンはテストも、しにくい
0174デフォルトの名無しさん
垢版 |
2017/05/22(月) 01:48:31.03ID:97nOcTMK
Nullableかどうかは書き手が決められるのがステキとか言っておきながら
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
0175デフォルトの名無しさん
垢版 |
2017/05/22(月) 06:16:11.80ID:jD5FXPee
>>170-171
VMじゃなくAPI(ライブラリ実装)の問題でしょ
Sun(現Oracle)の作った全Java APIを放棄してKotlinで一から作れば訴訟問題からは無関係になれる

まぁ、GoogleもJetbrainsもお互いに「お前がやれ」とか思ってそうだけど
Google: KotlinはJetbrainsのモノなんだから、JetbrainsがKotlin APIを整備するべき
Jetbrains: Java訴訟はGoogleの問題なんだから、GoogleがKotlin APIを整備するべき
0176デフォルトの名無しさん
垢版 |
2017/05/22(月) 08:14:55.23ID:fxLikn6a
map を実装する場合、普通は、2種類書く

そのキーが無い場合、
null を返すものと、例外をthrow するもの

nullable になるのは、null を返すもの
0177デフォルトの名無しさん
垢版 |
2017/05/22(月) 08:34:20.91ID:7g15jPZv
>>175
VMの方のAPIだよ。
言語の方のAPIだけの問題なら、OpenJDKだけで解決してしまうだろが。
0179デフォルトの名無しさん
垢版 |
2017/05/22(月) 09:46:09.30ID:jD5FXPee
OpenJDKにもVM実装は含まれてるんだけどなw
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
0181デフォルトの名無しさん
垢版 |
2017/05/22(月) 09:52:42.83ID:WLj9ZHQ7
>>175
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
■ このスレッドは過去ログ倉庫に格納されています

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