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

■ このスレッドは過去ログ倉庫に格納されています

Kotlin 3

1 :デフォルトの名無しさん:2018/03/19(月) 04:26:26.03 ID:GqsfT9Tb.net
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/

2 :デフォルトの名無しさん:2018/03/19(月) 04:27:15.39 ID:GqsfT9Tb.net
理由はわからないけど(容量オーバーか何かかな?)前スレがストップしてたので立てたよ。

3 :デフォルトの名無しさん:2018/03/19(月) 04:32:31.34 ID:GqsfT9Tb.net
あ、ごめん。こっちの専ブラが不調で前スレストップしたように見えてただけだ。すまん。
前スレ終わったらこっち使ってくれ。

4 :デフォルトの名無しさん:2018/03/19(月) 15:39:20.13 ID:pEbY2e08.net
ついでだからあと三つくらい立てておいてくれ。

5 :デフォルトの名無しさん:2018/03/19(月) 15:45:21.38 ID:VG+i3OW5.net
>>1はうっかりさんだなあ。
罰としてxamrinライセンス購入だぞ☆

6 :デフォルトの名無しさん:2018/04/02(月) 08:25:53.70 ID:qfW3tNPH.net
オラっとクルクル

7 :デフォルトの名無しさん:2018/04/02(月) 13:26:24.62 ID:IY8Jb2od.net
Kotlinは不滅

8 :デフォルトの名無しさん:2018/04/02(月) 17:30:29.36 ID:Ph0908Uj.net
そろそろJavaの呪縛から逃れて使いやすくしてくれよ
多次元配列作るぐらい簡単にしてくれ
toとか変な構文使うのやめてくれ

9 :デフォルトの名無しさん:2018/04/02(月) 21:10:26.99 ID:rkNCA64G.net
開発環境最新にしたら、activity(getActivity)とかfragment(getFragment)とかがnullableになってるんですが、
これって!!を付けて回らないといけないんですかね

10 :デフォルトの名無しさん:2018/04/02(月) 21:19:24.43 ID:1zn7zSub.net
>>9
getActivity()は、nullになることあるから、!!だと落ちることあるよ。
ただ、Kotlinでのactivityは、変数じゃないから、スマートキャストが効かないという罠があるんで、かっこわるいけど、
activity?.let { activity->
}
とかにしてる。

11 :デフォルトの名無しさん:2018/04/02(月) 21:50:40.62 ID:OOV7t+ws.net
前の前スレ
http://mevius.5ch.net/test/read.cgi/tech/1456505161/

公式サイト
https://kotlinlang.org/
公式ブログ
https://blog.jetbrains.com/kotlin
コードを貼れる所
http://rextester.com/l/kotlin_online_compiler

Google、KotlinをAndroidアプリ開発言語に選定
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/

他に何か貼るものあります?

あと前スレの1000は宣言通りライセンスを買って下さいww

12 :デフォルトの名無しさん:2018/04/02(月) 22:06:03.99 ID:rkNCA64G.net
argumentsもnullableになってるんですが、
val value: Int by lazy { arguments.getInt(Key) }
は、
val value: Int by lazy { arguments?.getInt(Key) ?: -1 }
みたいな感じでしょうか

13 :デフォルトの名無しさん:2018/04/02(月) 22:37:35.05 ID:Pr6o1s5H.net
Oracle「Javaの互換性テストを無視する実装は許さない」

http://www.itmedia.co.jp/enterprise/articles/1008/16/news011_2.html


Google「Androidの互換性テストを無視する実装は許さない」

https://gigazine.net/news/20180327-google-block-uncertified-device/

14 :デフォルトの名無しさん:2018/04/02(月) 22:53:14.02 ID:Pr6o1s5H.net
>>12
!!を付けて回ればとりあえず更新前の開発環境での動作と同じにはなる (nullの場合例外になる動作)

