JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
382デフォルトの名無しさん
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年の新興言語はお互いにパクリあってるからもう何が大元か分からなくなってるよね
441デフォルトの名無しさん
2017/07/14(金) 11:53:31.95ID:JnCMaGHk442デフォルトの名無しさん
2017/07/14(金) 11:59:48.94ID:JnCMaGHk443デフォルトの名無しさん
2017/07/14(金) 20:37:24.56ID:F62iti5K444デフォルトの名無しさん
2017/07/15(土) 08:38:17.95ID:HFaGoOZi 最後まで技術的な話が出来ない奴だったな
>>396-397で説明したのに「C++(ソースレベル)」と「CのABI」が
並べて書けるものでないことも理解されなかったようだし
まぁ取り下げたならそれでいい
>>396-397で説明したのに「C++(ソースレベル)」と「CのABI」が
並べて書けるものでないことも理解されなかったようだし
まぁ取り下げたならそれでいい
445デフォルトの名無しさん
2017/07/15(土) 13:44:47.75ID:KAmmMYRz446デフォルトの名無しさん
2017/07/15(土) 23:24:57.48ID:5uf8kOgL 第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
確か、Groovy, Gradle も同じだったか
関数(引数, { it })
関数(引数){ it }
確か、Groovy, Gradle も同じだったか
447デフォルトの名無しさん
2017/07/16(日) 00:40:29.56ID:mqalEvhx クロージャ以外の実引数を省略して
関数 { it } とかも書けるよね
まあたしかscalaも同じことができるんだが
ruby、groovy では特に好んでこの形式を使ってDSLを作ったり
文法の拡張的な感じに使う
kotlin ではこれをさらに効率的に使い倒すために
上記のように使う関数の定義に inline という指定ができる
https://kotlinlang.org/docs/reference/inline-functions.html
引数にクロージャをとるけど、
実際にはクロージャを使わない形にインライン展開される
関数 { it } とかも書けるよね
まあたしかscalaも同じことができるんだが
ruby、groovy では特に好んでこの形式を使ってDSLを作ったり
文法の拡張的な感じに使う
kotlin ではこれをさらに効率的に使い倒すために
上記のように使う関数の定義に inline という指定ができる
https://kotlinlang.org/docs/reference/inline-functions.html
引数にクロージャをとるけど、
実際にはクロージャを使わない形にインライン展開される
448デフォルトの名無しさん
2017/07/16(日) 06:49:43.02ID:ZSYh3+ww あとはコンパイル時処理があるといいな
449デフォルトの名無しさん
2017/07/18(火) 08:52:46.31ID:Ttzd9ReG Java8でもlamda構文はコンパイル時にインライン展開されるよ
450デフォルトの名無しさん
2017/07/23(日) 20:14:23.56ID:5U3qvpGz 一瞬不相応に盛り上がったけど「将来性は高いが現時点ではJava利用者向けのベターJavaである」ということが周知されて落ち着いたな
よかったよかった
よかったよかった
451デフォルトの名無しさん
2017/07/24(月) 10:25:57.37ID:d8RjP+27 スッゲー上から目線の総括にワロタwwww
452デフォルトの名無しさん
2017/07/25(火) 02:00:55.92ID:UzXdgK41 Android公式の言語になって悔しい奴も居るんだろう
453デフォルトの名無しさん
2017/07/25(火) 06:18:37.30ID:5XPEt11J oracleが噛んでる時点で終わりの始まり。
solarisとかね。
solarisとかね。
454デフォルトの名無しさん
2017/07/25(火) 07:07:22.80ID:BBsjcCUe WorkStation, MySQL, OpenOffice...う、頭が...
455デフォルトの名無しさん
2017/07/26(水) 10:30:04.80ID:VR8TYjgB IDE使わずに複数のファイルにコードを分割したときにどうやってコンパイルしてから実行する方法を教えてください
これはだめでした
kotlinc a.kt b.kt
kotlin AKt.class BKt.class
■a.kt
fun main(args: Array<String>) {
name()
}
■b.kt
fun name() {
println("Name?")
}
これはだめでした
kotlinc a.kt b.kt
kotlin AKt.class BKt.class
■a.kt
fun main(args: Array<String>) {
name()
}
■b.kt
fun name() {
println("Name?")
}
456デフォルトの名無しさん
2017/07/26(水) 11:06:32.93ID:M5MsN9/+ kotlin -classpath . AKt
ではどう?
ではどう?
457デフォルトの名無しさん
2017/07/26(水) 11:07:19.20ID:M5MsN9/+ あーあとjar作ってもいいし
458デフォルトの名無しさん
2017/07/26(水) 11:40:00.85ID:VR8TYjgB できました!どうもありがとうございます
459デフォルトの名無しさん
2017/07/27(木) 08:44:41.76ID:ol3Ji14g KotlinがAndroid Studio公式サポートになって悔しい、ムキー
ってなるのはGoMobileユーザくらいか?実在するか分からんレベルな実用性だけども
ってなるのはGoMobileユーザくらいか?実在するか分からんレベルな実用性だけども
460デフォルトの名無しさん
2017/07/27(木) 09:33:07.79ID:Spup3DD1 その件で主に煽られてるのは主にScalaユーザーじゃね
彼ら自身はこれまでScalaの筋の悪さと付き合ってきて、なぜKotlinなのかをある意味一番よく理解してるから
反発する奴は少ない印象だけど
彼ら自身はこれまでScalaの筋の悪さと付き合ってきて、なぜKotlinなのかをある意味一番よく理解してるから
反発する奴は少ない印象だけど
461デフォルトの名無しさん
2017/07/27(木) 09:49:55.47ID:ol3Ji14g Scalaって今は亡きJ2EE Servletに対抗する化石ソリューションでKotlinと全く関係ないんじゃないの
流石にあれは関係ないから反発も何もないと思うぞ、関係を探すなら同じJVM言語ってくらいか?
流石にあれは関係ないから反発も何もないと思うぞ、関係を探すなら同じJVM言語ってくらいか?
462デフォルトの名無しさん
2017/07/27(木) 22:48:26.51ID:q/d1LfH4 実際にScalaでAndroidアプリ作ってた奴も居るし、Androidが出るまではJVM言語はおろかJavaすらあんまり積極的に使われてなかったしな
もともとKotlinよりはScalaの方が有名だったし、JVM言語としては悔しいだろうよ
もともとKotlinよりはScalaの方が有名だったし、JVM言語としては悔しいだろうよ
463デフォルトの名無しさん
2017/07/27(木) 22:52:33.46ID:qe1/bFe6 scalaよりkotlinが優れてるところなんてないやろ
464デフォルトの名無しさん
2017/07/27(木) 23:36:19.26ID:ZxLGu3dd javaなんて覚えられそうにないからkotlin学習しようと思ってるけど
記述量が減るのは優れているとは言えませんかセニョール
記述量が減るのは優れているとは言えませんかセニョール
465デフォルトの名無しさん
2017/07/27(木) 23:57:49.40ID:0y0CpLqK 小さなソースコードが高レベル言語の目的であり、力がその目的をどれだけうまく達成できるかというものなら、
プログラミング言語の力を測るには、それがプログラムをどれだけ小さくできるかを見ればよいということになる。
逆に、言語がプログラムを小さくしないのなら、それはプログラミング言語の役割をちゃんと果たしていないということだ。
切れないナイフとか、読めない印刷とかと同じだ。
ってポールが言ってた
プログラミング言語の力を測るには、それがプログラムをどれだけ小さくできるかを見ればよいということになる。
逆に、言語がプログラムを小さくしないのなら、それはプログラミング言語の役割をちゃんと果たしていないということだ。
切れないナイフとか、読めない印刷とかと同じだ。
ってポールが言ってた
466デフォルトの名無しさん
2017/07/28(金) 05:37:58.09ID:H2JBSSoH >>462
そりゃScalaはサーバサイドJavaにおいて歴史があって、組み込みJavaはAndroidが出る前は落ち目だったからだろ
お前のレスはKotlinユーザは全く別の土俵のScalaにコンプレックスを持ってんだなって感想しか出ないぞ
そりゃScalaはサーバサイドJavaにおいて歴史があって、組み込みJavaはAndroidが出る前は落ち目だったからだろ
お前のレスはKotlinユーザは全く別の土俵のScalaにコンプレックスを持ってんだなって感想しか出ないぞ
467デフォルトの名無しさん
2017/07/28(金) 13:00:03.02ID:QPanRF+L listをfor文で回す処理を書いてるんですが、
for(data in some_data?.datas!!) {
}
ってなって、datasの後の!!を消したいんですがどうするべきなんでしょうか
for(data in some_data?.datas!!) {
}
ってなって、datasの後の!!を消したいんですがどうするべきなんでしょうか
468デフォルトの名無しさん
2017/07/28(金) 13:39:12.54ID:k8WFShoV some_data?.datas?.forEach { data ->
}
こうかな
}
こうかな
469デフォルトの名無しさん
2017/07/28(金) 13:48:48.64ID:QPanRF+L >>468
できました!ありがとうございました!
できました!ありがとうございました!
470デフォルトの名無しさん
2017/07/28(金) 21:34:18.74ID:8b7/0WjD >>466
悔しいのうw悔しいのうwww
悔しいのうw悔しいのうwww
471デフォルトの名無しさん
2017/07/28(金) 21:54:39.65ID:GOfdf3yM Javaに挫折したPHPの経験しかない初心者なんですけど
kotlinの勉強する場合の王道の本を教えてください
kotlinの勉強する場合の王道の本を教えてください
472デフォルトの名無しさん
2017/07/28(金) 22:02:07.02ID:PUrhlE/b473デフォルトの名無しさん
2017/07/28(金) 22:17:54.83ID:zVVm7Ell なんか勘違いしてるみたいだけど、そもそもKotlinはJavaに沢山の機能が足されていてJavaよりずっと複雑で難解な言語だぞ。
敷居の低い言語というイメージがあるのは、Javaができる人にとってストレスなく入れる言語であり、プログラミング自体の初心者がほぼ皆無だから。
Javaを学べばそれは全てKotlinでそのまま活かせるんだから、幻想は捨ててまずJavaやったほうがいい。
敷居の低い言語というイメージがあるのは、Javaができる人にとってストレスなく入れる言語であり、プログラミング自体の初心者がほぼ皆無だから。
Javaを学べばそれは全てKotlinでそのまま活かせるんだから、幻想は捨ててまずJavaやったほうがいい。
474デフォルトの名無しさん
2017/07/28(金) 22:23:58.60ID:z1qsdhOb 本などで勉強しようとするから挫折する
言語を身に付けるにはコードを書いて読む以外に道はない
言語を身に付けるにはコードを書いて読む以外に道はない
475スッキリ厨
2017/07/28(金) 23:13:12.64ID:wSdfWqng まずこの本で、オブジェクト指向をみっちり学ぶ
1. スッキリわかる Java入門 第2版、2014
2. たのしいRuby 第5版、2016
3. Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
この順番が最短。
2を省くと、関数型プログラミングが分からないので、必要
1. スッキリわかる Java入門 第2版、2014
2. たのしいRuby 第5版、2016
3. Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
この順番が最短。
2を省くと、関数型プログラミングが分からないので、必要
476デフォルトの名無しさん
2017/07/29(土) 00:10:16.43ID:W96Wekxi AndroidStudioでJavaコードをKotlinに変換する機能を使ってKotlinのコードを生成して内容を見てると分かった気になってくる
477デフォルトの名無しさん
2017/07/29(土) 00:50:30.28ID:DIZfrj77 むかーしjavaをちょっとやってたけど
そんなに癖がない言語だよねjava自体は。
必ずクラスを挟まないといけないから無駄に書くコードが多いくらいだよね。そんな認識の人間ならkotlin
触り始められます?
そんなに癖がない言語だよねjava自体は。
必ずクラスを挟まないといけないから無駄に書くコードが多いくらいだよね。そんな認識の人間ならkotlin
触り始められます?
478デフォルトの名無しさん
2017/07/29(土) 03:36:29.97ID:W96Wekxi KotlinはどちらかというとJavaよりもC#に似ている
479デフォルトの名無しさん
2017/07/29(土) 07:41:06.02ID:sH/xP+7Q ScalaはKotlinの発展を悔しがるくらいに類似性があるらしいからScalaをやったことあると尚良し
結局どこに悔しがる要素があるのかサッパリ分からんかったけど
結局どこに悔しがる要素があるのかサッパリ分からんかったけど
480デフォルトの名無しさん
2017/07/29(土) 12:46:08.39ID:DY1QEEX5 javaアンチパターンとkotlinベストプラクティスのセットって、どっかに無いの?
481デフォルトの名無しさん
2017/07/29(土) 13:01:26.70ID:JySrTbDn Kotlin自体に関しては、他の現代的で使いでのあるプログラミング言語と比較して何か特別に学びにくいということはない
じゃあどこに壁があるのかというと
・公式の説明やマニュアルですら「Javaでいうところの○○」「動作詳細は以下のJavaプログラムを参照」のようにJavaの習熟者を対象にしている
・現状唯一の日本語本であるスタートブックすらJavaである程度の規模のプログラムを組んだ経験を前提としている
・そんな人たちが作る公開ライブラリはもちろんJavaの(類似ライブラリの)知識が前提の用法・動作説明である
というようなあたりにある
別にこれが非難すべきものだとは全く考えないのだが(これらを部外者に解説しようとすると何冊分ものJava基礎と応用を自前でゼロから解説する羽目になるため)、
単に想定対象者以外には苦難の道であるよとは伝えておきたい
「英語で書かれたマニュアルしかないから英語読めないと辛いよ」と同じような感じで
「Javaで書かれたマニュアルしかないからJavaできないと辛いよ」というやつだ
じゃあどこに壁があるのかというと
・公式の説明やマニュアルですら「Javaでいうところの○○」「動作詳細は以下のJavaプログラムを参照」のようにJavaの習熟者を対象にしている
・現状唯一の日本語本であるスタートブックすらJavaである程度の規模のプログラムを組んだ経験を前提としている
・そんな人たちが作る公開ライブラリはもちろんJavaの(類似ライブラリの)知識が前提の用法・動作説明である
というようなあたりにある
別にこれが非難すべきものだとは全く考えないのだが(これらを部外者に解説しようとすると何冊分ものJava基礎と応用を自前でゼロから解説する羽目になるため)、
単に想定対象者以外には苦難の道であるよとは伝えておきたい
「英語で書かれたマニュアルしかないから英語読めないと辛いよ」と同じような感じで
「Javaで書かれたマニュアルしかないからJavaできないと辛いよ」というやつだ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- 防衛省、中国を完全論破www 「事前通告があったのは海自であって空自ではない」 高市早苗勝利 [175344491]
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- フェミってどうして何でも性的性的ってうるさいの?
- 乳首触らんと立たないやつ
- セブイレ店員だけど昨日発売の商品が美味すぎたから宣伝いいっすか?
- 今ちんちん握りながら緊急でスレ立ててます🥺
