JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
211デフォルトの名無しさん
2017/05/26(金) 11:16:41.50ID:4K0JCbpq いぐざくとりいい!
212デフォルトの名無しさん
2017/05/26(金) 12:12:06.77ID:5tQUvAE5 >>209 と、いわれても既存APIにはnullableだらけだからなぁ
213デフォルトの名無しさん
2017/05/26(金) 12:28:01.13ID:Heb9aC5z そのAPIの中はそれで良いと思う
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
214デフォルトの名無しさん
2017/05/26(金) 12:46:21.42ID:ZNc2U8qB >>207
これってiosもうごくの?
これってiosもうごくの?
215デフォルトの名無しさん
2017/05/26(金) 22:05:46.36ID:xRlJL6be Kotlin/NativeをAndroid(NDK)で動かしたい
216205
2017/05/27(土) 00:21:30.12ID:q99eAiGg217デフォルトの名無しさん
2017/05/27(土) 00:39:18.95ID:IRYfzUqY tensorflowをサポートするらしいけど、どうせならpython自体を扱えるのを目指してくれたらいいのに
218デフォルトの名無しさん
2017/05/27(土) 06:06:26.16ID:q99eAiGg ハマったので備忘録程度に。
Kotlin/JSで@JsNameの使いどころは、公式ドキュメントでは
In some cases (for example, to support overloads),
となっているが、引数ありのトップレベル関数はoverloadしていなくても
@JsNameをつけないとトランスパイル後の名前が変えられる模様。
Kotlin/JSで@JsNameの使いどころは、公式ドキュメントでは
In some cases (for example, to support overloads),
となっているが、引数ありのトップレベル関数はoverloadしていなくても
@JsNameをつけないとトランスパイル後の名前が変えられる模様。
219デフォルトの名無しさん
2017/05/27(土) 07:44:00.03ID:3w92Yrys >>217
目指すの意味がさっぱり分からんけど、kotlinじゃなくjython使うのじゃダメなの?
目指すの意味がさっぱり分からんけど、kotlinじゃなくjython使うのじゃダメなの?
220デフォルトの名無しさん
2017/05/27(土) 18:48:51.46ID:q99eAiGg221デフォルトの名無しさん
2017/05/27(土) 20:22:15.32ID:IRYfzUqY そうそう、kotlinから直接pythonライブラリ使えたらいいなー、と。それだけ。
JetBrainsならやってくれそうなんじゃないかとw
jython、そうなんだよ、開発止まってない?
JetBrainsならやってくれそうなんじゃないかとw
jython、そうなんだよ、開発止まってない?
222デフォルトの名無しさん
2017/05/27(土) 20:26:08.40ID:IRYfzUqY >>215 そしてついにはJVMと決別とか
223デフォルトの名無しさん
2017/05/27(土) 20:30:57.73ID:3w92Yrys > CPythonのライブラリをKotlinから使いたい
JythonでPythonコード(CPythonのライブラリ)をJVM上に読み込んで
KotlinでJVM上に展開されたバイトコードを呼び出せば良いんでないの
という意味だったんだけど、そうじゃないんだろうかねぇ
他の在り様を考えたけど、どれも現実的でない構成になってやっぱり分からん
案1. KotlinコンパイラがPythonコードをコンパイルできるようにする => それJythonじゃん...
案2. JNIのサポート言語(C/C++)にPythonを新たに追加する => Oracleに言えよ...
案3. JVM, CPythonプロセス間をWSGI的なもので繋ぐ => もう何が何やら...
まぁ深く考えないで、素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
JythonでPythonコード(CPythonのライブラリ)をJVM上に読み込んで
KotlinでJVM上に展開されたバイトコードを呼び出せば良いんでないの
という意味だったんだけど、そうじゃないんだろうかねぇ
他の在り様を考えたけど、どれも現実的でない構成になってやっぱり分からん
案1. KotlinコンパイラがPythonコードをコンパイルできるようにする => それJythonじゃん...
案2. JNIのサポート言語(C/C++)にPythonを新たに追加する => Oracleに言えよ...
案3. JVM, CPythonプロセス間をWSGI的なもので繋ぐ => もう何が何やら...
まぁ深く考えないで、素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
224220
2017/05/28(日) 07:09:50.42ID:L+V4SXEt >>223がどの程度Pythonに詳しいかわからないけど、PythonのライブラリはPythonだけでなく
C言語などを混ぜて書かれていることも多いので、
> Pythonコード(CPythonのライブラリ)をJVM上に読み込んで
ということ自体ができないと思う(自分もそこまで詳しくないから確証はない)。
Pythonで書かれているライブラリでもPython3に移行しているので、Python2ベースのJythonには
使えないし。
あと>>223はJVM前提みたいだけど>>221はKotlin/NativeみたいにJVMから離れて
CPythonのインタプリタ上で(あるいはCPythonのAPIを呼び出しながら)Kotlinを実行する
ことを想定しているからかみあわないんだと思う。
> 素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
tensorflowはその通りだけど、>>217はそれ以外のScipyみたいなライブラリのことを
言っているんだと推測。
C言語などを混ぜて書かれていることも多いので、
> Pythonコード(CPythonのライブラリ)をJVM上に読み込んで
ということ自体ができないと思う(自分もそこまで詳しくないから確証はない)。
Pythonで書かれているライブラリでもPython3に移行しているので、Python2ベースのJythonには
使えないし。
あと>>223はJVM前提みたいだけど>>221はKotlin/NativeみたいにJVMから離れて
CPythonのインタプリタ上で(あるいはCPythonのAPIを呼び出しながら)Kotlinを実行する
ことを想定しているからかみあわないんだと思う。
> 素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
tensorflowはその通りだけど、>>217はそれ以外のScipyみたいなライブラリのことを
言っているんだと推測。
225デフォルトの名無しさん
2017/05/28(日) 08:47:56.63ID:1kfTQYrn >>221はKotlinコンパイラでPythonコードをコンパイルしたいって言ってるから一旦理解したが
>>224はCPythonコンパイラでKotlinコードをコンパイルしたいって言ってて草生える
別の人間の意見だからそれは良いんだけど、どっちにせよ馬鹿っぽい構成だな
Kotlin/NativeでJVMから離れても、
結局はKotlinランタイム, Pythonランタイムの2つの言語/プロセス間通信が必要で
他言語間通信はC言語を挟めというのがイマドキの現実的なI/F設計だろうに
そのC言語I/FにKotlin, Pythonのラッパーを噛ませるならギリギリ現実的か
Python2が3に移行してるって言うが、Googleが10年以上Python2に固執したせいで
ようやく最近Python2, 3が平行実装になった程度で完全移行は進んでないだろ...
Jythonなんかはその煽りで3への移行をやらず枯れきった性質だと思うぞ
>>224はCPythonコンパイラでKotlinコードをコンパイルしたいって言ってて草生える
別の人間の意見だからそれは良いんだけど、どっちにせよ馬鹿っぽい構成だな
Kotlin/NativeでJVMから離れても、
結局はKotlinランタイム, Pythonランタイムの2つの言語/プロセス間通信が必要で
他言語間通信はC言語を挟めというのがイマドキの現実的なI/F設計だろうに
そのC言語I/FにKotlin, Pythonのラッパーを噛ませるならギリギリ現実的か
Python2が3に移行してるって言うが、Googleが10年以上Python2に固執したせいで
ようやく最近Python2, 3が平行実装になった程度で完全移行は進んでないだろ...
Jythonなんかはその煽りで3への移行をやらず枯れきった性質だと思うぞ
226デフォルトの名無しさん
2017/05/28(日) 11:11:04.40ID:E43+dK8Z >>224 普通に空気読んでくれてありがとねー笑
>>225 現実に今すぐ俺がkotlinでPythonライブラリ使いたいと言ってるわけじゃないんで、見当違いだが詳しい解説ありがとねー
JBはiOSにもネイティブでkotlinを対応させようとしてるくらいだし
方向性としてすべての分野でkotlinを使えるようしようとの野心をもってるらしいし
もとものkotlinは産業用に開発してると謳ってるわけだけど
tensorflowに対応させるなんて発表聞けば、研究分野、この場合機械学習だけども、にも
ターゲットを広げたんかな、と
ならばいっそのことpythonライブラリ全般を使えるような開発をやってくれたら
さらにいろいろ広がるんじゃないか、とそういう期待
PyCharmとか出してるくらいだし
まぁ人的資源とかの関係もあるだろうから優先順位低いだろうけどね
googleだってもしかしてJVMと決別を視野に入れてkotlin/nativeを評価したのかもしらんし?
>>225 現実に今すぐ俺がkotlinでPythonライブラリ使いたいと言ってるわけじゃないんで、見当違いだが詳しい解説ありがとねー
JBはiOSにもネイティブでkotlinを対応させようとしてるくらいだし
方向性としてすべての分野でkotlinを使えるようしようとの野心をもってるらしいし
もとものkotlinは産業用に開発してると謳ってるわけだけど
tensorflowに対応させるなんて発表聞けば、研究分野、この場合機械学習だけども、にも
ターゲットを広げたんかな、と
ならばいっそのことpythonライブラリ全般を使えるような開発をやってくれたら
さらにいろいろ広がるんじゃないか、とそういう期待
PyCharmとか出してるくらいだし
まぁ人的資源とかの関係もあるだろうから優先順位低いだろうけどね
googleだってもしかしてJVMと決別を視野に入れてkotlin/nativeを評価したのかもしらんし?
227デフォルトの名無しさん
2017/05/28(日) 11:26:10.28ID:E43+dK8Z 現にFuture plansには入ってるんだよね、Data analysis and Scientific Computingが
どうやって実現する予定なのかはわからんけど
どうやって実現する予定なのかはわからんけど
228デフォルトの名無しさん
2017/05/28(日) 11:36:02.32ID:E43+dK8Z それとも何か?この科学技術計算ターゲットってのは
もしかしてイチからkotlinで科学技術計算ライブラリ
もしくはコミュニティまで作ろうってことなのか?
まさかtensorflowに対応で完結じゃあるまい?w
いずれにせよJBが近い将来どんな具体策を出してくるのか、非常に楽しみである
もしかしてイチからkotlinで科学技術計算ライブラリ
もしくはコミュニティまで作ろうってことなのか?
まさかtensorflowに対応で完結じゃあるまい?w
いずれにせよJBが近い将来どんな具体策を出してくるのか、非常に楽しみである
229デフォルトの名無しさん
2017/05/28(日) 12:40:24.58ID:ZXIsROaD JVMもPythonも知らない素人だった
相手した二人共これには苦笑い
相手した二人共これには苦笑い
230デフォルトの名無しさん
2017/05/28(日) 14:33:07.68ID:ew7wH7J4 kotlin見てみたけどこれscalaをオチンポ向けにした言語やな
231デフォルトの名無しさん
2017/05/28(日) 15:01:49.36ID:YXueBn2b オチンポ向け…
232デフォルトの名無しさん
2017/05/28(日) 15:13:25.48ID:SqJWukL/ >>230
詳しく
詳しく
233デフォルトの名無しさん
2017/05/28(日) 15:22:28.26ID:asHVM9Q4 全然知らないで書くけど
Javaと同等の事をKotlinで出来るの?
Javaと同等の事をKotlinで出来るの?
234デフォルトの名無しさん
2017/05/28(日) 17:38:26.84ID:9pcvjMzo できるんでないかな
Javaの呼び出しもシームレスにできるしな
Javaの呼び出しもシームレスにできるしな
235デフォルトの名無しさん
2017/05/28(日) 19:16:55.76ID:QwjzxVOm Kotlin = Scala + Groovy(Rubyも同じ)
Javaでは、nullを除去できない
Javaには、Primitive があるけど、
Kotlinでは、すべてがオブジェクト
Java ←変換可能→ Kotlin
クロージャのデフォルト引数は、it を使う
第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
toString, equals, hashCode の3種の神器を、最初から持っている、データクラスがある
Javaでは、nullを除去できない
Javaには、Primitive があるけど、
Kotlinでは、すべてがオブジェクト
Java ←変換可能→ Kotlin
クロージャのデフォルト引数は、it を使う
第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
toString, equals, hashCode の3種の神器を、最初から持っている、データクラスがある
236235
2017/05/28(日) 19:22:45.75ID:QwjzxVOm >Javaには、Primitive があるけど、
>Kotlinでは、すべてがオブジェクト
実行速度を上げるため、primitiveを使う方法もある
>Kotlinでは、すべてがオブジェクト
実行速度を上げるため、primitiveを使う方法もある
237デフォルトの名無しさん
2017/05/28(日) 20:49:50.31ID:ZXIsROaD 途中からJavaとの違いからKotlinの特徴になっててイマイチ、、、
とりあえず、Javaとおなじこと出来るでいいんでね
とりあえず、Javaとおなじこと出来るでいいんでね
238デフォルトの名無しさん
2017/05/28(日) 23:18:36.68ID:IZz0cLMX 初歩的な質問とかしていい?
ByteArray使いたいときって
val a = byteArrayOf(0x80.toByte(), 0xCA.toByte(), ...)
みたいに.toByte()ってつけなきゃいけないん?慣れるまで見づらいな…
ByteArray使いたいときって
val a = byteArrayOf(0x80.toByte(), 0xCA.toByte(), ...)
みたいに.toByte()ってつけなきゃいけないん?慣れるまで見づらいな…
239デフォルトの名無しさん
2017/05/28(日) 23:55:52.52ID:C6P4TIAg いろいろ考え方はあるのだと思うけども
なにかコレクションがあって、それ全てに何か処理をして返して欲しいときはmapが使える
>>> val array = arrayOf("aaa","bbb","ccc").map{ it.toUpperCase() }
>>> array
[AAA, BBB, CCC]
なにかコレクションがあって、それ全てに何か処理をして返して欲しいときはmapが使える
>>> val array = arrayOf("aaa","bbb","ccc").map{ it.toUpperCase() }
>>> array
[AAA, BBB, CCC]
240デフォルトの名無しさん
2017/05/29(月) 23:11:46.19ID:Vfa09dL5 >>238
Kotlinは通常キャストはされないが、byteはリテラルがないからかリテラルだけは型推論されて、
val bytes = byteArrayOf(0x01, 0x02)
というのは型検査を通る模様。
Kotlinは通常キャストはされないが、byteはリテラルがないからかリテラルだけは型推論されて、
val bytes = byteArrayOf(0x01, 0x02)
というのは型検査を通る模様。
241デフォルトの名無しさん
2017/05/31(水) 22:55:29.26ID:JH+W+dlz kotlinでjsってどんな感じ?
typescriptの型情報取り込めると知って
ちょっと気になってきた。
type scriptより関数型が強めだから幸せになれそう
typescriptの型情報取り込めると知って
ちょっと気になってきた。
type scriptより関数型が強めだから幸せになれそう
242デフォルトの名無しさん
2017/06/01(木) 10:14:24.94ID:2LgcCNqk hasteやGHCjsじゃ駄目なん?
243デフォルトの名無しさん
2017/06/01(木) 10:55:02.44ID:AXJF1Amn SwiftとKotlinでちょっと遅延評価リストを比較した
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+1}
//A 問題なし
println("A: "+ a.take(10).toList() )
//B 問題なし
println("B: "+ a.take(10).map{it*10}.toList() )
//C 問題なし
println("C: "+ a.filter{3<it}.take(10).toList() )
//D 問題なし
println("D: "+ a.map{it*10}.take(10).toList() )
//E 問題なし
println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+1}
//A 問題なし
println("A: "+ a.take(10).toList() )
//B 問題なし
println("B: "+ a.take(10).map{it*10}.toList() )
//C 問題なし
println("C: "+ a.filter{3<it}.take(10).toList() )
//D 問題なし
println("D: "+ a.map{it*10}.take(10).toList() )
//E 問題なし
println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
244デフォルトの名無しさん
2017/06/01(木) 22:36:13.65ID:FF0Uww0g ファイルの整形処理で少しカジッてみたけど、ファイルIOはJavaのAPIと古い?関数と新しい?関数が混在してて、Googleの海をさ迷ったよw
kotlinのsequenceを返すreadLinesが欲しかったんだけど、見つけきれなかったので自作した。
既存であるのかな?
kotlinのsequenceを返すreadLinesが欲しかったんだけど、見つけきれなかったので自作した。
既存であるのかな?
245デフォルトの名無しさん
2017/06/01(木) 23:40:24.53ID:wljaouQ8 lineSequence()とかuseLines()とか?
246デフォルトの名無しさん
2017/06/02(金) 22:36:46.10ID:x3ElWORK androidアプリってscriptの方で作れますか?
kotlinc -script
kotlinc -script
247デフォルトの名無しさん
2017/06/04(日) 01:46:21.69ID:MOnNXU8r ヘイ親方質問
ファイルをShift_JISで保存してもUTF-8で保存しても
fun main(args: Array<String>){
println("日本語です")
}
が特段のオプションなしのkotlincでコンパイル可能で
特段のオプションなしkotlinでWindowsコマンドプロンプトに無事表示可能なんだけども
これはいったいどのへんが気を遣ってくれてるんですかね
ファイルをShift_JISで保存してもUTF-8で保存しても
fun main(args: Array<String>){
println("日本語です")
}
が特段のオプションなしのkotlincでコンパイル可能で
特段のオプションなしkotlinでWindowsコマンドプロンプトに無事表示可能なんだけども
これはいったいどのへんが気を遣ってくれてるんですかね
248デフォルトの名無しさん
2017/06/07(水) 14:34:22.11ID:SSzPpmQQ >>144-150
自己レス。データクラスを使った
data 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 )
}
出力
Person(age=20, name=Alice)
Person(age=20, name=Kate)
Person(age=25, name=Dave)
Person(age=25, name=Tom)
自己レス。データクラスを使った
data 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 )
}
出力
Person(age=20, name=Alice)
Person(age=20, name=Kate)
Person(age=25, name=Dave)
Person(age=25, name=Tom)
249デフォルトの名無しさん
2017/06/16(金) 14:28:27.40ID:xoha/0nR C#やってる人にとって凄く扱いやすかったりする?
ちなみに母ちゃんのあだ名がコトリン
ちなみに母ちゃんのあだ名がコトリン
250デフォルトの名無しさん
2017/06/16(金) 14:48:16.06ID:+s2fXv0/ 母ちゃんモダンな名前なんやね
251デフォルトの名無しさん
2017/06/16(金) 14:58:47.38ID:TF51QW3i 古都りん
252デフォルトの名無しさん
2017/06/16(金) 14:59:56.64ID:TF51QW3i 秋の奈良レンタサイクル“古都りん” - 奈良県自転車利用総合案内サイト
nara-cycling.com/rent-a-cycle/
nara-cycling.com/rent-a-cycle/
253デフォルトの名無しさん
2017/06/16(金) 15:20:11.64ID:dTWIGOSM >>247
kotlinじゃなくてJavaの仕様でしょ。
kotlinじゃなくてJavaの仕様でしょ。
254デフォルトの名無しさん
2017/06/19(月) 11:01:48.86ID:heYb3DeP なんでgoogleはkotlinをアンドロイドアプリの公式言語にしたの?
なんでgolangじゃないの?
オラクルとの訴訟もあるのにjavaを切ったほうがいいんじゃないの?
なんでgolangじゃないの?
オラクルとの訴訟もあるのにjavaを切ったほうがいいんじゃないの?
255デフォルトの名無しさん
2017/06/19(月) 12:12:39.67ID:xaFoAOZp java切ってどうなるか考えればわかるだろう
256デフォルトの名無しさん
2017/06/19(月) 21:05:24.63ID:snSfABSo257デフォルトの名無しさん
2017/06/21(水) 02:18:15.32ID:CAzvCkNY258デフォルトの名無しさん
2017/06/21(水) 02:21:47.43ID:CAzvCkNY >>256
これ。でも段階的にjavaに頼らないようにしていくのかもね。
コレクション系がandroid用に別実装になるとかあれは面白い。
あとオラクルにjavaから離れるアピールして圧力をかける政治的意図もあると思う
これ。でも段階的にjavaに頼らないようにしていくのかもね。
コレクション系がandroid用に別実装になるとかあれは面白い。
あとオラクルにjavaから離れるアピールして圧力をかける政治的意図もあると思う
259デフォルトの名無しさん
2017/06/21(水) 02:29:38.77ID:sE0qxZss JetBrainsうまうまってこと?
260デフォルトの名無しさん
2017/06/21(水) 02:33:39.09ID:jljDxrF/ Jetbrains買収あるか?
261デフォルトの名無しさん
2017/06/21(水) 02:59:48.56ID:CAzvCkNY むしろ、なんで買収しないんだろな。
つーかjetbrainが謎すぎて。
なんで一社であんなに幅広くide作れるのかが謎
つーかjetbrainが謎すぎて。
なんで一社であんなに幅広くide作れるのかが謎
262デフォルトの名無しさん
2017/06/21(水) 05:02:56.13ID:wPEHzi2i なんか怪しい力働いてるよなjetbrainsって
263デフォルトの名無しさん
2017/06/21(水) 07:39:22.48ID:MgLtlgFl 理解できないことを怪しいって言うのは悪い癖だぞ
264デフォルトの名無しさん
2017/06/21(水) 07:48:18.50ID:aInzLc5f 共通のベースに言語乗せてるだけだし、開発なんかほとんどオフショアだろ
265あ
2017/06/21(水) 08:05:49.79ID:iG5W0fvY Kotlin nativeも頑張ってるしな。
結構そっちにも期待。
結構そっちにも期待。
266デフォルトの名無しさん
2017/06/21(水) 10:55:07.74ID:GDsri7KT >>265
同意
同意
267デフォルトの名無しさん
2017/06/22(木) 01:10:45.12ID:77+4f1XL >>265
これが本格的に動き始めたらswiftの存在意義が、、、、、無くなるよね
これが本格的に動き始めたらswiftの存在意義が、、、、、無くなるよね
268デフォルトの名無しさん
2017/06/22(木) 07:18:08.18ID:Ti1xVgu4 ラットナーがjetbrainsに転職するってマジ?
269デフォルトの名無しさん
2017/06/22(木) 09:16:59.96ID:yA4QDZF/ >>267
swiftのが言語仕様は優れてる
swiftのが言語仕様は優れてる
270デフォルトの名無しさん
2017/06/22(木) 09:32:44.22ID:6k72kRRJ Swift on Androidが地味に進んでるからそっちも期待
一定量の完成度が見込めたらKotlinから移行するのも良いかも
一定量の完成度が見込めたらKotlinから移行するのも良いかも
271デフォルトの名無しさん
2017/06/22(木) 11:33:55.45ID:szHtJQ50 >>270
地味に進んでるって、Xamarin Androidのように、SwiftからJavaのAndroid APIを呼び出す仕組みが用意されつつあるの?
それが出来なきゃKotlinの代わりにはならんよ
地味に進んでるって、Xamarin Androidのように、SwiftからJavaのAndroid APIを呼び出す仕組みが用意されつつあるの?
それが出来なきゃKotlinの代わりにはならんよ
272デフォルトの名無しさん
2017/06/22(木) 12:05:57.96ID:E8iNX+8Y kotlin/nativeでndkを使いたい
sdk側とndk側で同じ言語使えたら開発楽だと思う
sdk側とndk側で同じ言語使えたら開発楽だと思う
273デフォルトの名無しさん
2017/06/22(木) 12:16:58.77ID:szHtJQ50 >>272
それ何のためにNdk使うの?
それ何のためにNdk使うの?
274デフォルトの名無しさん
2017/06/22(木) 13:02:54.50ID:6k72kRRJ Kotlin.NativeからObjCが叩けるようになるのが先か
SwiftからJavaが叩けるようになるのが先か
どっちも現実的にはないわな
まぁそれでも言語/フレームワークの開発が絶賛進行中のSwiftの方に夢があるかな
SwiftからJavaが叩けるようになるのが先か
どっちも現実的にはないわな
まぁそれでも言語/フレームワークの開発が絶賛進行中のSwiftの方に夢があるかな
275デフォルトの名無しさん
2017/06/22(木) 13:14:48.12ID:3yY7lcXH >>273
画像加工とかはndkで処理したい
画像加工とかはndkで処理したい
276デフォルトの名無しさん
2017/06/22(木) 14:17:05.90ID:szHtJQ50277デフォルトの名無しさん
2017/06/22(木) 19:32:17.15ID:eBYfVtnR >>276
llvmのコード吐くんじゃないの?
llvmのコード吐くんじゃないの?
278デフォルトの名無しさん
2017/06/22(木) 19:42:12.44ID:wKDRovrw いやJVMは十分速いよ?
C++でもJavaと同じように書いたらパフォーマンスは大差ない
C++が速くなるのは低レベルな汚いハックができるからで、それができないならあまり意味がないということだろ
C++でもJavaと同じように書いたらパフォーマンスは大差ない
C++が速くなるのは低レベルな汚いハックができるからで、それができないならあまり意味がないということだろ
279デフォルトの名無しさん
2017/06/22(木) 19:55:38.89ID:mgpLFN+F >>277
kotlinから変換されたllvmコードは、kotlinの言語仕様を満たすために、
例えばメモリ管理はガベージコレクションが前提となるから
その為の少し大きめなランタイム付いてくるはず
境界チェックのようなc++なら省略できるコードも漏れなく付いてくるはず
kotlinから変換されたllvmコードは、kotlinの言語仕様を満たすために、
例えばメモリ管理はガベージコレクションが前提となるから
その為の少し大きめなランタイム付いてくるはず
境界チェックのようなc++なら省略できるコードも漏れなく付いてくるはず
280デフォルトの名無しさん
2017/06/22(木) 22:21:35.91ID:3yY7lcXH281デフォルトの名無しさん
2017/06/23(金) 09:47:11.55ID:hp7X3mpn それは言語の違いではなくアルゴリズムの違いではなかろうか
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
282デフォルトの名無しさん
2017/06/23(金) 10:01:06.35ID:9PTuVR6v ByteBuffer(もしくはそれと同様の使い方をするプリミティブ配列)がGCの性能に大きな影響を与えるって一体どんな状況?
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
283デフォルトの名無しさん
2017/06/24(土) 03:52:32.49ID:QlqTymbl メモリ管理とかよりさ
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
284デフォルトの名無しさん
2017/06/24(土) 04:16:45.08ID:qquEaJ2M んなこたない。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
285デフォルトの名無しさん
2017/06/24(土) 06:57:58.73ID:bDbRpy30 どっちなのさ!
286デフォルトの名無しさん
2017/06/24(土) 09:27:02.16ID:32e8D3Wy JITコンパイラの性能次第
287デフォルトの名無しさん
2017/06/24(土) 09:54:27.72ID:LXfJ84Bv Dalvik, ARTどころかOracle JVMですらSIMDは扱うよ
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
288デフォルトの名無しさん
2017/06/24(土) 10:51:37.84ID:iOfeax4r ByteBufferのAPI嫌いだな
Javaの過剰設計の伝統ここに極まれりって感じ
Javaの過剰設計の伝統ここに極まれりって感じ
289デフォルトの名無しさん
2017/06/24(土) 15:08:57.88ID:LXfJ84Bv NIOが出た当初も評判良くはなかったよねー, ないと困ることは確かにあるんだけど必要とする人は少ないし
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
290デフォルトの名無しさん
2017/06/26(月) 14:38:34.02ID:Wfn5YHgL ByteBufferはdirectがあるからまぁ必要。
291デフォルトの名無しさん
2017/06/27(火) 08:01:46.32ID:7qLYNCF8 間接的にお世話になってることも知らずに文句言ってるアホばっか。
292デフォルトの名無しさん
2017/06/27(火) 08:19:48.98ID:p7AYCZKI エンジン構造も知らずに車に文句付けてるってくらい論点が異なるよ
使う側であれば別に中身を意識しなくていいんだよ
使う側であれば別に中身を意識しなくていいんだよ
293デフォルトの名無しさん
2017/06/27(火) 08:45:00.53ID:+gpX7LUM >>288とかはエンジンなんて車にいらねーって言ってるんだけどなw
294デフォルトの名無しさん
2017/06/27(火) 12:59:12.87ID:thSLzROj APIに文句言ってるだけじゃね
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
295デフォルトの名無しさん
2017/06/27(火) 14:24:44.78ID:xkXC4vKS 実際問題java apiからkotlinを切り離すのはわりと簡単だったりするの?
google内で独自apiを作ってたりして
google内で独自apiを作ってたりして
296デフォルトの名無しさん
2017/06/27(火) 16:52:29.37ID:rNyRMSOh 余裕やろうな
やる価値があるかは別として
やる価値があるかは別として
297デフォルトの名無しさん
2017/06/27(火) 17:26:00.35ID:JXIPCy9a 技術云々でなく普及のための絡みで難しそうだな
298デフォルトの名無しさん
2017/06/27(火) 19:50:52.50ID:GY2ar0Yu Java APIじゃなくJava Libraryだとするなら、そこを切り離して実用に耐えるにはJava1.4くらいには過剰設計しないと無理じゃね
299デフォルトの名無しさん
2017/06/28(水) 03:27:10.10ID:4SuBLGV6300デフォルトの名無しさん
2017/06/28(水) 03:57:50.54ID:ULDUfAbu GoogleとOracleってまだちょっと揉めてるん?
301デフォルトの名無しさん
2017/06/28(水) 09:52:23.47ID:1HRXLIL1 >>299
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
302デフォルトの名無しさん
2017/06/28(水) 11:09:49.25ID:fPVyfCmw >>301
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
303デフォルトの名無しさん
2017/06/28(水) 11:10:28.02ID:fPVyfCmw と喚き散らしたことのほうがどう考えても筋違いや
Oracleはキチガイ集団
Oracleはキチガイ集団
304デフォルトの名無しさん
2017/06/28(水) 12:55:43.96ID:n0wEK4ez 当時、Sun JVMはクローズドソースでVMの中の人どころか、Java層のAPIも非公開だったろ...
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
305デフォルトの名無しさん
2017/06/28(水) 13:02:32.04ID:WVoz31+g >>304
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
306デフォルトの名無しさん
2017/06/28(水) 13:09:21.41ID:1HRXLIL1 面倒な奴だなぁ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
307デフォルトの名無しさん
2017/06/28(水) 13:45:27.56ID:fPVyfCmw308デフォルトの名無しさん
2017/06/28(水) 16:04:17.62ID:1HRXLIL1 だーかーらー、>>301で言っているだろ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
309デフォルトの名無しさん
2017/06/28(水) 17:10:45.64ID:woJsJzbY 結局フェアユースという落ちが付いたろ。判決はどこまで確定したっけ?
310デフォルトの名無しさん
2017/06/28(水) 17:18:12.30ID:KUDOoNV3 Googleはライセンス料を回避するためDalvikを作った
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 高市「中国さんお願い電話で話そ、このままじゃ武力衝突になっちゃう😭」日中間の専用電話に日本側からかけるも無視される [931948549]
- アメリカ人「トランプは高市に対して黙れと言ったのに彼女は方針を転換していない。日本は5常任理事国からも全く支持を得られていない」 [884040186]
- 【悲報】中国メディア「高市が撤回して済む話ではなくなった。わざと戦闘機をレーダー照射距離に来させる戦争扇動者だ」 [359965264]
- 【物理学】時速300kmの弾丸を撃たれても時速300kmで走って逃げれば相殺されて無傷なの?
- 中国、1年半で航空自衛隊の全戦力に匹敵する戦力を追加配備している模様...高市完敗確定 [237216734]
