Kotlin 3

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/03/19(月) 04:26:26.03ID:GqsfT9Tb
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/
2デフォルトの名無しさん
垢版 |
2018/03/19(月) 04:27:15.39ID:GqsfT9Tb
理由はわからないけど(容量オーバーか何かかな?)前スレがストップしてたので立てたよ。
2018/03/19(月) 04:32:31.34ID:GqsfT9Tb
あ、ごめん。こっちの専ブラが不調で前スレストップしたように見えてただけだ。すまん。
前スレ終わったらこっち使ってくれ。
4デフォルトの名無しさん
垢版 |
2018/03/19(月) 15:39:20.13ID:pEbY2e08
ついでだからあと三つくらい立てておいてくれ。
2018/03/19(月) 15:45:21.38ID:VG+i3OW5
>>1はうっかりさんだなあ。
罰としてxamrinライセンス購入だぞ☆
2018/04/02(月) 08:25:53.70ID:qfW3tNPH
オラっとクルクル
7デフォルトの名無しさん
垢版 |
2018/04/02(月) 13:26:24.62ID:IY8Jb2od
Kotlinは不滅
2018/04/02(月) 17:30:29.36ID:Ph0908Uj
そろそろJavaの呪縛から逃れて使いやすくしてくれよ
多次元配列作るぐらい簡単にしてくれ
toとか変な構文使うのやめてくれ
2018/04/02(月) 21:10:26.99ID:rkNCA64G
開発環境最新にしたら、activity(getActivity)とかfragment(getFragment)とかがnullableになってるんですが、
これって!!を付けて回らないといけないんですかね
2018/04/02(月) 21:19:24.43ID:1zn7zSub
>>9
getActivity()は、nullになることあるから、!!だと落ちることあるよ。
ただ、Kotlinでのactivityは、変数じゃないから、スマートキャストが効かないという罠があるんで、かっこわるいけど、
activity?.let { activity->
}
とかにしてる。
2018/04/02(月) 21:50:40.62ID:OOV7t+ws
前の前スレ
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
2018/04/02(月) 22:06:03.99ID:rkNCA64G
argumentsもnullableになってるんですが、
val value: Int by lazy { arguments.getInt(Key) }
は、
val value: Int by lazy { arguments?.getInt(Key) ?: -1 }
みたいな感じでしょうか
2018/04/02(月) 22:37:35.05ID:Pr6o1s5H
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/
2018/04/02(月) 22:53:14.02ID:Pr6o1s5H
>>12
!!を付けて回ればとりあえず更新前の開発環境での動作と同じにはなる (nullの場合例外になる動作)