ちゃんと対処するならメソッドの役割りや仕様をどうしたいかによる
それ次第では value: Int? にする選択肢もある

15 :デフォルトの名無しさん:2018/04/02(月) 23:01:11.47 ID:rkNCA64G.net
めんどくせー

16 :デフォルトの名無しさん:2018/04/02(月) 23:06:07.85 ID:rkNCA64G.net
Kotlinめんどくせー

17 :デフォルトの名無しさん:2018/04/03(火) 08:39:04.35 ID:TL+Cqj0B.net
1000 名前:デフォルトの名無しさん [sage] :2018/04/02(月) 11:00:15.69 ID:k9cTFSac
1000ならXamarinのライセンスを1000個買う

18 :デフォルトの名無しさん:2018/04/03(火) 09:36:32.18 ID:PCgATcak.net
オラクルってオラついてんなぁ

19 :デフォルトの名無しさん:2018/04/03(火) 09:36:48.16 ID:Lqpq4yV4.net
なんという愚かな宣言

20 :デフォルトの名無しさん:2018/04/03(火) 10:11:18.76 ID:hXHQ48AK.net
オラなんだかクラクラしてきたぞ

21 :デフォルトの名無しさん:2018/04/03(火) 10:11:52.44 ID:hXHQ48AK.net
クルクルだわ、、、ざまりんのライセンス買って来る

22 :デフォルトの名無しさん:2018/04/03(火) 10:45:34.33 ID:PCgATcak.net
どんまい

23 :デフォルトの名無しさん:2018/04/03(火) 12:26:46.93 ID:TORpZXhc.net
k9cTFSac は領収書upな
>1000ならXamarinのライセンスを1000個買う

24 :デフォルトの名無しさん:2018/04/03(火) 16:43:12.37 ID:uRQ9gZg0.net
小鳥んとSwift比べたら、断然小鳥んの方が書きやすいように思う
反論あれば言ってくれ

25 :デフォルトの名無しさん:2018/04/03(火) 17:04:24.03 ID:AQIroF1J.net
どっちもどっち

26 :デフォルトの名無しさん:2018/04/03(火) 18:34:30.53 ID:9lrj/vMM.net
言語自体には断然っていうほど違いはないんじゃね。
個人的にはスイーフトンはメモリのことなど意識する必要があるのがイケてないと思う。

27 :デフォルトの名無しさん:2018/04/03(火) 19:04:02.27 ID:ug4XFV5T.net
メモリを意識しないプログラマって、、

28 :デフォルトの名無しさん:2018/04/03(火) 19:24:24.09 ID:bD+hWL4a.net
うすいふとん

29 :デフォルトの名無しさん:2018/04/03(火) 20:54:46.49 ID:TORpZXhc.net
只の大名プログラマ

30 :デフォルトの名無しさん:2018/04/03(火) 20:58:38.50 ID:9fBBQ8bl.net
ガベコレは甘え

31 :デフォルトの名無しさん:2018/04/03(火) 21:04:24.12 ID:0PMfvRfe.net
そういや Java 10 が出てて、それで kotlinc 動かしたら警告出なかったよ。
その他の動作まで全て意図した通りになるかどうかは知らないが。

32 :デフォルトの名無しさん:2018/04/03(火) 21:08:49.35 ID:bD+hWL4a.net
ハロワ書くまでにすら依存性に悩まなければならない。でもそれが、KotlinをはじめとするJVM言語なんだよね!

33 :デフォルトの名無しさん:2018/04/03(火) 21:14:54.14 ID:9lrj/vMM.net
いや俺の言いたいのはそういうことじゃなくて、、
まあいいや、めんどいからXamarinでもいじって来る

34 :デフォルトの名無しさん:2018/04/03(火) 21:19:08.36 ID:0PMfvRfe.net
そういや Kotlin ネイティブはガベコレをどうするつもりだろう?
特定のライブラリ使った場合のみ使われるようにするのかな?

