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

■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
83デフォルトの名無しさん
垢版 |
2016/04/12(火) 20:56:18.12ID:Rk5bS0ji
KotlinよりScalaの方がありそう
2016/04/12(火) 21:30:53.05ID:zxlf4Ltj
>>82
OpenJDKはOracle公認だから、使い方にもよるかも知れないけどGoogleがOracleに責められずにフリーで使える可能性はある。
ただ、Oracleはライセンス料が欲しいわけだからあの手この手で金を要求しようとすると思う。
Swiftよりはkotlinのほうがまだ可能性はあると思うがGoogleがサポートする必要性が薄いとも思う。
85デフォルトの名無しさん
垢版 |
2016/04/12(火) 21:35:28.14ID:ZWvwh7J9
>>83
Androidでscalaは辛いらしい
何が辛いのかよく分からんけど
2016/04/12(火) 21:46:26.86ID:3ZquNVD8
Scalaはビルドツールが糞
2016/04/12(火) 21:51:27.23ID:tRZrs4lg
scalaって標準ライブラリのサイズがでかくなかった?
2016/04/13(水) 09:06:47.77ID:E2Yhqe8e
>>83
そう?Scalaが普及しはじめてから何年も経つけど、GoogleがScalaに興味を示したことってあったっけ?
2016/04/16(土) 21:14:12.15ID:1vFpn8v7
JavaのOO畑で関数型とかよく分からんしってマルチパラダイム言語の第一歩によさそうだなKotlin
名前も可愛いし
2016/04/16(土) 22:47:26.92ID:rMj3oXBU
Kotlinってあんまり関数型要素ないだろ
関数型度はJava8と大して変わらん
91デフォルトの名無しさん
垢版 |
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的に分散され、特定のサーバーに依存しません
92デフォルトの名無しさん
垢版 |
2016/06/19(日) 22:31:14.76ID:eVkfK1tp
話題なさすぎじゃね
2016/08/06(土) 23:21:47.71ID:DcF8zl9X
javaに触らすいきなりkotlinから
アンドロイド開発に入門するのって無茶ですかね?
そういうコンセプトの入門書とかないかな
2016/08/07(日) 00:17:57.07ID:ImwDssOT
無茶というか無意味な縛りプレイだよ
Java分からないとサンプルコード読めないじゃん
2016/08/08(月) 11:17:38.46ID:tg5qo0Cy
無意味な縛りですかね。javaの構文自体は平易だからandroidとセットでkotlinの構文が学べたほうがいいなのかなと
2016/08/08(月) 22:59:13.69ID:/KkOsDFd
じゃあ聞くなよ
2016/08/09(火) 07:51:56.25ID:qoHYj2J7
じゃあ尚更Javaでいいだろ
KotlinなんかJavaやったあとなら一瞬でマスターできるからどうでもいい
2016/08/10(水) 09:10:55.40ID:rQiddDUo
お前ら
ことりん
という響きが好きなだけちゃうんかと
2016/09/21(水) 00:39:02.10ID:UYN6tSg/
(・8・)
2016/11/10(木) 04:01:41.16ID:5wJA0ZNT
日本人は流行に乗りたがるけどすぐ飽きるね
名前に釣られただけで結局流行りそうにない
2016/11/14(月) 23:59:31.98ID:wCV5pHeX
scalaと比べていいところってある?
ユーザ数はscalaのほうが多いだろうしどっちやろうか迷ってる
2016/11/15(火) 00:56:14.67ID:r0bdrrlQ
カオスじゃない
Javaとの完全な互換性がある(Scalaは事実上一方通行)
Scalaに比べれば遥かにまともな言語だよ
Scalaはとりあえず全部ブチ込んでみただけの実験言語で、本来実用に使うようなもんじゃない
2017/01/09(月) 20:37:51.41ID:4w5Vtztw
Kotlin vs Ceylon
2017/01/11(水) 13:27:31.23ID:ejV+8ohg
Gradle3.xでKotlinがサポートされたのって、普及に影響する?
2017/01/11(水) 17:14:25.25ID:qSPp3nGT
Groovyがそこまで普及してるか?
つまりそういうこと
2017/01/12(木) 21:33:12.76ID:ArceXZLM
>>105
なるほど納得した。ありがとう。
2017/01/17(火) 06:25:55.49ID:/OTVP4TW
EclipseでKotlinしている人っている?
2017/01/18(水) 21:56:09.40ID:nmk83e0+
あるオープンソースのコードを呼んでてIDEで飛べないクラスがあって調べたらKotlinを見つけた
どう使い分けるんだろう
109デフォルトの名無しさん
垢版 |
2017/01/20(金) 09:01:11.60ID:fIQqHT5d
>>108
普段はJavaを使っているけど
BigIntegerで数値計算するとか、raw stringでスクリプト生成するときだけ
Kotlinでクラス作成するという用途なら理解できなくもない。
2017/03/02(木) 22:58:10.37ID:aTDCpX5l
JavaScriptが書けるようになったと聞いて
2017/03/02(木) 23:03:06.74ID:6rwxIFtV
それよりコルーチンだよ
名前がいいよね
112デフォルトの名無しさん
垢版 |
2017/03/11(土) 08:06:57.61ID:vLyp82+E
>>111
コルーチン...ロシア人かな? Kotlinだけに。
2017/03/27(月) 12:32:22.63ID:zxMW45Gj
go->goroutine
Kotlin->koroutine
ってこと?
114デフォルトの名無しさん
垢版 |
2017/04/13(木) 10:00:40.79ID:p+wJDHjt
んーcoroutine、便利さを挙動の理解の混乱が上回ってる..w
かえって複雑になりそう
2017/04/14(金) 10:49:57.90ID:rxkV6/uG
>>114
coroutineって「状態を持つ」ような気がするんだけど、
関数型プログラミングのイミュータブルであるべきという
考え方に逆行しているという理解であってますか?
2017/04/15(土) 00:40:02.53ID:5VFPMUgC
>>115
なんちゃって関数型プログラミングでは状態の局所化に役立つ便利な道具だと思うよ
ステートマシンなどという糞を排除できる
2017/04/16(日) 13:23:05.16ID:FOOthHC9
一つのクラスに複数のアノテーション持てない感じ?
2017/04/18(火) 07:19:21.21ID:q56THeJt
このスレで言うのもなんだが、初心者の質問はTwitterで投げるのがいいよ
普及させたい人が定期的に検索して拾ってくれるから
119115
垢版 |
2017/04/22(土) 21:58:39.69ID:8rHjbk1S
>>114
オブジェクトのように「フィールド」に「値」を状態として持つのではなく、
coroutineは「コード上」に「まだ実行されていない処理」を状態として持つから
複雑で分かりにくいんじゃないかなと思いました。

