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

1デフォルトの名無しさん2016/02/27(土) 01:46:01.68ID:Ag8w7//2
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

2デフォルトの名無しさん2016/02/27(土) 01:53:02.07ID:M1op650Q
Android開発ばかり注目されているけどサーバーサイドでも使っていきたいね。KotlinかわいいよKotlin。

3デフォルトの名無しさん2016/02/27(土) 02:03:58.29ID:kilaRF3z
ようやくスレ立ったか

C#erにオススメ

4デフォルトの名無しさん2016/02/27(土) 02:09:59.86ID:sN4Pn2/e
>>3
ようやくスレ立ったか

じゃねえよハゲ
望んでたなら自分で立てろやカス

5デフォルトの名無しさん2016/02/27(土) 02:41:02.12ID:hI6CEqxt
拡張子はktなのか

6デフォルトの名無しさん2016/02/27(土) 09:41:53.54ID:nQV2L2HM
どこからダウンロードできますか?
IDEじゃなくてKotlin本体だけが欲しいです

7デフォルトの名無しさん2016/02/27(土) 10:37:17.40ID:kilaRF3z
>>1のリンク先、ちょっとスクロールするとDownload Compilerってのがある

>>4
まだ禿てねえよハゲ

8デフォルトの名無しさん2016/02/27(土) 11:14:47.56ID:hI6CEqxt
IDE使わなくても、gradleにロードさせるのが簡単なんじゃないの?と思ったが
公式見たら kotlinc が用意されてるのな

9デフォルトの名無しさん2016/02/27(土) 11:25:26.53ID:0K1cdFU/
>>3
何故、C#er?

10デフォルトの名無しさん2016/02/27(土) 13:08:04.60ID:nQV2L2HM
これからダウンロードして勉強しようと思ったんですけど
僕はJavaの知識がないんですよ
やっぱりJavaをひと通り学んでからKotlinを使うほうがいいですか?

11デフォルトの名無しさん2016/02/27(土) 17:28:47.93ID:kilaRF3z
>>9
Kotlinちょっとしか触ってないけどC#と類似点多くね?
・プロパティ
・拡張関数=拡張メソッド
・ジェネリクスのin、out、where
・オーバーライド元メソッドにopen/virtualが必要

かつてはアノテーションもC#風だったけど、今はjava風に変わった

12デフォルトの名無しさん2016/02/27(土) 18:39:50.54ID:KsPOIQ1H
内包表記は無いの?

13デフォルトの名無しさん2016/02/27(土) 18:40:22.18ID:ip4T9kfk
>>11
C# に比べて何がいいの?

14デフォルトの名無しさん2016/02/27(土) 18:50:05.98ID:KsPOIQ1H
チラッと調べただけだけど
・パターンマッチ
・名前つきタプル
・Data Class
・null非許容型

C#7.0に欲しいものばかりw

15デフォルトの名無しさん2016/02/27(土) 19:15:03.68ID:D+WCAKrD
Javaを勉強せずにJavaFXアプリ作れますか?

16デフォルトの名無しさん2016/02/27(土) 20:17:24.82ID:DzbbisjT
>>15
むり

17デフォルトの名無しさん2016/02/27(土) 21:07:35.07ID:yBj0ji6/
またJVMか…
泥アプリ制作が流行ってるから仕方ないのかね

18デフォルトの名無しさん2016/02/27(土) 22:22:55.81ID:hI6CEqxt
開発してるJetBrains自身が、JVM上で動く製品を開発してる会社だからな
自分達の製品にもKotlin使ってるみたいだよ

19デフォルトの名無しさん2016/02/27(土) 22:29:02.97ID:hI6CEqxt
公式の1.0リリースの日本語のページがあった
http://blog.jetbrains.com/jp/2016/02/17/578

20デフォルトの名無しさん2016/02/27(土) 23:39:23.79ID:KsPOIQ1H
複数の属性を持てるenumも便利そう。

これもC#7.0に欲しいw

21デフォルトの名無しさん2016/02/28(日) 21:01:32.18ID:qX9WRNgF
scalaと比べてどうなの?
jetbrainsが自社のプロダクトで使ってるといっても、サーバサイドでは話はきかないね。

22デフォルトの名無しさん2016/02/28(日) 21:12:49.92ID:mEuTbruV
https://kotlinlang.org/docs/reference/comparison-to-scala.html
scalaで幸せなら不要だって

spring mvcは普通に動く
たぶんplayもいけるんじゃね

23デフォルトの名無しさん2016/02/28(日) 21:51:31.38ID:qX9WRNgF
なるほど、springやEEが自然に利用できるなら、kotlin製のフレームワークに固執する必要はないか。

24デフォルトの名無しさん2016/02/28(日) 21:55:17.88ID:qX9WRNgF
Karaといframeworkはあるけど、Githubを見たところそこまで活発ではなさそう。cssをtye safeに書けるのは面白そうだけど

25デフォルトの名無しさん2016/03/09(水) 20:13:43.33ID:ZmUAjtzS
Kotlinはフレームワーク次第

26デフォルトの名無しさん2016/03/09(水) 21:54:57.77ID:MLkdPiKR
javaのフレームワークがそのまま使えるのがいいんだろ