35 :デフォルトの名無しさん:2018/04/03(火) 21:56:35.11 ID:lqJEQzfT.net
なぜネイティブだとガベコレ使えないと思ったのか

36 :デフォルトの名無しさん:2018/04/04(水) 00:56:40.14 ID:Ssb/YhXn.net
>>35
使えないとは思ってない。特定のライブラリを経由するなら使えるようにするのかなって話だよ。
というのは用途によってはない方が良いだろうから。ありもなしも選択可能な方が良かろう。

37 :デフォルトの名無しさん:2018/04/04(水) 01:11:38.82 ID:TYVvVSdZ.net
ガベコレ使わないでどうやってメモリ開放すんの?

38 :デフォルトの名無しさん:2018/04/04(水) 01:12:46.64 ID:Ssb/YhXn.net
>>37
自分で確保して自分で開放

39 :デフォルトの名無しさん:2018/04/04(水) 01:40:57.61 ID:TYVvVSdZ.net
Kotlinで出来るの?

40 :デフォルトの名無しさん:2018/04/04(水) 01:50:39.35 ID:Ssb/YhXn.net
>>39
知らん。ただネイティブ作るならライブラリも全部作ることになるだろうからどちらもできるようには作れるのでは?

41 :デフォルトの名無しさん:2018/04/04(水) 07:28:37.61 ID:Hvr9boJ9.net
例えばiOSだとネイティブの機能を使うのに参照カウンタの操作がどうしても必要になる場面はありそうだしな
そこらへんはどう実現するんだろ

42 :デフォルトの名無しさん:2018/04/04(水) 23:27:54.77 ID:XfUZpDwn.net
Android Studio 3.1糞じゃね
3.0落としなおしたわ

43 :デフォルトの名無しさん:2018/04/05(木) 02:54:06.10 ID:CnWKlu9c.net
どした?

44 :デフォルトの名無しさん:2018/04/05(木) 11:16:56.30 ID:ijREJbSY.net
>>25に同意だけどif-letとかちょいちょいKotlinにも欲しいのがある

//Kotlin
val view = this.view
if(view != null){
  //スマートキャストによりローカル変数viewはNotNull
  view.xxx()
}

//Swift
if let view = self.view {
  //if-let文によりローカル変数viewはNotNull
  view.xxx()
}

45 :デフォルトの名無しさん:2018/04/05(木) 12:05:32.90 ID:QMABEGAS.net
>>44
それ Kotlin の方が可読性高くないか?

46 :デフォルトの名無しさん:2018/04/05(木) 12:30:39.34 ID:ijREJbSY.net
それは多分慣れによる感覚だと思う

47 :デフォルトの名無しさん:2018/04/05(木) 12:45:12.79 ID:QMABEGAS.net
慣れてない人が難なく読める方が可読性高いように思うが

48 :デフォルトの名無しさん:2018/04/05(木) 13:25:25.88 ID:eBDNZqoD.net
スマートキャストも慣れてないと分かりにくいだろ
え?どこで型変わったの?ってなる

49 :デフォルトの名無しさん:2018/04/05(木) 13:56:32.70 ID:X8omI5BP.net
好みの問題だろうけど、if let よりもエルビス先生使ってnullならreturnしてあげる方がブロック使わずに済むから好き

50 :デフォルトの名無しさん:2018/04/05(木) 14:00:26.50 ID:4/KLEP7M.net
if let もまぁ、悪くない

51 :デフォルトの名無しさん:2018/04/05(木) 14:41:15.64 ID:WysB+nKW.net
せっかくkotlin使うなら
view?.xxx()
じゃいかんのけ

52 :デフォルトの名無しさん:2018/04/05(木) 16:43:37.59 ID:OPUn+1v1.net
>>48
まあそれはあるかも知れんけどね。