>>116
coroutine自体がステートマシンだと書いてあるものを見たのですが、
ステートマシンが局所化されるモナドのような何か?(わかってない)
120デフォルトの名無しさん
垢版 |
2017/04/23(日) 10:19:21.32ID:9Bq1d30L
suspend関数ってコルーチンの中でしか使えないってことは、そこらじゅうlaunchの類だらけになるってこと?笑
まだ滅多に使用例のってるブログとかみかけないね。
生き残れるのか?これw

>>119 https://github.com/pljp/kotlin-coroutines/blob/japanese_translation/kotlin-coroutines-informal.md#状態マシン
2017/04/28(金) 17:34:29.34ID:80AWOTNk
ことりん擬人化まだ?
122デフォルトの名無しさん
垢版 |
2017/05/01(月) 23:00:23.52ID:+TVy5Krd
Rubyの、p, pp みたいに、自動的に、コンテナ内を展開して、
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?

p コンテナ・オブジェクト
2017/05/04(木) 00:18:07.49ID:lRx89izX
ない
そんなもんIDEのデバッガで止めて見ればいいだろ
2017/05/04(木) 00:39:59.73ID:7TNYL3q7
それはダサいわ
2017/05/13(土) 22:26:26.42ID:UQoi629m
なんか折りたたみすぎるんだよな〜
2017/05/18(木) 03:33:23.69ID:DKg0Na73
大勝利キタ━━━━(゚∀゚)━━━━ !!!!
127デフォルトの名無しさん
垢版 |
2017/05/18(木) 03:35:35.85ID:Wz6O2oVO
きたな
2017/05/18(木) 03:38:32.99ID:l26+mVZr
まじか
2017/05/18(木) 08:19:21.98ID:6xLYhPbf
アプデかなんか来たの?
2017/05/18(木) 08:34:44.83ID:eCnYzL6s
Androidでのファーストクラスサポートだそうですよ
2017/05/18(木) 08:35:35.63ID:zgtLgueR
Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.

だって。
2017/05/18(木) 09:08:10.23ID:PzmNC1sh
ファーストクラスってなんですか?
133デフォルトの名無しさん
垢版 |
2017/05/18(木) 09:13:30.93ID:zw0yFHDv
ビジネスクラスより上
2017/05/18(木) 09:37:46.74ID:cqnkW2Fd
例の訴訟絡みでjvm捨てると思ってたんだがなあ
135デフォルトの名無しさん
垢版 |
2017/05/18(木) 10:06:03.05ID:L+z+Rh5o
記念アゲ (・8・)
2017/05/18(木) 12:11:08.36ID:zgtLgueR
Android Studioで標準サポートになる、つうことだろ。
2017/05/18(木) 12:12:50.95ID:NEKf9u2/
AndroidがKotlinサポートか
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった

https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
2017/05/18(木) 12:17:09.11ID:w2PMjkvW
GWにkotlin始めて書きやすいなと思ってた俺大勝利
2017/05/18(木) 12:38:42.71ID:zgtLgueR
>>137
今までのJava資産を活かしながらシームレスに移行できる、というのが大きい。
その意味でc#はありえん。
2017/05/18(木) 12:57:50.54ID:3vvtk3AJ
いまJavaを使ってる人を救うことを考えたらまずはKotlinだろうね
2017/05/18(木) 13:16:17.63ID:XKDAC558
まじかよ
コトリン大好きな俺大勝利じゃん
祝杯や
2017/05/18(木) 13:21:33.03ID:9vmsiCj/
やったぜ
2017/05/18(木) 13:23:06.77ID:yATb/f/P
えっちだぁw
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

こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
2017/05/18(木) 15:28:16.59ID:/Shfsuc2
KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ
2017/05/18(木) 16:57:05.60ID:sDwtWkJp
AppleがGoを公式採用するくらいあり得ないことだな
2017/05/18(木) 17:15:26.94ID:zgtLgueR
>>145
今までのjava資産を考えるとありえん。
appleは悪い意味でおかしい。
148デフォルトの名無しさん
垢版 |
2017/05/18(木) 18:29:24.60ID:xYh7ZO1T
競技プログラミングでKotlinを覚えるか…
2017/05/18(木) 23:54:53.47ID:s8Za2vto
>>70
念願かなったね。おめでとう。
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
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
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
2017/05/19(金) 20:24:00.83ID:t+9TXaRk
>>70
おめ
2017/05/19(金) 20:34:19.80ID:Ig6oJN7I
>>71
これは恥ずかしいwwww
154デフォルトの名無しさん
垢版 |
2017/05/19(金) 22:29:26.32ID:HhPXEO/A
じゃ今後のAndroidのライブラリにはKotlinで書かれてるものの出てくるのかな?
2017/05/20(土) 00:38:31.20ID:ap8WyFQI
それはないだろう
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許容演算子を使う
2017/05/20(土) 15:30:08.83ID:LOC45URm
Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
2017/05/20(土) 15:41:06.41ID:8ml7mLK3
getOrNullとかあるよ
2017/05/20(土) 19:38:14.41ID:NqXZxUdZ
Android StudioでのIntelliJ Kotlinプラグインが公式サポートされただけでAndroid System LibにKotlinクラス群が入ったわけじゃないんだよなぁ

>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
160デフォルトの名無しさん
垢版 |
2017/05/20(土) 20:11:09.01ID:LOC45URm
企業内での使用はGoogle公式かどうかですごい影響あるよ
2017/05/21(日) 10:31:28.30ID:4E+x2A2G
これをきにコトリンを始める人がいっぱいいそうだが
ほとんど人が挫折するんだろうな
2017/05/21(日) 10:35:53.77ID:W3P4J6B5
こんな簡単な言語で挫折する要素とは
2017/05/21(日) 10:40:32.81ID:tBEndF3S
Kotlin言語そのものは難しくないがJavaの言語に加えて
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
164デフォルトの名無しさん
垢版 |
2017/05/21(日) 11:08:54.99ID:h5RyjkDf
kotlinにはtypescriptのtsserverみたいに補完機能はないんでしょうか?
2017/05/21(日) 11:33:04.16ID:W3P4J6B5
第一級開発言語に指定したんやからfwは全てkotlinラッパを出すやろ
166デフォルトの名無しさん
垢版 |
2017/05/21(日) 12:33:48.18ID:sr6r/1gA
?なvarをif != null したら!!いらないようにしてほしいな〜
valに入れ直すのはスマートじゃないよ
2017/05/21(日) 13:24:08.34ID:tU5Dlyyu
>>156
似たようなとこで詰まってた
Nullableでご安全にする理屈はわかるけど連想配列の利用法としては煩雑だね
覚えとくしかないか
それともこのへん便利な格納構造があるのかな
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安全のない言語から来た人はふんす!!ってなると思われ
2017/05/21(日) 20:26:44.09ID:9L9dm7b/
>>163
C#文法とC#ライブラリを学習するよりは楽そう

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

メソッドチェーンはテストも、しにくい
2017/05/22(月) 01:22:13.90ID:yjMvX9x8
素のkotlinでは使えるけどAndroidのkotlinでは使えないのってある?
2017/05/22(月) 01:48:31.03ID:97nOcTMK
Nullableかどうかは書き手が決められるのがステキとか言っておきながら
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
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を整備するべき
2017/05/22(月) 08:14:55.23ID:fxLikn6a
map を実装する場合、普通は、2種類書く

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

nullable になるのは、null を返すもの
177デフォルトの名無しさん
垢版 |
2017/05/22(月) 08:34:20.91ID:7g15jPZv
>>175
VMの方のAPIだよ。
言語の方のAPIだけの問題なら、OpenJDKだけで解決してしまうだろが。
2017/05/22(月) 09:45:07.45ID:WLj9ZHQ7
>>177
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず
2017/05/22(月) 09:46:09.30ID:jD5FXPee
OpenJDKにもVM実装は含まれてるんだけどなw
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
2017/05/22(月) 09:46:23.44ID:NZ0IuE42
擬人化まだかよ
無能どもめ
2017/05/22(月) 09:52:42.83ID:WLj9ZHQ7
>>175
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
2017/05/22(月) 18:40:23.05ID:jD5FXPee
「apiインターフェース」の「頭痛が痛い」みたいな表現、嫌いじゃない:D

>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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