27デフォルトの名無しさん2016/03/09(水) 22:12:21.73ID:TWWKX9/D
ビルドツールもそのまま使えるしな

28デフォルトの名無しさん2016/03/11(金) 23:43:17.01ID:RA7SR1be
英語もしゃべれねぇくせにどいつもこいつも新興言語に騙されおって
新興宗教じゃねぇんだから

29デフォルトの名無しさん2016/03/12(土) 00:46:03.37ID:w4nC79sm
Kotlinを使うプロジェクトが増えないとKotlinの技術者が増えない
Kotlinの技術者が増えないとKotlinを使うプロジェクトが増えない

30デフォルトの名無しさん2016/03/12(土) 01:43:46.52ID:A9rdrO/7
intellij使ってる人が興味持ってくれればなあ

31デフォルトの名無しさん2016/03/14(月) 16:38:06.42ID:ONULiEU5
Kotlinって書籍とかがまだ全くないな

32デフォルトの名無しさん2016/03/14(月) 17:49:52.49ID:jDfMkT0o
まぁまだ1.0がリリースされたばかりですし

33デフォルトの名無しさん2016/03/14(月) 18:13:22.66ID:rxc3Byav
2011年から死んでる

34デフォルトの名無しさん2016/03/14(月) 20:49:46.27ID:ste1llL9
今から勉強しようかと思うんだけど、駄目なの?

35デフォルトの名無しさん2016/03/14(月) 22:51:22.51ID:7NRac0Aa
1.0.0がリリースされたばかりだからタイミングいいよ
一応破壊的変更はしないとか言ってたような

36デフォルトの名無しさん2016/03/15(火) 09:16:40.95ID:4EDSiDUj
Androidアプリの開発にkotlin使ってるけどいい感じよ
ラムダが使えるのとDSLがね
拡張メソッドも作れたり

37デフォルトの名無しさん2016/03/16(水) 17:48:01.10ID:SWFG0n+i
勉強するのも使うのも全く自由なんだけど、
こんなマイナー言語で何する気?

目的をはっきりさせようや。
何もできるんだよ?

38デフォルトの名無しさん2016/03/16(水) 17:48:37.27ID:SWFG0n+i
*何ができるんだよ。

39デフォルトの名無しさん2016/03/16(水) 18:36:21.30ID:BFPYGSUK
>>37
Javaより優れた言語でJVMで動くアプリケーションを書ける

40デフォルトの名無しさん2016/03/16(水) 21:09:15.92ID:ol/uA8ay
Ceylon とどっちがいいの?

41デフォルトの名無しさん2016/03/16(水) 21:57:29.33ID:OWx848x5
>>39
すでにScalaという先客がいる

42片山博文MZ ◆T6xkBnTXz7B0 2016/03/16(水) 22:05:50.83ID:l9Y8vSPn
♪ことりん、ことりん。

43デフォルトの名無しさん2016/03/16(水) 22:15:09.55ID:ItRpyeBM
scalaに対しての優位点はコンパイル速度と、javaとの親和性?

文法的にもcontinueとbreakが使えて、自由度の高いreturnとthisがあるか

inlineもscalaとかなり違う?

44デフォルトの名無しさん2016/03/17(木) 12:46:00.12ID:8D5exYrn
scalaは難しすぎるよね

45デフォルトの名無しさん2016/03/17(木) 14:24:01.95ID:y+SO78pF
JavaScriptでいいじゃん

46デフォルトの名無しさん2016/03/17(木) 17:34:00.53ID:Lr213s2+
Kotlinはかわいい。Scalaはキモい。
Kotlinが普及するように、俺も微力ながらブログにKotlinネタ書いていくよ。

47デフォルトの名無しさん2016/03/17(木) 21:05:02.80ID:8D5exYrn
普及するために何が足りないか?

48デフォルトの名無しさん2016/03/17(木) 22:30:53.09ID:6lVX3tiR
世界的な有名サービスがKotlinで記述されたらかなり影響はある

49デフォルトの名無しさん2016/03/18(金) 11:16:52.22ID:PaeRr1p1
enumがメソッド持てるのがリージョンコードを複数の表現で返すenum作るときに便利だったな
あと、whenがif elseの変わりに使えて可読性がいいのが好き

50デフォルトの名無しさん2016/03/18(金) 13:04:13.88ID:7TGL3g0b
enumがメソッド持てるのはJavaも一緒でしょ

51デフォルトの名無しさん2016/03/18(金) 19:30:40.78ID:Ri+xB30N
プログラミング初心者なんですけどKotlin習得するのには2〜3年はかかる?

52デフォルトの名無しさん2016/03/18(金) 20:27:52.77ID:itkpzA44
初心者は情報の多い言語を使うべき
入門書とかが出てからじゃないと無理

53デフォルトの名無しさん2016/03/18(金) 20:46:02.24ID:Ri+xB30N
>>52
ありがとう

無難にJavaScriptやってみます

54デフォルトの名無しさん2016/03/23(水) 18:25:49.69ID:q4NyJu3s
>>53
将来kotlinをやるんだったら
javascriptじゃなくてjavaね。

55デフォルトの名無しさん2016/03/23(水) 19:30:06.44ID:IjQfzLPy
つーかおまえらコトリンの響きで選んでるだろ

