X



Kotlin 2
■ このスレッドは過去ログ倉庫に格納されています
0551デフォルトの名無しさん
垢版 |
2018/02/14(水) 18:38:51.02ID:8PtXrtN7
なんだかんだで膨大のJavaのライブラリとそれらのノウハウを使えるってのが大きいわな
0552デフォルトの名無しさん
垢版 |
2018/02/14(水) 19:57:38.83ID:oF080CGK
Javaの腐ったライブラリよりC#の洗練されたライブラリの方が有り難いんだけど
0556デフォルトの名無しさん
垢版 |
2018/02/15(木) 12:27:28.16ID:GqN6d9KA
イミフ
0558デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:18:01.31ID:CMBfD/sb
COBOLとは全然状況違うよな
分散処理のフレームワークとかミドルとか活発に開発されてるし
言語としては最先端ではないかもしれないけど、逆に最先端の言語でも優れたプロダクトを生み出してないなら大して存在価値ないし
0560デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:54:22.05ID:skblyvdp
JavaVMの上でCOBOLが動くようになったりして・・・
0564デフォルトの名無しさん
垢版 |
2018/02/15(木) 22:34:41.26ID:2kJoQloU
>>560
いつだか覚えていないくらい昔にマジメにそれを開発しようとしてた会社があったような
COBOLしか書けないおじさんを救済するためだけの代物ですぐ頓挫したけど
0565デフォルトの名無しさん
垢版 |
2018/02/15(木) 22:40:34.93ID:2kJoQloU
まあでも確かにJava言語は使われなくなっていくだろうね。
うちもJavaで作ってるシステムの機能追加なんかはkotlinでやってるし、JVMで動かすのが要件な新規のプログラムももうほぼkotlinに移行してる。
スマホは知らんけどandroid開発はもうkotlinが多いのかな?
0567デフォルトの名無しさん
垢版 |
2018/02/15(木) 23:59:58.64ID:9umHg1OB
Kotlinを推しつつもJavaはまだ現役だと考えている

しかしJava8でラムダが入ったときと
AndroidがJava8に対応したときは正直「余計なことしおって」と思ったな
Java6のままだったら今以上にKotlinが推されてただろうからw
0568デフォルトの名無しさん
垢版 |
2018/02/16(金) 03:16:32.96ID:RsIE9z2G
しかしJavaのラムダはやりすぎだろって感じがした。
0569デフォルトの名無しさん
垢版 |
2018/02/16(金) 05:43:13.28ID:shLmPi2M
確かに
レガシーJavaおじさんと現代人Kotlin使いで棲みわけた方が平和だったかもしれないね
0570デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:37:35.95ID:br7rfOfj
kotlinでandroidの説明してるところなんか全然ない
先進的な一部が勝手に使い始めてるだけで普及の段階ではない、いつもながら日本は遅れてる
0575デフォルトの名無しさん
垢版 |
2018/02/16(金) 09:19:32.40ID:OW1usLwi
実務経験って、そもそも実務で使われてる所がまだ少なかろう。
0576デフォルトの名無しさん
垢版 |
2018/02/16(金) 10:41:09.40ID:FgGKrURU
実際DroidKaigiのセッションスライドのコードはほぼKotlinだったし、実務もKotilnである割合はかなり増えてるでしょ。
自分も実務ではもう1年くらい使ってるし。
0577デフォルトの名無しさん
垢版 |
2018/02/16(金) 10:58:35.59ID:OW1usLwi
そりゃAndroidだから増えてて当然な感じするが、世の中にはAndroidしかないわけではないからなあ。
0578デフォルトの名無しさん
垢版 |
2018/02/16(金) 11:06:50.68ID:e2WRvV7P
俺は逆にandroidまったくやらんけどkotlinめっちゃ使ってるよ
ローカルのプログラムでもサーバーサイドでも

まだこういうのは少数派だろうけど
0579デフォルトの名無しさん
垢版 |
2018/02/16(金) 12:46:25.84ID:6HTN9r9U
ああ。俺は趣味では使うよ。というか学習中なので敢えて使う感じ。Kotlinだとどう書けるかを調べながら書いてる感じ。
0581デフォルトの名無しさん
垢版 |
2018/02/16(金) 12:58:29.56ID:6HTN9r9U
ながらというか、CやPerlなら仕事で何十年も使ってて間が働くからどう書くかはすぐ想像できる(Javaも趣味で20年ぐらいやってるのでなんとなくわかる)んだが、
Kotlinはそれと似たようにも書けるしKotlinならではの書き方もできるわけで、その辺のKpylin的な書き方を学習してる感じ。
0582デフォルトの名無しさん
垢版 |
2018/02/16(金) 12:59:00.48ID:6HTN9r9U
間がじゃない、勘がだ。
0583デフォルトの名無しさん
垢版 |
2018/02/16(金) 13:01:00.94ID:6HTN9r9U
うう。やはりスマホだと変なタイプミス増えるな。orz
0586デフォルトの名無しさん
垢版 |
2018/02/16(金) 15:00:09.56ID:WR2/4984
どこかで聞いたことがあるようなないような・・・
0590デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:40:30.87ID:YSXjevvC