ちゃんと対処するならメソッドの役割りや仕様をどうしたいかによる
それ次第では value: Int? にする選択肢もある
2018/04/02(月) 23:01:11.47ID:rkNCA64G
めんどくせー
2018/04/02(月) 23:06:07.85ID:rkNCA64G
Kotlinめんどくせー
2018/04/03(火) 08:39:04.35ID:TL+Cqj0B
1000 名前:デフォルトの名無しさん [sage] :2018/04/02(月) 11:00:15.69 ID:k9cTFSac
1000ならXamarinのライセンスを1000個買う
2018/04/03(火) 09:36:32.18ID:PCgATcak
オラクルってオラついてんなぁ
19デフォルトの名無しさん
垢版 |
2018/04/03(火) 09:36:48.16ID:Lqpq4yV4
なんという愚かな宣言
2018/04/03(火) 10:11:18.76ID:hXHQ48AK
オラなんだかクラクラしてきたぞ
2018/04/03(火) 10:11:52.44ID:hXHQ48AK
クルクルだわ、、、ざまりんのライセンス買って来る
2018/04/03(火) 10:45:34.33ID:PCgATcak
どんまい
2018/04/03(火) 12:26:46.93ID:TORpZXhc
k9cTFSac は領収書upな
>1000ならXamarinのライセンスを1000個買う
2018/04/03(火) 16:43:12.37ID:uRQ9gZg0
小鳥んとSwift比べたら、断然小鳥んの方が書きやすいように思う
反論あれば言ってくれ
2018/04/03(火) 17:04:24.03ID:AQIroF1J
どっちもどっち
2018/04/03(火) 18:34:30.53ID:9lrj/vMM
言語自体には断然っていうほど違いはないんじゃね。
個人的にはスイーフトンはメモリのことなど意識する必要があるのがイケてないと思う。
2018/04/03(火) 19:04:02.27ID:ug4XFV5T
メモリを意識しないプログラマって、、
2018/04/03(火) 19:24:24.09ID:bD+hWL4a
うすいふとん
2018/04/03(火) 20:54:46.49ID:TORpZXhc
只の大名プログラマ
2018/04/03(火) 20:58:38.50ID:9fBBQ8bl
ガベコレは甘え
2018/04/03(火) 21:04:24.12ID:0PMfvRfe
そういや Java 10 が出てて、それで kotlinc 動かしたら警告出なかったよ。
その他の動作まで全て意図した通りになるかどうかは知らないが。
2018/04/03(火) 21:08:49.35ID:bD+hWL4a
ハロワ書くまでにすら依存性に悩まなければならない。でもそれが、KotlinをはじめとするJVM言語なんだよね!
2018/04/03(火) 21:14:54.14ID:9lrj/vMM
いや俺の言いたいのはそういうことじゃなくて、、
まあいいや、めんどいからXamarinでもいじって来る
2018/04/03(火) 21:19:08.36ID:0PMfvRfe
そういや Kotlin ネイティブはガベコレをどうするつもりだろう?
特定のライブラリ使った場合のみ使われるようにするのかな?
2018/04/03(火) 21:56:35.11ID:lqJEQzfT
なぜネイティブだとガベコレ使えないと思ったのか
2018/04/04(水) 00:56:40.14ID:Ssb/YhXn
>>35
使えないとは思ってない。特定のライブラリを経由するなら使えるようにするのかなって話だよ。
というのは用途によってはない方が良いだろうから。ありもなしも選択可能な方が良かろう。
2018/04/04(水) 01:11:38.82ID:TYVvVSdZ
ガベコレ使わないでどうやってメモリ開放すんの?
38デフォルトの名無しさん
垢版 |
2018/04/04(水) 01:12:46.64ID:Ssb/YhXn
>>37
自分で確保して自分で開放
2018/04/04(水) 01:40:57.61ID:TYVvVSdZ
Kotlinで出来るの?
2018/04/04(水) 01:50:39.35ID:Ssb/YhXn
>>39
知らん。ただネイティブ作るならライブラリも全部作ることになるだろうからどちらもできるようには作れるのでは?
2018/04/04(水) 07:28:37.61ID:Hvr9boJ9
例えばiOSだとネイティブの機能を使うのに参照カウンタの操作がどうしても必要になる場面はありそうだしな
そこらへんはどう実現するんだろ
2018/04/04(水) 23:27:54.77ID:XfUZpDwn
Android Studio 3.1糞じゃね
3.0落としなおしたわ
2018/04/05(木) 02:54:06.10ID:CnWKlu9c
どした?
2018/04/05(木) 11:16:56.30ID:ijREJbSY
>>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.90ID:QMABEGAS
>>44
それ Kotlin の方が可読性高くないか?
2018/04/05(木) 12:30:39.34ID:ijREJbSY
それは多分慣れによる感覚だと思う
47デフォルトの名無しさん
垢版 |
2018/04/05(木) 12:45:12.79ID:QMABEGAS
慣れてない人が難なく読める方が可読性高いように思うが
2018/04/05(木) 13:25:25.88ID:eBDNZqoD
スマートキャストも慣れてないと分かりにくいだろ
え?どこで型変わったの?ってなる
2018/04/05(木) 13:56:32.70ID:X8omI5BP
好みの問題だろうけど、if let よりもエルビス先生使ってnullならreturnしてあげる方がブロック使わずに済むから好き
2018/04/05(木) 14:00:26.50ID:4/KLEP7M
if let もまぁ、悪くない
2018/04/05(木) 14:41:15.64ID:WysB+nKW
せっかくkotlin使うなら
view?.xxx()
じゃいかんのけ
52デフォルトの名無しさん
垢版 |
2018/04/05(木) 16:43:37.59ID:OPUn+1v1
>>48
まあそれはあるかも知れんけどね。