56デフォルトの名無しさん2016/03/23(水) 21:00:38.88ID:Sy6dDY9b
名前は凄く重要

57デフォルトの名無しさん2016/03/23(水) 21:40:59.87ID:r6iJqmyn
スカラに比べたら言語のランタイムない(よね?)のがメリットとか

58デフォルトの名無しさん2016/03/24(木) 08:58:18.85ID:9L/DvAgg
>言語のランタイム
?

59デフォルトの名無しさん2016/03/25(金) 19:03:36.81ID:7CoDARGW
Javaとソース互換を壊すという致命的欠陥を自らしておいて、
なおかつ既存言語とのソース互換が何もないのなら使えませんよね。
過去のソースとの互換のためにN88-BASIC互換言語を作りましたとかいうほうがまだ使い道がある。

独自言語で作ったものはソースの墓場になる。
末長く残るソースを作れない。

60デフォルトの名無しさん2016/03/26(土) 12:14:43.51ID:XHWY3LTw
>>59
いま普及してる言語だって、スタートラインは独自言語(っていう表現はどうかと思うが)だったわけでw

61デフォルトの名無しさん2016/03/26(土) 12:42:36.47ID:lc2ldByq
バックエンドでKotlin使いたいんだけど、おすすめのWebフレームワークとかDBフレームワークあったら教えてください。Spring Bootがかなりいい気がするけど特にDBフレームワークが困ってます。

62デフォルトの名無しさん2016/03/26(土) 14:29:17.16ID:ENkp8QGX
>>60
俺を忘れるなよ...
      C++

63デフォルトの名無しさん2016/03/26(土) 16:15:03.51ID:H9bcXfYg
>>60
C++とアップルのObjective-Cは、C言語上位互換。

64デフォルトの名無しさん2016/03/27(日) 00:37:01.30ID:tuBIqIOP
Swiftがクソ過ぎるのは誰もが知ってるんだから触れてやるなよ

65デフォルトの名無しさん2016/03/28(月) 00:51:03.64ID:h3cCXmjq
KotlinとSwiftってそんな違う? 似たようなもんじゃ
JavaやObCと比べりゃ

66デフォルトの名無しさん2016/03/29(火) 00:00:43.96ID:1pY1OkRW
>>59
javaライブラリを呼べるjvm上で動くプログラミング言語なんていっぱいあるやん

67デフォルトの名無しさん2016/04/01(金) 20:35:42.53ID:vSPHDFRv
さびれすぎ

68デフォルトの名無しさん2016/04/02(土) 10:51:29.00ID:3UiLT1dE
>>66
ライブラリを呼んでもしょうがないだろ
普通のJavaのソースをコンパイルしたらエラーになるんじゃ意味ないわ

69デフォルトの名無しさん2016/04/03(日) 00:40:39.84ID:ZV9NMQt1
Android向けKotlinのロードマップ
http://blog.jetbrains.com/jp/2016/03/30/639

70デフォルトの名無しさん2016/04/03(日) 13:51:35.58ID:4I/r7xwS
Googleが公式サポート表明してくれたら最高なんだけどな。

71デフォルトの名無しさん2016/04/04(月) 18:10:35.02ID:F20gyuD1
>>70
正直無理な話だよね。
kotlinのほうがいい理由を必死こいて考えるよりは素直にJavaやっとけよ
マイナーという不利益を納得して使うものだが、君は納得できていない。

72デフォルトの名無しさん2016/04/06(水) 21:23:24.57ID:2V81Qvo2
>>68
??
そりゃ別の言語ですし
jvmで動く言語で互換性がある言語自体珍しくね?
jarから呼び出せればいいと思う

73デフォルトの名無しさん2016/04/08(金) 10:30:14.19ID:swQw/RPS
GoogleはAndroidの第一言語、つまりJavaに置き換わるものとして、Swiftのサポートを検討しているらしい。
泣きそう。

74デフォルトの名無しさん2016/04/08(金) 13:03:55.45ID:UcK710Vt
>>73
Swiftもいい言語だから、そうなったらなったでJavaのままよりはありがたいけどな

75デフォルトの名無しさん2016/04/08(金) 20:59:07.38ID:Im1g3EY5
javaの資産()はどうなるの

76デフォルトの名無しさん2016/04/08(金) 22:32:48.96ID:uKgtJKvS
マジかよSwiftやってみるわ

77デフォルトの名無しさん2016/04/08(金) 23:37:04.56ID:T8jUewN4
クソ言語流行らそうと必死なんだな

78デフォルトの名無しさん2016/04/09(土) 00:49:54.84ID:gQ4mSWZC
>>73のネタはこの記事だと思うが
http://thenextweb.com/dd/2016/04/07/google-facebook-uber-swift/
記事の中ではgoogleがkotlinの採用も検討していると書いてあるぞ

ただしコンパイルが遅いのと
できたばかりの言語なのでコミュニティが小さい事がネックらしい

79デフォルトの名無しさん2016/04/09(土) 19:22:37.10ID:Q/bwh4yI
AndroidのJavaの問題は言語ではなくJavaプラットフォーム(の海賊版)にあるのに言語だけ変えても意味無いだろ