知らない
0593デフォルトの名無しさん
垢版 |
2018/02/16(金) 22:11:32.26ID:kk8fZRd1
今分かったんですけど、プライマリコンストラクタ宣言せずに
セカンダリコンストラクタって宣言できるんですね。

プライマリコンストラクタの主な用途ってコンストラクタのパラメータの宣言とプロパティの宣言を
一緒にできるぐらいですか??用途は。
class Test(val p1: String)とか
0596デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:19:37.32ID:1ji1uAN3
>>594
でも、空のプライマリコンストラクタを明示的に宣言するのと省略するのでは厳密には同一ではないですよね??

だから、言葉の定義の問題にもなっちゃうけど、initブロックはinitブロックであってプライマリコンストラクタと同一視
しない方がいいとか。プライマリコンストラクタはあくまでclass Test(val p1: String)のval p1: String部分だけで、
プライマリコンストラクタはボディは持てない。
初期化はinitブロックで行うとか?
0598デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:37:46.91ID:1ji1uAN3
Note that code in initializer blocks effectively becomes part of the primary constructor.
Delegation to the primary constructor happens as the first statement of a secondary constructor, so the code in all initializer blocks is executed before the secondary constructor body
まぁ、ここにはプライマリコンストラクタの一部になるって書いてあるね。
0599デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:43:30.54ID:vJDAw5Ja
>>596
そうね暗黙の場合と違いあるから省略という表現は不正確だったごめん

セカンダリコンストラクタが無い場合、暗黙のプライマリコンストラクタはpublicになる
セカンダリコンストラクタが有る場合、暗黙のプライマリコンストラクタは未初期化メンバを残せる
0601デフォルトの名無しさん
垢版 |
2018/02/17(土) 09:11:07.08ID:cSouIKOJ
Kotlin使いがJava使いにマウント取ってる様を見てまたこの繰り返しかと思いそっ閉じ
0602デフォルトの名無しさん
垢版 |
2018/02/17(土) 11:37:12.55ID:EWYfJ6l0
マウント取ってるように見える?そりゃなんていうか、劣等感強すぎでは?
てか一々そんなこと考えてないで自分でも使えばいいじゃん。禁止されているわけでもなし。
Java が使える状態になったことのある人が Kotlin 使えるようになれないわけがないと思うが。
0603デフォルトの名無しさん
垢版 |
2018/02/17(土) 19:20:37.06ID:MOg6+5DY
ていうかkotlin使いって99%Java使いも兼ねてるだろうからマウントとるも何もないのでは
0604デフォルトの名無しさん
垢版 |
2018/02/17(土) 22:06:51.34ID:QsKtGr9g
今使ってる人はそもそもJavaできるからな
より使いやすくても、対立構造にはならないよな
0605デフォルトの名無しさん
垢版 |
2018/02/18(日) 01:22:27.54ID:5P/pcqvC
>>557
モバイル開発は違うかもだが、業務系は極端に言っちまうとjava要員集めるっつたら使い捨て兵隊集めだよ。
0607デフォルトの名無しさん
垢版 |
2018/02/18(日) 13:07:28.97ID:hkjnjusX
Kotlin, RxJava, MVVMは基本的な必須スキルだからな
未だに実務経験ないやつは失業確定ざまああwwwwwww
0609デフォルトの名無しさん
垢版 |
2018/02/18(日) 13:24:23.64ID:R7wrwf8X
Android系の技術スレは失業だの兵隊だの低いところでマウント争ってるんだな。稼いでるやついなそう。
0610デフォルトの名無しさん
垢版 |
2018/02/18(日) 13:56:19.84ID:D295fkqM
そういやKotlinはまだ求人数は少ないけど給与は良いって調査結果があったな
中途半端だと仕事にありつけないかもしれないな
0611デフォルトの名無しさん
垢版 |
2018/02/18(日) 14:56:03.30ID:oDDrqbus
しかしKotlinってKotlinらしくない従来のJavaっぽい書き方をしても動いてしまうからな。金を多く払う意味があまりないかも知れないぞ。
0612デフォルトの名無しさん
垢版 |
2018/02/18(日) 16:12:24.98ID:nyTLTr1m
Kotlinで単価が高いのは、チームが今後Kotlinでやってけるように導入の面倒見れる人だよ
>>611が言ってるレベルの奴なんてそもそも高い単価で雇われないから
0613デフォルトの名無しさん
垢版 |
2018/02/18(日) 16:20:57.25ID:JlUJeRgg
面倒みなきゃならんほどのものじゃないでしょ
プログラム初心者じゃあるまいし
0616デフォルトの名無しさん
垢版 |
2018/02/18(日) 17:24:17.84ID:JlUJeRgg
>>614
確認だけど職業としてプログラマやってる人たちの話って前提だよね?
小学校のプログラムの授業とかじゃなくて
0617デフォルトの名無しさん
垢版 |
2018/02/18(日) 19:36:30.68ID:nyTLTr1m
>>616
もういいよめんどくさい
じゃあKotlinできればそのレベルに関わらず誰でも単価高いってことでええわ
0618デフォルトの名無しさん
垢版 |
2018/02/18(日) 22:46:31.63ID:mRumiIcD
ラムダ式から式の外側のthisを参照するにはどうすればいいでしょうか?現状、
val this_ = this
async {
 this_
}
とかしてますけど、これ以外方法ない?
0624デフォルトの名無しさん
垢版 |
2018/02/19(月) 12:46:45.80ID:8HhXX1j3
どう書いても最適化されて同じコードになったりして・・・
0630デフォルトの名無しさん
垢版 |
2018/02/19(月) 17:39:35.65ID:UjHZ69on
val 式の外側のthis = this