そういやこないだプロパティに対してスマートキャスト掛からなくて何故だか悩んだなあ。
変数のように見えても実はgetter呼んでるだけだから使えないと気づくまでに時間が掛かった。

53 :デフォルトの名無しさん:2018/04/05(木) 18:36:31.28 ID:O1QaKdYC.net
>>42
ビルド中なぜか失敗してbuild suspendedぐるぐる状態になることがある。その場合、invalidateしてもふっかつせず、buildフォルダやiml、.ideaを全消ししたら復活した

54 :デフォルトの名無しさん:2018/04/05(木) 18:57:56.71 ID:0rzPVZzj.net
IntelliJファミリーのIDEは時々お茶目な動きするからな
基本的にはウダウダ悩むよりも.ideaフォルダを消してしまうのが手っ取り早い

55 :デフォルトの名無しさん:2018/04/05(木) 20:20:20.97 ID:/L5N4re0.net
ことりんにぬるぽしてもガッ!されないとか聞いたのですがほんとうですか?

56 :デフォルトの名無しさん:2018/04/05(木) 20:41:45.40 ID:o4pi/oAy.net
君の言いたいことがよくわからない

57 :デフォルトの名無しさん:2018/04/05(木) 20:50:48.59 ID:jKyTTvXT.net
ことりんたんはそもそもぬるぽさせてくれないから

58 :デフォルトの名無しさん:2018/04/05(木) 22:03:42.80 ID:n92OBaDH.net
>>55
ガッ!されないのは一番最悪じゃん
ヌルポしないプログラムを強制されるのが肝だからね

59 :デフォルトの名無しさん:2018/04/07(土) 03:05:56.74 ID:KR5vaEuN.net
こっとりん

60 :デフォルトの名無しさん:2018/04/07(土) 03:37:11.16 ID:SrnxjvJ5.net
try{
  ・・・
}catch{}

61 :デフォルトの名無しさん:2018/04/07(土) 22:33:35.28 ID:mDl6Ajx7.net
JVM最強って何?ってここで聞けばKotlinか

62 :デフォルトの名無しさん:2018/04/08(日) 08:49:46.55 ID:iYd8ya2H.net
ScalaかKotlinだろうね

63 :デフォルトの名無しさん:2018/04/08(日) 08:52:00.69 ID:D3gITJpj.net
IBM J9 VM でしょう

64 :デフォルトの名無しさん:2018/04/08(日) 11:38:53.04 ID:WafpiTuB.net
KotlinってAnnotation周りバグあんの?
このライブラリがKotlinに対応できない理由として
KotlinがTYPE_USEとAnnotatedTypeを正しく生成できないバグがある事を上げている

Kotlinのプロパティに使われた場合、取得を試みる事すら出来ないって

https://github.com/leangen/graphql-spqr/issues/72

2年も放置してるってJetBrainsはやる気あんの

65 :デフォルトの名無しさん:2018/04/08(日) 14:11:45.21 ID:V+CLr0J7.net
やる気はそこそこある

66 :デフォルトの名無しさん:2018/04/08(日) 14:52:39.35 ID:vRCA8+Ww.net
>>64
ねぇねぇ今日は何処へ逝こうかな〜

67 :デフォルトの名無しさん:2018/04/08(日) 23:25:42.76 ID:H1AjLXag.net
>>63
正直1種類のハードに複数のJVMを実装する労力があるんだったら、
iOSなどJVMがないハードのJVM実装をやってほしい。

68 :デフォルトの名無しさん:2018/04/10(火) 09:09:52.27 ID:FWUcHiU9.net
やっぱりAndroid Studio3.1はバグってたぽいな
ttps://twitter.com/androidstudio/status/981914632892960768?s=19

69 :デフォルトの名無しさん:2018/04/10(火) 09:28:36.42 ID:QszwCQ/m.net
>>68
3.2のリリースで修正するのかな。