80デフォルトの名無しさん2016/04/10(日) 05:02:23.23ID:OMjoBoPQ
とはいえJavaライブラリのインタフェースに関する権利をOracleが主張してたりとかJava言語による問題も多いだろうし、そこだけ解決できるのでも結構違うのでは。Javaプラットフォームごと捨てるのはさすがに現実的ではないでしょうし。

81デフォルトの名無しさん2016/04/12(火) 14:39:07.24ID:tcJgF5lM
>>80
OracleはJava APIに権利があると主張しているのであってJava VMを使う以上、他の言語に変えても同じ。
OpenJDKなど、Oracle公認のフリーのJava/Java VMもあるわけで、Javaは使い続けるでしょう。
今開発プレビュー版が出ているAndroid Nは、初めてOpenJDKのライブラリを使っているわけで。
Java 8対応、新しいJackコンパイラの登場など大進化を見せている状況でJavaを捨てるとか有り得ない。
Javaから別の言語に変えることを検討中という記事は信用できない。
現時点無視してよいかと。
もっと信頼できるネタが出てから気にしたほうが賢明。

82デフォルトの名無しさん2016/04/12(火) 15:18:33.45ID:9HGJ3JQs
>>81
てことはAndroid N以降はOracleとの訴訟の件は関係ないってことになる?
あと、その考え方だと、kotlinを正式採用の方が現実味あるのかな

83デフォルトの名無しさん2016/04/12(火) 20:56:18.12ID:Rk5bS0ji
KotlinよりScalaの方がありそう

84デフォルトの名無しさん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は辛いらしい
何が辛いのかよく分からんけど

86デフォルトの名無しさん2016/04/12(火) 21:46:26.86ID:3ZquNVD8
Scalaはビルドツールが糞

87デフォルトの名無しさん2016/04/12(火) 21:51:27.23ID:tRZrs4lg
scalaって標準ライブラリのサイズがでかくなかった?

88デフォルトの名無しさん2016/04/13(水) 09:06:47.77ID:E2Yhqe8e
>>83
そう?Scalaが普及しはじめてから何年も経つけど、GoogleがScalaに興味を示したことってあったっけ?

89デフォルトの名無しさん2016/04/16(土) 21:14:12.15ID:1vFpn8v7
JavaのOO畑で関数型とかよく分からんしってマルチパラダイム言語の第一歩によさそうだなKotlin
名前も可愛いし

90デフォルトの名無しさん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
話題なさすぎじゃね

93デフォルトの名無しさん2016/08/06(土) 23:21:47.71ID:DcF8zl9X
javaに触らすいきなりkotlinから
アンドロイド開発に入門するのって無茶ですかね?
そういうコンセプトの入門書とかないかな

94デフォルトの名無しさん2016/08/07(日) 00:17:57.07ID:ImwDssOT
無茶というか無意味な縛りプレイだよ
Java分からないとサンプルコード読めないじゃん

95デフォルトの名無しさん2016/08/08(月) 11:17:38.46ID:tg5qo0Cy
無意味な縛りですかね。javaの構文自体は平易だからandroidとセットでkotlinの構文が学べたほうがいいなのかなと

96デフォルトの名無しさん2016/08/08(月) 22:59:13.69ID:/KkOsDFd
じゃあ聞くなよ

97デフォルトの名無しさん2016/08/09(火) 07:51:56.25ID:qoHYj2J7
じゃあ尚更Javaでいいだろ
KotlinなんかJavaやったあとなら一瞬でマスターできるからどうでもいい

98デフォルトの名無しさん2016/08/10(水) 09:10:55.40ID:rQiddDUo
お前ら
ことりん
という響きが好きなだけちゃうんかと

99デフォルトの名無しさん2016/09/21(水) 00:39:02.10ID:UYN6tSg/
(・8・)

100デフォルトの名無しさん2016/11/10(木) 04:01:41.16ID:5wJA0ZNT
日本人は流行に乗りたがるけどすぐ飽きるね
名前に釣られただけで結局流行りそうにない

101デフォルトの名無しさん2016/11/14(月) 23:59:31.98ID:wCV5pHeX
scalaと比べていいところってある?
ユーザ数はscalaのほうが多いだろうしどっちやろうか迷ってる

102デフォルトの名無しさん2016/11/15(火) 00:56:14.67ID:r0bdrrlQ
カオスじゃない
Javaとの完全な互換性がある(Scalaは事実上一方通行)
Scalaに比べれば遥かにまともな言語だよ
Scalaはとりあえず全部ブチ込んでみただけの実験言語で、本来実用に使うようなもんじゃない

103デフォルトの名無しさん2017/01/09(月) 20:37:51.41ID:4w5Vtztw
Kotlin vs Ceylon

104デフォルトの名無しさん2017/01/11(水) 13:27:31.23ID:ejV+8ohg
Gradle3.xでKotlinがサポートされたのって、普及に影響する?

105デフォルトの名無しさん2017/01/11(水) 17:14:25.25ID:qSPp3nGT
Groovyがそこまで普及してるか?
つまりそういうこと

106デフォルトの名無しさん2017/01/12(木) 21:33:12.76ID:ArceXZLM
>>105
なるほど納得した。ありがとう。

