5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

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

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

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

C#erにオススメ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これもC#7.0に欲しいw

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

inlineもscalaとかなり違う?

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

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

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

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

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

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

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

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

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

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

無難にJavaScriptやってみます

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

81 :デフォルトの名無しさん:2016/04/12(火) 14:39:07.24 ID: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.45 ID:9HGJ3JQs
>>81
てことはAndroid N以降はOracleとの訴訟の件は関係ないってことになる?
あと、その考え方だと、kotlinを正式採用の方が現実味あるのかな

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

84 :デフォルトの名無しさん:2016/04/12(火) 21:30:53.05 ID:zxlf4Ltj
>>82
OpenJDKはOracle公認だから、使い方にもよるかも知れないけどGoogleがOracleに責められずにフリーで使える可能性はある。
ただ、Oracleはライセンス料が欲しいわけだからあの手この手で金を要求しようとすると思う。
Swiftよりはkotlinのほうがまだ可能性はあると思うがGoogleがサポートする必要性が薄いとも思う。

85 :デフォルトの名無しさん:2016/04/12(火) 21:35:28.14 ID:ZWvwh7J9
>>83
Androidでscalaは辛いらしい
何が辛いのかよく分からんけど

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

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

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

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

90 :デフォルトの名無しさん:2016/04/16(土) 22:47:26.92 ID:rMj3oXBU
Kotlinってあんまり関数型要素ないだろ
関数型度はJava8と大して変わらん

91 :デフォルトの名無しさん:2016/05/01(日) 10:54:20.06 ID: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.76 ID:eVkfK1tp
話題なさすぎじゃね

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

108 :デフォルトの名無しさん:2017/01/18(水) 21:56:09.40 ID:nmk83e0+
あるオープンソースのコードを呼んでてIDEで飛べないクラスがあって調べたらKotlinを見つけた
どう使い分けるんだろう

109 :デフォルトの名無しさん:2017/01/20(金) 09:01:11.60 ID:fIQqHT5d
>>108
普段はJavaを使っているけど
BigIntegerで数値計算するとか、raw stringでスクリプト生成するときだけ
Kotlinでクラス作成するという用途なら理解できなくもない。

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

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

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

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

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

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

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

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

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

119 :115:2017/04/22(土) 21:58:39.69 ID:8rHjbk1S
>>114
オブジェクトのように「フィールド」に「値」を状態として持つのではなく、
coroutineは「コード上」に「まだ実行されていない処理」を状態として持つから
複雑で分かりにくいんじゃないかなと思いました。

>>116
coroutine自体がステートマシンだと書いてあるものを見たのですが、
ステートマシンが局所化されるモナドのような何か?(わかってない)

120 :デフォルトの名無しさん:2017/04/23(日) 10:19:21.32 ID: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.34 ID:80AWOTNk
ことりん擬人化まだ?

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

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

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

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

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

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

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

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

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

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

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

だって。

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

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

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

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

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

137 :デフォルトの名無しさん:2017/05/18(木) 12:12:50.95 ID:NEKf9u2/
AndroidがKotlinサポートか
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった

https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/

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

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

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

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

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

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

144 :デフォルトの名無しさん:2017/05/18(木) 15:12:54.92 ID: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.59 ID:/Shfsuc2
KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ

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

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

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

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

150 :デフォルトの名無しさん:2017/05/19(金) 08:25:10.64 ID: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.25 ID: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.83 ID:t+9TXaRk
>>70
おめ

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

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

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

156 :デフォルトの名無しさん:2017/05/20(土) 02:32:08.53 ID: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.83 ID:LOC45URm
Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね

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

159 :デフォルトの名無しさん:2017/05/20(土) 19:38:14.41 ID:NqXZxUdZ
Android StudioでのIntelliJ Kotlinプラグインが公式サポートされただけでAndroid System LibにKotlinクラス群が入ったわけじゃないんだよなぁ

>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ

160 :デフォルトの名無しさん:2017/05/20(土) 20:11:09.01 ID:LOC45URm
企業内での使用はGoogle公式かどうかですごい影響あるよ

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

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

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

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

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

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

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

168 :デフォルトの名無しさん:2017/05/21(日) 18:45:53.63 ID: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.09 ID:9L9dm7b/
>>163
C#文法とC#ライブラリを学習するよりは楽そう

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

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

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

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

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

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

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

175 :デフォルトの名無しさん:2017/05/22(月) 06:16:11.80 ID: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.23 ID:fxLikn6a
map を実装する場合、普通は、2種類書く

そのキーが無い場合、
null を返すものと、例外をthrow するもの

nullable になるのは、null を返すもの

177 :デフォルトの名無しさん:2017/05/22(月) 08:34:20.91 ID:7g15jPZv
>>175
VMの方のAPIだよ。
言語の方のAPIだけの問題なら、OpenJDKだけで解決してしまうだろが。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

211 :デフォルトの名無しさん:2017/05/26(金) 11:16:41.50 ID:4K0JCbpq
いぐざくとりいい!

212 :デフォルトの名無しさん:2017/05/26(金) 12:12:06.77 ID:5tQUvAE5
>>209 と、いわれても既存APIにはnullableだらけだからなぁ

213 :デフォルトの名無しさん:2017/05/26(金) 12:28:01.13 ID:Heb9aC5z
そのAPIの中はそれで良いと思う
今後作るAPIについては別に過去をなぞる必要はないとも思うよ

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

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

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

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

217 :デフォルトの名無しさん:2017/05/27(土) 00:39:18.95 ID:IRYfzUqY
tensorflowをサポートするらしいけど、どうせならpython自体を扱えるのを目指してくれたらいいのに

218 :デフォルトの名無しさん:2017/05/27(土) 06:06:26.16 ID:q99eAiGg
ハマったので備忘録程度に。
Kotlin/JSで@JsNameの使いどころは、公式ドキュメントでは
In some cases (for example, to support overloads),
となっているが、引数ありのトップレベル関数はoverloadしていなくても
@JsNameをつけないとトランスパイル後の名前が変えられる模様。

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

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

221 :デフォルトの名無しさん:2017/05/27(土) 20:22:15.32 ID:IRYfzUqY
そうそう、kotlinから直接pythonライブラリ使えたらいいなー、と。それだけ。
JetBrainsならやってくれそうなんじゃないかとw
jython、そうなんだよ、開発止まってない?

222 :デフォルトの名無しさん:2017/05/27(土) 20:26:08.40 ID:IRYfzUqY
>>215 そしてついにはJVMと決別とか

223 :デフォルトの名無しさん:2017/05/27(土) 20:30:57.73 ID: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を叩くのが一番楽だと思います

224 :220:2017/05/28(日) 07:09:50.42 ID: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.63 ID: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.40 ID: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.28 ID:E43+dK8Z
現にFuture plansには入ってるんだよね、Data analysis and Scientific Computingが
どうやって実現する予定なのかはわからんけど

228 :デフォルトの名無しさん:2017/05/28(日) 11:36:02.32 ID:E43+dK8Z
それとも何か?この科学技術計算ターゲットってのは
もしかしてイチからkotlinで科学技術計算ライブラリ
もしくはコミュニティまで作ろうってことなのか?
まさかtensorflowに対応で完結じゃあるまい?w

いずれにせよJBが近い将来どんな具体策を出してくるのか、非常に楽しみである

229 :デフォルトの名無しさん:2017/05/28(日) 12:40:24.58 ID:ZXIsROaD
JVMもPythonも知らない素人だった
相手した二人共これには苦笑い

230 :デフォルトの名無しさん:2017/05/28(日) 14:33:07.68 ID:ew7wH7J4
kotlin見てみたけどこれscalaをオチンポ向けにした言語やな