そういやこないだプロパティに対してスマートキャスト掛からなくて何故だか悩んだなあ。
変数のように見えても実はgetter呼んでるだけだから使えないと気づくまでに時間が掛かった。
2018/04/05(木) 18:36:31.28ID:O1QaKdYC
>>42
ビルド中なぜか失敗してbuild suspendedぐるぐる状態になることがある。その場合、invalidateしてもふっかつせず、buildフォルダやiml、.ideaを全消ししたら復活した
2018/04/05(木) 18:57:56.71ID:0rzPVZzj
IntelliJファミリーのIDEは時々お茶目な動きするからな
基本的にはウダウダ悩むよりも.ideaフォルダを消してしまうのが手っ取り早い
2018/04/05(木) 20:20:20.97ID:/L5N4re0
ことりんにぬるぽしてもガッ!されないとか聞いたのですがほんとうですか?
56デフォルトの名無しさん
垢版 |
2018/04/05(木) 20:41:45.40ID:o4pi/oAy
君の言いたいことがよくわからない
2018/04/05(木) 20:50:48.59ID:jKyTTvXT
ことりんたんはそもそもぬるぽさせてくれないから
2018/04/05(木) 22:03:42.80ID:n92OBaDH
>>55
ガッ!されないのは一番最悪じゃん
ヌルポしないプログラムを強制されるのが肝だからね
2018/04/07(土) 03:05:56.74ID:KR5vaEuN
こっとりん
2018/04/07(土) 03:37:11.16ID:SrnxjvJ5
try{
  ・・・
}catch{}
2018/04/07(土) 22:33:35.28ID:mDl6Ajx7
JVM最強って何?ってここで聞けばKotlinか
2018/04/08(日) 08:49:46.55ID:iYd8ya2H
ScalaかKotlinだろうね
2018/04/08(日) 08:52:00.69ID:D3gITJpj
IBM J9 VM でしょう
64デフォルトの名無しさん
垢版 |
2018/04/08(日) 11:38:53.04ID:WafpiTuB
KotlinってAnnotation周りバグあんの?
このライブラリがKotlinに対応できない理由として
KotlinがTYPE_USEとAnnotatedTypeを正しく生成できないバグがある事を上げている

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

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

2年も放置してるってJetBrainsはやる気あんの
2018/04/08(日) 14:11:45.21ID:V+CLr0J7
やる気はそこそこある
2018/04/08(日) 14:52:39.35ID:vRCA8+Ww
>>64
ねぇねぇ今日は何処へ逝こうかな〜
2018/04/08(日) 23:25:42.76ID:H1AjLXag
>>63
正直1種類のハードに複数のJVMを実装する労力があるんだったら、
iOSなどJVMがないハードのJVM実装をやってほしい。
2018/04/10(火) 09:09:52.27ID:FWUcHiU9
やっぱりAndroid Studio3.1はバグってたぽいな
ttps://twitter.com/androidstudio/status/981914632892960768?s=19
2018/04/10(火) 09:28:36.42ID:QszwCQ/m
>>68
3.2のリリースで修正するのかな。
2018/04/10(火) 09:57:02.12ID:wPoJQnkn
>>69
英語読めないにも程があるだろw
71デフォルトの名無しさん
垢版 |
2018/04/10(火) 10:00:47.33ID:k9sOatix
きっと考えずに感じているのだろう
2018/04/10(火) 11:22:17.33ID:E5ZirCDm
チンコってこと?
2018/04/10(火) 14:32:03.26ID:XebqkUb1
フランクフルト食べたくなってきたな
74デフォルトの名無しさん
垢版 |
2018/04/14(土) 22:08:57.89ID:cCkTqJd9
アノテーションの一部にバグあっても
殆ど使わない機能から放置で問題ないと思ってるのか
2018/04/15(日) 06:32:55.50ID:FkvW6Fij
JVMのリリースサイクルが半年になったけど、KotlinのターゲットJVMは
どれくらいの期間にリリースされた分がサポートされるようになるんだろうか。
対応している間に次のJVMに移行しないといけなくなりそう。

>>74
GoogleがAndroidの公式言語に採用した時点で、もうゴールしてもいいよねと思ったかも。
2018/04/15(日) 11:30:32.41ID:M6/04EqY
>>75
それな。
jetbrainsは収益構図を描けてるのか甚だ疑問。
kotlinの進化を続けられるのか…
77デフォルトの名無しさん
垢版 |
2018/04/15(日) 13:05:54.96ID:xSDE802f
代わりにScalaでも使うか
78デフォルトの名無しさん
垢版 |
2018/04/16(月) 09:14:00.97ID:h6scVdPk
>>75
JVMそのものの後方互換性は中々失われないだろうから結構持つのでは?
古過ぎると金払ってもOracleがサボートしてくれなくなるだけで。
2018/04/16(月) 09:16:08.05ID:2NsZPU4A
>>76
Jetbrainsがまず自分で使うでしょ
2018/04/16(月) 10:30:25.23ID:fq0UvUSv
Oracleはサポート止めたりしないでしょ。只、来年から
サポート料うん倍にするだけで。