107デフォルトの名無しさん2017/01/17(火) 06:25:55.49ID:/OTVP4TW
EclipseでKotlinしている人っている?

108デフォルトの名無しさん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でクラス作成するという用途なら理解できなくもない。

110デフォルトの名無しさん2017/03/02(木) 22:58:10.37ID:aTDCpX5l
JavaScriptが書けるようになったと聞いて

111デフォルトの名無しさん2017/03/02(木) 23:03:06.74ID:6rwxIFtV
それよりコルーチンだよ
名前がいいよね

112デフォルトの名無しさん2017/03/11(土) 08:06:57.61ID:vLyp82+E
>>111
コルーチン...ロシア人かな? Kotlinだけに。

113デフォルトの名無しさん2017/03/27(月) 12:32:22.63ID:zxMW45Gj
go->goroutine
Kotlin->koroutine
ってこと?

114デフォルトの名無しさん2017/04/13(木) 10:00:40.79ID:p+wJDHjt
んーcoroutine、便利さを挙動の理解の混乱が上回ってる..w
かえって複雑になりそう

115デフォルトの名無しさん2017/04/14(金) 10:49:57.90ID:rxkV6/uG
>>114
coroutineって「状態を持つ」ような気がするんだけど、
関数型プログラミングのイミュータブルであるべきという
考え方に逆行しているという理解であってますか?

116デフォルトの名無しさん2017/04/15(土) 00:40:02.53ID:5VFPMUgC
>>115
なんちゃって関数型プログラミングでは状態の局所化に役立つ便利な道具だと思うよ
ステートマシンなどという糞を排除できる

117デフォルトの名無しさん2017/04/16(日) 13:23:05.16ID:FOOthHC9
一つのクラスに複数のアノテーション持てない感じ?

118デフォルトの名無しさん2017/04/18(火) 07:19:21.21ID:q56THeJt
このスレで言うのもなんだが、初心者の質問はTwitterで投げるのがいいよ
普及させたい人が定期的に検索して拾ってくれるから

1191152017/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#状態マシン

121デフォルトの名無しさん2017/04/28(金) 17:34:29.34ID:80AWOTNk
ことりん擬人化まだ?

122デフォルトの名無しさん2017/05/01(月) 23:00:23.52ID:+TVy5Krd
Rubyの、p, pp みたいに、自動的に、コンテナ内を展開して、
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?

p コンテナ・オブジェクト

123デフォルトの名無しさん2017/05/04(木) 00:18:07.49ID:lRx89izX
ない
そんなもんIDEのデバッガで止めて見ればいいだろ

124デフォルトの名無しさん2017/05/04(木) 00:39:59.73ID:7TNYL3q7
それはダサいわ

125デフォルトの名無しさん2017/05/13(土) 22:26:26.42ID:UQoi629m
なんか折りたたみすぎるんだよな〜

126デフォルトの名無しさん2017/05/18(木) 03:33:23.69ID:DKg0Na73
大勝利キタ━━━━(゚∀゚)━━━━ !!!!

127デフォルトの名無しさん2017/05/18(木) 03:35:35.85ID:Wz6O2oVO
きたな

128デフォルトの名無しさん2017/05/18(木) 03:38:32.99ID:l26+mVZr
まじか

129デフォルトの名無しさん2017/05/18(木) 08:19:21.98ID:6xLYhPbf
アプデかなんか来たの?

130デフォルトの名無しさん2017/05/18(木) 08:34:44.83ID:eCnYzL6s
Androidでのファーストクラスサポートだそうですよ

131デフォルトの名無しさん2017/05/18(木) 08:35:35.63ID:zgtLgueR
Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.

だって。

132デフォルトの名無しさん2017/05/18(木) 09:08:10.23ID:PzmNC1sh
ファーストクラスってなんですか?

133デフォルトの名無しさん2017/05/18(木) 09:13:30.93ID:zw0yFHDv
ビジネスクラスより上

134デフォルトの名無しさん2017/05/18(木) 09:37:46.74ID:cqnkW2Fd
例の訴訟絡みでjvm捨てると思ってたんだがなあ

135デフォルトの名無しさん2017/05/18(木) 10:06:03.05ID:L+z+Rh5o
記念アゲ (・8・)

136デフォルトの名無しさん2017/05/18(木) 12:11:08.36ID:zgtLgueR
Android Studioで標準サポートになる、つうことだろ。

137デフォルトの名無しさん2017/05/18(木) 12:12:50.95ID:NEKf9u2/

138デフォルトの名無しさん2017/05/18(木) 12:17:09.11ID:w2PMjkvW
GWにkotlin始めて書きやすいなと思ってた俺大勝利

139デフォルトの名無しさん2017/05/18(木) 12:38:42.71ID:zgtLgueR
>>137
今までのJava資産を活かしながらシームレスに移行できる、というのが大きい。
その意味でc#はありえん。

140デフォルトの名無しさん2017/05/18(木) 12:57:50.54ID:3vvtk3AJ
いまJavaを使ってる人を救うことを考えたらまずはKotlinだろうね

141デフォルトの名無しさん2017/05/18(木) 13:16:17.63ID:XKDAC558
まじかよ
コトリン大好きな俺大勝利じゃん
祝杯や

