JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
318デフォルトの名無しさん
2017/06/29(木) 11:02:50.69ID:7tq2Nu14 Kotlinでヌルポ起きないってギャグにしては古すぎる・・・
319デフォルトの名無しさん
2017/06/29(木) 11:39:09.06ID:FObp9uyg オプショナルを正しく使ってればヌルポなんて起きようがないんだがw
320デフォルトの名無しさん
2017/06/29(木) 11:40:38.32ID:pdm0wtJX ニュアンスとか前提の差で話が噛み合ってない気が
321デフォルトの名無しさん
2017/06/29(木) 11:47:39.86ID:JFxFowh1 ぬるぽは既存のライブラリやフレームワークから飛んでくるからKotlinを使ったところで解決にならないんだよなあ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
322デフォルトの名無しさん
2017/06/29(木) 12:00:09.83ID:pdm0wtJX テストあるからJava1.4でもClassCastExceptionは滅多に出さない的な
323デフォルトの名無しさん
2017/06/29(木) 12:22:12.95ID:7tq2Nu14 プリベリファイ要求してたMobileのJava1.3は偉大だったんだなって
324デフォルトの名無しさん
2017/06/29(木) 12:28:25.79ID:JFxFowh1 >>322
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
325デフォルトの名無しさん
2017/06/29(木) 13:21:35.51ID:FObp9uyg >>321
んなことは言わなくても全員わかっとる
んなことは言わなくても全員わかっとる
326デフォルトの名無しさん
2017/06/29(木) 14:39:25.51ID:JUVsJKjr そもそもテストを書けばぬるぽの9割は生まれる前から死ぬ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
327デフォルトの名無しさん
2017/06/29(木) 15:15:09.10ID:Xwk4Fgx6 Javaのライブラリにおいて引数に配列上限値が渡されそれが不正値であるときに発生する例外は何か? →たいていあれいいんでっくすあうとばうんど
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
328デフォルトの名無しさん
2017/06/29(木) 15:20:20.01ID:W0uOcXiB なんだこいつw
329デフォルトの名無しさん
2017/06/29(木) 19:47:56.73ID:zX+YoTjc330デフォルトの名無しさん
2017/06/29(木) 20:58:35.28ID:UEgl5Zip Sunが死んだ
太陽が死んだ
太陽が死んだ
331デフォルトの名無しさん
2017/06/29(木) 21:19:35.80ID:cCrWWcTS 日本語で書かれた Kotlin に関するいい感じのチュートリアルってない?
332デフォルトの名無しさん
2017/06/29(木) 21:34:38.83ID:pdm0wtJX 書いて覚えろ
333デフォルトの名無しさん
2017/06/30(金) 00:28:01.26ID:56/qVjC+ >>331
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
334デフォルトの名無しさん
2017/06/30(金) 01:58:55.10ID:q+HYO1HC チュートリアルならKotlin Koansやるのが一番じゃない?
Webでも手軽に出来るしIDEAにも専用のプラグインがある
Webでも手軽に出来るしIDEAにも専用のプラグインがある
335デフォルトの名無しさん
2017/06/30(金) 10:50:35.57ID:TsXJhClE あれいいんでっくすあうとばうんどは、0除算並みの恥ずかしいミス。
nullpoとは次元が違うわw
nullpoとは次元が違うわw
336デフォルトの名無しさん
2017/06/30(金) 11:53:55.60ID:0zGLF76x >>334
webのやつってなんか重くないですか?
webのやつってなんか重くないですか?
337デフォルトの名無しさん
2017/06/30(金) 13:36:42.47ID:tesV9X+3 そんなんローカルに持ってきてやればよろしいがな
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
338331
2017/06/30(金) 13:58:27.40ID:svEzz20W339デフォルトの名無しさん
2017/06/30(金) 14:35:57.92ID:5/+9iJSz 自分用でなく他の人用という話だったら
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
340デフォルトの名無しさん
2017/06/30(金) 14:52:56.61ID:tesV9X+3 >>331
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
341デフォルトの名無しさん
2017/06/30(金) 15:08:07.12ID:svEzz20W >>340
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
342デフォルトの名無しさん
2017/06/30(金) 15:20:46.15ID:5/+9iJSz 何に困ってるのか分からない
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
343デフォルトの名無しさん
2017/06/30(金) 15:38:15.91ID:O4IQOzV/ googleのやるべきことはFWを全てkotlinに書き換えることやな
344デフォルトの名無しさん
2017/06/30(金) 16:02:16.24ID:2Da2vksV 英語読めない奴がLISPとかすげえな
やってて死にたくならない?
やってて死にたくならない?
345デフォルトの名無しさん
2017/06/30(金) 16:17:39.99ID:O4IQOzV/ >>341
つhaskel
つhaskel
346デフォルトの名無しさん
2017/06/30(金) 16:43:11.20ID:svEzz20W347デフォルトの名無しさん
2017/06/30(金) 17:11:37.52ID:0PkxBZJ1 >>335
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
348デフォルトの名無しさん
2017/06/30(金) 17:59:28.75ID:2uOE1xo7 Javaがクソなのと、クソの処理をしないプログラマがマヌケなのは別の話。一緒にすんな。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
349デフォルトの名無しさん
2017/06/30(金) 18:12:49.54ID:0PkxBZJ1 そのクソの処理をしないプログラマでも安全にコーディングさせるためにオプショナルがあるんだよ...
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
350デフォルトの名無しさん
2017/06/30(金) 21:30:17.46ID:2uOE1xo7 >>349
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
351デフォルトの名無しさん
2017/07/01(土) 06:09:20.91ID:v+Q0wrxJ 全く噛み合ってなくてワロタ
どんだけ崇拝してるんだかwww
どんだけ崇拝してるんだかwww
352デフォルトの名無しさん
2017/07/01(土) 12:59:00.78ID:qNm5JQD+ C++でヌルポが起きないってマジ?w
353デフォルトの名無しさん
2017/07/01(土) 15:33:59.29ID:v+Q0wrxJ Rustだとガチでヌルポが起こせないゾ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
354デフォルトの名無しさん
2017/07/01(土) 15:53:26.04ID:KyLBHjPn トレイリングクロージャ無いと死ぬマン
355デフォルトの名無しさん
2017/07/01(土) 20:36:50.31ID:M8KylmXN ここまで、lazy 初期化の話が出ないw
356デフォルトの名無しさん
2017/07/01(土) 21:29:59.25ID:SoXb9Q80 ヌル安全つうのはモダンな言語じゃ標準装備なんじゃろ?
357デフォルトの名無しさん
2017/07/02(日) 13:51:47.79ID:RlGcb3P/ >>338
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
358デフォルトの名無しさん
2017/07/02(日) 23:49:50.72ID:ynDhLM7Z Java + Groovy = Kotlin
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
359デフォルトの名無しさん
2017/07/03(月) 00:00:56.60ID:MkRtof65 ここまで出張して来たか、、、
360デフォルトの名無しさん
2017/07/03(月) 00:27:08.93ID://L4zw1o sageじゃない時点でスルーでいいよ
361デフォルトの名無しさん
2017/07/03(月) 00:37:26.98ID:MkRtof65 NGワード:スッキリわかる
362デフォルトの名無しさん
2017/07/03(月) 06:33:05.51ID:4ljd5V+p Kotlin.NativeよりSwiftのが使えるって本当?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
363デフォルトの名無しさん
2017/07/03(月) 08:38:14.08ID:mDI6RaMX swiftって仕様安定したの?
364デフォルトの名無しさん
2017/07/03(月) 09:06:19.84ID:8rVktY+j おおよそ
365デフォルトの名無しさん
2017/07/03(月) 09:13:44.93ID:4ljd5V+p Kotlin/NativeのCとの連携ってJNIを踏襲するんじゃなくて、現在進行形で独自I/F仕様を作ってるっぽいな
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
366デフォルトの名無しさん
2017/07/03(月) 12:50:39.71ID:v2mMhpE7 いまさらJNIはないだろ。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
367デフォルトの名無しさん
2017/07/03(月) 15:28:28.68ID:BBsEUtpT なおさら踏襲しとけよと思わなくもないな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
368デフォルトの名無しさん
2017/07/03(月) 18:16:02.56ID:tIUw+Kxj JNI踏襲とか無いわ
そうしたいなら普通にJava使っとけば良いと思う
そうしたいなら普通にJava使っとけば良いと思う
369デフォルトの名無しさん
2017/07/04(火) 09:13:03.70ID:ETZVte8W KotlinがJNIを踏襲していることは知らないのか、知ってて度外視なのか
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
370デフォルトの名無しさん
2017/07/04(火) 15:17:21.36ID:FOvT7Dr6 Kotlin/Javaが使うのは何でもないこと。
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
371デフォルトの名無しさん
2017/07/04(火) 16:48:31.76ID:E7VHi3Qh JNIのI/F踏襲して
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
372デフォルトの名無しさん
2017/07/04(火) 18:27:25.69ID:kEoD/tXz >Cに繋げればいい
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
373デフォルトの名無しさん
2017/07/04(火) 19:45:38.53ID:E7VHi3Qh I/Fとランタイムの区別が出来てない
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
374デフォルトの名無しさん
2017/07/04(火) 19:58:52.39ID:G1Se2kAk javaに触らずにkotlinだけでandroid開発できるようになんないかな
375デフォルトの名無しさん
2017/07/04(火) 19:59:34.67ID:bn9cQclE なればいいね
376デフォルトの名無しさん
2017/07/04(火) 20:44:06.85ID:kEoD/tXz377デフォルトの名無しさん
2017/07/04(火) 22:22:00.36ID:A9sYzzwp >>374
5年後にバージョン3とかになればなんとか…
5年後にバージョン3とかになればなんとか…
378デフォルトの名無しさん
2017/07/05(水) 11:03:55.64ID:BRC1acOi スマホアプリの言語ぐらい統一して欲しい
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
379デフォルトの名無しさん
2017/07/05(水) 11:08:55.38ID:PFivIsqu >>378
統一したいならC#
統一したいならC#
380デフォルトの名無しさん
2017/07/05(水) 12:07:39.48ID:Ejf+K2GI Appleの昔から自分たちのプラットフォームにユーザーを囲いこんで、他のプラットフォームからの鎖国という考え方
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
381デフォルトの名無しさん
2017/07/05(水) 12:09:06.92ID:NUQ3PgkL382デフォルトの名無しさん
2017/07/05(水) 12:46:52.77ID:BRC1acOi 開発者として開発環境を統一できるメリットがあるだろうが
383デフォルトの名無しさん
2017/07/05(水) 12:51:04.90ID:XfevCCY3 >>382
開発側からすればwebフロントエンド系のように開発者余りまくりで単価デフレになるデメリットしかない
開発側からすればwebフロントエンド系のように開発者余りまくりで単価デフレになるデメリットしかない
384デフォルトの名無しさん
2017/07/05(水) 14:04:19.57ID:KnxHgcda >>378
ブラウザですら自分の思い通りに開発できないからってwebkitからblinkフォークさせたのに
ブラウザですら自分の思い通りに開発できないからってwebkitからblinkフォークさせたのに
385デフォルトの名無しさん
2017/07/05(水) 16:01:58.60ID:+yhqIzpS >>382
androidとiPhoneでフレームワークが違うから無理。
androidとiPhoneでフレームワークが違うから無理。
386デフォルトの名無しさん
2017/07/05(水) 16:10:10.15ID:KD2VFbty >>378
react native とtypescriptに期待してる。
typescriptならサーバサイドにも耐えそう。言語仕様もパターンマッチング提案中だったり、
結構格好いい言語になってきた
react native とtypescriptに期待してる。
typescriptならサーバサイドにも耐えそう。言語仕様もパターンマッチング提案中だったり、
結構格好いい言語になってきた
387デフォルトの名無しさん
2017/07/05(水) 16:35:02.36ID:dBZFHwYj388デフォルトの名無しさん
2017/07/05(水) 16:42:58.42ID:ajye3GRU >>383
金の話はまた次元の違う話かと思われる
金の話はまた次元の違う話かと思われる
389デフォルトの名無しさん
2017/07/05(水) 17:00:43.66ID:XfevCCY3390デフォルトの名無しさん
2017/07/05(水) 18:58:19.44ID:nAxrn5ol >>378
GoogleはAndroid開発環境を複数OS向けに出している
iOSアプリの公式開発環境がMac用しかないのはAppleが狭量なだけだし、Googleは無関係
話し合いで進展する問題ではない
GoogleはAndroid開発環境を複数OS向けに出している
iOSアプリの公式開発環境がMac用しかないのはAppleが狭量なだけだし、Googleは無関係
話し合いで進展する問題ではない
391デフォルトの名無しさん
2017/07/05(水) 18:59:51.81ID:XfevCCY3 これはアスペ
392デフォルトの名無しさん
2017/07/05(水) 19:12:52.25ID:nAxrn5ol 仮にAppleがiOSの開発環境をWindows向けに出すとして、iOSエミュレータはついてくんのか?っていう
Androidのような大真面目なエミュレータではなく、iOSはMac上でも「シミュレータ」しか動かん
それがWindows上で動かせるようになるとはあまり思わない
Androidのような大真面目なエミュレータではなく、iOSはMac上でも「シミュレータ」しか動かん
それがWindows上で動かせるようになるとはあまり思わない
393デフォルトの名無しさん
2017/07/05(水) 21:24:57.18ID:+yhqIzpS 技術の問題じゃなくて政治の問題だろ。
394デフォルトの名無しさん
2017/07/06(木) 07:36:12.02ID:iYgfgx2U >>376
JNIEnvが必須とか言い出すからIFじゃなくRuntimeの話を交え始めたと理解したが?
RustがclangでC/C++本体のコンパイルが必要だからNGなら
Kotlin/Nativeがclang等々でC本体のコンパイルを必要とするのもNGになっちまうだろw
他言語を他コンパイラでコンパイルするのは当然で、C++に限ってはその上でKotlin/Nativeが頑張るんだよ
JNIEnvが必須とか言い出すからIFじゃなくRuntimeの話を交え始めたと理解したが?
RustがclangでC/C++本体のコンパイルが必要だからNGなら
Kotlin/Nativeがclang等々でC本体のコンパイルを必要とするのもNGになっちまうだろw
他言語を他コンパイラでコンパイルするのは当然で、C++に限ってはその上でKotlin/Nativeが頑張るんだよ
395デフォルトの名無しさん
2017/07/06(木) 09:16:31.44ID:Xn+el2UL どうでもいいけど擬人化ことりんちゃんまだかよ
無能ども
無能ども
396デフォルトの名無しさん
2017/07/06(木) 13:03:11.11ID:A60SyEEL >>394
>IFじゃなくRuntimeの話
Javaからnativeを使う方のJNIは以下から成り、JNIEnvはJNI仕様の中核
・CのABI
・シンボル名と引数のルール
※ Java_パッケージ_クラス_メソッド(JNIEnv*, thisインスタンス, java側引数)
・プリミティブ型の定義
・JNIEnv(JNI関数群)のインターフェイス仕様
>clang等々
特定のコンパイラ/バージョン依存なのと, CのABI依存なのはまったく異なる
Kotlin/Nativeのinterop, JavaのJNI, C#のP/Invoke, RustのFFIなどはABIで連携するけど
bindgenはI/FでなくC++コード全体を取り込む外部ツール
Clangの実装に強く依存するからRustの仕様の一部として取り込まれることも無いだろう
誰かがKotlin版bindgenを作ろうとすることに特に反対は無いけどすべきとも思わない
Kotlin/NativeでJNIのI/Fを使う話も労力に見合うものは得られない
>IFじゃなくRuntimeの話
Javaからnativeを使う方のJNIは以下から成り、JNIEnvはJNI仕様の中核
・CのABI
・シンボル名と引数のルール
※ Java_パッケージ_クラス_メソッド(JNIEnv*, thisインスタンス, java側引数)
・プリミティブ型の定義
・JNIEnv(JNI関数群)のインターフェイス仕様
>clang等々
特定のコンパイラ/バージョン依存なのと, CのABI依存なのはまったく異なる
Kotlin/Nativeのinterop, JavaのJNI, C#のP/Invoke, RustのFFIなどはABIで連携するけど
bindgenはI/FでなくC++コード全体を取り込む外部ツール
Clangの実装に強く依存するからRustの仕様の一部として取り込まれることも無いだろう
誰かがKotlin版bindgenを作ろうとすることに特に反対は無いけどすべきとも思わない
Kotlin/NativeでJNIのI/Fを使う話も労力に見合うものは得られない
397デフォルトの名無しさん
2017/07/06(木) 13:14:33.18ID:A60SyEEL >>394
追記
そもそも根本的な話としてCのABIと呼んでいるもの(↓と同義)が何か分かってる?
https://github.com/JetBrains/kotlin-native/blob/v0.1.0/INTEROP.md
>target is a C library
https://doc.rust-lang.org/book/first-edition/ffi.html
>C ABI
バイナリ内のシンボル名や呼出規約であって別にコード自体がC言語である必要は無い
C++(extern "C"), Rust, Haskellなどネイティブにビルド出来るものは
C ABIでのライブラリを作成する機能を持つものは多い
Cに無い機能(C++例外など)をそのまま透過出来ないというだけで、
C++やRustで作った共有ライブラリをKotlin/Nativeから呼べる
追記
そもそも根本的な話としてCのABIと呼んでいるもの(↓と同義)が何か分かってる?
https://github.com/JetBrains/kotlin-native/blob/v0.1.0/INTEROP.md
>target is a C library
https://doc.rust-lang.org/book/first-edition/ffi.html
>C ABI
バイナリ内のシンボル名や呼出規約であって別にコード自体がC言語である必要は無い
C++(extern "C"), Rust, Haskellなどネイティブにビルド出来るものは
C ABIでのライブラリを作成する機能を持つものは多い
Cに無い機能(C++例外など)をそのまま透過出来ないというだけで、
C++やRustで作った共有ライブラリをKotlin/Nativeから呼べる
398デフォルトの名無しさん
2017/07/06(木) 17:54:27.44ID:j+3WJv+Z なんでandroidのために新しい言語覚えなきゃいけないねん
399デフォルトの名無しさん
2017/07/06(木) 18:08:30.77ID:vSzC4r/y 別にいいんじゃない?android使わなくても。
400デフォルトの名無しさん
2017/07/06(木) 19:00:34.42ID:/cQIX5Le 汎用言語が Android では使えないというのは制約だろう。
401デフォルトの名無しさん
2017/07/06(木) 20:22:03.24ID:736nPsTD 不満はあってもJavaよりはずっと良い
402デフォルトの名無しさん
2017/07/06(木) 23:28:02.58ID:L8j5rxy6 呼出規約には、2種類ある
呼び出した方で、引数のスタック領域の確保・解放をするものと、
呼び出された方で、するもの
呼び出した方で、引数のスタック領域の確保・解放をするものと、
呼び出された方で、するもの
403デフォルトの名無しさん
2017/07/06(木) 23:43:32.25ID:X1Wsv7xS さらには引数を後ろからスタックに積むもの、前から積むものもってのもある。
404デフォルトの名無しさん
2017/07/08(土) 16:04:44.48ID:bEWoCU65 萌えキャラKotlinたんの誕生まだ?
405デフォルトの名無しさん
2017/07/08(土) 17:26:45.29ID:69drE4+r >>396
なんか長々書いてるけど、結局新規のIF, 文法切っても現仕様はSwift同程度なんだよね
中身がどうあろうがいいけどショボい機能しか載せられないなら、Kotlinの上っ面IFだけはKotlinとKotlin/Nativeで共通化して欲しかったって話だよ
まぁ絶賛開発中の言語仕様だし期待しないで気長に待つわ
なんか長々書いてるけど、結局新規のIF, 文法切っても現仕様はSwift同程度なんだよね
中身がどうあろうがいいけどショボい機能しか載せられないなら、Kotlinの上っ面IFだけはKotlinとKotlin/Nativeで共通化して欲しかったって話だよ
まぁ絶賛開発中の言語仕様だし期待しないで気長に待つわ
406デフォルトの名無しさん
2017/07/08(土) 19:34:40.80ID:dvBryjqP しょっぱいだのショボいだのディスるのは簡単だが
浅い知識と考えでそれを言うのは恥ずかしいことだと少しは自覚しろよ・・・
浅い知識と考えでそれを言うのは恥ずかしいことだと少しは自覚しろよ・・・
407デフォルトの名無しさん
2017/07/09(日) 10:04:20.42ID:0uIBGQaT >>398
Kotlinは簡単な言語だからいいでしょ
Kotlinは簡単な言語だからいいでしょ
408デフォルトの名無しさん
2017/07/09(日) 12:16:36.95ID:1xYpz64I 構文糖衣が多くてperlみたいな雰囲気を感じないでもない
409デフォルトの名無しさん
2017/07/09(日) 12:55:49.42ID:GAM/5uII await使えるようになるだけで移行したいわ
410デフォルトの名無しさん
2017/07/09(日) 14:03:09.85ID:5jNmidbV xamalin使えばいいじゃん
411デフォルトの名無しさん
2017/07/09(日) 22:15:33.42ID:x/k/RP/C >>408
>構文糖衣が多くてperlみたいな雰囲気を感じないでもない
カッコとかなしでむき出しで書かれる A keyword B みたいな構文はどうにも慣れないね
A.method(B)やfunction(A,B)と同じはずなんだが、空白という文字で区切られていると脳が一瞬括りを拒否する
>構文糖衣が多くてperlみたいな雰囲気を感じないでもない
カッコとかなしでむき出しで書かれる A keyword B みたいな構文はどうにも慣れないね
A.method(B)やfunction(A,B)と同じはずなんだが、空白という文字で区切られていると脳が一瞬括りを拒否する
412デフォルトの名無しさん
2017/07/10(月) 13:10:30.69ID:Y8I/wQdo413デフォルトの名無しさん
2017/07/10(月) 13:34:33.04ID:gqDySAuG414デフォルトの名無しさん
2017/07/10(月) 23:27:47.39ID:LuuY8Q0f >>412
C層を気にしてないんじゃなく知らないだけだろ
だから「わざわざ大変な新規IF」なんて的外れなレスをすることになる
JNIライブラリを書いたことすら無さそうだし
良案と思っているものがあれば↓で提案してみたらどうだ?
https://discuss.kotlinlang.org/
鼻であしらわれるのがオチだが
C層を気にしてないんじゃなく知らないだけだろ
だから「わざわざ大変な新規IF」なんて的外れなレスをすることになる
JNIライブラリを書いたことすら無さそうだし
良案と思っているものがあれば↓で提案してみたらどうだ?
https://discuss.kotlinlang.org/
鼻であしらわれるのがオチだが
415デフォルトの名無しさん
2017/07/11(火) 02:41:16.53ID:HQt0YaW2 言語なんて色々あるんだから自分の好きなの選んだらええんやで
Androidに正式採用されてから一気に書き込み増えたな
Androidに正式採用されてから一気に書き込み増えたな
416デフォルトの名無しさん
2017/07/11(火) 03:44:11.61ID:LaLOr5GK >>414
別にKotlinがそこまで好きなわけじゃないし、ここでKotlin/Nativeの喜劇を鼻で笑ってた方が楽だし・・・
業務でJNIを書いてたのは15年くらい前の1.3の頃だねぇ、あの頃はJNIはC++が使えなくてラッパー層の実装も面倒だった
いつからか知らんけど、JNIEnvにC++ APIが追加されててC層の実装が楽になってて数年前にビビったわ
・・・と老害なレスしとけば、論点ズラして技術論から離れた場外乱闘になって俺が飽きれるだろ
別にKotlinがそこまで好きなわけじゃないし、ここでKotlin/Nativeの喜劇を鼻で笑ってた方が楽だし・・・
業務でJNIを書いてたのは15年くらい前の1.3の頃だねぇ、あの頃はJNIはC++が使えなくてラッパー層の実装も面倒だった
いつからか知らんけど、JNIEnvにC++ APIが追加されててC層の実装が楽になってて数年前にビビったわ
・・・と老害なレスしとけば、論点ズラして技術論から離れた場外乱闘になって俺が飽きれるだろ
417デフォルトの名無しさん
2017/07/11(火) 11:50:37.31ID:HY0nK+zE >>413
Kotlin
--
external fun sayHello();
System.loadLibrary("hello")
sayHello() // C API呼び出し
Kotlin/Native
--
import kotlinx.cinterop.*
sayHello() // C API呼び出し
// 別途、defファイル, gradleファイルを用意
Kotlin/Nativeはexternal funを宣言しないでシームレスにC APIを利用させるために、KotlinからIF構成を変えてる
external funの宣言がなくなった分だけKotlin層の記述は楽になったけど
代わりにdef, gradleが必要で、Kotlinと互換性なくて、C++ APIは呼べないという制限がある
そこまで変えるなら、頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言ったら噛み付かれた
Kotlin
--
external fun sayHello();
System.loadLibrary("hello")
sayHello() // C API呼び出し
Kotlin/Native
--
import kotlinx.cinterop.*
sayHello() // C API呼び出し
// 別途、defファイル, gradleファイルを用意
Kotlin/Nativeはexternal funを宣言しないでシームレスにC APIを利用させるために、KotlinからIF構成を変えてる
external funの宣言がなくなった分だけKotlin層の記述は楽になったけど
代わりにdef, gradleが必要で、Kotlinと互換性なくて、C++ APIは呼べないという制限がある
そこまで変えるなら、頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言ったら噛み付かれた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★2 [蚤の市★]
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★4 [597533159]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 元統合幕僚長「演習通告の音声は公開されたが、レーダー照射時のものではない」高市政府「www」 [834922174]
- 【急募】佐藤健(37)さんが急にバカにされ始めた理由WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
