JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
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呼べるようにして欲しいなーって冗談半分で言ったら噛み付かれた
418デフォルトの名無しさん
2017/07/11(火) 12:19:57.03ID:UunU8BlR プログラマの勉強しようとおもってますが、これはジャバとなにがちがいますか?
大差ないようであればこれを勉強しようおおもいます
大差ないようであればこれを勉強しようおおもいます
419デフォルトの名無しさん
2017/07/11(火) 12:23:20.73ID:qIknPoW2 >>418
Javaとの大きな違いは、Javaを完全に理解してる人向けで初心者向けの情報がほぼゼロという点
Javaとの大きな違いは、Javaを完全に理解してる人向けで初心者向けの情報がほぼゼロという点
420デフォルトの名無しさん
2017/07/11(火) 12:38:05.79ID:TEHQIMDt ObjCというマイナーで黴の生えた言語がiOS開発入門の障害になっていたところに現れたSwiftとは違い、
Javaは開発者ならはっきり言ってできて当然なので今後も初心者向けの情報の充実は望めない
Javaは開発者ならはっきり言ってできて当然なので今後も初心者向けの情報の充実は望めない
421デフォルトの名無しさん
2017/07/11(火) 12:44:27.43ID:nZ299llH Android入門は今後kotlinベースになるだろ。
422デフォルトの名無しさん
2017/07/11(火) 13:43:49.66ID:6GA6X5kA それ頼む。javaのライブラリに依存すると言ってもandroid似関係するのはごく一部でしょう?
フルセットのjavaを学ぶ必要ないよね
フルセットのjavaを学ぶ必要ないよね
423デフォルトの名無しさん
2017/07/11(火) 14:41:08.33ID:poL23Q4e >>418
Kotlinは話題になってはいるが「Java言語を使いこなしている人がその知識を使うと楽に書ける」ので好評を得ている
Java言語を全く知らないのであればKotlinはむしろ二重三重の習得障壁があるので勧められない
なにするかもぜんぜんわからないし現実世界で聞ける師匠もいないというのならJavaでいいんじゃないかな
JavaなしでのKotlin学習術というのは数年したら出てくるとは思うがそれはKotlin本体の充実も待たねばならんのでしんどい
Kotlinは話題になってはいるが「Java言語を使いこなしている人がその知識を使うと楽に書ける」ので好評を得ている
Java言語を全く知らないのであればKotlinはむしろ二重三重の習得障壁があるので勧められない
なにするかもぜんぜんわからないし現実世界で聞ける師匠もいないというのならJavaでいいんじゃないかな
JavaなしでのKotlin学習術というのは数年したら出てくるとは思うがそれはKotlin本体の充実も待たねばならんのでしんどい
424デフォルトの名無しさん
2017/07/11(火) 15:36:02.36ID:HBLQ2eVf >>417
随分トーンダウンしたなw
>Kotlin/NativeのNative I/FはC++に対応してないようだし
>後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
↓
>頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言った
そもそもKotlin(JNI)との互換性の話にC++は関係無いだろう
JNIでもエクスポートする部分はextern "C"なんだから
随分トーンダウンしたなw
>Kotlin/NativeのNative I/FはC++に対応してないようだし
>後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
↓
>頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言った
そもそもKotlin(JNI)との互換性の話にC++は関係無いだろう
JNIでもエクスポートする部分はextern "C"なんだから
425デフォルトの名無しさん
2017/07/11(火) 17:16:47.08ID:U4fTHQuQ おう、そうだなw
それでKotlin/NativeのIFの話はどうした?論点ズレてんよ
それでKotlin/NativeのIFの話はどうした?論点ズレてんよ
426デフォルトの名無しさん
2017/07/11(火) 18:38:24.21ID:HBLQ2eVf427デフォルトの名無しさん
2017/07/11(火) 21:08:20.35ID:k/zCsCNx 僕Javaはちょっとしか使ったことないLisperだけど、Kotlinサクッと学んでAndroid開発してるよ? 難しくないよ?
428デフォルトの名無しさん
2017/07/11(火) 21:13:00.00ID:xWYiv0j+ LISPerが書くコードとか他人が読めなそうやな
429デフォルトの名無しさん
2017/07/11(火) 23:22:21.14ID:rvrzGERi430デフォルトの名無しさん
2017/07/11(火) 23:23:35.24ID:rvrzGERi swift、typescriptと触ってoptionalが無い言語は正直触りたくなくなっとる。
431デフォルトの名無しさん
2017/07/12(水) 06:26:01.18ID:HQm2gXhD >>418
Kotlin = Java + Groovy
Javaのオブジェクト指向に、Groovyの関数型を付けたもの。
クロージャを多用する
まずこの本で、Javaとオブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、
プログラミング GROOVY、2011
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
Kotlin = Java + Groovy
Javaのオブジェクト指向に、Groovyの関数型を付けたもの。
クロージャを多用する
まずこの本で、Javaとオブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、
プログラミング GROOVY、2011
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
432デフォルトの名無しさん
2017/07/12(水) 06:44:11.99ID:Tu2UL3Q1 KotlinはGroovyはあんまり関係ないだろ
機能的にはC#をリスペクトしていて、文法はScalaを簡略化したもの
機能的にはC#をリスペクトしていて、文法はScalaを簡略化したもの
433デフォルトの名無しさん
2017/07/12(水) 08:03:32.77ID:LUkpq5Wd >>432
さわっちゃだめよ
さわっちゃだめよ
434デフォルトの名無しさん
2017/07/12(水) 08:14:26.72ID:Tu2UL3Q1 C#の思想でScalaを再設計した感じだな
435デフォルトの名無しさん
2017/07/13(木) 00:38:10.55ID:uHqOeG/1 メソッドの最後の引数にクロージャを書いて、
そのクロージャの中のメソッド呼び出しの最後の引数にクロージャを書いて・・・
って感じの記法でDSLを作れるのが ruby から groovy 経由で kotlin に引き継がれた特徴かね?
gradle の build.gradle みたいな奴ね
これを引き継いでる関係で build.gradle を kotlin で書けるのがもう実装されてる
Androidのレイアウトを kotlin のこの DSL 記法で書けたりもするね
そのクロージャの中のメソッド呼び出しの最後の引数にクロージャを書いて・・・
って感じの記法でDSLを作れるのが ruby から groovy 経由で kotlin に引き継がれた特徴かね?
gradle の build.gradle みたいな奴ね
これを引き継いでる関係で build.gradle を kotlin で書けるのがもう実装されてる
Androidのレイアウトを kotlin のこの DSL 記法で書けたりもするね
436デフォルトの名無しさん
2017/07/13(木) 01:28:56.84ID:JW4C8wb9 >>435
その辺はほぼScalaだよ
その辺はほぼScalaだよ
437デフォルトの名無しさん
2017/07/13(木) 10:30:47.12ID:9URTCQsI 最近の言語はどれもよく似てるだろ
Swiftにも似てると思ったし
Swiftにも似てると思ったし
438デフォルトの名無しさん
2017/07/13(木) 10:37:01.80ID:FzpRErWm >>436
そりゃあscalaは何でもてんこ盛りだから同じことできるだろうけど、
公式がGroovy-styleって言ってるんだよね
Type-Safe Groovy-Style Builders
https://kotlinlang.org/docs/reference/type-safe-builders.html
そりゃあscalaは何でもてんこ盛りだから同じことできるだろうけど、
公式がGroovy-styleって言ってるんだよね
Type-Safe Groovy-Style Builders
https://kotlinlang.org/docs/reference/type-safe-builders.html
439デフォルトの名無しさん
2017/07/14(金) 05:04:39.07ID:SOKcdYDj >>437
Swiftより古い言語なんだよなぁ…
Swiftより古い言語なんだよなぁ…
440デフォルトの名無しさん
2017/07/14(金) 09:50:43.08ID:tqlcOT7v >>426
> そもそもKotlin(JNI)との互換性の話にC++は関係無い
KotlinとKotlin/NativeでNative I/Fを変えるなら、Kotlin/NativeでC++ APIをシームレスに使いたい、けど実現しないだろうねー
って笑い話をしてるのに、JNIEnvがーとか、JNIやったことないだろーとか関係ないこと言い出した子に言われても・・・
素直に、clangに依存するrustと違って、kotlin/nativeは特定C/C++コンパイラに依存しない選択をしたんだ、で良いだろうに
SwiftがKotlinのOptionalをパクったって、それ一番言われてるから
ここ10年の新興言語はお互いにパクリあってるからもう何が大元か分からなくなってるよね
> そもそもKotlin(JNI)との互換性の話にC++は関係無い
KotlinとKotlin/NativeでNative I/Fを変えるなら、Kotlin/NativeでC++ APIをシームレスに使いたい、けど実現しないだろうねー
って笑い話をしてるのに、JNIEnvがーとか、JNIやったことないだろーとか関係ないこと言い出した子に言われても・・・
素直に、clangに依存するrustと違って、kotlin/nativeは特定C/C++コンパイラに依存しない選択をしたんだ、で良いだろうに
SwiftがKotlinのOptionalをパクったって、それ一番言われてるから
ここ10年の新興言語はお互いにパクリあってるからもう何が大元か分からなくなってるよね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- なぜ人間は架空の人物に感情移入するのか
- 【愛国者速報】山上徹也、金に困りTwitterのお金配り垢に応募していた。犯行もお金があったら暫くやらなかったと供述 [856698234]
- 年々クリスマス感が無くなってる
- 【速報】高市早苗、起床 [779938112]
- ひま