142デフォルトの名無しさん2017/05/18(木) 13:21:33.03ID:9vmsiCj/
やったぜ

143デフォルトの名無しさん2017/05/18(木) 13:23:06.77ID:yATb/f/P
えっちだぁw

144デフォルトの名無しさん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

こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?

145デフォルトの名無しさん2017/05/18(木) 15:28:16.59ID:/Shfsuc2
KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ

146デフォルトの名無しさん2017/05/18(木) 16:57:05.60ID:sDwtWkJp
AppleがGoを公式採用するくらいあり得ないことだな

147デフォルトの名無しさん2017/05/18(木) 17:15:26.94ID:zgtLgueR
>>145
今までのjava資産を考えるとありえん。
appleは悪い意味でおかしい。

148デフォルトの名無しさん2017/05/18(木) 18:29:24.60ID:xYh7ZO1T
競技プログラミングでKotlinを覚えるか…

149デフォルトの名無しさん2017/05/18(木) 23:54:53.47ID:s8Za2vto
>>70
念願かなったね。おめでとう。

150デフォルトの名無しさん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

151デフォルトの名無しさん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
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか

152デフォルトの名無しさん2017/05/19(金) 20:24:00.83ID:t+9TXaRk
>>70
おめ

153デフォルトの名無しさん2017/05/19(金) 20:34:19.80ID:Ig6oJN7I
>>71
これは恥ずかしいwwww

154デフォルトの名無しさん2017/05/19(金) 22:29:26.32ID:HhPXEO/A
じゃ今後のAndroidのライブラリにはKotlinで書かれてるものの出てくるのかな?

155デフォルトの名無しさん2017/05/20(土) 00:38:31.20ID:ap8WyFQI
それはないだろう

156デフォルトの名無しさん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許容演算子を使う

157デフォルトの名無しさん2017/05/20(土) 15:30:08.83ID:LOC45URm
Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね

158デフォルトの名無しさん2017/05/20(土) 15:41:06.41ID:8ml7mLK3
getOrNullとかあるよ

159デフォルトの名無しさん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公式かどうかですごい影響あるよ

161デフォルトの名無しさん2017/05/21(日) 10:31:28.30ID:4E+x2A2G
これをきにコトリンを始める人がいっぱいいそうだが
ほとんど人が挫折するんだろうな

162デフォルトの名無しさん2017/05/21(日) 10:35:53.77ID:W3P4J6B5
こんな簡単な言語で挫折する要素とは

163デフォルトの名無しさん2017/05/21(日) 10:40:32.81ID:tBEndF3S
Kotlin言語そのものは難しくないがJavaの言語に加えて
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い

164デフォルトの名無しさん2017/05/21(日) 11:08:54.99ID:h5RyjkDf
kotlinにはtypescriptのtsserverみたいに補完機能はないんでしょうか?

165デフォルトの名無しさん2017/05/21(日) 11:33:04.16ID:W3P4J6B5
第一級開発言語に指定したんやからfwは全てkotlinラッパを出すやろ

166デフォルトの名無しさん2017/05/21(日) 12:33:48.18ID:sr6r/1gA
?なvarをif != null したら!!いらないようにしてほしいな〜
valに入れ直すのはスマートじゃないよ

167デフォルトの名無しさん2017/05/21(日) 13:24:08.34ID:tU5Dlyyu
>>156
似たようなとこで詰まってた
Nullableでご安全にする理屈はわかるけど連想配列の利用法としては煩雑だね
覚えとくしかないか
それともこのへん便利な格納構造があるのかな

168デフォルトの名無しさん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安全のない言語から来た人はふんす!!ってなると思われ

169デフォルトの名無しさん2017/05/21(日) 20:26:44.09ID:9L9dm7b/
>>163
C#文法とC#ライブラリを学習するよりは楽そう

>>165
Java APIをKotlin APIに透過的に見せるからラッパーの用意すら要らんでしょ

170デフォルトの名無しさん2017/05/21(日) 20:46:52.64ID:RH0jdAto
最終的に訴訟のネタにもなってるjavaを切り離す方向まで行かないんですかね。

171デフォルトの名無しさん2017/05/21(日) 21:44:40.19ID:mFn/WD+c
VMの問題なんだからいまさらどうしようもないだろ。

172デフォルトの名無しさん2017/05/21(日) 22:54:56.67ID:1evlh7eH
Ruby, JS などで、メソッドチェーンすると、
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、

メソッドチェーンはテストも、しにくい

173デフォルトの名無しさん2017/05/22(月) 01:22:13.90ID:yjMvX9x8
素のkotlinでは使えるけどAndroidのkotlinでは使えないのってある?

174デフォルトの名無しさん2017/05/22(月) 01:48:31.03ID:97nOcTMK
Nullableかどうかは書き手が決められるのがステキとか言っておきながら
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが

175デフォルトの名無しさん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を整備するべき

176デフォルトの名無しさん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だけで解決してしまうだろが。

178デフォルトの名無しさん2017/05/22(月) 09:45:07.45ID:WLj9ZHQ7
>>177
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず

179デフォルトの名無しさん2017/05/22(月) 09:46:09.30ID:jD5FXPee
OpenJDKにもVM実装は含まれてるんだけどなw
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か