231 :デフォルトの名無しさん:2017/05/28(日) 15:01:49.36 ID:YXueBn2b
オチンポ向け…

232 :デフォルトの名無しさん:2017/05/28(日) 15:13:25.48 ID:SqJWukL/
>>230
詳しく

233 :デフォルトの名無しさん:2017/05/28(日) 15:22:28.26 ID:asHVM9Q4
全然知らないで書くけど
Javaと同等の事をKotlinで出来るの?

234 :デフォルトの名無しさん:2017/05/28(日) 17:38:26.84 ID:9pcvjMzo
できるんでないかな
Javaの呼び出しもシームレスにできるしな

235 :デフォルトの名無しさん:2017/05/28(日) 19:16:55.76 ID:QwjzxVOm
Kotlin = Scala + Groovy(Rubyも同じ)

Javaでは、nullを除去できない

Javaには、Primitive があるけど、
Kotlinでは、すべてがオブジェクト

Java ←変換可能→ Kotlin

クロージャのデフォルト引数は、it を使う

第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }

toString, equals, hashCode の3種の神器を、最初から持っている、データクラスがある

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

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

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

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

238 :デフォルトの名無しさん:2017/05/28(日) 23:18:36.68 ID:IZz0cLMX
初歩的な質問とかしていい?
ByteArray使いたいときって
val a = byteArrayOf(0x80.toByte(), 0xCA.toByte(), ...)
みたいに.toByte()ってつけなきゃいけないん?慣れるまで見づらいな…

239 :デフォルトの名無しさん:2017/05/28(日) 23:55:52.52 ID:C6P4TIAg
いろいろ考え方はあるのだと思うけども
なにかコレクションがあって、それ全てに何か処理をして返して欲しいときはmapが使える
>>> val array = arrayOf("aaa","bbb","ccc").map{ it.toUpperCase() }
>>> array
[AAA, BBB, CCC]

240 :デフォルトの名無しさん:2017/05/29(月) 23:11:46.19 ID:Vfa09dL5
>>238
Kotlinは通常キャストはされないが、byteはリテラルがないからかリテラルだけは型推論されて、
val bytes = byteArrayOf(0x01, 0x02)
というのは型検査を通る模様。

241 :デフォルトの名無しさん:2017/05/31(水) 22:55:29.26 ID:JH+W+dlz
kotlinでjsってどんな感じ?
typescriptの型情報取り込めると知って
ちょっと気になってきた。
type scriptより関数型が強めだから幸せになれそう

242 :デフォルトの名無しさん:2017/06/01(木) 10:14:24.94 ID:2LgcCNqk
hasteやGHCjsじゃ駄目なん?

243 :デフォルトの名無しさん:2017/06/01(木) 10:55:02.44 ID: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() )

244 :デフォルトの名無しさん:2017/06/01(木) 22:36:13.65 ID:FF0Uww0g
ファイルの整形処理で少しカジッてみたけど、ファイルIOはJavaのAPIと古い?関数と新しい?関数が混在してて、Googleの海をさ迷ったよw
kotlinのsequenceを返すreadLinesが欲しかったんだけど、見つけきれなかったので自作した。
既存であるのかな?

245 :デフォルトの名無しさん:2017/06/01(木) 23:40:24.53 ID:wljaouQ8
lineSequence()とかuseLines()とか?

246 :デフォルトの名無しさん:2017/06/02(金) 22:36:46.10 ID:x3ElWORK
androidアプリってscriptの方で作れますか?
kotlinc -script

247 :デフォルトの名無しさん:2017/06/04(日) 01:46:21.69 ID:MOnNXU8r
ヘイ親方質問
ファイルをShift_JISで保存してもUTF-8で保存しても
fun main(args: Array<String>){
println("日本語です")
}
が特段のオプションなしのkotlincでコンパイル可能で
特段のオプションなしkotlinでWindowsコマンドプロンプトに無事表示可能なんだけども
これはいったいどのへんが気を遣ってくれてるんですかね

56 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)