2010年のEBSに続いて今回のDB。信用されなくなるわな
81デフォルトの名無しさん
垢版 |
2018/04/16(月) 22:39:13.21ID:p9NCCgjB
OpenJDK 11はLTSにならないの?
.NET Coreに鞍替えするか
2018/04/17(火) 00:05:53.38ID:PLUhgBvu
最新のJDKを追ってる人はどういう用途で使ってるんだろう
2018/04/17(火) 02:03:15.43ID:zXGef27d
WebLogicとかじゃね?
バージョン指定がとても細かい
2018/04/17(火) 07:38:46.72ID:7FAWj+l4
バージョン指定が細かいとJDK使うメリットが7割くらい失われる気がする
85デフォルトの名無しさん
垢版 |
2018/04/17(火) 08:18:06.17ID:aRCmpaPT
AdoptOpenJDKって非営利組織がOracleJDKのLTS版のセキュリティフィックスをOpenJDKにバックポートするって言ってるらしい

金が無い人はこっち使えば良いって事?
2018/04/17(火) 09:34:35.51ID:62PxzEoZ
OpenJDKも数バージョンおきにLTSするようになる方向って話だけど、それとは違うのか
2018/04/17(火) 21:49:50.98ID:PLUhgBvu
サーバーサイドとAndroidで広義でのJava8環境使ってるけど
正直Java6相当だとしてもさほど困る気がしない

Javaプラグインとかだとセキュリティパッチが必須とはいえ
そもそも脆弱性の源泉みたいなもの使うこと自体を考え直すべきだし
2018/04/18(水) 15:04:30.79ID:/G3sIaot
kotlinはかなりいいが、androidStudioがまだ対応しきれてないな
Javaだとsuperクラスを指定してクラスを作れるのにできないし、
必要なコンストラクタも自動で記述してくれない
89デフォルトの名無しさん
垢版 |
2018/04/19(木) 02:53:40.04ID:pMMi2n6U
俺は今のところ言語そのものを覚えようとしている段階なので vi で作って動かしてるよ。(GUIなしでLinuxでな)
2018/04/19(木) 07:23:47.68ID:kIK3R/E/
学習するにしても補完のきくIDEの方が効率よくないか
2018/04/19(木) 08:03:30.60ID:iqFLHzMR
覚えなくていいことを覚える自己満なんだからほっといてやれよ
92デフォルトの名無しさん
垢版 |
2018/04/19(木) 08:40:10.40ID:pMMi2n6U
>>90
そう?起動が遅くて重くて全部英語でなおかつIDEそのものの使い方も調べないといけなくなって何とも言えないんだけど。
それと、開発効率は今のところ上がらなくて良い。学習中なので大規模なのを作る必要性もないしね。そのうちやるかも知れないが。

>>91
こちらとしてはこの方が新たに覚えることがほとんど言語のみになって楽なんだよ。動作も軽いしね。Linuxやviは何十年も前から仕事でも趣味でも使っててそちらで新たに覚えなきゃいけないことは特にないの。
2018/04/19(木) 08:53:26.81ID:oehSBWiO
ああおっさんか、それなら好きにすりゃいいよ。
新卒がそんな非効率なことやってたら優しく丁寧に指導するところだが。
2018/04/19(木) 09:23:28.03ID:D3umLQ7k
vimでも設定すれば補完できるだろ
2018/04/19(木) 10:01:19.16ID:sb7/L74v
intellJ使うと、Kotlinらしくないコードにワーニングがつくから、その言語の文化を学ぶのに適切なんだけどね。
Javaを直訳したようなコードでも、コンパイルはとおるから。
プログラミング言語を学ぶってのは、文化込みだと思うので、IDEを使うことを勧めるね。その辺をわかってくれない、Vimerとかemacsenとか多いけど。
2018/04/19(木) 10:06:09.68ID:D3umLQ7k
またJetBrainsの回し者か
2018/04/19(木) 10:53:56.62ID:0BZGhqme
そもそも言語作ってるのがJBなんだから回し者も何もないような
2018/04/19(木) 11:26:59.14ID:g+DPpgPU
俺も最初はTryKotlinでやってたけど補完してくれないので効率悪くて、
AndroidStudioでやったほうが、重くても効率が良いとわかって移行した
まあ、言語そのものを触るのなんて3日で終わるだろうから、
最初からIDEにしといたほうが慣れていいと思うけどね
2018/04/19(木) 11:29:02.13ID:vIwvdP1E
IDEが誤解されてるというより、vimが誤解されてる気がするわ
設定したらIDEと変わらんし設定も簡単

と、どっちも使う人間は思う
2018/04/19(木) 11:30:37.05ID:vIwvdP1E
ただkotlinはintellijが良いよ
2018/04/19(木) 12:15:48.02ID:P2Ts8AHc
俺もVim好きだけどIDEと変わらんはさすがに言いすぎ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況