async {
式の外側のthis.method()
}

これが1番わかりやすいな
0634デフォルトの名無しさん
垢版 |
2018/02/19(月) 23:50:04.20ID:bFR3uyhH
ラムダに束縛したいのはthisだけとは限らないしネストも有り得るので
クラス外の関数として分離した場合の引数名のイメージで変数名付けてる

val view = this
val cal = activeCalculator
async {
  cal.recalc()
  transaction {
    val tran = this
    check(cal, tran)
  }
  view.notifyUpdate()
}
0638デフォルトの名無しさん
垢版 |
2018/02/20(火) 10:02:36.87ID:pltRTpB+
>>636
フォントが違うと見え方が変わりそう
0640デフォルトの名無しさん
垢版 |
2018/02/20(火) 12:57:02.91ID:DWBDu+Jk
ま、しかし、あまりにもネストが深くなるようならロジック考え直した方が良いかも
0641デフォルトの名無しさん
垢版 |
2018/02/20(火) 20:10:18.67ID:xSX01qXm
メソッド参照とか別クラスとか。
0642デフォルトの名無しさん
垢版 |
2018/02/20(火) 20:29:10.81ID:qXSQ9QV9
ネストは三段ぐらいまでにしといた方がいいだろうな。
その辺が迷宮の入り口だ。

Cのポインタとかも同じ。3段以上先には魔物が住んでいる。
0644デフォルトの名無しさん
垢版 |
2018/02/20(火) 22:17:03.69ID:/iBGk+pN
androidでデータバインディングしようとして
class Foo {
 @Bindable
 val bar get() = hoge.bar
}
とかできないの??・・・
0645デフォルトの名無しさん
垢版 |
2018/02/20(火) 22:18:25.44ID:/iBGk+pN
エラー内容はThis annotation is not applicable to target 'member property without
backingField or delegate'です。
どうしたらいいでしょかね
0646デフォルトの名無しさん
垢版 |
2018/02/20(火) 22:30:04.18ID:/iBGk+pN
Javaでは
class Foo {
 @Bindable
 String getBar() { hoge.getBar() }
}
で、hogeはFooのフィールド変数です。
0648デフォルトの名無しさん
垢版 |
2018/02/21(水) 00:01:54.65ID:CION/kfn
また、アノテーションだけど。遅延初期化ではアノテーションつけれんの?しょぼーん。
@field:Transient
val lazyVal by lazy {}
だめか・・
0649デフォルトの名無しさん
垢版 |
2018/02/21(水) 14:48:51.57ID:aopUu534
いま触れてないけどkotlin-Nativeってどんな感じ?
ほとんどなんでもコンパイルかけれる?
見たところLLVM通すから行けそうだけど
0650デフォルトの名無しさん
垢版 |
2018/02/21(水) 15:35:13.89ID:HWbyxxJS
実用で使うのはまだ怖いけど、遊びで触る分にはちゃんと動くよ。
javaの標準パッケージが全く使えないから、jvmで動かす前提で作ってあるクラスだのライブラリだのが動かないという辛さはある。
■ このスレッドは過去ログ倉庫に格納されています

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