180デフォルトの名無しさん2017/05/22(月) 09:46:23.44ID:NZ0IuE42
擬人化まだかよ
無能どもめ

181デフォルトの名無しさん2017/05/22(月) 09:52:42.83ID:WLj9ZHQ7
>>175
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど

182デフォルトの名無しさん2017/05/22(月) 18:40:23.05ID:jD5FXPee
「apiインターフェース」の「頭痛が痛い」みたいな表現、嫌いじゃない:D

>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね

183デフォルトの名無しさん2017/05/23(火) 19:42:46.96ID:dGC6uRRV
null非許容って使ってみると地味に結構不便だな…
今までとは根本的に設計方針を変えなきゃならないものがあるなぁ…

184デフォルトの名無しさん2017/05/23(火) 19:49:01.45ID:IihgumLk
var a : String? = null

185デフォルトの名無しさん2017/05/23(火) 20:27:48.65ID:oZAHFLLi
型安全でないnull使うより、その型のnull定数を定義するほうが楽だよ。

186デフォルトの名無しさん2017/05/23(火) 20:49:32.53ID:Hx0L3jS4
val hoge;
{

187デフォルトの名無しさん2017/05/23(火) 21:06:38.96ID:cBJ7DVw+
null参照の概念は10億ドル単位の過ちってそれ一番言われてるしなw
偉人の言葉を信仰心と共に信じるべし

188デフォルトの名無しさん2017/05/23(火) 21:36:52.74ID:gX8pe08F
ぬるぽ

189デフォルトの名無しさん2017/05/24(水) 01:18:07.88ID:9HF6LZlN
>>183
?使うだけなのに何言ってんの?
大昔の案件で引数には必ずnullチェックを入れるというコーディング規約があって、保守性は下がるし規約に従わないやつはいるしで散々だった。

190デフォルトの名無しさん2017/05/24(水) 12:26:54.17ID:t8jtcsol
intellij、if式を折りたたまないようにするオプションはどこですか?

191デフォルトの名無しさん2017/05/24(水) 12:44:50.63ID:t8jtcsol
>>189
たとえばintefaceのnotnullなプロパティを亜種的なクラスでnullableにオーバーライド、できないよねぇ。
個人レベルの開発ならそこらへんの曖昧さはかえって便利な場合もあったんだけどね。
まぁ最初から全部nullableにしちゃえば済む話だが9割の非nullに全部?なり!!を付けるのはキモい。
javaコードをそのまんまkotlinコードに移行は、できなくはないけどキモいコードになる。

192デフォルトの名無しさん2017/05/24(水) 14:28:45.40ID:Fp8uMQ/t
  Λ_Λ  \\
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >_Λ∩
  _/し' //. V`Д´)/
 (_フ彡        / ←>>188

193デフォルトの名無しさん2017/05/24(水) 15:15:47.70ID:9HF6LZlN
>>191
わざわざnullableなプロパティを含むインターフェースを使う意味がわかんない。ちゃんとnullチェックして渡せば良いじゃない。

194デフォルトの名無しさん2017/05/25(木) 00:19:31.03ID:Mhkkcekf
>>193
自分もそんなコードが欲しくなるとは予想しなかったけどな笑
nullであることを利用して動作変える派生クラスをkotlin化しようとして躓いたわ。
結局設計を変えることで対応したけどね。javaで使えてたトリッキーな手は使えなくなった不便さがあるね、便利さの陰に。
まぁ慣れの問題だが。

195デフォルトの名無しさん2017/05/25(木) 04:40:51.77ID:FYZ1kIH6
androidだとonCreateで初期化するような変数はnullableにしなきゃいけないのかと思ってたけど、lateinitってあるのね
個人的にはそこそこ使うから@とかの記号にしてほしかったけど

196デフォルトの名無しさん2017/05/25(木) 06:20:09.08ID:5itOJ4P9
プロパティが、最初からデフォルト値を持っていたら、ダメなのか?

どうしても、nullが必要なのか?

197デフォルトの名無しさん2017/05/25(木) 08:51:21.17ID:iRBHnHtq
nullオブジェクト使わないの?

198デフォルトの名無しさん2017/05/25(木) 09:21:48.18ID:VyhgnQr+
関数の戻り値の型ならnullable欲しいな
戻り値がnullになるとき毎回exceptionをthrowするのかって話

199デフォルトの名無しさん2017/05/25(木) 09:23:32.29ID:E3n3KUhW
え?ww

200デフォルトの名無しさん2017/05/25(木) 09:37:46.25ID:VyhgnQr+
例えば数値を文字列として格納してるデータをファイルとかDBとかから取り出すとき
その値は数値としてしか使わないけどもしかしたらnullな場合もある
getter関数作るのにgetterでは必ず文字列として取得して変換可能か判断してから数値にする処理を毎回するか変換できなかったらcatchするのか

そんな場合なnullableがあれば外からみた関数の使い方はシンプルにできる

201デフォルトの名無しさん2017/05/25(木) 11:19:50.16ID:iRBHnHtq
だからnullオブジェクトを用意して使えって。
型安全でないnullなんか窓から投げ捨てろ。

202デフォルトの名無しさん2017/05/25(木) 11:20:19.76ID:5itOJ4P9
入力欄のオプショナルな項目か

携帯電話を持っていれば、その番号を記入して、みたいな奴か

203デフォルトの名無しさん2017/05/25(木) 11:26:27.67ID:/eJUHzjl
頭が時代についていってないようだなw

204デフォルトの名無しさん2017/05/25(木) 22:55:58.94ID:HKNQp0n4
元々はアドレスだったことを思い出せば功罪がわかる

205デフォルトの名無しさん2017/05/26(金) 05:24:14.29ID:Yn8sEtTn
>>196
同じようなことを考えたことがあったけど、「実行時エラーは悪」という考えにとらわれると、
間違った値(デフォルト値)のままエラー無しに処理が進んでしまうのは実行時エラーよりたちが悪い
ということを忘れがちになる。
>>197
使用頻度を考えるとnullオブジェクトをいちいち定義するよりnullチェックのほうがましな
変数の方が多いと思われる。
また、nullオブジェクトはどんな状況で使われても適切な結果を返すように実装しなければ、
上で述べたデフォルト値の問題を起こすことになるから、ミスのないデフォルトを
設定すること自体が難しい場合もあると思う(使用経験が少ないからわからない)。

206デフォルトの名無しさん2017/05/26(金) 07:38:30.45ID:Mhihnqx0
>>205
今時はなるべく完全コンストラクタを使って最初に一括で初期化し、
後は一切変更できないクラス設計が好まれるんだよ
C#は見境なく大量のgetsetプロパティを持つクラスを定義するバカが多いけど

207デフォルトの名無しさん2017/05/26(金) 09:51:12.09ID:5tQUvAE5
kotlin/nativeに期待

208デフォルトの名無しさん2017/05/26(金) 10:10:41.46ID:5tQUvAE5
nullチェックはもうちょっと痒いところまで手が届くといいね
たとえば if(a == 0 && b?. == "hoge") {...} で2つめはnullならパスしてくれる
みたいに書けたら便利

209デフォルトの名無しさん2017/05/26(金) 10:24:21.56ID:Heb9aC5z
nullを使わなければいいと思うよ

210デフォルトの名無しさん2017/05/26(金) 11:15:12.27ID:+T40nrdw
>>205
コンパイルエラーにできるものを実行時に処理するのは良くない設計だな。
型無しのnullを使うとコンパイルエラーに出来なくなる。
nullオブジェクトでも実行時エラーは処理できるから、必要ならそうすりゃいいし。

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については別に過去をなぞる必要はないとも思うよ

214デフォルトの名無しさん2017/05/26(金) 12:46:21.42ID:ZNc2U8qB
>>207
これってiosもうごくの?

215デフォルトの名無しさん2017/05/26(金) 22:05:46.36ID:xRlJL6be
Kotlin/NativeをAndroid(NDK)で動かしたい

2162052017/05/27(土) 00:21:30.12ID:q99eAiGg
>>210
およそ
nullがコンパイルエラーになる > 適切に設計されたnullオブジェクト >
nullチェック > 実行時NPE > 不適切なnullオブジェクトでエラー無しに誤った処理が進む

という順位なので>>210とは特にそれほど見解の相違はないと思う。
nullオブジェクトは必ず容易かつ適切に設計できることを暗黙の前提とするかどうかが相違点かな。

217デフォルトの名無しさん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をつけないとトランスパイル後の名前が変えられる模様。

219デフォルトの名無しさん2017/05/27(土) 07:44:00.03ID:3w92Yrys
>>217
目指すの意味がさっぱり分からんけど、kotlinじゃなくjython使うのじゃダメなの?

220デフォルトの名無しさん2017/05/27(土) 18:48:51.46ID:q99eAiGg
>>219
たぶん>>217はCPythonのライブラリをKotlinから使いたいのであって、
JavaやKotlinで書かれたものをPythonで呼び出したいのではないと思う。
JythonはPython3に対応するめどもなさそうだし....

221デフォルトの名無しさん2017/05/27(土) 20:22:15.32ID:IRYfzUqY
そうそう、kotlinから直接pythonライブラリ使えたらいいなー、と。それだけ。
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を叩くのが一番楽だと思います

2242202017/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みたいなライブラリのことを
言っているんだと推測。

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への移行をやらず枯れきった性質だと思うぞ

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を評価したのかもしらんし?

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が近い将来どんな具体策を出してくるのか、非常に楽しみである

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で出来るの?

234デフォルトの名無しさん2017/05/28(日) 17:38:26.84ID:9pcvjMzo
できるんでないかな
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種の神器を、最初から持っている、データクラスがある

2362352017/05/28(日) 19:22:45.75ID:QwjzxVOm
>Javaには、Primitive があるけど、
>Kotlinでは、すべてがオブジェクト

実行速度を上げるため、primitiveを使う方法もある

237デフォルトの名無しさん2017/05/28(日) 20:49:50.31ID:ZXIsROaD
途中からJavaとの違いからKotlinの特徴になっててイマイチ、、、

とりあえず、Javaとおなじこと出来るでいいんでね

238デフォルトの名無しさん2017/05/28(日) 23:18:36.68ID:IZz0cLMX
初歩的な質問とかしていい?
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]

新着レスの表示
レスを投稿する