70 :デフォルトの名無しさん:2018/04/10(火) 09:57:02.12 ID:wPoJQnkn.net
>>69
英語読めないにも程があるだろw

71 :デフォルトの名無しさん:2018/04/10(火) 10:00:47.33 ID:k9sOatix.net
きっと考えずに感じているのだろう

72 :デフォルトの名無しさん:2018/04/10(火) 11:22:17.33 ID:E5ZirCDm.net
チンコってこと?

73 :デフォルトの名無しさん:2018/04/10(火) 14:32:03.26 ID:XebqkUb1.net
フランクフルト食べたくなってきたな

74 :デフォルトの名無しさん:2018/04/14(土) 22:08:57.89 ID:cCkTqJd9.net
アノテーションの一部にバグあっても
殆ど使わない機能から放置で問題ないと思ってるのか

75 :デフォルトの名無しさん:2018/04/15(日) 06:32:55.50 ID:FkvW6Fij.net
JVMのリリースサイクルが半年になったけど、KotlinのターゲットJVMは
どれくらいの期間にリリースされた分がサポートされるようになるんだろうか。
対応している間に次のJVMに移行しないといけなくなりそう。

>>74
GoogleがAndroidの公式言語に採用した時点で、もうゴールしてもいいよねと思ったかも。

76 :デフォルトの名無しさん:2018/04/15(日) 11:30:32.41 ID:M6/04EqY.net
>>75
それな。
jetbrainsは収益構図を描けてるのか甚だ疑問。
kotlinの進化を続けられるのか…

77 :デフォルトの名無しさん:2018/04/15(日) 13:05:54.96 ID:xSDE802f.net
代わりにScalaでも使うか

78 :デフォルトの名無しさん:2018/04/16(月) 09:14:00.97 ID:h6scVdPk.net
>>75
JVMそのものの後方互換性は中々失われないだろうから結構持つのでは?
古過ぎると金払ってもOracleがサボートしてくれなくなるだけで。

79 :デフォルトの名無しさん:2018/04/16(月) 09:16:08.05 ID:2NsZPU4A.net
>>76
Jetbrainsがまず自分で使うでしょ

80 :デフォルトの名無しさん:2018/04/16(月) 10:30:25.23 ID:fq0UvUSv.net
Oracleはサポート止めたりしないでしょ。只、来年から
サポート料うん倍にするだけで。

2010年のEBSに続いて今回のDB。信用されなくなるわな

81 :デフォルトの名無しさん:2018/04/16(月) 22:39:13.21 ID:p9NCCgjB.net
OpenJDK 11はLTSにならないの?
.NET Coreに鞍替えするか

82 :デフォルトの名無しさん:2018/04/17(火) 00:05:53.38 ID:PLUhgBvu.net
最新のJDKを追ってる人はどういう用途で使ってるんだろう

83 :デフォルトの名無しさん:2018/04/17(火) 02:03:15.43 ID:zXGef27d.net
WebLogicとかじゃね?
バージョン指定がとても細かい

84 :デフォルトの名無しさん:2018/04/17(火) 07:38:46.72 ID:7FAWj+l4.net
バージョン指定が細かいとJDK使うメリットが7割くらい失われる気がする

85 :デフォルトの名無しさん:2018/04/17(火) 08:18:06.17 ID:aRCmpaPT.net
AdoptOpenJDKって非営利組織がOracleJDKのLTS版のセキュリティフィックスをOpenJDKにバックポートするって言ってるらしい

金が無い人はこっち使えば良いって事?

86 :デフォルトの名無しさん:2018/04/17(火) 09:34:35.51 ID:62PxzEoZ.net
OpenJDKも数バージョンおきにLTSするようになる方向って話だけど、それとは違うのか

87 :デフォルトの名無しさん:2018/04/17(火) 21:49:50.98 ID:PLUhgBvu.net
サーバーサイドとAndroidで広義でのJava8環境使ってるけど
正直Java6相当だとしてもさほど困る気がしない

Javaプラグインとかだとセキュリティパッチが必須とはいえ
そもそも脆弱性の源泉みたいなもの使うこと自体を考え直すべきだし

88 :デフォルトの名無しさん:2018/04/18(水) 15:04:30.79 ID:/G3sIaot.net
kotlinはかなりいいが、androidStudioがまだ対応しきれてないな
Javaだとsuperクラスを指定してクラスを作れるのにできないし、
必要なコンストラクタも自動で記述してくれない

89 :デフォルトの名無しさん:2018/04/19(木) 02:53:40.04 ID:pMMi2n6U.net
俺は今のところ言語そのものを覚えようとしている段階なので vi で作って動かしてるよ。(GUIなしでLinuxでな)

90 :デフォルトの名無しさん:2018/04/19(木) 07:23:47.68 ID:kIK3R/E/.net
学習するにしても補完のきくIDEの方が効率よくないか

91 :デフォルトの名無しさん:2018/04/19(木) 08:03:30.60 ID:iqFLHzMR.net
覚えなくていいことを覚える自己満なんだからほっといてやれよ

92 :デフォルトの名無しさん:2018/04/19(木) 08:40:10.40 ID:pMMi2n6U.net
>>90
そう?起動が遅くて重くて全部英語でなおかつIDEそのものの使い方も調べないといけなくなって何とも言えないんだけど。
それと、開発効率は今のところ上がらなくて良い。学習中なので大規模なのを作る必要性もないしね。そのうちやるかも知れないが。

>>91
こちらとしてはこの方が新たに覚えることがほとんど言語のみになって楽なんだよ。動作も軽いしね。Linuxやviは何十年も前から仕事でも趣味でも使っててそちらで新たに覚えなきゃいけないことは特にないの。

93 :デフォルトの名無しさん:2018/04/19(木) 08:53:26.81 ID:oehSBWiO.net
ああおっさんか、それなら好きにすりゃいいよ。
新卒がそんな非効率なことやってたら優しく丁寧に指導するところだが。

94 :デフォルトの名無しさん:2018/04/19(木) 09:23:28.03 ID:D3umLQ7k.net
vimでも設定すれば補完できるだろ

95 :デフォルトの名無しさん:2018/04/19(木) 10:01:19.16 ID:sb7/L74v.net
intellJ使うと、Kotlinらしくないコードにワーニングがつくから、その言語の文化を学ぶのに適切なんだけどね。
Javaを直訳したようなコードでも、コンパイルはとおるから。
プログラミング言語を学ぶってのは、文化込みだと思うので、IDEを使うことを勧めるね。その辺をわかってくれない、Vimerとかemacsenとか多いけど。

96 :デフォルトの名無しさん:2018/04/19(木) 10:06:09.68 ID:D3umLQ7k.net
またJetBrainsの回し者か

97 :デフォルトの名無しさん:2018/04/19(木) 10:53:56.62 ID:0BZGhqme.net
そもそも言語作ってるのがJBなんだから回し者も何もないような

98 :デフォルトの名無しさん:2018/04/19(木) 11:26:59.14 ID:g+DPpgPU.net
俺も最初はTryKotlinでやってたけど補完してくれないので効率悪くて、
AndroidStudioでやったほうが、重くても効率が良いとわかって移行した
まあ、言語そのものを触るのなんて3日で終わるだろうから、
最初からIDEにしといたほうが慣れていいと思うけどね

99 :デフォルトの名無しさん:2018/04/19(木) 11:29:02.13 ID:vIwvdP1E.net
IDEが誤解されてるというより、vimが誤解されてる気がするわ
設定したらIDEと変わらんし設定も簡単

と、どっちも使う人間は思う

100 :デフォルトの名無しさん:2018/04/19(木) 11:30:37.05 ID:vIwvdP1E.net
ただkotlinはintellijが良いよ

総レス数 1003
205 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★