2ch勢いランキング アーカイブ

Kotlin 4


デフォルトの名無しさん [] 2018/07/17(火) 18:00:27.88:PDZGrLP2
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
ttp://https://kotlinlang.org


※前スレ
ttp://mevius.5ch.net/test/read.cgi/tech/1521401186/
デフォルトの名無しさん [] 2018/07/17(火) 18:34:50.92:ZWBv+70m
デフォルトの名無しさん [sage] 2018/07/17(火) 20:06:19.10:Z83QhDM9
Xamarin程の糞はない
デフォルトの名無しさん [sage] 2018/07/17(火) 21:11:02.49:C4Kv1s9N
公式サイト
ttp://https://kotlinlang.org/
公式ブログ
ttp://https://blog.jetbrains.com/kotlin
コードを貼れる所
ttp://http://rextester.com/l/kotlin_online_compiler

Google、KotlinをAndroidアプリ開発言語に選定
ttp://http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
デフォルトの名無しさん [sage] 2018/07/18(水) 00:09:41.84:IiYwsEVm
オンラインコンパイラ
ttp://https://ideone.com/

コードの実行と保存にアカウントなどは不要
ttp://https://ideone.com/Jef7Hv
デフォルトの名無しさん [sage] 2018/07/18(水) 15:25:15.23:4EnTiz3/
class A{
var a=A //ここでStackOverFlowになる
fun foo(a:A){this.a=a}
}
無限ループしてる感じになっているのかな?
どう実現すればいいですか?
デフォルトの名無しさん [sage] 2018/07/18(水) 16:38:17.91:RcnbSnHo

何がしたいのか全く分からない。

var a = Aの部分は何をしたいの?
デフォルトの名無しさん [sage] 2018/07/18(水) 16:41:25.02:RcnbSnHo

もしnull許容型にしたくないって意図なら

lateinit var a: A

にするとか
デフォルトの名無しさん [sage] 2018/07/18(水) 19:09:03.71:Su6NE01F
探索のnodeを作っていまして
aのところに親ノード入れようとしているんですが、それがうまく行かなくて
デフォルトの名無しさん [sage] 2018/07/18(水) 19:09:58.55:Su6NE01F
var a=Aは初期化しているだけです
デフォルトの名無しさん [sage] 2018/07/18(水) 19:15:14.93:FXmaHpqV
それなら普通に
var a: A? = null
で初期化しとけよ

どうしてもインスタンスを入れたいなら
var a = A()
でもいいけどさ

aにはAのインスタンスを入れなくちゃいけないのに、なんでクラスそのものを入れようとしてるんだ
デフォルトの名無しさん [sage] 2018/07/18(水) 19:27:02.59:OIFrVuMx
それと質問するときは差し支え無い範囲で実際のコードそのまんまの方がいいよ

class Node {
var parent: Node? = null
}

とか書いてあると何がしたいのか読み取れるけど、
Aとかaじゃ何が何やらわからない
デフォルトの名無しさん [] 2018/07/18(水) 20:11:49.59:3T+bsJq5

それ var a = A って書いてる?
コンパイルエラーにならない?
デフォルトの名無しさん [sage] 2018/07/18(水) 20:27:27.20:psgNFjkz
あー、var a = A()になってそうだな
それなら無限ループになるわ
対策方法は上に書いてあるやつでいいけど
デフォルトの名無しさん [] 2018/07/18(水) 20:30:22.18:3T+bsJq5
よくわからんが class A(val a: A) じゃいかんのか?
デフォルトの名無しさん [] 2018/07/18(水) 20:32:19.89:3T+bsJq5
あ、だめか。class A(val a: A?) じゃないと永遠に初期化不能かw
デフォルトの名無しさん [sage] 2018/07/18(水) 22:44:24.79:3bDqFXKr
これおもしろいな、aをnull許容型にしないとインスタンスできないだろ
Javaだとそんなこと考えることもなかった
デフォルトの名無しさん [sage] 2018/07/19(木) 00:32:31.04:neesrQsq
試してないけど、nullobject用の派生クラスを用意して、nullobjectのaにはthis代入すりゃいいんじゃない?
デフォルトの名無しさん [sage] 2018/07/19(木) 01:00:01.34:CV+7JOtj
で出来ました
ご迷惑おかけしました。ありがとうございます
他の言語だと、自動でnullが代入されているから、詰まってしまった
デフォルトの名無しさん [sage] 2018/07/19(木) 01:09:56.19:JUgZbHsB
これはと思い階乗計算してみたが、微妙…orz

class A(n : Int, f : Int = 0) {
. val a = if (n > 0) ? A(n - 1, f * n) : else { println(f); null }
}
デフォルトの名無しさん [sage] 2018/07/19(木) 01:12:00.05:JUgZbHsB

おっと、いろいろ混ざった。
?と:は消して
デフォルトの名無しさん [sage] 2018/07/19(木) 06:25:38.38:U09DDbAL
kotlinスレの優しさは異常
デフォルトの名無しさん [sage] 2018/07/19(木) 09:17:29.25:7c8TqsUT
地獄への道は善意で舗装されている
みたいな
デフォルトの名無しさん [sage] 2018/07/19(木) 09:25:33.22:1WhS78Yi

そこ(Nullableと非Nullable)がことりんの最大の特徴だから、ぜひちゃんと理解して使いこなしてあげてね。
デフォルトの名無しさん [sage] 2018/07/19(木) 21:01:30.52:ovyKVv/0
intellij入れたんだけど
runしようとするとmain classを入力してって言われるんだけど
関数だけでrunできないですか?
デフォルトの名無しさん [sage] 2018/07/19(木) 21:13:04.00:PZz/R6AK

ユニットテストからなら
デフォルトの名無しさん [sage] 2018/07/19(木) 22:05:47.90:U09DDbAL

fun main(args: Array<String>) {
// 実行したいコード
}

これが書いてある実行用のファイル作ってrunすれば動く
デフォルトの名無しさん [sage] 2018/07/19(木) 22:51:52.90:ovyKVv/0

テスト書かなきゃだめなんですね


そうしてるんですがNo main class specified 言われるんですよ

main classってなんや
static void main …のあのおまじないですか?
デフォルトの名無しさん [sage] 2018/07/19(木) 22:57:46.33:tijWK+5B

main関数の書いてあるエディタのタブ部分を右クリックでメニューからのRunはどう?
デフォルトの名無しさん [sage] 2018/07/20(金) 01:12:02.79:uIqPJHG1
fun main(args: Array<String>) { } をクラスの外に作った瞬間にその行の左に緑の三角が表示されて、そこから実行できるね
クラスの定義は無くてもいいけど、クラスの中じゃダメだ
デフォルトの名無しさん [sage] 2018/07/20(金) 06:18:13.10:vo0BuOhE
のやり方で普通に動いたよ。
左側のProjectペインから、その実行したいktファイルを右クリックして、そこからRunしてもだめ?
もしくは上の方にあるRun configurationを一回削除してから同じことをしてみるとか。
デフォルトの名無しさん [sage] 2018/07/20(金) 06:24:04.39:vo0BuOhE

一応確認だけど、関数名はmainになってるよね?
他の名前だとだめだよ
デフォルトの名無しさん [] 2018/07/20(金) 09:18:38.44:+BuQOMxB

状況がよくわからないからそのエラーが出た時のスクリーンショット取って見せて。ソースが表示されてる状態のな。
デフォルトの名無しさん [sage] 2018/07/20(金) 09:31:09.84:fn5Hn7HH
Kotlinスレの半分は優しさで出来ています
デフォルトの名無しさん [sage] 2018/07/20(金) 12:27:14.89:Gl3WHizs
残りの半分はXamarinで出来ています
デフォルトの名無しさん [] 2018/07/20(金) 12:34:08.35:+BuQOMxB
それだけはお許しください
デフォルトの名無しさん [sage] 2018/07/20(金) 18:21:03.22:4pHi4ryF
Delphiがアップを始めました
28 [sage] 2018/07/20(金) 22:04:55.35:1Jm4m9CR
みなさん回答ありがとうございました

新しいプロジェクトでやったらできました。
おそらく原因はNewでファイルを作るときにkotlin scriptを選んでしまったためだと思われます

srcディレクトリ直下にkotlin file/class
でファイルを作ったら実行できました。
デフォルトの名無しさん [sage] 2018/07/20(金) 22:56:26.76:8Ywhahgu
Xamarinみたいな糞でやるからそうなる
デフォルトの名無しさん [sage] 2018/07/21(土) 00:11:05.11:/p8fRGKp
ttp://https://gigazine.net/news/20180720-android-to-fuchsia-in-5-year/
kotlin短い命だったな
デフォルトの名無しさん [sage] 2018/07/21(土) 00:19:38.66:IhfWEhYc
あ、そこまで頭回らんかった
kotlin 作ったやつが一番辛い案件だな
デフォルトの名無しさん [sage] 2018/07/21(土) 00:56:25.52:fcZsLQAf
今更、LinuxベースじゃないOS作ったから使えよ!って言われて流行ると思う?
デフォルトの名無しさん [] 2018/07/21(土) 02:48:12.63:5tjqiit9
Kotlin は今はとにかく JavaVM で動くコードを出すコンパイラで Android 開発で使って貰って
世界中に広めてある程度定着させれば良い。その隙にネイティブとか新OSの実行環境用コードを
出すコンパイラを作ってくれれば問題なし。そして Java は死亡して Kotlin は生き残る。
デフォルトの名無しさん [sage] 2018/07/21(土) 03:41:06.56:/p8fRGKp
JavaVMなどの他の環境の寄生をやめるなら基本的なクラスライブラリはどうするんだ?
コンパイラだけじゃダメじゃね。javaみたいなコレクションフレームワークやらHttpやソケットライブラリあたりも標準で用意してくれないとね。というか寄生やめるならUIフレームワークも必要じゃねぇ?無理だな。
サーバーサイドならいらんが。
デフォルトの名無しさん [sage] 2018/07/21(土) 04:12:26.67:/p8fRGKp
ごめん。寄生やめるって話じゃなくて今はとりあえずandroidに寄生してその間に広めてその後は他の寄生先見つけりゃいいって話しかな?
デフォルトの名無しさん [] 2018/07/21(土) 05:31:45.74:5tjqiit9
寄生しても良いし、根底から全部作っても良いが、とにかく生き延びる率は非常に高いと思う。

まあでもネイティブでライブラリ全部作るとしてもそんなに時間掛からないんじゃないかな。
問題はどういうやつを作るかだと思う。
デフォルトの名無しさん [sage] 2018/07/21(土) 07:39:28.20:VkZ+bXk1
Kotlin良い言語だからもったいないよな
というか新OSに入れ替わるとしても、既存のAndroidアプリ資産を無視するわけがないから何かしらの互換は保たれると思うけど
デフォルトの名無しさん [sage] 2018/07/21(土) 10:59:13.01:t4jiwmBJ
JavaFXをKotlinで拾ってくれないかな?
OpenJDK+OpenJFX+Kotlinでまとまってくれれば
みんな幸せ
デフォルトの名無しさん [sage] 2018/07/21(土) 11:41:25.99:y3BqVxSU

対応言語にKotlinじゃなくてSwiftが入っているというのが、危機感を刺激される。

ぜひそうなって欲しい。
デフォルトの名無しさん [sage] 2018/07/21(土) 16:00:14.10:221nLgMb
なにこれ、最近kotlin始めたばかりなのに終了かよwwww
デフォルトの名無しさん [sage] 2018/07/21(土) 16:53:29.87:46p4VUdt
Fuchsiaが普及するとしてもその頃にはKotlin/Nativeも出来上がってるでしょ
ただ、Googleの進め方を見るにKotlin/Dartの実装も検討した方がいい気はする
デフォルトの名無しさん [sage] 2018/07/21(土) 16:55:38.31:WkMM9u36
Dart程の糞はない
デフォルトの名無しさん [sage] 2018/07/21(土) 17:08:37.75:/p8fRGKp
まぁ、でもnull safetyを存分に味わうにはkotlinが標準クラスライブラリを用意してくれるのがいいんだけどね。
デフォルトの名無しさん [sage] 2018/07/21(土) 20:32:33.33:VkZ+bXk1
結局javaのライブラリに依存しちゃうもんねえ
デフォルトの名無しさん [sage] 2018/07/22(日) 00:48:56.80:OFbuHuIw
その点、オラクルってメシウマだよな
デフォルトの名無しさん [sage] 2018/07/22(日) 01:05:02.82:GtV7CUdI

これあくしろよ
ファイル周りぐらいでもやってくれ〜
デフォルトの名無しさん [sage] 2018/07/22(日) 06:57:39.00:i3g7mAqR

現状でも、言語仕様を一つ修正するのにJVM, JS, Nativeの3通りの変更が必要になる。
この上、Dartのサポートとか、なんという無茶振り。
デフォルトの名無しさん [sage] 2018/07/22(日) 08:47:40.36:y9EBDYOa

せめてnull safety対応generics欲しいよね。
デフォルトの名無しさん [sage] 2018/07/22(日) 22:12:01.65:Hs61oce8
JSはいっそ無くしても良いと思うけどねえ
デフォルトの名無しさん [sage] 2018/07/22(日) 22:33:54.14:T6gtJfck
ことりんjsにトランスできたんか…
デフォルトの名無しさん [] 2018/07/23(月) 02:10:39.62:CBB4e6ta
できるそうだがやったことがない・・・やればいいんだなw
デフォルトの名無しさん [sage] 2018/07/23(月) 06:25:10.31:Ot4A38Sz
遊びで触ったことあるけど、メリットを何も感じなかった。
特に他のJSライブラリを使うのがえらく面倒くさい。
デフォルトの名無しさん [sage] 2018/07/23(月) 07:32:27.66:9Edc2hOd
サーバーサイドでKotlin使ってたら有用な面もある
計算やチェック処理なんかをクライアント側と共用出来るから
デフォルトの名無しさん [sage] 2018/07/23(月) 09:37:43.10:Ifg+U+KZ
JSいらんから、その分の労力をNativeに注力してくれ
デフォルトの名無しさん [sage] 2018/07/23(月) 10:28:50.79:SDK/XMQD

>C言語、C++、Dart、Go、Python、Rust、シェルスクリプト、Swift、TypeScript

この中で生産性の良く主流になりそうな言語ってどれだろう?
PythonかSwiftくらい?
デフォルトの名無しさん [sage] 2018/07/23(月) 12:13:07.35:50E/dJn+

あとTypescriptかなあ。
Goはキモいからそこまで広がらないと思う。
デフォルトの名無しさん [] 2018/07/23(月) 12:16:53.60:dqTrBb4W
それ最後に書いてあるよ。

暑さには要注意だ。脳が暖まり過ぎると段々おかしくなる。
デフォルトの名無しさん [sage] 2018/07/23(月) 22:50:39.12:+BbazrC1

キモナイ
デフォルトの名無しさん [sage] 2018/07/23(月) 23:41:47.31:TlqhU3AK
入れたときの型そのままで取り出せる汎用的なmap的なもんって実装できないかな
デフォルトの名無しさん [sage] 2018/07/24(火) 00:08:17.47:yMVTYfnp
Keyの型にValueの型を持たせればできそう
デフォルトの名無しさん [sage] 2018/07/24(火) 00:25:53.51:jxAZ77iY

Anyとスマートキャスト利用するしかないだろうなあ
デフォルトの名無しさん [sage] 2018/07/24(火) 02:12:36.15:kG3RWdPq

TypescriptってC#scriptみたいな物か
何気に一番Javaに近そうねw
デフォルトの名無しさん [sage] 2018/07/24(火) 06:13:07.75:43FBDpPt

確かにJavaに似てるけど、あれは普通のJSの拡張みたいなもんだから使いやすい、というか既にめっちゃ使われてる
デフォルトの名無しさん [sage] 2018/07/24(火) 06:36:17.05:Nja0DAi0

KotlinよりTypescriptの方が流行る?
デフォルトの名無しさん [sage] 2018/07/24(火) 06:45:51.05:lb/L6e2D
用途が違いすぎるから比較できない。
デフォルトの名無しさん [sage] 2018/07/24(火) 07:40:56.91:rJ60Fij8
TSからJS呼ぶときに戻り値の型意識しなきゃいけないことにイラつく感覚がKotlinからJava呼ぶときにnull意識しなきゃいけないときにイラつく感覚と似ている
デフォルトの名無しさん [sage] 2018/07/24(火) 07:44:57.16:m3eQtKeT
めっちゃ分かる
デフォルトの名無しさん [sage] 2018/07/24(火) 09:54:20.04:iluy9i/G
てか、CとTypescriptとその他を比較する意味あんのか?
分野が違いすぎんだろ
デフォルトの名無しさん [sage] 2018/07/24(火) 10:58:03.97:HALI/+e7
null安全特有のバグが入ったり
null安全のためにコードが長くなったりで
あんまメリットない気がしてきた
デフォルトの名無しさん [sage] 2018/07/24(火) 11:05:46.42:fNoqjXR2
Javaが有償化するけど、Kotlinにも影響ある?
デフォルトの名無しさん [sage] 2018/07/24(火) 11:08:31.26:lb/L6e2D
なんで影響がないと思ったのか
デフォルトの名無しさん [sage] 2018/07/24(火) 11:47:22.80:fNoqjXR2
いやひょっとしたら、JetBrainsがいい感じでやってくれるかと...
デフォルトの名無しさん [sage] 2018/07/24(火) 11:56:29.41:dd1bPMMo
だけどkotlinだと無理っぽいな
arrow-ktでlistっぽいのならあったけど
scalaだとshapelessってライブラリで実現してるらしい
デフォルトの名無しさん [sage] 2018/07/24(火) 12:01:17.61:GyqBpo0D

Oracle版JDKの有償化な
そのためにOracle自身もOpenJDKに力入れてきたんだから特に問題ない(KotlinもJavaも)
デフォルトの名無しさん [sage] 2018/07/24(火) 12:13:14.69:rzcjvCjX

最近ちょこちょこ聞くようになった依存型がこれに使えるのね
デフォルトの名無しさん [sage] 2018/07/24(火) 12:15:58.38:rzcjvCjX

null安全が好きでないなら、動的型付言語を使ったほうが幸せになれるんじゃない?
デフォルトの名無しさん [sage] 2018/07/24(火) 12:37:31.12:GyqBpo0D

どういうの使用イメージを望んでるのかよく分からないので
コンパイル不可で構わないから使う側の疑似コードを書いてみてほしい
デフォルトの名無しさん [sage] 2018/07/24(火) 12:37:44.64:lb/L6e2D
JetBrainsJDKは理想だけど、さすがにそんなことやるほど体力のある会社じゃないだろ
デフォルトの名無しさん [sage] 2018/07/24(火) 12:38:02.51:loJnpDBw

煽るわけじゃなく、純粋に知りたいのだけど、null安全特有のバグって、どんなのがあるの?
デフォルトの名無しさん [sage] 2018/07/24(火) 12:47:46.02:lb/L6e2D
null安全のために記述が長くなるってのもよく分からんな
kotlinはそうならないようにかなり配慮されてると思うのだけど、もしかしていちいち全部ifでnullチェックでもしてるんじゃないの
デフォルトの名無しさん [] 2018/07/24(火) 13:09:50.01:DcwsX7CJ

そうするとGoogleのAndroidのような面倒な問題を抱える可能性があるのでは?
素直に OpenJDK 使っといた方が良いと思うのだが。
デフォルトの名無しさん [sage] 2018/07/24(火) 13:19:48.44:lb/L6e2D
LTSしてくれるならね
デフォルトの名無しさん [sage] 2018/07/24(火) 18:26:44.44:43FBDpPt
RedHatがOpenJDK11を独自にLTSするらしいから、RedHat系のディストリビューション使ってるなら大丈夫だろ
ubuntuは知らん
デフォルトの名無しさん [sage] 2018/07/24(火) 18:37:37.15:06VgvsWU
null安全のせいでコードが長くなるのは

・nullを返しうるメソッドだけど今回に限っては絶対にnullじゃない

ってケースで !! の2文字が増えるぐらいでは
デフォルトの名無しさん [] 2018/07/24(火) 18:40:45.65:uYKauRtK

つまりWindowsは死亡と。
デフォルトの名無しさん [sage] 2018/07/24(火) 18:47:44.94:43FBDpPt

これを機にWndowsServerなんてカスは滅ぼそう
デフォルトの名無しさん [sage] 2018/07/24(火) 18:51:34.06:fUz7lDXQ
AdoptOpenJDKが無償のLTS提供するよ
デフォルトの名無しさん [sage] 2018/07/24(火) 19:06:30.65:/05DIiMI

GitHub見てこいよ
アレをプロダクトで安定して使えるようになるまでまだまだ先は長そうだぞ
デフォルトの名無しさん [sage] 2018/07/24(火) 19:30:50.32:dd1bPMMo

val map = HashMap<String, 抽象的な何か>()
map["hoge"] = "文字列"
map["fuga"] = 100

val str = map["hoge"] // :String
val num = map["fuga"] // :Int

みたいな感じで
とにかく型チェックやらキャストやらが面倒くさい
実際には自作クラスとかも突っ込みたい
デフォルトの名無しさん [sage] 2018/07/24(火) 19:54:27.68:K9O8BSac
試してないんで適当言うけど
Class.forName(className).kotlin.cast(value)
とかでなんとかならんの
デフォルトの名無しさん [] 2018/07/24(火) 20:39:35.62:3bmjSXS4

型チェックなしだと取り出した変数が何型になっているかわからなくて結局扱えないのでは?
デフォルトの名無しさん [sage] 2018/07/24(火) 20:48:13.92:7FTYhXzS
その後処理分ける時点で型は見ることになりそう
デフォルトの名無しさん [sage] 2018/07/24(火) 21:04:13.34:2ywwbIJ/
すまん伝わりやすいかと思って抽象的な何かって書いたけど語弊があるわ
まず抽象クラスやらスーパークラスやらこの時点で指定してたらダメだしな
ちなみにarrow-ktのHListはタプルみたいな感じになってた
デフォルトの名無しさん [sage] 2018/07/24(火) 21:09:27.91:VXjn8z1z
マップに値を突っ込む人は中身の詳細を知らなくて、値を取り出す人はどのキーに何が格納されているか知っているようなシチュエーション、例えば設定ファイルのローダーみたいな奴への適用ならわからんでもない。
デフォルトの名無しさん [sage] 2018/07/24(火) 21:17:20.64:2ywwbIJ/
何に使う気かっていうとJSFでFlushっていう画面間で値渡すためのMapがあるんだけど、型チェック面倒くさいしチェックしないのも嫌だしでいっそ別に用意できないかと思った
入れるときも取り出すときも型は分かってる状況だな
デフォルトの名無しさん [sage] 2018/07/24(火) 21:30:43.77:pjRgCp/n
XMLなりで文字列化しといて使うときにデシリアライズすれば?
デフォルトの名無しさん [sage] 2018/07/24(火) 21:57:49.15:43FBDpPt
keyごとに型が決まってるならjson文字列にしておいてGson使って取り出すとか
デフォルトの名無しさん [sage] 2018/07/24(火) 22:34:12.22:GyqBpo0D

Mapに代入のみで型認識するのは難しいな

タプル的な感じでやるか
ttp://https://ideone.com/Aekjqn

事前定義でMapに関連付けるか
ttp://https://ideone.com/rCFcai

むしろ変数に型が無い言語使うか
ttp://https://ideone.com/BUHFe3
デフォルトの名無しさん [sage] 2018/07/24(火) 23:50:03.73:2ywwbIJ/
のやり方が使うときにはスッキリできそうだなぁ

二つ目のやつって色々出来そうに見えて汎用的にならないのが惜しい
デフォルトの名無しさん [sage] 2018/07/24(火) 23:53:36.51:jFaMrYyE
動的型言語「呼んだ?」
デフォルトの名無しさん [sage] 2018/07/24(火) 23:59:34.61:0G/WUWgn
よく調べないで書くけどMapでしか渡せないならMapの値にクラス突っ込めないの
デフォルトの名無しさん [sage] 2018/07/25(水) 00:05:15.27:Mo9tZ0hU
普通に data class 書くかイヤなら動的型使え案件だな
デフォルトの名無しさん [sage] 2018/07/25(水) 00:32:44.86:X9aSb7/J
動的型付言語でもMapから取り出したインスタンスに何かするにはそのインスタンスの型のチェックは必要なんだから、
KotlinでもAnyの変数に取り出した後、何かするとき型チェックすればいいのでは?
デフォルトの名無しさん [sage] 2018/07/25(水) 00:41:37.28:7AbAukpx

汎用的ってどういうこと?
デフォルトの名無しさん [sage] 2018/07/25(水) 02:34:30.53:NuE3ewHE
一回シリアライズするとか正気かよ。

inline fun <reified T: Any> cast(any: Any): T = T::class.javaObjectType.cast(any)

val i = cast<Int>(map["hoge"])
デフォルトの名無しさん [sage] 2018/07/25(水) 02:52:17.20:X9aSb7/J
Mapのキーの文字列に対して格納されてる型が決まってるのか
エラーチェック無しで間違ったのが入ってたら例外で良いなら、そんな感じにキャストでいいかもね
デフォルトの名無しさん [sage] 2018/07/25(水) 06:23:31.29:tppUcJNh
全角読みにくい
デフォルトの名無しさん [sage] 2018/07/25(水) 07:17:57.17:mjDoqtlK

動的型付言語は人間が頭の中で実際の型を把握してればコード上では型チェック不要だよ

Ruby
map = {}
map["hoge] = "今は文字列"
map["hoge"] = 100 #今は整数
map["hoge"] = [1,2,3] #今は整数の配列

map["hoge"].each{|i| puts i.to_s} # 今入ってるのは整数の配列だと人間が把握してるので適正なコード
デフォルトの名無しさん [sage] 2018/07/25(水) 07:34:47.16:NuE3ewHE

半角のまま貼り付けたら弾かれたんだ。
デフォルトの名無しさん [sage] 2018/07/25(水) 07:40:45.40:nUGMun5h

明示的にキャスト、間違ってたら実行時例外でいいなら as でよくね

val map = HashMap<String, Any?>()
map["hoge"] = 10
map["hage"] = "zura,katsura"
map["hoge"] = map["hage"]

val list = (map["hage"] as String).split(',')
println(list) // [zura, katsura]
デフォルトの名無しさん [sage] 2018/07/25(水) 08:28:43.96:pc8pXKsN
Kotlinスレが珍しくKotlinの話してるのか
デフォルトの名無しさん [sage] 2018/07/25(水) 10:22:42.75:7AbAukpx
元のについての話なら「キャストなし」が前提なのでは

とはいえシリアライズやGSONなら型定義が必須だろうから
キャストより手間増える気がする
デフォルトの名無しさん [sage] 2018/07/25(水) 10:56:38.61:QsHBqRMq
使うたびにキャストするのが面倒くさいって話なら一度定義しとけばあとはそのまま使えるgsonはアリじゃね
デフォルトの名無しさん [sage] 2018/07/25(水) 11:39:23.46:1gumeC8R
てか別にGsonなんて使わなくてもHashを渡して初期化したら中でいい感じにkeyごとにキャストしておいてくれるラッパークラス作れば良いのでは
デフォルトの名無しさん [sage] 2018/07/25(水) 12:12:16.20:RwqHQTi+
結局取り出すときに型がわかってるようにするには事前定義が必須と
デフォルトの名無しさん [sage] 2018/07/25(水) 12:55:48.93:1gumeC8R
せやな
デフォルトの名無しさん [sage] 2018/07/25(水) 14:31:05.88:alBChnpJ
当たり前の話
嫌なら静的型付けなんてやめちまえ
デフォルトの名無しさん [sage] 2018/07/25(水) 15:13:33.72:CbElzlsD
性的片付けならお手伝いします。
デフォルトの名無しさん [] 2018/07/25(水) 15:46:24.96:rOB4O81b
Mapから特定のキーで取り出した値の型をプログラマが知っている場合だけでしか使えなくて、型がわからないなら型チェックが必要になり、そうするとスマートキャストが使えるので現状のままで問題ない事になる。
型チェックなしで使えるようにできたとしてもやはりバグの温床になりそうだというのもある。(しかも見つけにくいバグにならないか?)
デフォルトの名無しさん [sage] 2018/07/25(水) 15:49:44.09:dm3jJ5Gu
特にKotlinの場合はJavaのウンコ仕様のせいでジェネリクスの型引数を安全にダウンキャストできないからな
デフォルトの名無しさん [sage] 2018/07/25(水) 17:01:14.13:xG56qnJC
やっぱJetbrain VM作ってよ〜
デフォルトの名無しさん [sage] 2018/07/25(水) 18:05:14.18:7AbAukpx

何のメリットが?
デフォルトの名無しさん [sage] 2018/07/25(水) 18:13:55.24:60VZ2ETs
そもそもVM利用してるのってJavaの遺産利用する為だしな
デフォルトの名無しさん [] 2018/07/25(水) 18:16:24.83:ekeRKo17
資産ではなく遺産
デフォルトの名無しさん [sage] 2018/07/25(水) 20:57:40.57:OXaxpOj9

ttp://https://ideone.com/Bxe3Vj
デフォルトの名無しさん [sage] 2018/07/26(木) 20:21:16.47:v8/TcxRM

map["hoge"] as String → map.get<String>("hoge")
map["fuga"] as Int → map.get<Int>("fuga")
無 → inline fun <reified T> HashMap<String, Any?>.get(key: String) = get(key) as T

ただのキャストよりコード量が増えて危険な操作であることがわかりにくくなっただけやんけ
デフォルトの名無しさん [] 2018/07/27(金) 02:00:17.48:O4NPrPXG
全然関係ない話

これが出来る事を知らなかった。

val s = "abc"
println("${s + "xyz"}")

ダブルクォーテーションで括った中にダブルクォーテーションで括った文字列がある状態なのに問題なくコンパイルも実行もできる。
${ ... } はコンパイル時に特別扱いしてたんだな。
デフォルトの名無しさん [sage] 2018/07/27(金) 07:04:48.78:8+KT0NyM

マジか、知らなかった。
まあやることはあまりないだろうがw
デフォルトの名無しさん [sage] 2018/07/27(金) 07:05:22.41:UmDdNteT
{}の中はプラグラムのコードやからな。
それだけやで
デフォルトの名無しさん [sage] 2018/07/27(金) 08:06:17.19:BgbV5sVA
一番内側のデリミタが来るまでは外側のデリミタはマスクされて見えないという話
デフォルトの名無しさん [sage] 2018/07/27(金) 08:36:58.60:xnwtYCKh
むしろコンパイル時じゃなかったらビビる
evalがある言語じゃないんだから
デフォルトの名無しさん [sage] 2018/07/27(金) 08:45:57.59:xnwtYCKh
もちろんネストも出来る

Kotlin   ttp://https://ideone.com/9oQrPl
Groovy  ttp://https://ideone.com/PkZexd
Swift   ttp://https://ideone.com/vCuTyE
bash   ttp://https://ideone.com/9GW6lT
デフォルトの名無しさん [sage] 2018/07/27(金) 18:32:30.58:BbfW0v3N

そんな威張るなよ
デフォルトの名無しさん [sage] 2018/07/27(金) 18:38:45.51:eMZjpBCY
そんな僻むなよ
デフォルトの名無しさん [sage] 2018/07/28(土) 13:18:16.11:S6ztPmt9
unit testしたいんですが
junit って標準モジュールじゃないんですか?
デフォルトの名無しさん [sage] 2018/07/28(土) 21:07:10.68:yXUefUq2
じゃないです。
デフォルトの名無しさん [sage] 2018/07/28(土) 21:53:41.27:AhCis0X4
ようやくKotlin1.3の話が出てきた。
ttps://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-in-kotlin-1-3-m1/
デフォルトの名無しさん [] 2018/07/29(日) 08:07:58.83:7lOBGcOb
operator で何も返さない Unit のやつを作るとどうなるかを実験していて気づいたこと。
例えば plus() って + 記号が出てきただけで呼ばれるわけで、そうなると + 記号だけで中身を書き換える事も可能になるんだな。

ttp://https://paiza.io/projects/wtY0TgCLyLhRsls2-6wcuQ
デフォルトの名無しさん [sage] 2018/07/29(日) 08:59:34.65:4MUmFrCs
そりゃまあただのメソッド呼び出しを糖衣構文だし
デフォルトの名無しさん [] 2018/07/29(日) 09:51:20.17:7lOBGcOb

これができるのなら Unit ではない演算子の結果を捨てるような式はエラーにして欲しかった。
デフォルトの名無しさん [sage] 2018/07/29(日) 10:47:26.84:DahY5MEG
DSLに使うからそれは困る
デフォルトの名無しさん [] 2018/07/30(月) 18:02:59.40:xHVHgAPA
JetBrains のサイトに StringBuilder.set メソッドのドキュメントがない事に気づいた。
いやググると見つかるので正確にはあるのだが、どこからリンクされているかがわからない。
普通に考えるとこれは StringBuilder のページからなんだろうが、それはない。getならある。
デフォルトの名無しさん [sage] 2018/08/01(水) 15:30:30.04:wHCC+gZS
JavaFX+Kotlinでクロスプラットフォームのアプリ作ろうと思ったけど、
やっぱ今からだとElectronの方がいいのかな
SDKからも切り離されたし
デフォルトの名無しさん [sage] 2018/08/01(水) 16:27:09.30:BRE0Gb7p
TornadoFX使ってみてよ
デフォルトの名無しさん [sage] 2018/08/01(水) 17:14:08.32:o97vF+z4
竜巻外為良さそうだけど、そもそもJavaFXが流行ってない気が
デフォルトの名無しさん [sage] 2018/08/01(水) 17:17:06.60:BRE0Gb7p
現時点で流行ってないし、java自体がこの状況で今から人気が出てくるとも思えないよなあ
electronかみんな大好きXamarinでも使った方がいいだろう
デフォルトの名無しさん [sage] 2018/08/01(水) 22:35:46.35:SQGsQ61c
TornadoFX良かった。JavaFXが切り離されさえしなければ...
デフォルトの名無しさん [sage] 2018/08/01(水) 23:16:43.13:CtMSSjTe
トーナードは良いものだよ。
JavaFX自体が消滅しそうだけど
デフォルトの名無しさん [] 2018/08/02(木) 00:14:03.14:vClc7nAi
tornado の発音はトーネイドに聞こえるが・・・
デフォルトの名無しさん [sage] 2018/08/02(木) 00:40:41.05:ZvszlWDN
なんでJavaFXって人気ないの?
Electronが人気すぎるだけ?
Electronコード隠蔽できないから嫌なんだけどな
デフォルトの名無しさん [sage] 2018/08/02(木) 01:22:59.89:PUemVwHx

なんでって、Javaだからだよ
有史以来、FXに限らずクライアントJavaに人気があったことなど無い
デフォルトの名無しさん [] 2018/08/02(木) 02:34:55.79:vClc7nAi
Android で大人気だけどなw
デフォルトの名無しさん [sage] 2018/08/02(木) 02:35:51.35:M4JJW8Mq
javafxscript用の設計だったからね
script潰れてjava向けに再設計とか時間かけすぎなんだよ
デフォルトの名無しさん [] 2018/08/02(木) 06:11:52.44:L4dxCzkb
アンドロイドせいでjava/kotlinを書かざるを得ない迷惑なはなし
デフォルトの名無しさん [sage] 2018/08/02(木) 06:43:03.26:t5505cjw

C++やJavaScriptでも書けるだろ
デフォルトの名無しさん [sage] 2018/08/02(木) 07:38:05.58:NvR76J0F
C#で書けるだろ、忘れるな
デフォルトの名無しさん [sage] 2018/08/02(木) 08:27:55.22:02Lt02wr
はいxamarinネタ禁止
デフォルトの名無しさん [sage] 2018/08/02(木) 13:16:08.31:QRqag3vd
加速度センサーに木星や土星の重力加速度があるのですが、何に使うんでしょうか?
デフォルトの名無しさん [sage] 2018/08/02(木) 13:35:16.77:0TA/kWAT
なんかの実験用じゃない
デフォルトの名無しさん [] 2018/08/02(木) 13:39:12.92:Cp7uV85Z
木星や土星へ行った時のため
デフォルトの名無しさん [sage] 2018/08/02(木) 15:31:09.75:cpkp83Z6
たまに使うよね
デフォルトの名無しさん [sage] 2018/08/02(木) 15:55:49.44:mx93PpF6
俺も前職で何度か土星行ったから、そういう時は役に立った
デフォルトの名無しさん [] 2018/08/02(木) 16:26:00.89:SFe9zIxE
どしぇー
デフォルトの名無しさん [sage] 2018/08/02(木) 17:47:49.29:kLlfQZwC
10年前にJavascriptとDA PUMPが再ブレークすることを予想してた奴が居たら凄いと思う
デフォルトの名無しさん [sage] 2018/08/02(木) 20:26:30.99:ChN5Xojk
Electron + Kotlin/JS というのはアリ? というかしている人いる?
デフォルトの名無しさん [sage] 2018/08/02(木) 20:41:24.62:5ti5JZJP
ElectronならTypeScriptでいいだろ
デフォルトの名無しさん [sage] 2018/08/02(木) 21:35:16.65:t5505cjw
プロシュート兄貴を見習え
デフォルトの名無しさん [sage] 2018/08/02(木) 22:16:27.96:0hgfJcdZ

ReactNativeをKotlin/JSで書こうとして死亡してた人なら知ってる。
出来ないことはない、ってレベルらしい
デフォルトの名無しさん [sage] 2018/08/03(金) 16:55:37.97:dH+GGA6R
Javascriptが流行ってるのって言語の作りが良いからとかじゃなくて、結局はブラウザで動くからなんだよな
だから、誰かがことりんが動くブラウザを作ればことりん流行ると思う
デフォルトの名無しさん [] 2018/08/03(金) 16:57:00.14:X+nM2ZWl

君に任せた
デフォルトの名無しさん [sage] 2018/08/03(金) 17:51:01.66:/71FxLcE
コトリンが動くブラウザをお前らが作っても流行らんよ
デフォルトの名無しさん [] 2018/08/03(金) 18:04:24.79:X+nM2ZWl
あ、そうか。JavaScriptの代わりにKotlinスクリプトが動けばいいんじゃないか。そうすればわざわざJavaScriptに変換しなくて済む。
デフォルトの名無しさん [sage] 2018/08/03(金) 19:10:58.88:Sg6jgRzL
GoogleがDartで、それやろうとして、結局、あきらめたじゃん。
Dart自体は、Fuchsiaで復活するみたいだけど。
デフォルトの名無しさん [sage] 2018/08/03(金) 19:29:20.15:MrVuCq4o
dartもいい言語じゃねぇけど、JSよりかはましだからな。flutter人気でてdart使われるようになったら、dartのchromeブラウザ搭載計画を復活させて欲しい
デフォルトの名無しさん [sage] 2018/08/03(金) 19:32:54.71:NM98E0T5
wasmにDOM/GCが搭載されれば色んな言語からの需要があるだろうしそれほど夢物語でもない
kotlinがその中で天下取れるかはまた別の話だけど
デフォルトの名無しさん [sage] 2018/08/03(金) 19:33:36.87:ZdEKhS09
Chromeだけ動くようになったとしても他のブラウザが追随して、かつそれ以前のバージョンが駆逐されるまで待たないと実用できないからな。

それにDart自体がクソみたいな言語であることは変わらないから、多大なコストかけてまで乗り換えたくはないな
デフォルトの名無しさん [sage] 2018/08/03(金) 19:38:42.60:1Ao96BNz
TypeScriptという手軽でまあまあなソリューションが広まって、なんかもういいんじゃねという空気だよね
デフォルトの名無しさん [sage] 2018/08/03(金) 20:00:01.04:M4do4FkD
プログラミング言語は素晴らしいから広まるんじゃないのだということを我々はこの30年でイヤというほど味わったのでるふぁい
デフォルトの名無しさん [] 2018/08/03(金) 20:25:03.99:X+nM2ZWl
でるふぁい
デフォルトの名無しさん [sage] 2018/08/03(金) 21:06:23.69:C7OuABnl
Algol
デフォルトの名無しさん [sage] 2018/08/03(金) 23:27:02.39:YJ+EXEAl
WebもアプリもKotlinよりTypescriptだろうか
デフォルトの名無しさん [sage] 2018/08/03(金) 23:43:06.58:EZZ8bH2k
まあそうだね
オラクルの件のせいで今後は(Kotlinが使えるような会社においては)Javaプラットフォームが積極的に選ばれることももう無くなるだろう
どうしてもJavaプラットフォームを使わざるを得ない事情があるときのマシな選択肢としての限定的なポジションに落ち着いていくんだろうね
デフォルトの名無しさん [sage] 2018/08/04(土) 07:38:33.47:5xMt+ptm
Kotlinは贔屓目でもなんでもなく、Java環境で動く素晴らしいJava代替物なのだが
その肝心の「Java環境でなければならなかったこと」が唐突に外部要因で縮小し始めており回復の理屈もないのだ…
現時点でJavaに業務で縁のない人はちょっと立ち止まったほうがいいかもしれん
Androidでプログラミングしたい? Unity使えUnity
デフォルトの名無しさん [sage] 2018/08/04(土) 09:36:50.04:+3XGJmmJ
一年前のだけど興味深いディスカッション

なぜKotlin Native?
ttp://https://discuss.kotlinlang.org/t/2275/

JetBrainsチームのコメントに気になる文言もある
Rock54のせいで引用出来ないけど18と22
デフォルトの名無しさん [sage] 2018/08/04(土) 09:44:43.94:+3XGJmmJ
今後の状況次第ではJava環境からの脱出口になるから
もっとKotlin/Nativeにパワーを

Kotlin/Native v0.8 released
ttp://https://blog.jetbrains.com/kotlin/2018/07/kotlinnative-v0-8-released/
デフォルトの名無しさん [sage] 2018/08/04(土) 10:09:54.85:XWbY/qAH
言っちゃ悪いけど、開発言語を前提にして物事を考えるのってエンジニアとしてはだいぶ低レベルな段階だよ
そのレベルの連中が多数派を占めるほどにはまだKotlinの裾野は広がってないと思う
梯子外されるのがもうちょっと遅かったらもしかしたらとは思うけど、残念だね
デフォルトの名無しさん [sage] 2018/08/04(土) 10:31:19.81:x/iry6Ka
仕事と趣味は別という発想が出てこない君はエンジニア以前に社会人としてとても低レベルだね
デフォルトの名無しさん [sage] 2018/08/04(土) 10:33:33.07:Q3NLupVY
営利利用されない技術は進歩しないから、たとえ趣味でやってる人も離れていくもんだよ
デフォルトの名無しさん [sage] 2018/08/04(土) 10:51:25.19:x/iry6Ka
それはまた別の話
デフォルトの名無しさん [sage] 2018/08/04(土) 11:35:40.35:+3XGJmmJ

そうかな、個人でやる分にはC++でもObjCでも構わないけどそうじゃない環境では
記述性などの他に学習コスト/人材調達的にも
Kotlinはバランスの良い言語だと思うんだけどな
デフォルトの名無しさん [sage] 2018/08/04(土) 12:14:40.56:ii6jRswP
仕事でサーバサイドkotlin使ってるけど今後はOpenJDKにするかもだって
デフォルトの名無しさん [sage] 2018/08/04(土) 13:55:15.47:lZHxRZe2
え、むしろ今までOracle使ってたん?
うちは8にする時にOpenJDKに切り替えたわ
デフォルトの名無しさん [sage] 2018/08/04(土) 13:58:19.47:lZHxRZe2
なんだかんだJDKの混乱も今だけだとは思うけどな。
かっちりしたエンプラのシステムはOracle使うだろうし、そうじゃなくて現時点でKotlin使ってるようなフットワークの会社なら普通にOpenJDKのアップデートに追随していくだろうしな。
デフォルトの名無しさん [sage] 2018/08/04(土) 15:25:21.46:ZDA+8I61

JavaFXしたかったんだ.....
公式にJavaFX使うならOracleJDK使えって.....
OpenJDK9には統合されると思っていたら、ご覧の有様だよ.....dayo.....
デフォルトの名無しさん [sage] 2018/08/04(土) 15:40:03.53:S+Y35Ar7

>公式にJavaFX使うならOracleJDK使えって
初耳だ…
デフォルトの名無しさん [sage] 2018/08/04(土) 16:06:29.82:VXB2QifJ
そもそもRedHatクローン使ってればOpenJDKでなんの差し支えもないからな、数ヶ月前みたいな絶望感はない
FX勢は、なんというか、がんばれw
デフォルトの名無しさん [sage] 2018/08/04(土) 16:20:44.63:ZDA+8I61

今見ると書いてないな...
記憶違いかもしれないが、今となってはどっちでもいい....orz
デフォルトの名無しさん [sage] 2018/08/04(土) 16:27:23.63:nJEeH/Xf
情報が錯綜して勘違いやデマ流されたりするのが今のJavaは良くないな
デフォルトの名無しさん [] 2018/08/04(土) 17:27:40.61:2zclIjyW
>>> println("ちん${"ピョロ${"す${"ぽー"}"}"}ん")
ちんピョロすぽーん
>>>
デフォルトの名無しさん [sage] 2018/08/04(土) 19:45:45.27:b4AQTWfG
まさかJavaよりJavaScriptが主流になる日がくるなんて・・・
会社入りたての頃にJavaScriptでHP作る担当だった奴を見下してた自分を叱ってやりたい
デフォルトの名無しさん [sage] 2018/08/04(土) 21:23:35.89:0LAYEhli

そもそも担当言語で同僚を見下すこと自体人として終わってるから悔い改めるためにXamarinのライセンス買ってこい
デフォルトの名無しさん [sage] 2018/08/04(土) 21:59:20.75:AoH8FoSW
Xamarin程の糞はない
デフォルトの名無しさん [sage] 2018/08/04(土) 22:39:02.20:bP7rOq1R
ネックは処理が重いだけだから可能性はあったよな
デフォルトの名無しさん [] 2018/08/05(日) 04:32:52.81:cdvogGHQ

その当時の JavaScript と今の JavaScript は同じか?
デフォルトの名無しさん [sage] 2018/08/05(日) 09:20:55.32:gCURYumf

同じだよ。
JavaScriptの有用性に気付いたグーグル先生がGoogle Mapを作ってから流れが変わった。
デフォルトの名無しさん [sage] 2018/08/05(日) 09:32:24.17:JhHL1KW5
JavaScriptはブラウザで動くからあの立ち位置にいるだけで基本的にはうんち言語
CoffeeScriptだのDartだのTypeScriptだのKotlin/JSだのが出てくるのもJavaScriptがうんち過ぎてなるべく書きたくないからだし
デフォルトの名無しさん [sage] 2018/08/05(日) 09:37:55.39:gCURYumf

Node.js知らんの?
デフォルトの名無しさん [sage] 2018/08/05(日) 10:30:24.99:9VNh2ugm

Javascriptがブラウザで動かなければ、多分Node.jsは生まれなかった。
あれ? ここJavascriptスレだっけ?
デフォルトの名無しさん [sage] 2018/08/05(日) 11:19:58.07:gCURYumf

閑Kotlinのスレです。
デフォルトの名無しさん [sage] 2018/08/05(日) 11:38:26.98:8fxYH2p3
Xamarinスレだぞ、いい加減にしろ
デフォルトの名無しさん [sage] 2018/08/05(日) 12:58:03.28:HL4zxeTR
ES2018まで至った今としては至極平凡な言語
とりたてて語ることも無い
デフォルトの名無しさん [sage] 2018/08/05(日) 13:09:59.07:betdjxHD
それがブラウザでそのままネイティブに動けばいいのにな
トランスパイラ必須だし
デフォルトの名無しさん [sage] 2018/08/05(日) 13:37:43.87:ERfsAu95
コンパイル型言語は対象が何であれコンパイル要るし
JavaScriptとか動的なのも狭義にはコンパイルされてる

単にソースをそのままで動かしたいだけなら babel-standalone とかで
ブラウザ上でトランスパイルすれば似た感じにはなる
でも開発に関してならインクリメンタルビルドやライブリロードの方が重要かと
デフォルトの名無しさん [sage] 2018/08/05(日) 13:53:39.36:mTAtmPyK
フロントエンド周りは一時期進化のスピードが狂ってたからな
デファクトだった技術が1年で時代遅れになるとか、頭おかしかった
当時のフロントエンド周りの人らは何故かそれを誇りにしてる感があったけど、
普通に考えたらそんなのに追随するための無駄コストがかさむわけで、結果的にユーザーにとってはなんのメリットもない狂騒だったな
デフォルトの名無しさん [sage] 2018/08/05(日) 16:29:15.02:HCiUpMia
おまえら数日前にやってたJetBrains様の半額セールにお布施した?
All Productsパック買っちゃったからもう何が流行ろうとも IntellJIDEA と一蓮托生
Flutter が google スマホ公式言語になっても開発環境はほぼ IntellJIDEA ベース決定だから
いまのうちに Android Studio で Kotlin やって慣れておけよ
デフォルトの名無しさん [sage] 2018/08/05(日) 18:20:43.63:cdvogGHQ

ああ。Ajax とか。そういう言葉が作られたぐらいか。
そういや XMLHttpRequest 自体は1999年からあったんだよな。
デフォルトの名無しさん [sage] 2018/08/05(日) 20:24:05.02:h00bNn2V
そもそもブラウザソフトは時代遅れ
既にブラウザからよりもアプリからの方がネットワークアクセスが多くなってる
HTML + CSS + JSはもう時代遅れ
デフォルトの名無しさん [] 2018/08/05(日) 20:44:56.68:MHX6Q7q7
そうかなあ?
デフォルトの名無しさん [sage] 2018/08/05(日) 20:52:05.53:fyxb8Hk+
webとappの境界は既に曖昧
デフォルトの名無しさん [sage] 2018/08/05(日) 22:11:48.52:RPc1tBmE
初めてアンドロイドのアプリ作る人がいきなりことりん使うのは無謀?

まずはjavaからですかね?
デフォルトの名無しさん [sage] 2018/08/05(日) 22:17:23.47:ERfsAu95
プログラミング自体が初めてならJavaからの方が良いと思う
デフォルトの名無しさん [sage] 2018/08/05(日) 22:29:37.14:RPc1tBmE
プログラミングはc、java、pythonに少し触れたことがある程度です

肝心のjavaに関してはあまり覚えてないです
デフォルトの名無しさん [sage] 2018/08/05(日) 22:42:03.35:Xgxd32Wd
Kotlinでいいと思うよ。そのレベルならJavaの余計な煩わしさに振り回されない方がいいと思う。
デフォルトの名無しさん [sage] 2018/08/05(日) 22:42:44.47:5Rpauaa2
IT業界に入らないならJavaなんて一生触らなくていいぞ
デフォルトの名無しさん [sage] 2018/08/05(日) 22:43:54.45:a5xFPLv7
あるプログラミング言語がドイツ製でドイツ語でしか解説が書いてなかったとするじゃん
その場合まあまずは簡単にでもドイツ語から学ぶよね

んで、Kotlinは実はJavaプログラムで解説が書いてあるんよ
メソッドのちょっと詳しい内部動作とかあれこれ便利ライブラリの使い方とか全部Javaベースで説明されるのよ
どうすればいちばん能率的だと思う?というお話なのだ
なのだ
デフォルトの名無しさん [sage] 2018/08/05(日) 22:54:38.69:RyA0MsN6
Javaは書けなくてもいいけど読めないと辛い
特にメソッドの呼び方と読み方とクラスの関係あたり
デフォルトの名無しさん [sage] 2018/08/05(日) 23:00:14.89:P3kFqRKS
初心者に言わなくてもいい余計な情報を山ほど叩きつけて混乱させる悪習がここでも、、
デフォルトの名無しさん [sage] 2018/08/06(月) 00:25:57.27:b7eNDjo0
まずこの本を3回読んで、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014

その後、太郎本を読む。
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016

これが最短!
デフォルトの名無しさん [sage] 2018/08/06(月) 00:58:22.29:44I9Cm0j
Kotlin使ってる人はJava10年選手とかで初心者のこと全然思い出せない人ばかりだからな
KotlinとJavaの区別がつかなくなってると言っていい
Javaの知識ゼロでKotlinやった身から言うとJavaの知識は必須
「それはKotlin本体の話ではない」で毎時間のように詰まったぞ
デフォルトの名無しさん [sage] 2018/08/06(月) 02:02:15.71:b7eNDjo0
結局、開発を始めると、言語の部分は関係ない

ほとんどが、Android のフレームワーク・やり方がわからないという部分
デフォルトの名無しさん [sage] 2018/08/06(月) 06:41:18.84:QmGSuEB6
少し触れたことがあるっていうのがどの程度かわからないけど、自力で小さなツールスクリプトを2,3作ったことがある程度なら
別にJavaわざわざやらなくてもJava読む分には苦労しなかったよ
デフォルトの名無しさん [sage] 2018/08/06(月) 06:59:06.19:1IcfDOCB
Android界隈ではまずはJavaからおじさんが闊歩し始めてるのか
とりあえずC言語からおじさんの亜種だな
デフォルトの名無しさん [sage] 2018/08/06(月) 07:55:12.83:4rDrUz+g
ジェネリクスあたりでわからなくなるとは思う
あれはピュアKotlinでの説明見たことないしJavaでの動作読んだほうがいい
デフォルトの名無しさん [sage] 2018/08/06(月) 08:39:40.48:vuxSZeWd
初心者がとりあえず何か書いてみるって段階ならジェネリクスなんて存在自体知る必要もないのでは
デフォルトの名無しさん [sage] 2018/08/06(月) 08:45:30.73:+HTQkGSa
さすがにそのレベルだとオブジェクト指向で詰まるでしょ
Javaを知らなくても他のオブジェクト指向言語の経験は最低でも必要
デフォルトの名無しさん [sage] 2018/08/06(月) 09:12:07.05:6FlNGOtW
C#なんかも初学者お断り言語として誕生してそのまま普及して今に至ってるわけだし、
初学者を取り込めるかどうかって実はそれほど重要ではないと思う
Java, C, Python, VBAに並んでプログラミング教育に採用されるくらいにならない限り、初学者の流入が言語の普及を大きく後押しすることはない
デフォルトの名無しさん [] 2018/08/06(月) 09:57:16.11:4JbBAPy3
誰か初心者向けのJava抜きでも大丈夫な入門書書けば良いのでは?
書けるやつここにも居るだろ?居ない?
売る方法はAmazonでいきなり電子書籍で出せばいい。
デフォルトの名無しさん [sage] 2018/08/06(月) 10:46:59.49:1IcfDOCB

誰もそんな話してないぞ
デフォルトの名無しさん [sage] 2018/08/06(月) 10:53:14.03:JI4Q/joo

書く能力のある人はいるかもしれないが、それだけの時間をつぎ込める人はまずいないと思われる。
デフォルトの名無しさん [sage] 2018/08/06(月) 10:59:29.39:1J/Ys4oh
232です
みなさんレスありがとうございます

人によって結構意見が分かれるみたいですね

とりあえずjavaの復習しつつAndroid Studioにも触れていこうと思います
デフォルトの名無しさん [sage] 2018/08/06(月) 11:20:34.42:1IcfDOCB

ご覧の通りここだとみんな好き勝手なこと言って申し訳ない。
ぶっちゃけどちらで書いても大差ないから、両方軽く見てみて自分がやりやすそうだと直感した方でいいよ。
デフォルトの名無しさん [sage] 2018/08/06(月) 11:30:44.04:yKvt1g0U
オブジェクト指向は初心者に無理
デフォルトの名無しさん [] 2018/08/06(月) 11:32:24.16:PKEcOyRe

いやもう夏休みの長い学生とかでも良いんだけどな。内容がまともなら誰が書いても構わないわけだし。

まあ学生はおすすめだな。後で就職する時に自慢げに言えるぞ。
変に期待され過ぎて後々おかしくなるかも知れんがw
デフォルトの名無しさん [sage] 2018/08/06(月) 11:35:27.91:Sox96oVX
面接でkotlinの話しても通じないだろ
デフォルトの名無しさん [] 2018/08/06(月) 12:46:24.98:PKEcOyRe

数年後だろうからそれはわからない。

まあでもどんなものでも技術系の本書きましたってのは例えAmazonで電子書籍出しただけでも思い切り自慢して良いと思うけどね。特に学生なら。
デフォルトの名無しさん [sage] 2018/08/06(月) 13:07:41.68:fu+3+K8I
本までは出さなくてもいいけど、そこらの勉強会に行ってLTしてるだけでも評価上がるわ
学生に限った話ではないけど
デフォルトの名無しさん [sage] 2018/08/06(月) 13:32:17.09:T2RnTQGF

それは中身としては「Javaの小難しいとこを初心者向けに解説した良書」という存在の難しい書物なのでは…
デフォルトの名無しさん [sage] 2018/08/06(月) 16:10:58.72:KxdXJpVp
Java習得している人の説明は、
Javaだとこう書くけどkotlinだとこう書く。で説明できている気になるからなあ
書籍もそういう書き方のものばかり
C♯も出始めの頃はC++を例えに説明されてたなあ
これではプログラミング初学者には理解できないわけで
デフォルトの名無しさん [sage] 2018/08/06(月) 17:07:56.22:EFfsXSN1
読んだことないけどkotlinで書いてるAndroid入門本出てたろ?
あれはさすがにJavaの知識前提では書いてないんじゃないの
デフォルトの名無しさん [sage] 2018/08/06(月) 18:32:07.32:EtO/O+JZ
Xamarinはやめとけ
デフォルトの名無しさん [sage] 2018/08/06(月) 18:49:11.00:NL9d1JGk
まあでも新OSの噂を考えたら、Flutterもキャッチアップしておいた方が良さそうだよな。
Dartは糞だと思うが、結局言語自体の糞さなんて無関係に必要ならば使わざるを得なくなるのはObjectiveCが証明してる。
デフォルトの名無しさん [sage] 2018/08/06(月) 20:01:54.72:/4fD//oO
自分もjavaとばしてkotlinやってるんだけどgradle使おうとしたら結局java必須なんですかね
デフォルトの名無しさん [sage] 2018/08/06(月) 20:08:56.96:ASqWwZGA
いや、別にそんなことないけど
デフォルトの名無しさん [sage] 2018/08/06(月) 20:10:44.03:sDRq07oc
次のアプリは既にflutterで開発中だわ。dartは確かにクソだけどflutterの出来がいいから俺はdart+flutterに移行するわ
デフォルトの名無しさん [sage] 2018/08/06(月) 20:11:55.09:sDRq07oc
kotlinで作ったアプリは結局一つだけになりそう
デフォルトの名無しさん [sage] 2018/08/06(月) 20:19:40.48:NL9d1JGk
ネイティブの実装を意識しなくちゃいけない時のためにネイティブで一つは作っておいた方がいいけど、
それ以降はflutterでいいかもな、もう
デフォルトの名無しさん [sage] 2018/08/06(月) 20:46:16.37:sMqi0kXb

ttp://mevius.5ch.net/test/read.cgi/tech/1521401186/381-385n
で出た話かな。
デフォルトの名無しさん [sage] 2018/08/06(月) 20:56:58.11:BcADUY9F
まあ後発だけあってxamarinよりは使い勝手いいよflutter
デフォルトの名無しさん [sage] 2018/08/06(月) 21:35:09.32:fA8BcJEJ
同じクラスに val hoge: Int と fun getHoge(): String が書けたりするんで java 知ってても混乱するかも
デフォルトの名無しさん [sage] 2018/08/06(月) 22:33:44.76:sMqi0kXb

KotlinでもGradleスクリプト書けるらしいけど、本格的に使っている人がいるという話は聞いたことがない。
デフォルトの名無しさん [sage] 2018/08/06(月) 22:45:14.23:NL9d1JGk
Gradle自体で色々やろうとするのはあまり感心しないやり方ではある
デフォルトの名無しさん [sage] 2018/08/07(火) 07:57:05.36:Q8QjXTFq

いや、普通に使ってるけど。
誰かが使ってるかどうかじゃなくてやりたいことが出来るかどうかで判断しなよ。
デフォルトの名無しさん [sage] 2018/08/07(火) 12:37:03.40:zwrq9O7+
当然だけどjetbrainsのプラグインサンプルとか見るとgradle kotlinだよ
デフォルトの名無しさん [sage] 2018/08/07(火) 16:44:57.71:28JrB4MB
それどころか Kotlin 本体のビルド環境が gradle kotlin
デフォルトの名無しさん [sage] 2018/08/07(火) 17:16:36.31:G0vBEAD8
Xamarinのビルド環境もきっとgradle kotlin
デフォルトの名無しさん [sage] 2018/08/07(火) 18:28:20.63:o+SXJDeg
コトリソ
デフォルトの名無しさん [sage] 2018/08/07(火) 20:42:51.65:8GpHFpxu
Xamarinの内部実装はkotlin
デフォルトの名無しさん [sage] 2018/08/07(火) 21:07:39.37:e65uwOnA
地獄で十王に責められたら良いと思うの
デフォルトの名無しさん [sage] 2018/08/07(火) 21:22:19.33:Mbqc13Y2

昔やってみようかと思って調べたら、IntelliJですらコード補完がきかない上に、
エラー扱いでスクリプトが真っ赤になると聞いたんだけど、今はそういった状況って改善した?
build.gradleをbuild.gradle.ktsにするだけでOK?
IntelliJ使っているなら、体験談は聞きたい。
デフォルトの名無しさん [sage] 2018/08/07(火) 21:37:26.55:aRZ5FP3o
そんなこと聞くより自分で試してみた方が早いのに
デフォルトの名無しさん [sage] 2018/08/07(火) 22:49:04.93:Mbqc13Y2

過去の事例を見ていると泥沼になってるっぽいし、.ktsするだけならいいけど、
他に工夫がいるなら可能性のパターンが多すぎるし。
デフォルトの名無しさん [sage] 2018/08/08(水) 06:03:13.82:xJ+k5fDW
あ、だめだこいつ典型的な使えないやつだ
デフォルトの名無しさん [sage] 2018/08/08(水) 10:42:07.53:Xg7pdwcY
そんなことよりElectron for Kotlin作ろうぜ
デフォルトの名無しさん [sage] 2018/08/08(水) 12:05:01.65:EGD1pmHY
それならflutter for kotlin作りたい
デフォルトの名無しさん [sage] 2018/08/08(水) 12:26:11.98:EGD1pmHY
Xamarin for Kotlinがあればこのスレ的には最高だよな
デフォルトの名無しさん [] 2018/08/08(水) 12:47:14.26:F+v67OAu
そうなのか?
デフォルトの名無しさん [sage] 2018/08/08(水) 15:48:25.24:CvCa/3U5
新たな罰ゲームですかね
デフォルトの名無しさん [sage] 2018/08/08(水) 18:02:33.28:APIHEME4
Xamarinほどの◯はない

◯に一字を当てはめて文章を完成させよ。
デフォルトの名無しさん [sage] 2018/08/08(水) 18:44:25.32:jofvsI7K
デフォルトの名無しさん [sage] 2018/08/08(水) 18:50:55.70:ohrY+dMQ
金箔貼っても○は○
デフォルトの名無しさん [sage] 2018/08/09(木) 10:44:19.79:9RYWVA0H
デフォルトの名無しさん [sage] 2018/08/09(木) 18:08:32.67:qR+R7UkW
幼女
デフォルトの名無しさん [sage] 2018/08/09(木) 22:16:35.85:rXBLlSdn
苦学生なので太郎本誰か安く売ってください
デフォルトの名無しさん [] 2018/08/09(木) 23:33:24.08:sQivJXeT

学校の図書館にはないのかね?
デフォルトの名無しさん [sage] 2018/08/09(木) 23:37:13.44:rXBLlSdn

借りられてました(T_T)
おそらく夏休み期間中は返却されないでしょう…
デフォルトの名無しさん [sage] 2018/08/10(金) 00:16:27.04:HvOo5lht

太郎本よりインアクション1冊持ってればいいよ
太郎本は入門時ぐらいしか役に立たないけど、インアクションは後々役に立つ
高いけど
デフォルトの名無しさん [] 2018/08/10(金) 00:41:48.76:ucX04wSR

市や区の図書館はどうかな?
デフォルトの名無しさん [sage] 2018/08/10(金) 01:48:25.18:3Gbr2Rmh
progate に、Kotlin は無いのか?

もしあれば、それをやれば?
デフォルトの名無しさん [sage] 2018/08/10(金) 06:28:26.37:MBB3W1pK

polcaとかで募集してくれればカンパするけど、2ちゃんで晒すのは辛いかw
デフォルトの名無しさん [sage] 2018/08/10(金) 07:35:25.13:/zQV8qwX
2933です。
冗談半分のつもりで書いたのですが、レスくださった方ありがとうございます。

他の図書館にもprogateにもなさそうなので素直に買います。
デフォルトの名無しさん [sage] 2018/08/10(金) 08:06:14.26:iIeQ9v4K
明後日から来たの?ご苦労様
デフォルトの名無しさん [] 2018/08/12(日) 00:47:17.48:iQgtAsnw
この言語があればJava使う機会なんてなくなるの?
デフォルトの名無しさん [sage] 2018/08/12(日) 04:25:49.75:2b+MtdzC

Yes. ただし、Javaしか使っていない会社などからJavaでやるように指定があった場合や、
過去にJavaで書かれたライブラリのソースコードを参照したり修正したりする必要があるような場合などは
はその限りではない。
Oracle JDKのライセンス問題で、Kotlin関係なしにJVMごとJavaを使う機会がなくなるのでは
というのが目下の懸案だけど、JDK 11のリリースされる9月までにはなんらかの発表があって
目処がつくと信じたい。
デフォルトの名無しさん [sage] 2018/08/12(日) 04:37:20.20:5MmmYY5A

今の所 Java VM 上で動かす方式が優勢なので使うと言えば使うなあ。
ただその内 Kotlin native が出来るので、そうなると Java VM 不要なので使わなくなると言える。
デフォルトの名無しさん [sage] 2018/08/12(日) 04:52:22.30:scMYRNa0
Kotlin nativeはJavaのライブラリ使えないんだろ?
全部Kotlinで再実装しなきゃならんのなら辛くないか
デフォルトの名無しさん [sage] 2018/08/12(日) 05:54:22.09:5MmmYY5A

今色々とライブラリ用意してる所なんじゃないか?
それとC言語用のライブラリとか、他の言語のライブラリも使えるようだぞ。
ttp://http://blog.64p.org/entry/2017/05/19/005703
まあ、nativeなら使えないわけがないとは思うが。
デフォルトの名無しさん [sage] 2018/08/12(日) 09:06:47.01:a/u5qla2
google的にはkotlinも捨ててdartに行くつもりなのか
デフォルトの名無しさん [sage] 2018/08/12(日) 10:35:43.82:pIqP21BS

将来的にはYes
現状はNo
JDKがないと使えない
デフォルトの名無しさん [sage] 2018/08/12(日) 10:52:47.17:Lmkmcz7n

本命はwasmでしょ
flutterはgoogleによくある戦略外のお遊びプロジェクトで、すぐ消えるよ
デフォルトの名無しさん [sage] 2018/08/12(日) 10:57:48.76:Lmkmcz7n
flutter程度のお遊びプロジェクトは様々な団体であちこちで生まれては消えてを繰り返している
Googleのそれに限って光り輝いて見えるのはSEOのせいであり、だからといってほとんどが失敗して消えていることに違いはない
いいかげん気付け
デフォルトの名無しさん [sage] 2018/08/12(日) 10:59:13.78:a8EQc4Jn
そう思う根拠を教えて
なんとなくの決めつけじゃ説得力ないよ
デフォルトの名無しさん [sage] 2018/08/12(日) 11:26:33.00:Lmkmcz7n
だいぶ色の違うプロジェクトではあるけど、最近だと軍事AIドローン開発の大プロジェクトが中止されたね
Google社員が猛反発し、集団退職まで起こった
結構な大ニュースのはずだけど知ってた?そういうもんよ
デフォルトの名無しさん [sage] 2018/08/12(日) 11:57:57.27:GZJK6yDV
いや、だからgoogleのプロジェクトのうち長く続くものとそうでないものにどういう違いがあって、
flutterが後者である理由を教えてよ
デフォルトの名無しさん [sage] 2018/08/12(日) 12:02:42.76:dVUCF5O6
FlutterはAndroidから噂の新OSへ移行するとしたら絶対必要になるけどな。
そのOS自体をやめない限りは絶対続くし、Java周りのアレのせいでgoogleがAndroidを大転換したがってるのは間違いない。
デフォルトの名無しさん [sage] 2018/08/12(日) 12:40:46.93:nPGq7YXg
新OSはまぁ、あんまり期待できないな。マイクロカーネルっていうアーキテクチャは面白いとは思うけど
デフォルトの名無しさん [] 2018/08/12(日) 13:05:29.23:iQgtAsnw
この間Javaの入門書買ったばかりなのにこんな良さげな言語があるとは…
下調べ不足だわ
デフォルトの名無しさん [sage] 2018/08/12(日) 13:09:37.91:flgGmy0e
Javaの入門書やるレベルならまずはそれを終わらせたほうがいい
OOP何それレベルはさすがにKotlinでは門前払い
デフォルトの名無しさん [sage] 2018/08/12(日) 13:16:54.14:cynVKITI
これからJava離れ、あるいはJVM離れが加速するかもしれないのにJavaデビューとは
もしIT業界で戦うための勉強だとしたらKotlinなんて知らない方がマシだぞ
デフォルトの名無しさん [] 2018/08/12(日) 13:16:56.79:iQgtAsnw

未読のまま売ろうかなって思ってたけど読んだほうがいいかな
C言語をしばらくやってたからOOP何それ?とはならないけども
デフォルトの名無しさん [] 2018/08/12(日) 13:18:28.15:iQgtAsnw

今大学三年なんだけどIT企業への就職を考えてる
もしIT業界で戦うための勉強だとしたらKotlinなんて知らないほうがマシ、っていうのはどういう意味?
デフォルトの名無しさん [sage] 2018/08/12(日) 13:24:17.93:cynVKITI

Kotlin使える現場なんて少ないからな
ただでさえJava書いてるだけでストレス溜まるのにKotlin知ってたら「このコードKotlinなら・・・」って余計ストレス溜まるぞ
デフォルトの名無しさん [sage] 2018/08/12(日) 13:49:37.06:pIqP21BS
そもそもIT業界への就職はやめとけw
ITやりたいだけなら普通の業界でもできる
デフォルトの名無しさん [sage] 2018/08/12(日) 14:08:24.81:nPGq7YXg
まぁ、肌に合わなかったら辞めりゃいいやって甘い考えは捨てた方がいいかもな
デフォルトの名無しさん [sage] 2018/08/12(日) 14:19:48.26:hK7vmWQc
ある程度自力裁量のあるプログラミングを業務としてやりたいというのなら、プログラミングの勉強ではなくIT業界研究に時間を割くべきだね
プログラミングやらせてもらえない名ばかりプログラマや〇〇エンジニアやコーダが転職もできない底辺過重労働を死ぬか壊れるまでする業界だぞ
どうしても判断できなきゃ「プログラミングに興味のある就活中の学生です」という体でツイッターと技術勉強ブログを公開して寄ってきた企業から選べ、確率的にはマシだ
デフォルトの名無しさん [sage] 2018/08/12(日) 14:36:19.63:pIqP21BS

その言葉を学生の頃の俺に聞かせてやりたいよw
デフォルトの名無しさん [sage] 2018/08/12(日) 14:40:05.08:gkOYpZX2

SIerの方ですか?
デフォルトの名無しさん [sage] 2018/08/12(日) 15:20:58.90:nPGq7YXg
いつまでも学生気分じゃ困るんだよw
デフォルトの名無しさん [sage] 2018/08/13(月) 21:03:42.61:JwNoNOMV
windowsで仕事してるIT企業はブラック
macで仕事してるIT企業はホワイト
わかりやすいよ
デフォルトの名無しさん [] 2018/08/13(月) 21:41:45.50:z6+TJcGX
俺はLinux
デフォルトの名無しさん [sage] 2018/08/13(月) 23:03:22.27:1WecOW6M
僕はNetBSD
デフォルトの名無しさん [sage] 2018/08/14(火) 04:01:47.43:f3FANfLN
Linuxだなあ
デフォルトの名無しさん [sage] 2018/08/14(火) 05:46:59.00:oNpJd1VZ
本当はLinuxにしたいけど、GUIツールが貧弱すぎるのとiOSもやらないかんからやむを得ずMac使ってる。
最近はWSLがだいぶ使い勝手が良くなったと聞くがどうなんだろうね。
デフォルトの名無しさん [sage] 2018/08/14(火) 08:59:50.24:KA6KtKr+
Linuxを選べるIT企業はホワイト
Linux強制のIT企業はブラック
デフォルトの名無しさん [sage] 2018/08/14(火) 09:06:12.38:lgg451+R

めっちゃ分かる。
何使っててもいいけど、自分で選べるかどうかが1番大事。
デフォルトの名無しさん [sage] 2018/08/14(火) 12:59:50.75:CqIA5BO1

おまえがキモマカーだということはわかった
デフォルトの名無しさん [sage] 2018/08/14(火) 13:41:30.60:rimj287y
mac強制の企業とかwwwww
デフォルトの名無しさん [sage] 2018/08/14(火) 14:29:29.21:I/ZM5koT
強制というか、作ってる製品のサーバ側が Linux だからサーバ側に配属されたら Linux になるってだけのことだな。
デフォルトの名無しさん [sage] 2018/08/16(木) 21:51:35.70:j2ztJgcf
有料でもいいからリッチなLinuxのGUIが出てこないもんかね
主流のやつは大体試してきたけど、普段使いのメインにするにはちょっと厳しい
デフォルトの名無しさん [sage] 2018/08/17(金) 00:45:26.84:cjk17uo9

Linuxはそういうとこが弱い印象
MSにしろAppleにしろ素人集めて
UI使わせてどこで迷ったとかこういう動きした
とか実験して参考にしてるみたいだけど
Linuxは個人の趣味だけで作ってそう
デフォルトの名無しさん [sage] 2018/08/17(金) 08:39:37.55:LhGk886y
よくLinuxは普段使えるGUIソフトが全然足りないと言われるけど、そもそもGUI自体が貧弱だから当然っちゃ当然だわな。
それがなんとかなりゃMacなんて使わないのに。
デフォルトの名無しさん [sage] 2018/08/17(金) 09:01:22.85:WiAGQ6be
Linuxのデスクトップ環境程の糞はない
デフォルトの名無しさん [sage] 2018/08/17(金) 09:05:52.81:LhGk886y
なんだ、やっぱりXamarinのせいだったのか
デフォルトの名無しさん [] 2018/08/17(金) 09:10:33.20:7hC1UKUq
Androidでも使っとけ
デフォルトの名無しさん [sage] 2018/08/17(金) 09:43:50.12:ogzk9Zno
LinuxにGUI求める奴はLinux向いてないからMac使った方がいいよ
Linuxはシェル駆使してターミナルで使う物
デフォルトの名無しさん [sage] 2018/08/17(金) 10:15:43.19:ZNgpklI9
そうだねえ。
できればメインをLinuxにしたいんだけど、現状じゃ無理だ。
デフォルトの名無しさん [sage] 2018/08/17(金) 11:54:10.87:GXJQ8joR
実際ほとんどの開発者はMacに流れたな
デフォルトの名無しさん [sage] 2018/08/17(金) 12:07:24.52:w7QZd1Ca
はまさにその通りなんだけど、
みんながみんなそれを言ってるからの現状なんだろうねw
デフォルトの名無しさん [sage] 2018/08/17(金) 12:19:03.05:73aOPBuv
Macはパッケージマネージャがクソすぎるからなあ
WSLの出来が意外と良くて、好き嫌いを別にすれば既に開発環境としての使い勝手はWinに抜かれてる
デフォルトの名無しさん [sage] 2018/08/17(金) 12:20:38.11:XtLPAIa9

なこと言ってるからいつまでもメジャーになれないんだよ
デフォルトの名無しさん [sage] 2018/08/17(金) 12:56:35.66:w7QZd1Ca
しかしkotlinの話題ねーな
デフォルトの名無しさん [sage] 2018/08/17(金) 13:24:43.25:HQ4sTWxq

なる必要などないしその労力は無駄であるというのがfvwm95の昔からの結論
デフォルトの名無しさん [sage] 2018/08/17(金) 13:42:05.69:L5h1t/+7

Homebrew知らんの?
デフォルトの名無しさん [sage] 2018/08/17(金) 14:17:43.45:xfqx4UeU

HomebrewってGUIだっけ?

XamarinスレだからKotlin 1.3の話をする人がいないのは仕方ないね。
デフォルトの名無しさん [sage] 2018/08/17(金) 14:33:17.11:LZQG4mfs
ん?Windowsにまともなパッケージマネージャあったっけ?
デフォルトの名無しさん [sage] 2018/08/17(金) 14:43:55.53:A0flNsox
scoop
デフォルトの名無しさん [sage] 2018/08/17(金) 15:29:41.25:HvkpSUe9

apt
ほぼ普通のUbuntuがVMなしで使える
デフォルトの名無しさん [sage] 2018/08/17(金) 15:32:05.29:HvkpSUe9

今のMacではHomebrewはmacOSのセキュリティと干渉してしょっちゅう不具合起こすよ
デフォルトの名無しさん [sage] 2018/08/17(金) 16:30:28.89:ZNgpklI9

毎日のように使うけど、しょっちゅうってほど不具合は起きないぞ
OSのメジャーアップデートの時はやばいが
デフォルトの名無しさん [sage] 2018/08/17(金) 21:16:05.18:qpR6osUU
同じく、しょっちゅう使ってるが、特にHomebrewで不具合起きてないぞ
デフォルトの名無しさん [sage] 2018/08/17(金) 21:48:31.12:No8PGWXY
El Capitanになった時だけは死んだけど、それ以来はそんなことないな
デフォルトの名無しさん [sage] 2018/08/17(金) 23:32:30.00:JHT8uO3j
MacはOSバージョン毎年変わるくせにアプリの互換問題な耐えないから大嫌い
デフォルトの名無しさん [sage] 2018/08/18(土) 06:32:26.18:rejH9nbp
Xamarinみたいな糞でやるから不具合を起こす
デフォルトの名無しさん [sage] 2018/08/18(土) 06:43:35.72:b/8OtQ4O
$brew install Xamarin
...
...
$ Error: Xamarin is shit. Uninstall it ? (Y/Y)
デフォルトの名無しさん [sage] 2018/08/18(土) 10:30:10.12:F905Yoig
Windowsが好きなら黙って使っとけよ
わざわざ自分が使わないものを貶めなくてもいいだろ
デフォルトの名無しさん [] 2018/08/18(土) 11:06:43.75:2sc6SUFd
Windowsは特に好きではないな
デフォルトの名無しさん [sage] 2018/08/18(土) 11:36:54.08:/LU7vcJE
マカーはキモいから嫌い
デフォルトの名無しさん [] 2018/08/18(土) 11:46:54.19:lnjd5vUp
かといってMacが好きというわけでもない
デフォルトの名無しさん [sage] 2018/08/18(土) 11:56:45.00:DpHvDvUQ
MacはBSDに綺麗な服着せて見た目かっこよくしただけだからな
ちょっと凝ったことしようとするとシェル駆使する必要があって、Javaとか使ってるだけの純プログラマーに使いこなすのは難しいんだろ
デフォルトの名無しさん [sage] 2018/08/18(土) 12:00:07.22:rejH9nbp
Kotlinの話題はスレ違い
デフォルトの名無しさん [] 2018/08/18(土) 12:33:38.16:deSvY+zd

いや、Macのそういうところは好きだ。あのGUIは邪魔。
デフォルトの名無しさん [sage] 2018/08/18(土) 22:33:24.33:b/8OtQ4O
MacとWindowsなんて、どこの板のどこのスレでも大荒れ必死な話題なのにこの程度しか燃えないのか
ほんとこのスレ過疎ってるな
デフォルトの名無しさん [sage] 2018/08/18(土) 22:44:15.04:ub6IzT+t
盛り上がるのは知識がなくても誰でも一言言える話題だからだろうな。
スレチだから他でやれば
デフォルトの名無しさん [sage] 2018/08/19(日) 16:56:24.77:5XAewA6I
ほんそれ。ここはXamarinスレだから、OS論争は他所でやれ、
デフォルトの名無しさん [] 2018/08/20(月) 09:40:13.59:ND3E6qpc
Kotlinもよろしく
デフォルトの名無しさん [] 2018/08/20(月) 09:50:24.62:ND3E6qpc
プログラミング言語のシェア競争は安定期に? 人気ランキングから見えてきたこと
ttp://https://wired.jp/2018/08/18/apple-swift-android-kotlin-rankings/
デフォルトの名無しさん [sage] 2018/08/20(月) 10:10:29.63:x7paPDUd
やっぱこれからはJavascriptなんだな
デフォルトの名無しさん [sage] 2018/08/20(月) 10:21:41.26:DKLH5BZm
これからはっていうか、JavaScriptは公用語みたいなもんだし……
デフォルトの名無しさん [sage] 2018/08/20(月) 11:51:43.10:cNBkY4aq
Nodeが出来て、JavaScript はなんでも作れるようになったしな
デフォルトの名無しさん [sage] 2018/08/20(月) 12:12:06.35:3h8qMdvN
CSSって言語なんかい
デフォルトの名無しさん [sage] 2018/08/20(月) 12:28:51.39:43WzFeGw

スレ違い
デフォルトの名無しさん [sage] 2018/08/20(月) 22:36:41.19:sOQT11b6
ことりん…寿命短かったな…
デフォルトの名無しさん [] 2018/08/20(月) 22:58:38.25:GHO1XUgy
これからは Kotlin の時代
デフォルトの名無しさん [sage] 2018/08/21(火) 06:43:02.77:pgnIL/+t

Android: 成功しているが、まだJavaの方が優勢。しかもモバイルOSはFuchsiaに移行していく。
JVM: OpenJDKの半年ごとリリースのサイクルについていけなくなる。
Javascript: 圧倒的にTypescript
Native: 完成の目処がたたない。
どうしよう未来(さき)が見えない…
と、スレチながら極論してみる。
デフォルトの名無しさん [sage] 2018/08/21(火) 07:00:16.40:ER84EYK7
つまりDelphiの時代が来るということか
デフォルトの名無しさん [sage] 2018/08/21(火) 07:46:05.84:zcrc23cN

FuchsiaのSDK(Flutter)ってDartだってw
デフォルトの名無しさん [sage] 2018/08/21(火) 07:49:19.34:teJHwhtx
Nativeをもっと重視すべきだったんだよな
完全に後手
デフォルトの名無しさん [sage] 2018/08/21(火) 08:52:04.60:/lM+iD3m
JBのリソースがそこまで足りてないんだろ
flutterが出る前にGoogle様に会社ごと買収して貰えばよかった
デフォルトの名無しさん [sage] 2018/08/21(火) 08:52:53.59:/lM+iD3m

ほんとそれだけが地獄だよな。
flutterは良く出来てるけど、Dartが辛すぎるww
デフォルトの名無しさん [sage] 2018/08/21(火) 10:34:10.23:SJcpraea
リソースないならJS切り捨ててNativeに注力しろよって思う
もしくは逆か
両方やろうとするからどっちも中途半端になってSwiftにもTSにも勝てないんだよ
デフォルトの名無しさん [sage] 2018/08/21(火) 10:45:03.25:5BiPsrnL
JBって未だに正式なJavaの認証のないグレーなOpenJDKを配布してるよね
Nativeなんか成功するわけないんだから、遊んでる余裕があるなら
JBがOracleの正式なライセンスを受けたOpenJDKのディストリビュータになって、顧客にOpenJDKの安定的な提供を確約すべき
このままだとVSCodeに食われて潰れるのも時間の問題
デフォルトの名無しさん [sage] 2018/08/21(火) 12:01:52.04:1AaNdj73
全然意味がわからない
デフォルトの名無しさん [sage] 2018/08/21(火) 12:15:49.34:Y1HyydAv
わかんないんです
デフォルトの名無しさん [] 2018/08/21(火) 12:45:30.29:m1oFA/yA
そのうちなんとかなるだろう。

Fuchsiaになったらなったでそれ用にコンパイルできるやつができればいいんじゃないか?
デフォルトの名無しさん [sage] 2018/08/21(火) 17:18:03.76:22ftzkrn
Javaは仮想マシン使ってクロスプラットフォーム対応ってのが新しいと言われて普及したけど、それも今は昔
今後の主流はPWAだからJavaとかオワコンになりつつおる
デフォルトの名無しさん [sage] 2018/08/21(火) 17:57:40.74:FPUp8w4J
PWAねえ
少なくとも当面の間は主流になることはないと思うよ
ビジネス的な理由で
デフォルトの名無しさん [sage] 2018/08/21(火) 18:12:15.63:ER84EYK7
あー、馬場が持ってたベルト?
デフォルトの名無しさん [sage] 2018/08/21(火) 18:29:43.31:FPUp8w4J
NWA
デフォルトの名無しさん [sage] 2018/08/22(水) 08:56:38.71:Ee/2I2ZM
でもflutterって現状sdkってより只のUIツールキットだからな。だからfuchsiaのOS提供機能のAPIが別に用意されてそれは他の言語から自由にアクセスできるんだろうし。
下手するとdart/flutterを全く介さないアプリもfuchsiaで動かせるとか?
そこでmicrosoftさんで出番ですよ
デフォルトの名無しさん [sage] 2018/08/22(水) 14:52:28.46:Opme7aq9
valをletにしてくれ
デフォルトの名無しさん [] 2018/08/22(水) 15:46:02.41:TfhbroeT
sed 's/val/let/g'
デフォルトの名無しさん [sage] 2018/08/22(水) 17:58:32.00:q9VwAvA5

そんなこと言ってると時代に取り残されるぞ
デフォルトの名無しさん [sage] 2018/08/22(水) 18:06:27.10:HQ6oWCAi
そういう本質的でない技術は主流になってからやりゃいいよ
デフォルトの名無しさん [sage] 2018/08/22(水) 20:16:12.08:8AiYFpTJ
let って再代入可な方じゃないの
デフォルトの名無しさん [sage] 2018/08/22(水) 20:20:16.72:mHU9sjBy

関数型言語では、束縛といってletは再入不可だが、
JavaScriptとTypeScriptはなぜか再入可能になる
デフォルトの名無しさん [sage] 2018/08/22(水) 20:39:29.39:KWi0p3U0
letよりvalの方が好きなんだけど
デフォルトの名無しさん [sage] 2018/08/22(水) 20:40:29.82:0XlZNPWV

技術者としてはキャッチアップしておかなくちゃいけないけど、既存のプラットホームとの兼ね合いで主流になるまでのハードルは高いよ
具体的に言えばAppleとグーグルの稼ぎが減ってしまうから
デフォルトの名無しさん [sage] 2018/08/22(水) 20:42:06.98:8AiYFpTJ
完全にjavascript脳だったわ…
デフォルトの名無しさん [sage] 2018/08/22(水) 20:45:35.82:mHU9sjBy

それは君のせいじゃないから大丈夫
デフォルトの名無しさん [sage] 2018/08/22(水) 20:46:41.41:KWi0p3U0
jsは呪い
デフォルトの名無しさん [] 2018/08/22(水) 20:54:36.48:ROURn6Ut
本日は朝から晩までC言語漬けでした。
デフォルトの名無しさん [sage] 2018/08/22(水) 21:02:15.44:O0qVPdaC

確かに

varとvalが紛らわしいと思う一方で、letと束縛のイメージが結びつかなくて気持ち悪いと思う自分がいる。
デフォルトの名無しさん [sage] 2018/08/22(水) 21:11:20.85:mHU9sjBy

確かにlet自体には束縛の意味はない。関数型言語ではletを使って束縛をする(デフォルトで再入不可)というだけの話。JavaScriptではデフォルトが再入可能なので、letも再入可能になったってことかな?
デフォルトの名無しさん [sage] 2018/08/22(水) 21:22:01.52:DbF2a/CJ
C言語程の糞はない
デフォルトの名無しさん [sage] 2018/08/22(水) 23:32:50.26:HOzF47E5

(キリッ が付きそうなレスする前に再入可能の意味をググってみよう
リアルで恥かかなくて済んでよかったね
デフォルトの名無しさん [sage] 2018/08/22(水) 23:39:06.16:mHU9sjBy

mutable immutableの和訳なんてどうでも良い
デフォルトの名無しさん [sage] 2018/08/22(水) 23:51:36.95:7dusK3Vt
reentrantのことかな?
デフォルトの名無しさん [sage] 2018/08/23(木) 02:26:41.19:0BdYLtyL

let を最初に使ったのは Lisp だろ
Lisp の let は新しいスコープを作り、そのスコープに変数を束縛する
スコープに束縛された変数は、再代入可能だし、初期値も必須では無い

最近の関数言語でも概念的には一緒だと思うんだけどね?
関数言語 let a = 1 とかした場合、これは a に 1 を束縛しているのではなくて、スコープに変数 a を束縛してその値を 1 にしている
そして が言ってるように、関数言語の場合は変数が再代入不可能だから a の値が 1 固定になる
デフォルトの名無しさん [sage] 2018/08/23(木) 02:50:29.42:IMowIDim
binding自体は難しいものではないからな
特定の言語仕様がくっついたまんまの状態で別の言語で考えると「??」ってなるだけ
それは方言だってやつね
デフォルトの名無しさん [sage] 2018/08/23(木) 05:10:43.81:NPcuqlt3

関数型言語
デフォルトの名無しさん [sage] 2018/08/23(木) 06:12:59.25:TUtRWyI1

let a be 1 で値を1にするというのはまだわかるのだけど、
英語nativeじゃないからかもしれないが、
letという単語にそういうスコープ束縛の意味はない気がするのでイメージしづらい。


再入可能と再代入可能は違うとだけ指摘すればいいものを。
リアルでそんな指摘のしかたでは敵も多かろうに。
デフォルトの名無しさん [sage] 2018/08/23(木) 06:15:01.67:jFi7Ee35
let it be
デフォルトの名無しさん [sage] 2018/08/23(木) 06:25:49.65:NPcuqlt3
俺からしたらreentrantを再入可能なんていう訳がしっくりこないが
再呼出可能だろうと
デフォルトの名無しさん [sage] 2018/08/23(木) 06:55:01.57:TUtRWyI1
もう一つ違和感の原因に思い当たったのだけど、
value a is 1, variable a is 1は英語の第三文型だけど、
let a be 1だと、第五文型になるので、統一感がなくなるというのもあるかもしれない。
デフォルトの名無しさん [sage] 2018/08/23(木) 07:02:20.78:NPcuqlt3
違和感といえばC言語の『=』ですでに違和感感じてたw
左辺と右辺違うやんって
デフォルトの名無しさん [sage] 2018/08/23(木) 07:44:11.85:heLt90+O
letと言えばBASICじゃろ
デフォルトの名無しさん [sage] 2018/08/23(木) 08:07:32.06:NPcuqlt3
let me see
デフォルトの名無しさん [sage] 2018/08/23(木) 08:12:26.38:mIuNhekR
whisper words of wisdom
デフォルトの名無しさん [] 2018/08/23(木) 09:25:48.69:C+ya3+0M
Let it be.
デフォルトの名無しさん [sage] 2018/08/23(木) 16:05:20.94:2F21HjPE
let me go.
デフォルトの名無しさん [sage] 2018/08/23(木) 17:05:44.50:TUtRWyI1
第三文型じゃなくて第二文型(SVC)だったorz 第三文型はSVOだ

そのときにHaskellを知っていれば・・・みたいな話?
デフォルトの名無しさん [sage] 2018/08/25(土) 12:19:58.62:00w/RGH3

その後に知ったのがMLなのでHaskellは無用だった
デフォルトの名無しさん [sage] 2018/08/25(土) 14:40:53.80:3vWz7Zv+
Kotlin conf
デフォルトの名無しさん [sage] 2018/08/25(土) 17:16:38.87:jtKhjY34

今日やるのはKotlin confじゃなくてKotlin Fest 2018だよね。
なんか進展ありました?
デフォルトの名無しさん [sage] 2018/08/25(土) 20:16:12.81:uxLSKGCy
スライドと動画のリンクはよ
デフォルトの名無しさん [sage] 2018/08/26(日) 13:31:35.98:HHP/3bjy
2018年 人気&嫌われプログラミング言語トップ25- Stack Overflow
ttp://https://news.mynavi.jp/article/20180604-639227/

Kotlin は結構愛されて求められてるね。
デフォルトの名無しさん [sage] 2018/08/26(日) 13:37:00.99:dCoMS5v0
スライド一覧
ttps://kotlin.connpass.com/event/91666/presentation/
デフォルトの名無しさん [sage] 2018/08/26(日) 17:07:51.07:568XLgVm
今まで色々な言語使ってきたけど、ことりんは凄く気に入ってる
ただ、それが依存してるJavaがなぁー
デフォルトの名無しさん [sage] 2018/08/26(日) 17:20:40.99:vKa62JvF
おらくるりん
デフォルトの名無しさん [sage] 2018/08/26(日) 18:00:56.59:IlV3X4+w

ほんそれ。Kotlinにガッツリ打ち込みたいけど、JVM自体がリスク因子になっちゃってて
デフォルトの名無しさん [sage] 2018/08/27(月) 09:06:47.08:LJ5u+TtP
Kotlinは良い言語だよ、本当に良い言語だ(Dartを書きながら)
デフォルトの名無しさん [] 2018/08/27(月) 09:24:55.01:n6GSDZ7+
そのうちなんとかなるだろう
デフォルトの名無しさん [sage] 2018/08/27(月) 09:36:28.91:YiUsgylF
なんくるないさぁ
デフォルトの名無しさん [sage] 2018/08/27(月) 10:25:22.43:sHn2zbuk
KotlinはnativeかJSのどっちかに注力しないとJVMに引きずられて消えてく気がする
デフォルトの名無しさん [sage] 2018/08/27(月) 10:53:20.42:kUzPhAPi
そもそもKotlinは、なぜJVMで動くのが前提で作られたのか
Javaとの互換性を重視したんだろうけども
デフォルトの名無しさん [sage] 2018/08/27(月) 11:19:52.14:YhTVciUp
そりゃJetBrainsの客層を考慮したら当然でしょ
JBの売上ってIntelliJとReSharperがほとんどだろ
後者はC#があるからKotlinは必要とされない
したがって選択肢はJavaしかない
デフォルトの名無しさん [sage] 2018/08/27(月) 12:09:48.36:8IW9wWN5
kotlinってGoogleと協議とかなしで作り出したん?
デフォルトの名無しさん [sage] 2018/08/27(月) 12:14:18.45:lo1+oiT7
Googleと協議してたらクソ言語が出来上がってただろうね
デフォルトの名無しさん [sage] 2018/08/27(月) 15:20:05.25:EuSRu09h
Scala挫折組が低機能Scalaとして開発始めたんだから当然JVM言語
デフォルトの名無しさん [sage] 2018/08/27(月) 16:28:17.61:TTmZykjy

ネット見てるとPycharm使ってる人多いように見えるけどこれは無料版かな
いま結構大手メーカーに出稼ぎに来てるけど、JS書くのにWebstormつかつてたわ
デフォルトの名無しさん [sage] 2018/08/27(月) 16:51:13.12:/RdgAVio
WebStormはVSCodeの台頭で完全に死んだな
デフォルトの名無しさん [sage] 2018/08/27(月) 17:27:07.24:mF1TLBvQ
VSCode使いやすすぎてヤバい
未だにたまにEmacsとかVimの特集やってる雑誌もあるけど、vimはともかく、なぜEmacsみたいな旧式のエディタ未だに使ってる人がいるのかわからん
デフォルトの名無しさん [sage] 2018/08/27(月) 17:39:16.08:ShgtMbYl
VSCode良いけど、IntelliJが完全に上位互換といって差し支えないからなあ
VimとかAtomとかを使ってるなら乗り換えない理由がないけど
デフォルトの名無しさん [sage] 2018/08/27(月) 18:02:28.82:TTmZykjy
TypeScriptならWebStormのリファクタリングがJavaとかKotlinと同じぐらい奇麗に処理してくれそうなんだよね
AndroidStudioのリファクタリング使いまくりな俺としてはどっちか選べるのならWebStorm使ってみたい
実際にWebStormのTypeScriptリファクタリング精度がどの程度なのか未確認なんだけど
デフォルトの名無しさん [sage] 2018/08/27(月) 18:36:38.07:All5pOMN

無料で30日は使えるんだから試してみればいいじゃない。
おっしゃる通り、Typescriptで開発するならかなり良い。
デフォルトの名無しさん [sage] 2018/08/27(月) 19:09:30.16:TTmZykjy

暇になったら昔趣味で作ったサイトをTypeScriptとか流行りものてんこ盛りで作り直そうと思っててね
WebStormが期待通りに動いてくれるなら楽しみだ
ありがとう
デフォルトの名無しさん [] 2018/08/27(月) 20:21:02.60:l2rfNjjd

emacsは大昔からあって30年以上使ってるような人は既に体がemacsにカスタマイズされてしまっているので他のに移行するなんて出来ないのだろう。
デフォルトの名無しさん [sage] 2018/08/28(火) 00:27:38.47:qPMx0sFJ
もう軽量言語は全部VSCodeでいいよ
デフォルトの名無しさん [sage] 2018/08/28(火) 00:57:25.11:Vf6dn75Q

同意

ElectronってAtomのために作ったはずのに、そのAtomが重くて使いにくいくせに、MSが作ったら軽くて使いやすい物が出来る辺りは、やっぱMSってすげーなと思った

で、結局買収されたしw
デフォルトの名無しさん [sage] 2018/08/28(火) 06:25:51.27:XKGlHBCJ

そりゃ母体の大きさが違いすぎて勝負にならんわw
デフォルトの名無しさん [sage] 2018/08/28(火) 08:09:06.16:R/colDTu

VScodeが起動できる環境でVScodeで用が済む範囲ならVScodeを使ってるだろう
VScodeはターミナルじゃ使えないしEmacsとは別な方向性で重いし
デフォルトの名無しさん [sage] 2018/08/28(火) 09:37:27.44:Vf6dn75Q
今時ターミナルでemacs使おうって環境がどうかと思うけどな
設定ファイルぐらいならviでいいし
デフォルトの名無しさん [sage] 2018/08/28(火) 11:38:27.93:yohivMkN
そもそもデフォルトでemacs入ってるディストリビューションってまだあるの?
デフォルトの名無しさん [sage] 2018/08/28(火) 13:21:51.83:TyYvqCK6

おう、昔はPC-UNIXのディストリビューションにデフォで入ってたみたいな言い方はやめろや
今も昔もEmacsは選択インストール対象だ
デフォルトの名無しさん [] 2018/08/28(火) 17:14:30.14:C1AWmFJx

emacsを体で覚えてしまった人は似たようなものでemacsが動く環境ならそれで全てができてしまう状態なんだよ。
だからそう簡単には離れられない。
デフォルトの名無しさん [sage] 2018/08/28(火) 18:22:38.84:t4rYC5Jj
かれこれ20年以上Emacsを使っている
ターミナルではctrl+x 2, ctrl+x d が便利
デフォルトの名無しさん [sage] 2018/08/28(火) 22:06:47.36:GhUGfpLA
まじでemacsはおっさんしか使わないわな
viはまあサーバーに入って何かするのに必須だから基本操作くらいはできるやつ多いだろうけど
デフォルトの名無しさん [sage] 2018/08/28(火) 22:50:19.69:CqD+kceR
オペレーションマニュアル作る時にesc-x shell は便利
viでも同じ事出来るのけ?
デフォルトの名無しさん [sage] 2018/08/28(火) 23:05:43.44:JxISYFqP
Kotlin使ってるくせに 静的言語+IDE じゃない組み合わせでコード書くとかありえないっしょ
なのでそれ以外の用途につかうエディタなんてEmacsで十分
それとも Kotlin 使ってもないのにこのスレ監視してる人?
デフォルトの名無しさん [sage] 2018/08/28(火) 23:07:07.56:JxISYFqP

最近はVimでもVSCodeでも出来るらしいですよ
emacsは30年前から出来てたけど
デフォルトの名無しさん [sage] 2018/08/28(火) 23:32:38.28:XKGlHBCJ
うわあ、めんどくさいemacsおじさんがこのスレにもいる
前職で散々聞かされてうんざりしてるからやめてくれよ
この手の人たち、ジョークじゃなくて本気でエディタ論争仕掛けて来るからほんとめんどくさい
デフォルトの名無しさん [sage] 2018/08/28(火) 23:54:19.67:t4rYC5Jj
Emacs+RCSでレッツノスタルジー
デフォルトの名無しさん [sage] 2018/08/28(火) 23:54:50.93:JxISYFqP
エディタなんて使う必要ない Kotlin スレで延々とエディタの話するとかありえないですよね
デフォルトの名無しさん [] 2018/08/28(火) 23:59:56.45:gEHuyurv
ここはドザーに監視されています
デフォルトの名無しさん [sage] 2018/08/29(水) 00:05:06.69:9qc8dwr8
お前ら当然ideaVim入れてるよな
デフォルトの名無しさん [sage] 2018/08/29(水) 00:20:25.87:4LgLafY9
Kotlinは良い言語だけど、JDKに起因する虚無感が漂っててネタがないので、エディターとか他の話で盛り上がってしまう
デフォルトの名無しさん [sage] 2018/08/29(水) 01:43:58.68:MJ/3ckLX
Kotlin書くなら現状IntelliJ IDEA以外の選択肢はないと思う
デフォルトの名無しさん [sage] 2018/08/29(水) 08:55:33.55:UFf+dawx
vi vs emacs
ファイ!
デフォルトの名無しさん [sage] 2018/08/29(水) 08:56:40.80:SgdWV5FD
勝利の条件は?
デフォルトの名無しさん [sage] 2018/08/29(水) 08:56:57.54:Ldu6Ol6t
面白いと思ってやってるんだろうな
デフォルトの名無しさん [sage] 2018/08/29(水) 09:01:22.60:ZDG8YYaG

そりゃXamarinが開発しやすい方
デフォルトの名無しさん [] 2018/08/29(水) 18:36:42.36:bZ2D0xRL
めんどくせえから vim で Kotlin 書いてる
デフォルトの名無しさん [sage] 2018/08/29(水) 18:40:08.33:n9AQAOMs
めっちゃ効率悪そう
こんなにIDEの恩恵の大きい言語なのに
デフォルトの名無しさん [sage] 2018/08/29(水) 18:42:01.87:d2bEpQya
セクシーvim
デフォルトの名無しさん [sage] 2018/08/29(水) 18:44:47.55:n9AQAOMs
エリーゼの憂鬱
デフォルトの名無しさん [] 2018/08/29(水) 19:06:34.27:bZ2D0xRL

いや今のところ仕事でバンバン使う招待じゃないからいいの。vimだと思い付いた瞬間に起動してすぐ打てるし。
デフォルトの名無しさん [] 2018/08/29(水) 19:07:02.87:bZ2D0xRL
招待じゃねえ。状態。
なんという変換ミス。
デフォルトの名無しさん [sage] 2018/08/29(水) 20:42:13.07:JiypegGw
きょうび開発環境でメモリ足りなくなったりしないからIntelliJは起動しっぱなしだし、思い付いて即試したいものはREPL使うからなー
デフォルトの名無しさん [sage] 2018/08/29(水) 22:02:19.46:n9AQAOMs
昔からのやり方を変えられない人ってのはいるんだよ
そっとしておこう
デフォルトの名無しさん [sage] 2018/08/29(水) 23:31:36.28:0CwGsWHn
ことりんの好きなとこ聞かせて……♡
デフォルトの名無しさん [sage] 2018/08/29(水) 23:40:59.87:SESzavoJ
一気 一気 一気
デフォルトの名無しさん [sage] 2018/08/30(木) 06:00:27.98:dm1it4Rq

名前がかわいい
デフォルトの名無しさん [] 2018/08/30(木) 09:38:32.23:Le3eFjin

いや、足りなくなる。なぜならそんなにメモリ乗せてないからだ。w
デフォルトの名無しさん [sage] 2018/08/30(木) 10:10:25.50:RHVn/jmd
ことりんは名前がいいよな
外国人だとなんとも思わないんだろうけど
デフォルトの名無しさん [] 2018/08/30(木) 11:51:57.24:A5Nytyjy
外国人だといたずらする小さい悪魔みたいなのを連想するかも知れんね
デフォルトの名無しさん [sage] 2018/08/30(木) 12:52:29.32:5tasm/PE
コトリン≒グレムリン
デフォルトの名無しさん [sage] 2018/08/30(木) 13:01:58.56:KRQyC6Sq
コトリンはとっても歌が好き
デフォルトの名無しさん [sage] 2018/08/30(木) 13:03:15.68:PWKdEfBK
ラブライブオタクの男性が使ってそう
デフォルトの名無しさん [sage] 2018/08/30(木) 18:27:27.54:fWBwT80E
ちゃんと実装面でもいいとこ言えよ
デフォルトの名無しさん [] 2018/08/30(木) 19:08:54.43:+O/rJ+xn

こっちこっち
ttp://https://ja.m.wikipedia.org/wiki/%E3%82%B4%E3%83%96%E3%83%AA%E3%83%B3
デフォルトの名無しさん [sage] 2018/08/30(木) 20:30:10.31:hZsCsB95

えくりぷすならともかくいんてりじぇーでメモリが足りなくなるようなマシンならKotlin使う方が間違い
デフォルトの名無しさん [] 2018/08/30(木) 21:08:16.40:+O/rJ+xn
さよか
デフォルトの名無しさん [sage] 2018/08/31(金) 00:26:18.34:U+1CMk5o
じゃあ久しぶりに IntelliJ 起動してみるか。
デフォルトの名無しさん [] 2018/08/31(金) 00:30:31.00:U+1CMk5o
Tip of the day が出るまで約4分10秒。
デフォルトの名無しさん [sage] 2018/08/31(金) 00:31:51.85:U+1CMk5o
あ、アップデートされてた。
デフォルトの名無しさん [sage] 2018/08/31(金) 01:13:21.25:n1J7aQ9W
IntelliJもVSCodeもスタートアップに入れて常時起動してるわ
デフォルトの名無しさん [] 2018/08/31(金) 01:59:46.03:U+1CMk5o
他のソフトをあまり起動しないならそれでも耐えられるが・・・
デフォルトの名無しさん [sage] 2018/08/31(金) 06:22:38.45:/sWAa9/j

さすがにそれはヤバいw
開発機なら今すぐ買い換えた方が良いレベル

久しぶりに起動してそれならindexingに時間かかってるんだろうから、CPUかなあ、当てずっぽうだけど
デフォルトの名無しさん [sage] 2018/08/31(金) 06:54:42.55:dga5iekD
ここはKotlinスレであってうんこマシンスレじゃないからそろそろスレ違い
デフォルトの名無しさん [sage] 2018/08/31(金) 07:18:55.50:CJK5tEGV
使わなきゃいいよ
デフォルトの名無しさん [sage] 2018/08/31(金) 07:30:16.16:H6eFv5vS
コトリン=やかん
デフォルトの名無しさん [] 2018/08/31(金) 09:56:10.67:s5ujzdS3

そうかも知れん。アップデート後に起動したら1分ぐらいだった。
まあしかし開発マシンと言えるほどのものではない。
個人で持ってるPCでそこでは趣味で小さいプログラム作るぐらいなので。
デフォルトの名無しさん [] 2018/08/31(金) 09:58:00.72:s5ujzdS3
そう言えば IntelliJ がサクサク動くレベルのPCのスペックってどのぐらいのものなんだ?
デフォルトの名無しさん [sage] 2018/08/31(金) 14:07:47.80:yE1PVwqN
pentiumとかで十分
ただし中身がatomのは除く
デフォルトの名無しさん [sage] 2018/08/31(金) 15:53:14.27:XY0RCqgk
2013年のMac miniでもサクサク動く
デフォルトの名無しさん [sage] 2018/08/31(金) 16:17:00.17:QwhpIYLE
だよな。pentiumマシンで十分だろ。ストレージはssdで。
ただし実機でデバッグ
デフォルトの名無しさん [sage] 2018/08/31(金) 18:01:38.83:/sWAa9/j
実機デバッグという言葉を見るにやっぱことりんスレだとAndroid前提の人が多いんかな
サーバーサイド勢としては寂しい
デフォルトの名無しさん [sage] 2018/08/31(金) 21:21:31.43:hMrh4GUk
動画まだー
デフォルトの名無しさん [sage] 2018/08/31(金) 23:04:36.44:WgasQgHw
spring boot + mybatis + kotlin というテンプレでやってるよ
デフォルトの名無しさん [sage] 2018/09/01(土) 08:51:56.86:u4pJ8FQM

Spring bootってもうことりんで問題ない?
今のところフルことりんだとSparkでライトなサイトしか作ってない。
katorはちょっと前に試したけどまだまだ未完成で辛かった
デフォルトの名無しさん [sage] 2018/09/01(土) 09:25:59.26:/xY33kfI
うちはJSFだよ・・・
デフォルトの名無しさん [sage] 2018/09/01(土) 11:51:57.41:KLF1+M6N

「Android StudioでつくるAndroidアプリ入門(半端にカラーで分厚い)」みたいな本では軒並みKotlin対応になってるので
最近親切げな本一冊でAndroid始めた人はみんなKotlinやってると思う
ていうかJavaで作るAndroidアプリ本がもう売ってねえ
デフォルトの名無しさん [sage] 2018/09/01(土) 16:03:58.00:RM3jfGhF

会話が成立しているように見えて実は噛み合ってない好例
デフォルトの名無しさん [sage] 2018/09/01(土) 19:34:55.36:Rh8y2Q/M

まだboot 2.0に上げれてないけど致命的な問題に遭遇したことはない

beanとinterface default methodの組合せで起動時エラーになってたが、@JvmDefaultで回避できるようになったし
@JvmDefault以前も拡張関数でどうにかなってた
デフォルトの名無しさん [] 2018/09/02(日) 07:01:35.41:HcdhtgGT
今からJava学ぼうと思ってたんだけど、様子見たほうがいい?
この言語がJavaに代わってすごい伸びそうだって聞いた
でもそれって何年後なんだろう
デフォルトの名無しさん [sage] 2018/09/02(日) 08:12:19.19:YyZEg2UH

様子見できるなら、9月末のOpenJDK 11のリリースか2019年3月のOpenJDK 12のリリースまで
様子見すれば、OpenJDKのLTSが出るのかどうかはっきりすると思う。
2017年はAndroid公認になって伸びるといわれて、実際そこそこ伸びた。
でも、2018年に入ってからはOracleのJDKリリースサイクル変更の問題や
7月のGoogleがAndroidごとJava, Kotlinを捨ててFuchsiaに行くような話も出ているし、
伸びそうというのがいつの時点での情報を元にした認識かにもよると思う。
デフォルトの名無しさん [sage] 2018/09/02(日) 08:55:58.30:9dGgsJL0

KotlinはJavaの方言のようなもの
Javaに代わって主役になるなんて現実にはあり得ないし、Javaが消えたら自動的に消滅する
デフォルトの名無しさん [sage] 2018/09/02(日) 09:35:26.62:gD15kiFt

言語としては残るんじゃないの。
JVMで動くかどうかは別にして。
デフォルトの名無しさん [sage] 2018/09/02(日) 10:10:50.96:TnkSt01Q
Flash亡き後のActionScriptみたいな立ち位置になるんじゃね
デフォルトの名無しさん [sage] 2018/09/02(日) 10:19:47.73:Da7XMf2L
Javaの文法はもう古い
時代の流れ的にKotlin風の文法が主流になるのは間違いない
デフォルトの名無しさん [sage] 2018/09/02(日) 11:22:45.32:CgXmm1Wz
android無視すると逆にそこまでkotlinである必要もねぇんだよな。
javaにラムダもきたしjava10でローカル変数の型推論もきたし。
デフォルトの名無しさん [sage] 2018/09/02(日) 11:29:58.18:or4fFUVY
どちらかというと純Javaでなければならない理由を考えたほうがいい
どーしてもJavaじゃないと困るのでないならもはやKotlinでいい

んで次は「それを実現する」のにJVM+Kotlinでなければ困る理由をなんとかこう捻り出すのだ
デフォルトの名無しさん [sage] 2018/09/02(日) 12:07:21.12:vk0FFkyb

TypeScriptの流行なんかも含めると時代はKotlin風というよりC#風かな
ベースとしてC#にインスパイアされたちょっとLightweight&FunctionalなC系の流れの本流に近く、
その中では比較的Ruby系に似せた仕上げのなされた言語と位置付けるのが妥当
デフォルトの名無しさん [sage] 2018/09/02(日) 13:01:24.78:2NNLLZ0f
インスパイアっていうか作った本人やで
デフォルトの名無しさん [] 2018/09/02(日) 15:52:17.48:4Jf6YH6e
時代は Kotlin
デフォルトの名無しさん [sage] 2018/09/02(日) 16:14:44.69:kda+Jy32
まあどんなに少なく見積もってもあと5年以上は生きてるだろうから別に今から勉強しても損にはならない
デフォルトの名無しさん [sage] 2018/09/02(日) 16:47:03.27:FIE7AeLW
Java程の糞はない
デフォルトの名無しさん [sage] 2018/09/03(月) 11:39:23.18:7Lmz6SJ5
今後は、Nativeなアプリ開発はSwiftに、JSのアプリ開発はTypescriptに、JVMのアプリ開発はKotlinが主流になるよ

問題は、そのJVMの必要性が薄れつつあるのがなぁ・・・(^_^;)
デフォルトの名無しさん [sage] 2018/09/03(月) 16:57:35.00:bm6csMD2
swiftて…
デフォルトの名無しさん [sage] 2018/09/03(月) 17:52:17.69:FSremTAS
時代に全くついていけてないオッサンか、最近そこらへんのことを知ったばかりのど初心者かどちらかだろ
デフォルトの名無しさん [sage] 2018/09/03(月) 19:30:53.14:cJt/EPTM
JVMなアプリ開発はネイティブなアプリ開発じゃないんか
デフォルトの名無しさん [sage] 2018/09/03(月) 22:12:13.16:zx7i183W

定義にもよるかもしれないが、間にJVMが挟まる以上ネイティブではないと考えるのが妥当では?
デフォルトの名無しさん [sage] 2018/09/03(月) 22:24:09.46:ALq1D/mh
どっからどう見てもツッコミどころしかないんだからそんなにマジレスしても禿げるだけだぞ
デフォルトの名無しさん [sage] 2018/09/04(火) 05:55:27.61:cOOjSQrW
Swiftが注目されている頃に、Apple系以外のプラットホームのアプリも開発できるようにしようとかいう動きがあった気がしたけど、その後全く聞かないな
デフォルトの名無しさん [sage] 2018/09/04(火) 10:59:01.66:BRj2Sf6A

Googleが次期OSの開発にSwift使おうとしてるやん
そのためにSwiftの開発者引き抜いた
Kotlinはあくまで繋ぎだよ
デフォルトの名無しさん [sage] 2018/09/04(火) 11:40:07.04:sAAfH0pf
swiftは言語的には良さそうなのに閉鎖的すぎてkotlinより可哀想
デフォルトの名無しさん [sage] 2018/09/04(火) 12:37:20.05:C8rRXEwD
スレチだがtypescriptに完全に置き換わるなんてことあるのか?
デフォルトの名無しさん [sage] 2018/09/04(火) 12:50:28.61:E38pu6rG

Fuchsiaはswiftだけじゃなくて go rust dart あたりもサポート進めてる
このまえレポジトリ見たときには rust の文章が多めの感じだった
ラトナーがこれに関わってるのなら swift というより llvm 絡みなんだろうなという感じ
デフォルトの名無しさん [sage] 2018/09/04(火) 12:58:24.52:XfBhqM98

置き換わるっていうか、tsはバニラjsとシームレスに混在できるから、かなり浸透はするだろうね。
デフォルトの名無しさん [] 2018/09/04(火) 12:58:30.25:Xz2Zp+3X
Kotlin native もそこに突っ込めればナイス
デフォルトの名無しさん [sage] 2018/09/04(火) 12:59:33.10:XfBhqM98
少なくともRailsブームの時にCoffeeで作っちゃったものは早いとこTSに置き換えておかないと誰もメンテできない巨大な負債になりそう
デフォルトの名無しさん [sage] 2018/09/04(火) 17:52:08.00:9ZNVrHxI

置き換わると思うよ
JVMを使うことの必要性が薄れてきてるからね
Nodeが出来たりGAFAのJava離れが進んで、ネイティブ以外はWEB良いじゃんって方向性になりつつある
デフォルトの名無しさん [sage] 2018/09/04(火) 19:13:22.45:cOOjSQrW

あ、JSがTSに置き換わるかって話なんでJVMとか関係ないです
デフォルトの名無しさん [sage] 2018/09/04(火) 19:33:14.61:b59XDMco

それだと完全にスレチだからよそでやってくれ
デフォルトの名無しさん [sage] 2018/09/04(火) 20:04:04.38:sAAfH0pf
Triple()のTripleを省略したいんだけど
デフォルトの名無しさん [sage] 2018/09/04(火) 20:33:14.08:6FmT1oQF
JVMは廃れるのは間違いないのだがさて何年かかるかって話だな

Javaはまもなく終わるスマホと心中するってAndroid4前には口さがなく言われてたんだよ
4.4で成功しちゃって誰もそんなことは言わなくなったけども
いやもう未来はわからんねえ
デフォルトの名無しさん [sage] 2018/09/04(火) 22:07:22.64:yZpDF79E
Fuchsiaの普及次第だろうな
デフォルトの名無しさん [sage] 2018/09/04(火) 23:53:53.23:r4H5XRUh

ICS前?確かにショボかったけどそんな風潮だったの?
デフォルトの名無しさん [] 2018/09/05(水) 01:49:28.53:0GglgiBh
良くも悪くも一寸先は闇だ。
未来予測は現在までに得た情報からしか出来ない。
しかし明日何かが新たに現れるかも知れず、それによりそこから先の未来は予想と大きく違ってしまうかも知れない。
デフォルトの名無しさん [sage] 2018/09/05(水) 03:17:49.18:V9sM8MoF
明日太陽が爆発するかも知れない
デフォルトの名無しさん [sage] 2018/09/05(水) 05:55:33.83:umu43H9N
Javaオワコンだなんてこれまで何度言われ続けてきたことか
デフォルトの名無しさん [sage] 2018/09/05(水) 08:00:38.61:rn0+ncro

自分でWebって言ってるのにクライアントサイドのことしか頭にないのはなぜ
デフォルトの名無しさん [sage] 2018/09/05(水) 08:12:18.73:Utg8HVgU

なんとか揚げ足を取りたい気持ちはわかるが561はどう見てもサーバーの話してるだろ
デフォルトの名無しさん [sage] 2018/09/05(水) 08:25:57.21:o7gnHsE6
Javaっぽいなにかを使ってるSalesforceは廃れてほしい
デフォルトの名無しさん [sage] 2018/09/05(水) 08:37:05.84:cPIGyNE8
仕事でSalesforce使ってるけどうんこオブうんこ
デフォルトの名無しさん [sage] 2018/09/05(水) 08:55:29.56:Tf/3p2cV
俺は触ったことないけど、トラウマレベルのゴミだと聞くな、salesforce
デフォルトの名無しさん [sage] 2018/09/05(水) 09:53:21.35:0iDdFT9o

Node知らんのだろ
そっとしておいてやれ
デフォルトの名無しさん [sage] 2018/09/05(水) 10:07:22.39:tPjc+KWG
まあJVM使わなくなったとしてなぜ置きかわり先をNodeに限定してるのかは謎だけどな
どっちにしろスレ違い
デフォルトの名無しさん [sage] 2018/09/05(水) 10:09:16.76:tPjc+KWG
ここはXamarinスレなんだから脱JVMなんて言わずにサーバーサイドkotlinを粛々と語るべき
デフォルトの名無しさん [sage] 2018/09/05(水) 11:05:54.74:r9nZHom4
Javaで書いてコンパイルしてclassをJVMで実行
TypeScriptで書いてコンパイルしてjsをNodeで実行

まー、似たようなもんだしな
デフォルトの名無しさん [sage] 2018/09/05(水) 11:25:49.59:tPjc+KWG
Nodeは一時期ソシャゲのサーバーサイドなんかで広まりまくったけど、
最近そういう大量の軽いリクエストを同時に捌く系の用途はGoが主流になりつつある
デフォルトの名無しさん [sage] 2018/09/05(水) 11:33:47.93:r9nZHom4
これやね
ttp://https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00138/082900134/
デフォルトの名無しさん [sage] 2018/09/05(水) 12:05:54.80:cJG26loV
みたいに、ここはXamalinスレとか言ってるやつって、それが面白いと思ってやってるのかな。
認知症のジジイが、同じこと繰り返してるような痛々しさしか感じないんだが。
デフォルトの名無しさん [sage] 2018/09/05(水) 12:14:26.17:HhIlykKk
その痛々しいのが面白いんだからやらせとけ
デフォルトの名無しさん [sage] 2018/09/05(水) 13:22:37.88:wzMfXBWL

新しい物が出ないと儲からないんで。
デフォルトの名無しさん [sage] 2018/09/05(水) 13:57:57.38:r9nZHom4

みんなそう思いつつもスルーしてやってる
それがエンジニアの優しさってもんだw
デフォルトの名無しさん [sage] 2018/09/05(水) 14:02:21.56:T/WpsLH4
やっぱみんなSalesforce嫌っててワロタ
デフォルトの名無しさん [sage] 2018/09/05(水) 21:29:36.82:nZyVa9Vv
Xamarinが糞はガチ
デフォルトの名無しさん [sage] 2018/09/06(木) 07:10:22.75:2Nxw2vkQ

前々から疑問なんだけど
Xamarinは糞とか言うけどC#が糞とは言わないよね
ここはKotlinて言語のスレなんだから合わせたら?
まあスレチだから書き込まないでくれると助かるんだけどさ
デフォルトの名無しさん [sage] 2018/09/06(木) 09:05:13.51:dX1/sVDQ
じゃあKotlinの話題振れや
何も有益な情報提供せずに何様だ
デフォルトの名無しさん [sage] 2018/09/06(木) 10:11:38.12:o+OPZRLL

なんでそんな攻撃的なんだお前らは
黙ってスルーしてりゃいいのに
デフォルトの名無しさん [sage] 2018/09/06(木) 10:26:01.36:BY1c9tpo
セミコロン不要の原理が分からん。
デフォルトの名無しさん [sage] 2018/09/06(木) 10:49:04.09:4eCSXzt1
セミコロンを使うところはある
デフォルトの名無しさん [sage] 2018/09/06(木) 10:50:39.97:BY1c9tpo
むしろセミコロンしない意味が分からない。
デフォルトの名無しさん [sage] 2018/09/06(木) 12:36:16.47:pKozZaHb

FlutterでDart使うと、セミコロンのうざさがわかると思うよ。
FlutterはKotlinの言語仕様と相性がいいのにDartなんだよなー。
デフォルトの名無しさん [sage] 2018/09/06(木) 13:24:49.82:dgk28rmo
korlinなんて求人がないやろ
デフォルトの名無しさん [sage] 2018/09/06(木) 13:54:36.77:wXdxhVk6
まあKotlin名指しの需要はないよね
言語選択の裁量のある現場において使いたいから使うもの
デフォルトの名無しさん [sage] 2018/09/06(木) 13:57:34.81:BY1c9tpo
Javaが金徴収し出したら本気出すんだろ?
デフォルトの名無しさん [sage] 2018/09/06(木) 14:04:40.46:pKozZaHb

Kotlin名指し
ttp://https://www.wantedly.com/projects/205802#_=_
デフォルトの名無しさん [sage] 2018/09/06(木) 14:05:24.13:pKozZaHb
募集終了してた。
デフォルトの名無しさん [sage] 2018/09/06(木) 14:06:11.47:dX1/sVDQ
いやいやAndroidアプリの求人はKotlinだらけだろ
メルカリもKotlinや
デフォルトの名無しさん [] 2018/09/06(木) 15:12:12.23:Tqiy9MBA
( ´_ゝ`)フーン
デフォルトの名無しさん [sage] 2018/09/06(木) 16:22:26.32:lFWuuZpY
KotlinだからってKotlin経験者に限定して求人する必要は全くないだろ
Javaできれば何の問題もない
デフォルトの名無しさん [sage] 2018/09/06(木) 16:51:45.07:bRIinw5S
むしろKotlinに限定してJava触ったこと無い奴来たら困る
デフォルトの名無しさん [sage] 2018/09/06(木) 17:00:39.18:ZcSEFoVt
Javaを知らずにKotlinって覚えられるの?
デフォルトの名無しさん [sage] 2018/09/06(木) 22:30:08.94:iCYWIlzK

「覚える」がどの程度のことを指すのかが不明確で釣りっぽいが、短く答えるなら、
覚えられるが、実用段階でJavaを知ることになるだろう
と言ったところか。
デフォルトの名無しさん [sage] 2018/09/06(木) 23:05:18.74:32DDkdXL
別に書けなくても読めれば十分だゾ
デフォルトの名無しさん [sage] 2018/09/07(金) 00:05:24.61:YP90mACH
アプリからライセンス情報確認してみたが、
メルカリもabemaTVもクックパッドもKotlin使ってるな
フルKotlinかどうかは分からんが
デフォルトの名無しさん [sage] 2018/09/07(金) 06:13:39.21:GiSaQgKi

前々から疑問に思っていたけど、JVMやJSのKotlinのランタイムライブラリは
Apache 2 licenseだから、製品に含めるときにNOTICE.txtの表示は必要?
ScalaはBSDライセンスだから不要だと思っているんですが。
デフォルトの名無しさん [sage] 2018/09/07(金) 08:32:52.04:OkUHpPxR
bsdなら表示しないと駄目だろ。binary も対象って明示されてる
デフォルトの名無しさん [] 2018/09/07(金) 09:07:05.90:rX7uCTgi
俺は他のライセンスとまとめて書いてるよ
なんならMITのライブラリもリストする

作者への敬意というより、依存してる外部ライブラリをリストしておきたいという理由で
デフォルトの名無しさん [sage] 2018/09/07(金) 09:13:29.66:GiSaQgKi

スマン。三条項BSDライセンスに宣伝条項がないという記述の意味を勘違いしていた。
でもランタイム同梱はライセンス条項の適応を受けるという解釈はであってます?
もしそうなら、Javaで作ったものには特に著作権表示がいらないけど、
Koltlinで開発した場合は(実行環境にランタイムがインストールされていない限り)
ライセンス表示が必要ということになると思うのですが。
デフォルトの名無しさん [sage] 2018/09/07(金) 16:17:32.09:ug0G4yCI
そんなことよりKotlinがApacheライセンスであることの最大の問題は、GPLv2と互換性がないことだぞ
つまり、Kotlinで作られたものにはGPLv2を適用できない
これは、クラスパス例外を外して配布されたOpenJDKとリンクしたり、
OpenJDKと同じGPLv2クラスパス例外ライセンスを適用して配布したりすることもできないことを意味する
GPLv2に固執し意図的に特許周りをグレーなままにしているオラクルに対するアンチテーゼかな
デフォルトの名無しさん [sage] 2018/09/07(金) 16:24:53.08:NObVwHBx
なんで平然と嘘を書くかな
デフォルトの名無しさん [sage] 2018/09/07(金) 16:40:46.83:ug0G4yCI

Apache License 2.0がGPL2.0と互換性ないのは普通に事実だぞ
ttp://https://www.apache.org/licenses/GPL-compatibility.html
Kotlin製のソースをGPL2.0で配布しようとしたら、ランタイムライブラリをGPL2.0で提供できない限りGPL違反
デフォルトの名無しさん [sage] 2018/09/07(金) 17:01:42.60:YCIVAW4t
ライセンス周りのことになるとこういう頭のおかしい拡大解釈する奴が必ず出てくるよな
デフォルトの名無しさん [sage] 2018/09/07(金) 18:13:05.26:StIzx9Y6
拡大じゃない解釈を教えてくれよ
ApacheライセンスがGPL2と互換性ないのはわりと常識だよ
OpenJDKはリンク例外が付いているバイナリを使う限りは問題ないはずだしそう言ったつもりだけど、もしかして勘違いしてる?
デフォルトの名無しさん [sage] 2018/09/07(金) 18:16:26.83:YCIVAW4t
俺が予想した通りの返答をありがとうw
そういうことを言ってるんじゃないんだけど、
まあ君がそう思うならそう思ってればいいと思うよ。 それで俺は困らないし。
デフォルトの名無しさん [sage] 2018/09/07(金) 18:25:29.68:GiSaQgKi

> クラスパス例外を外して配布されたOpenJDK
この前提がおかしいのでは? 仮にあったとしてもクラスパス例外を外さずに配布されたOpenJDKを使うべき?
> OpenJDKと同じGPLv2クラスパス例外ライセンスを適用して配布したりすることもできない
Apacheライセンス、GPLv2クラスパス例外ライセンス、BSDライセンスを
各部分に別々のライセンスを適用しつつ配布するのってだめでしたっけ

KotlinがGPL2.0になればNOTICE.txtの表示は不要になる?

ライセンス周りはそこまで詳しくないので、おかしなことを書いていたらそっとご教授下さい。
デフォルトの名無しさん [sage] 2018/09/07(金) 18:30:55.78:rizHfRHB
非互換なのは正しいけども

>これは、クラスパス例外を外して配布されたOpenJDKとリンクしたり、
>OpenJDKと同じGPLv2クラスパス例外ライセンスを適用して配布したりすることもできないことを意味する

こんな妙ちくりんな例を出して話を無意味に広げようとしなくてもなあ
デフォルトの名無しさん [sage] 2018/09/07(金) 18:30:57.75:ko+1a9DD

ソースを配布するのかバイナリを配布するのかで全然話が変わると思うが、
お前の一連のレスの中でそれが混在してるから話がめちゃくちゃになってる。
デフォルトの名無しさん [sage] 2018/09/07(金) 18:32:07.22:ko+1a9DD
非互換なのは確かに正しいし常識なのも正しい。
でも正しいのはそこだけ。まず前提がおかしい。
デフォルトの名無しさん [sage] 2018/09/07(金) 18:43:16.75:dXHI+VcB

GPL2.0クラスパス例外とApache2.0とBSDを混ぜて配布することは可能
ただしその場合、再配布時には決してクラスパス例外を外してはいけない
Kotlinのランタイムライブラリをシステムライブラリだと主張するのはさすがに無理筋
デフォルトの名無しさん [sage] 2018/09/07(金) 19:09:09.26:dXHI+VcB
少なくともKotlinでGPLv2なプロダクト(GPLv2のライブラリをリンクしただけのものも含む)を開発するのは不可能なわけで、
特定のベンダーによるプロプラな処理系だけが存在する言語を除けば割と珍しい気がする
FSFから攻撃されないのが不思議だな
デフォルトの名無しさん [sage] 2018/09/07(金) 19:41:41.42:dogLEuRl
GPLv2のkotlin向けライブラリは存在しないし
自分で配布するならGPLv2からkotlinを例外にした独自ライセンスにしておけば問題ない
デフォルトの名無しさん [sage] 2018/09/07(金) 20:38:19.65:qLXcnwT0
Javaのライセンスの話題って結構伸びるよな
デフォルトの名無しさん [sage] 2018/09/07(金) 21:07:20.98:ZzV2Rxku

だよな、上のやりとりを見ててそう思った。
自分で勝手に例外条項つければそれで終わる話。
デフォルトの名無しさん [sage] 2018/09/07(金) 21:11:54.38:ZzV2Rxku

Oracleが保身のためにクソみたいなライセンス形態にしてるのが悪い
デフォルトの名無しさん [sage] 2018/09/07(金) 21:20:59.63:ZzV2Rxku
最初からWTFPLライセンスにしておけば何も問題ないのに
デフォルトの名無しさん [sage] 2018/09/07(金) 21:58:28.24:AKhDkZyW
OpenJDKのライセンス決めたのはSunだけどな…
てかクラスパス例外あるんだから困るケースは限られるし
オラクルに難癖つけたいだけだろ
デフォルトの名無しさん [sage] 2018/09/07(金) 22:05:50.39:EIs697Fr
オラクルなんて大抵の開発者には嫌われてるからしょうがない
デフォルトの名無しさん [sage] 2018/09/07(金) 22:11:04.95:jlV4xMcF

現在は企業が(「ソースのリリース」ではなくOSSベースで開発する目的で)OSSを公開するときはMITライセンスを採用するケースが多くなったけど、
当時はそこまで緩いライセンスを採用することはあまり一般的ではなかったからなあ
601 [sage] 2018/09/08(土) 05:49:51.93:OFuZidJz
Javaのみで開発したJar: Javaのランタイムはシステム側にあるので、ライセンス表記不要.。
Javaのみで開発してJVMを同梱した実行ファイル: GPLv2クラスパス例外またはGPLv2のライセンス表記が必要。

Kotlinで開発したJar: Apache2.0ライセンスとKotlinのNOTICE.txtのライセンス表記が必要。

ということであってますでしょうか。Kotlinを使用したことを隠すことはできない...
デフォルトの名無しさん [sage] 2018/09/08(土) 09:24:27.19:zuPXXLqM
お前らの作る糞アプリがライセンス違反で訴えられるようなことはねえよ
その前にアプリの質を上げることを考えろよ
デフォルトの名無しさん [sage] 2018/09/08(土) 09:36:29.91:/uNaEXjk

今日の昼飯、ラーメンとマクドどっちが良いと思う?
デフォルトの名無しさん [sage] 2018/09/08(土) 10:26:25.68:PxvtRbde
意味不明で草
KotlinがGPLv2と共存できないのはApacheライセンスを選んだJetBrainが主犯だろw
Oracle関係ないww
デフォルトの名無しさん [sage] 2018/09/08(土) 10:51:13.86:78/uzzK/
ライセンス表記なんかで、なんで揉めてるの?
オープンソースのフリーソフトなんか感謝の意味をこめて全部記載しとけばいいだけじゃね?
デフォルトの名無しさん [sage] 2018/09/08(土) 11:27:42.47:t+A2zXru
なぜライセンスの話になると荒れるのか
デフォルトの名無しさん [sage] 2018/09/08(土) 11:35:25.34:u+/FmOm4
排他的なのはGPLv2の方なので何も問題なし
デフォルトの名無しさん [sage] 2018/09/08(土) 12:44:23.79:j4dVCJIb
そもそもいつまでもGPLv2なんてクソのままにしてるのが悪いってことだろ
デフォルトの名無しさん [sage] 2018/09/08(土) 12:56:22.24:GoOc4EiD
GPLv2とApache2.0に互換がないのはバクみたいなもので
対策したGPLv3とApache2.0との互換性には問題無いとFSFとApache財団で合意とれてるから、v3普及させたいFSFは文句言ったりしないのだろう
デフォルトの名無しさん [sage] 2018/09/08(土) 18:54:53.75:yqMKPVP6
JVM捨てて.Netにしようずwwwww
デフォルトの名無しさん [sage] 2018/09/08(土) 19:32:05.66:kLYvMw1g

v3は明示的な特許訴訟回避の規定があるからオラクル的にはNG
デフォルトの名無しさん [sage] 2018/09/09(日) 06:02:09.69:jrjlpcmx
ライセンス変更するならソース提供者全員の合意が要る
デフォルトの名無しさん [sage] 2018/09/09(日) 06:13:48.48:4vPFbpnK
OpenJDKのコントリビュータ全員にはオラクルにソースを寄贈しますっていう契約書にサインさせてるから要らないよ
デフォルトの名無しさん [sage] 2018/09/09(日) 07:33:07.02:znxMM2ev

それは概ねその通りですが、Kotlinを使用したことを記載したくない場合でもそれが認められない
というのは、マイナスポイントかと。
デフォルトの名無しさん [sage] 2018/09/09(日) 08:30:16.73:GrgCnaCp

そういう人がいればそうだね確かに。
もっと別に表記して問題が起きるわけじゃ無いし、それをマイナスポイントと捉える人はあまりいないと思うけど。。
デフォルトの名無しさん [sage] 2018/09/09(日) 08:35:10.24:2FXXR/fi
何にせよライセンスは変わらんから、気に入らないなら
Apache License 2.0 を採用しているものを使うのを諦めることだな
俺もライブラリとか見つけても GPLv2 だったら使うの諦めるしさ
それだけの話
デフォルトの名無しさん [sage] 2018/09/09(日) 08:51:46.56:GrgCnaCp
せやな。そもそも他人の著作物をただで使わせてもらうんだしな。
デフォルトの名無しさん [sage] 2018/09/09(日) 08:56:29.16:OUyJ49FH
商用でも非商用でも、使用したものを隠さなくちゃいけないことはそうそう無いだろ
気持ちの上でなんとなく隠したいってくらいじゃね
てか今どき何を作るにもライセンス表記の必要なライブラリの1つくらいは大抵使うんじゃないの
デフォルトの名無しさん [sage] 2018/09/09(日) 10:45:29.30:e8H9YTAj
ライセンス表記いやなら全て自分でつくればいいだろ無能
デフォルトの名無しさん [sage] 2018/09/09(日) 10:52:24.78:GrgCnaCp
Kotlinレベルのものを自分で全部作れたら無能どころかGoogleあたりからとてつもない年収でスカウト来るなw
デフォルトの名無しさん [sage] 2018/09/09(日) 11:05:16.63:SPmgo9j/
googleが提供してるライセンス表示するライブラリがあって、これ使うと楽だぞ
デフォルトの名無しさん [sage] 2018/09/09(日) 11:24:01.33:2+MvnRK4

仕様が決まってて実装するだけなら手間だけの問題で難しくはないぞ
難しいのは仕様の設計
デフォルトの名無しさん [sage] 2018/09/09(日) 11:29:43.97:DlSc5EDC
ライセンス表示をしたくないからapacheライセンスがマイナスポイントになるとは、世の中には色々な価値観の人がいるもんだな
初めて聞いたよ
デフォルトの名無しさん [sage] 2018/09/09(日) 11:55:37.92:2+MvnRK4
受託開発でKotlin使ったことが客にバレたら困るからとか?
まあその場合は客にライセンス許諾させなきゃいけないからどんなライセンスだろうが隠せないけど
デフォルトの名無しさん [sage] 2018/09/09(日) 12:07:48.37:ugzqoFBw

考えられるとしたらなんらかの理由でkotlinを使っちゃいけない要件なのにこっそり使っちゃった、とか?
その場合ライセンス表記をすっぽかすよりはるかにヤバいことになりそうだがw
デフォルトの名無しさん [sage] 2018/09/09(日) 14:22:19.31:znxMM2ev

コードが数画面分に収まるくらいのシンプルなユーティリティを公開するとして、
KotlinだとライセンスとNOTICE表示の実装をしないといけないので、
KotlinじゃなくてJava使おうかなと感じる人がいるかもというのが想定ケースの一つ。


あまりないとは思うけれど、Kotlinを
ttp://practical-scheme.net/trans/beating-the-averages-j.html
のLispみたいな位置づけにしている人とかが、もう一つの想定ケースw


ありがとうございます。でも挙動を確認するくらいなら、自分で実装する、かな。
デフォルトの名無しさん [sage] 2018/09/09(日) 14:36:33.88:GrgCnaCp

作る内容にもよるけど、ライセンス表記を乗せる手間とkotlinで上がる開発効率を考慮したら後者の方が大きそうではあるw
デフォルトの名無しさん [sage] 2018/09/09(日) 14:50:08.58:SPmgo9j/
com.google.gms:oss-licenses を使ってオープンソースライセンスを表示する
ttp://https://qiita.com/sho5nn/items/f63ebd7ccc0c86d98e4b
デフォルトの名無しさん [sage] 2018/09/09(日) 15:31:19.91:JhYQOE9o

そのケースなら大抵の人は迷わずライセンスを載せる方を選ぶと思うけど、
その2択で悩むほどライセンス表示を嫌がる理由がやっぱりわからん。
デフォルトの名無しさん [sage] 2018/09/09(日) 18:19:16.29:GrgCnaCp
肝心の「ライセンス表示をしなくちゃいけないからコトリンを使わない」部分の理由は謎のままだったな
デフォルトの名無しさん [sage] 2018/09/09(日) 18:30:06.95:8X+CH+gy
OSSのライブラリほぼ何も使えなくなるよな
Kotlin以外は全部自作コードなんだろうか
デフォルトの名無しさん [sage] 2018/09/09(日) 18:36:27.34:GrgCnaCp
別にkotlinを避けてjavaで作ろうとしてもapache commonsとか使いたくなることもあるだろうに、それら全部回避してわざわざ自作するのだろうか
あほやん
デフォルトの名無しさん [sage] 2018/09/09(日) 18:42:16.87:D/lefGP9
Androidなら何れにしてもほとんどはappcompat-v7を使うことになるのでは?
デフォルトの名無しさん [sage] 2018/09/09(日) 20:33:45.70:znxMM2ev
個人的には、以降書き込んだ人全員がKotlinで開発したものに
Apache 2 licenseとNOTICE.txtの表示をつけていることが確認できればそれでいいです。
もとはでKotlinを使っているアプリには必ずライセンス表示がある(はず)ということを確認したかっただけですし。
デフォルトの名無しさん [sage] 2018/09/10(月) 02:08:07.20:GNK6ElFl
>個人的には、以降書き込んだ人全員がKotlinで開発したものに
>Apache 2 licenseとNOTICE.txtの表示をつけていることが確認できればそれでいいです。
???
何様のつもりなんだこいつは
デフォルトの名無しさん [sage] 2018/09/10(月) 06:12:47.82:fvbXFcex
一方的に話を打ち切る前に、なんでkotlinの使用を断念するほどライセンス表示が嫌なのかの理由を教えてくれよ
昨日からそれが気になって気になって今日も10時間しか寝られなかった
デフォルトの名無しさん [sage] 2018/09/10(月) 06:38:12.22:wAbJU2Gt

で回答済み。を読んですぐ眠りにつかれたようで何よりです。


Apache 2 licenseとNOTICE.txtの表示をつけないとライセンス違反になるのなら、
皆が違反していないと確認することはむしろ善行であると思いますが。
デフォルトの名無しさん [sage] 2018/09/10(月) 07:49:38.24:UzPBkWPp

お前がどこの誰だからお前に確認されることに意味があるって言うんだよw
デフォルトの名無しさん [sage] 2018/09/10(月) 07:53:33.83:gK8yyCgJ

違うって。kotlinだとライセンス表記をしなくちゃいけないことがなんでjavaを選択することにつながるのか、
なんでそこまでライセンス表記を嫌がるのか、その理由だよ。
単にめんどくさいってだけ?
デフォルトの名無しさん [sage] 2018/09/10(月) 08:04:18.55:T8TT7KN/

コンパイラ同梱またはコンパイラの一部ソースを含む場合はNOTICE.txt要るけど
標準ライブラリ同梱だけならNOTICE.txtの方は要らんよ

Apacheライセンスの表示またはテキスト同梱は必要
デフォルトの名無しさん [sage] 2018/09/10(月) 08:06:47.20:gK8yyCgJ
様にご確認いただき大変光栄でございます。
弊社で作らせている糞アプリ、また私共個人で作成しておりますゴミアプリに関しては、
いずれもライセンスの種類を問わず使用している外部ライブラリは全て謝意とともに表示させていただいております。
デフォルトの名無しさん [sage] 2018/09/10(月) 17:37:18.77:2Khhn9vO
ライセンスをコピペすることがKotlin使用を断念する理由になるほどの手間なのか、、
デフォルトの名無しさん [sage] 2018/09/11(火) 19:45:42.93:SPPkBMoC
なんの反論もないところを見るにマジでただめんどくさいだけだったのかな
そのためにJavaを使う方がもっとめんどくさいと思うんだけど
デフォルトの名無しさん [sage] 2018/09/11(火) 20:21:30.73:/r6K3xSm
変化が嫌いな人間っているからな
何だかんだ言い訳して変えようとせず不便を享受する
デフォルトの名無しさん [] 2018/09/11(火) 20:38:08.49:RXZvWAlK
新しくてよくわからないことをやって苦労するのが嫌なんだろうな。
かといってそのままだと激しい競争に負けて稼げなくなるかも知れない。
デフォルトの名無しさん [sage] 2018/09/11(火) 20:39:42.16:TN974Pov
まあ一応、ライセンスの表記はめんどくさい部類には入るとは思う
あとここで発明されたものではないことがはっきり露見するのでイヤとかそういうの
デフォルトの名無しさん [sage] 2018/09/11(火) 21:05:26.12:SPPkBMoC

ああそっか、javaを使い続けたいって感情が先にあってそこに理由を後付けしてるのかもな
デフォルトの名無しさん [sage] 2018/09/12(水) 00:20:59.58:NOD5QCpZ
ところで今日はコトリンが誕生した日です。
コトリンでコーディング中の同僚に教えてあげてください。
デフォルトの名無しさん [sage] 2018/09/12(水) 06:40:16.44:JOKt1G1q
マジか、ケーキ買ってから出勤するか。
デフォルトの名無しさん [sage] 2018/09/12(水) 18:43:23.80:Rkh8R5ZK

確かにめんどくさいけど開発言語の選定に影響を及ぼすほどの工数じゃないと思うw
デフォルトの名無しさん [sage] 2018/09/12(水) 20:26:49.21:HIzI/Z0j
誕生日おめでとう
デフォルトの名無しさん [sage] 2018/09/13(木) 08:46:03.80:EyRtUU0D
ことりんたんはいくつになったかな?
デフォルトの名無しさん [sage] 2018/09/15(土) 09:21:44.95:8EpWOgMX
俺は今日で29になった
デフォルトの名無しさん [sage] 2018/09/15(土) 13:02:43.54:5HUBWRKg
今日はハイジャックされたエアベトナム機の搭乗者75人が全員死亡した日です
デフォルトの名無しさん [sage] 2018/09/16(日) 00:00:21.40:Mzw9rhts
9月15日は

老人の日
ひじきの日
大阪寿司の日
スカウトの日
シルバーシート記念日
シャウプ勧告の日
国際民主主義デー
独立記念日 [エルサルバドル・グアテマラ・コスタリカ・ホンジュラス・ニカラグア]
デフォルトの名無しさん [sage] 2018/09/16(日) 00:06:19.36:un+A0LAL
そして…

の誕生日
デフォルトの名無しさん [sage] 2018/09/17(月) 16:35:32.27:7XrvGkih
29歳か
エンジニアとしては脂が乗ってて転職もしやすいいい年齢だな
デフォルトの名無しさん [sage] 2018/09/17(月) 16:59:35.01:tttN0aAW
俺も29の頃に戻って転職したいわ
デフォルトの名無しさん [sage] 2018/09/20(木) 09:37:16.88:jErS7Xwi
Kotlinを使うことのデメリットはビルドが遅くなる
デフォルトの名無しさん [sage] 2018/09/20(木) 10:42:57.25:T35mVtQn
あ、はい
デフォルトの名無しさん [sage] 2018/09/21(金) 09:41:14.52:0msJ+eqs
Kotlinに慣れてしまうとたまにJavaのコードを読み書きしなくちゃいけなくなった時に辛いのもデメリット
デフォルトの名無しさん [] 2018/09/21(金) 12:44:29.48:isbUNhMl
つい val と打ってしまう
デフォルトの名無しさん [] 2018/09/21(金) 12:46:29.69:isbUNhMl
そして頭が Java モードに移行した後で String s = "hpge"; がなぜコンパイルエラーなのかと数秒悩む。
デフォルトの名無しさん [sage] 2018/09/22(土) 09:17:23.72:YkyW/fpS
Javaとの切り替えは楽だわ、全然違うから。
Swiftとの切り替えの方がはるかにしんどい。似すぎなんだよ。
デフォルトの名無しさん [sage] 2018/09/22(土) 10:32:19.91:7avfEzoP
さらにGoに移ればvalとも打たなくなる
デフォルトの名無しさん [sage] 2018/09/22(土) 12:22:49.79:IERFLIHo
Goの変数宣言は大嫌い
err変数の使い回しを推奨してるからerrが最初に出てくる箇所だけ := で後は = という一貫性に欠け紛らわしいコードになる
そのうえ := は左辺に新規変数が一つでもあればよく、その他は普通の再代入になるという変数宣言の意義を無にする支離滅裂な仕様
あれなら := だけに統一して最初に出てきた箇所を変数宣言と見做す仕様でよかっただろ
デフォルトの名無しさん [sage] 2018/09/22(土) 13:23:45.58:MqLf+m4t

微妙に違ってるのが残念
errは使いまわさない

if判定式に書いてとブロック内での利用がGoのスタイルらしいです
デフォルトの名無しさん [sage] 2018/09/22(土) 13:38:05.35:96L85sWt
普通はGoのイライラポイントは行末にセミコロンが置ける判定だと
勝手にセミコロンが入ってる前提でコンパイルしようとするところだと思う
デフォルトの名無しさん [sage] 2018/09/22(土) 15:16:15.77:nhXWEJTw

言いたいことは分かるけどそれ実際そんな問題になるか?
デフォルトの名無しさん [sage] 2018/09/22(土) 16:37:08.98:I9L5/Izk
つーかコロンがあるとソースが気持ち悪い
関数参照とか特に
デフォルトの名無しさん [sage] 2018/09/23(日) 13:15:02.35:OIHJvn9v
std::
デフォルトの名無しさん [sage] 2018/09/23(日) 19:30:36.44:n8h6E1HX
:-)
デフォルトの名無しさん [sage] 2018/09/23(日) 19:44:03.36:qwzkV0Ze
:-p
デフォルトの名無しさん [sage] 2018/09/23(日) 19:56:30.03:MC3A3QT4
セルビス「せやな」
デフォルトの名無しさん [sage] 2018/09/23(日) 20:12:24.02:2qjNBgA0
sどっからきたんや
695 [sage] 2018/09/23(日) 20:34:37.71:trg3dXRh
書いた本人もsがどこから来たのかわからない。
でも真実は太陽のようなもの。何時までも隠し通せないものさ。
デフォルトの名無しさん [sage] 2018/09/24(月) 11:09:47.71:WVBXZCsi
なんのスレだよここ
デフォルトの名無しさん [sage] 2018/09/24(月) 11:34:08.81:OJiEOrR3
Xamarinスレです(即答)
デフォルトの名無しさん [sage] 2018/09/24(月) 16:50:49.27:Ojr5YdNC
editTextで複数行入力可能で最大3行まで
入力できるようにするのはどうしたらいいですか
maxLinesだと無視されるようです
デフォルトの名無しさん [] 2018/09/24(月) 17:00:57.87:twjLvrgB

それは Android の話? だったら Android スレで聞いた方が良いのでは?
デフォルトの名無しさん [sage] 2018/09/25(火) 00:09:04.72:ZrcCs/Sx
そこをなんとか
デフォルトの名無しさん [] 2018/09/25(火) 01:02:48.85:VjhU4mZC
まあ気長に待てばその内わかる人が来て何か書いてくれるかも知れんけどね。
デフォルトの名無しさん [sage] 2018/09/25(火) 08:52:37.98:NWf3skxx
分かるけどググれば4秒くらいで解決しそうだから教えない
デフォルトの名無しさん [sage] 2018/09/25(火) 09:21:46.51:TsRTczB1
役に立たねえ5chのクズ共が
デフォルトの名無しさん [sage] 2018/09/25(火) 10:05:41.38:gnEXqDst
Androidの話は明らかにスレチだしな
デフォルトの名無しさん [] 2018/09/25(火) 10:30:04.02:2yBY1mnV
役に立つ君が役に立つ事を沢山書けば良い。
デフォルトの名無しさん [sage] 2018/09/25(火) 10:42:27.86:0NwNRNq1
コーヒーを入れた後の出し殻はトイレの消臭剤として有能だ
どうだ、役に立つだろ
デフォルトの名無しさん [] 2018/09/25(火) 11:09:17.83:2yBY1mnV
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ´・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u'. `u-u'
デフォルトの名無しさん [sage] 2018/09/25(火) 13:50:11.12:DbAEJM0g
ttp://https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10196453085?fr=and_tw

「Kotlinしかありえません。」
「今後Javaでの開発は急激に衰退していきます。」
「Open JDKなぞ企業が利用するはずもありません。」

有償も無償もJDKを否定しながらKotlinを薦めるって意味分かんない
デフォルトの名無しさん [] 2018/09/25(火) 15:13:33.06:5plMkkR8

企業は有償のJDKを使うが開発はKotlinでやる事が多くなるって言いたいのではないかな。
ま、なんか勘違いしてそうではあるが。
デフォルトの名無しさん [sage] 2018/09/25(火) 17:17:15.91:Mw8jC0Zd

知恵袋の回答に何を期待してるんだ前は
デフォルトの名無しさん [sage] 2018/09/25(火) 23:12:12.51:61rXSjgU
そこで Kotlin/Native on Android があります
ttp://https://github.com/JetBrains/kotlin-native/blob/master/samples/androidNativeActivity/src/main/kotlin/main.kt

なお初心者
デフォルトの名無しさん [sage] 2018/09/26(水) 08:34:11.68:kWnsOfz4
Java11が来ましたな
デフォルトの名無しさん [sage] 2018/09/26(水) 13:18:14.38:L+P75TCh
YES
デフォルトの名無しさん [sage] 2018/09/26(水) 13:54:35.15:jEjEyGQe
高須クリニック!
デフォルトの名無しさん [sage] 2018/09/26(水) 14:03:09.80:3yW6iUgn
まっ代用コーヒーで我慢されたし
デフォルトの名無しさん [sage] 2018/09/26(水) 17:54:13.69:2GwnlijE
誰かkotlin1.3の話しろよ
デフォルトの名無しさん [] 2018/09/26(水) 17:57:42.17:dsR47lxw
君がしてくれ。俺は全然わからないので君の書いたのをひたすら読むから。
デフォルトの名無しさん [sage] 2018/09/26(水) 18:36:17.71:j+DUBV/U
Kotlin 1.3

むかしむかしあるところにおじいさんとおばあさんがいました
デフォルトの名無しさん [] 2018/09/26(水) 19:14:29.41:MrbR9bEN
おじいさんはキャバクラへ、おばあさんはホストクラブへ行きましたとさ。
めでたしめでたし。



                   ┼ヽ  -|r‐、. レ |
                    d⌒) ./| _ノ  __ノ
                   _______
                   企画・製作 5ch
デフォルトの名無しさん [sage] 2018/09/27(木) 15:05:00.97:v94RLyWs
いい話だなあ
デフォルトの名無しさん [] 2018/09/27(木) 16:02:07.23:0MoXCxti
そ、そうか?
デフォルトの名無しさん [] 2018/09/27(木) 16:31:57.37:0MoXCxti
Windows 10 でコマンドラインのコンパイラの新しい kotlin 1.2.71 をインストールして kotlinc 実行したら「アクセスが拒否されました。」が出る。

Linux 用のやつを WSL の Ubuntu にもインストールしたがそちらは正常に動く。

なんだろ?
デフォルトの名無しさん [] 2018/09/27(木) 16:36:27.25:0MoXCxti
わかった。kotlin-compiler.exe がウイルスバスターの監視に引っ掛かってブロックされたからだった。
なんか変えて失敗ってことか。
デフォルトの名無しさん [sage] 2018/09/27(木) 16:51:27.70:v94RLyWs
強いて言うならウイルスバスターとかいうゴミをわざわざインストールしてるのが失敗
デフォルトの名無しさん [] 2018/09/27(木) 17:13:56.32:0MoXCxti

かといってウイルスバスターにブロックさせなくても java.lang.refrect.InvoctionTargetException が出て動かない。

そちらではちゃんと動く?
デフォルトの名無しさん [] 2018/09/28(金) 03:28:53.57:5yuIehG0
コピペしてもあまり意味ないかも知れないが、Windows にインストールしたコマンドラインコンパイラはこんな感じだ。

C:\>kotlinc -version
info: kotlinc-jvm 1.2.71 (JRE 1.8.0_144-_2017_08_24_19_19-b00)
WARN: Failed to load filesystem access layer: Windows 10, 1.8.0_144, nio2=true
java.lang.reflect.InvocationTargetException
at com.intellij.openapi.util.io.FileSystemUtil$Nio2MediatorImpl.getAttributes(Unknown Source)
at com.intellij.openapi.util.io.FileSystemUtil.check(Unknown Source)
(長いので省略)
Caused by: java.lang.ExceptionInInitializerError
at sun.nio.fs.Util.split(Unknown Source)
(長いので省略)
at java.nio.file.Paths.get(Unknown Source)
... 41 more
Caused by: java.nio.charset.UnsupportedCharsetException: MS932
at java.nio.charset.Charset.forName(Unknown Source)
at sun.nio.fs.Util.<clinit>(Unknown Source)
... 59 more

C:\>kotlin -version
Kotlin version 1.2.71-release-64 (JRE 10.0.2+13)

C:\>

kotlinc は何故か Java VM が JRE 1.8.0_144-_2017_08_24_19_19-b00 で動いている
事になっているようだが、Java 10 (jdk-10.0.2) しかインストールされていない PC なので
これはおかしい。Linux の方にインストールした kotlinc コマンドはエラーは出ないが
JRE 1.8.0_144-jdk_2017_08_24_20_46-b00 で動いている事になっていた。
ほんのちょっとバージョンが違う。

kotlin コマンドの方は普通に Java 10 で動こうとしていてエラーは出ない。
デフォルトの名無しさん [sage] 2018/10/01(月) 21:48:45.24:yF30TuQz
今日Windowsで動かしたけど別に問題なかったぞ
デフォルトの名無しさん [] 2018/10/01(月) 22:04:13.67:943L2N6Q
そう?同じ1.2.71?Javaの方は10?
とすると何が原因かわからんな。
デフォルトの名無しさん [sage] 2018/10/02(火) 06:02:54.42:uz2k60mG
情報少なすぎてそれだけじゃ何もわからんけど、
コマンドラインのkotlincは渡すオプションが足りなかったり間違えたりすると動かないからそこらへんじゃね。
そういうのがめんどいから素直にgradle使うことを俺は勧める。
デフォルトの名無しさん [] 2018/10/02(火) 09:25:59.34:5tJ1y/rb
いやしかし Linux にインストールした方はちゃんと動くんだよね。
デフォルトの名無しさん [sage] 2018/10/02(火) 09:39:26.44:hoDCY76c
こいつ人をイライラさせる才能に溢れてるな
デフォルトの名無しさん [] 2018/10/02(火) 09:40:04.36:5tJ1y/rb

誰?
デフォルトの名無しさん [] 2018/10/02(火) 15:09:10.48:6qlwhkG7
kotlin.bat
setlocal
set _KOTLIN_RUNNER=1
call %~dps0kotlinc.bat %*
こんなんだぞ。特別なことしない限り違いが出るはずもない。
デフォルトの名無しさん [sage] 2018/10/02(火) 15:39:48.59:hoDCY76c
違いが出るはずもないって言っても実際に出てるんだろ。

俺の環境では問題ないし、公式にもそんなissueは上がってないし、お前が何かミスをしてるとしか思えんよ。

何日もこのスレで文句言う前に自分で原因究明した方が有意義だと思うけど。
デフォルトの名無しさん [sage] 2018/10/02(火) 16:18:21.16:/QfTYNRi
意味のわからない、bat なんか使うな

PowerShell を使え
デフォルトの名無しさん [] 2018/10/02(火) 16:32:10.71:6qlwhkG7

俺じゃねぇw

PowerShellは、起動毎に毎回0.5秒くらい待たされるの我慢ならん。
デフォルトの名無しさん [sage] 2018/10/02(火) 17:04:03.50:bPi5Hx1y
kotlin-compiler-1.2.71-windows-x64.zipを展開したものを使うと確かになるようだ
デフォルトの名無しさん [sage] 2018/10/02(火) 17:05:32.14:ibUSG6OV
自分で解決できないんだからgradle使えば
デフォルトの名無しさん [] 2018/10/02(火) 17:24:31.60:hjXu6C7/

ならない人はそれじゃないやつ使ってんのかね?
デフォルトの名無しさん [] 2018/10/02(火) 17:26:43.04:hjXu6C7/

何日もって木曜と金曜にしか書いてないが?
なんでこんなことで苛立つ?おまえ疲れてんのか?
デフォルトの名無しさん [] 2018/10/02(火) 17:55:47.89:6qlwhkG7
っていうか、-windows-x64なんてのがあるのか。
何もついてない方なら、問題ないな。
D:\home>kotlin -version
Kotlin version 1.2.71-release-64 (JRE 11+28)
D:\home>kotlinc -version
info: kotlinc-jvm 1.2.71 (JRE 11+28)
デフォルトの名無しさん [sage] 2018/10/02(火) 17:56:45.74:uz2k60mG
この子、悪気はないのに周りから嫌われるタイプっぽい。。
デフォルトの名無しさん [sage] 2018/10/02(火) 18:08:01.19:uz2k60mG

俺も今試してみたけど問題なかったわ。なんなんだろうな。
デフォルトの名無しさん [] 2018/10/02(火) 18:11:31.71:hjXu6C7/

よく見たらwindows-x64が付いてないzipファイルもダウンロードページにあるね。
OSごとに分けたから共通のがなくなったのかと思って見てなかったよ。
どうもありがとう。そっちでやってみる。
デフォルトの名無しさん [] 2018/10/02(火) 18:15:45.96:hjXu6C7/
うまく行った。
デフォルトの名無しさん [] 2018/10/03(水) 01:01:41.06:jikKostS
kotlin-compiler-1.2.71.zip と kotlin-compiler-1.2.71-windows-x64.zip の違い。

* kotlin-compiler-1.2.71-windows-x64.zip

bin\kotlin-compiler.exe があり、それでコンパイルをするようになっている。
これは WSL の Ubuntu の file コマンドに読ませると下記出力がある。
kotlin-compiler.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows

* kotlin-compiler-1.2.71.zip

lib/kotlin-compiler.jar があり、それをそのPCにインストールされた java コマンドで動かしてコンパイルをするようになっている。
デフォルトの名無しさん [sage] 2018/10/03(水) 07:47:58.09:bMY4sgMH
JETで各プラットフォームのバイナリーがつくようになったらしい
ttp://https://blog.jetbrains.com/kotlin/2018/09/kotlin-1-2-70-is-out/
よくわからないけどJETでのビルドミス?
デフォルトの名無しさん [sage] 2018/10/03(水) 11:04:07.41:MQnZqDNR
なんでGradle使わないんだろ
デフォルトの名無しさん [] 2018/10/03(水) 12:15:19.60:PjNDkZKJ
さあ。
自分は、プロジェクト開いていないときでもREPLを使えるようにstandalone版も入れているけど。
GradleだけでREPLを「簡単に」使える方法あるのかな(イメージ的には、npm install -g)?
デフォルトの名無しさん [sage] 2018/10/03(水) 13:14:06.19:ByEFsyrD

使わないんじゃなくて、スキルがなくて使えないんだろ
デフォルトの名無しさん [] 2018/10/03(水) 13:23:23.07:PjNDkZKJ
確かにないよw
でも、たかがREPL動かすためにGradleで苦労する必要もない。
システムにインストール(ダウンロードしてPATH通すだけ)すれば済む話だし。
Gradleはwrapperオンリーで、プロジェクト専用でしか使わない、と自分は決めてる。
デフォルトの名無しさん [sage] 2018/10/03(水) 13:26:22.23:NOwCXmGY
あっもう結構です
デフォルトの名無しさん [sage] 2018/10/03(水) 14:01:19.66:gJy1D1hJ
だから、Ruby をやっておけって言ってる

Ruby == Groovy
Rails == Grails

Ruby, Groovy に型推論を付けたら、Kotlin, Haxe になる。
基本は、クロージャ
755 [sage] 2018/10/03(水) 14:06:01.23:gJy1D1hJ
Gradle, Ruby のBundler, npm は、ほぼ同じ
デフォルトの名無しさん [sage] 2018/10/03(水) 14:34:55.44:MQnZqDNR
なんかめんどくさい奴だなほんと
トラブル起きた時にこのスレでクレクレするだけで自分で何もせず回答待ち、おまけにスキルがないのを開き直りかい

ついでに関係ないRuby基地外までやって来てカオスw
デフォルトの名無しさん [sage] 2018/10/03(水) 14:40:52.95:X8xhhWwD
そんな針に釣られるなよ
デフォルトの名無しさん [] 2018/10/03(水) 15:29:24.11:4kFnpcns

複数の人を十把一絡げにして一人だと考えてないか?
なお、最初にWindowsのx64版がおかしいと書いたのは俺だ。
デフォルトの名無しさん [] 2018/10/03(水) 15:38:50.68:L9VSGZ0e
自演か
デフォルトの名無しさん [] 2018/10/03(水) 15:51:18.05:4kFnpcns
少なくとも俺はrubyは知らない。
デフォルトの名無しさん [sage] 2018/10/03(水) 17:56:10.58:qAqPsDCa
確かにこれはめんどくさい
デフォルトの名無しさん [sage] 2018/10/03(水) 19:08:32.84:arhBJOST
rubyはム版に生息してるいつものrubyガイジだろ
デフォルトの名無しさん [sage] 2018/10/03(水) 19:11:15.68:qAqPsDCa
あいつ他のスレでも見かけるけど、板中のスレ全部巡回してるのかな
デフォルトの名無しさん [sage] 2018/10/03(水) 23:09:54.42:My3Rjwp+
学習段階以外でREPL使う用途が思いつかない
デフォルトの名無しさん [sage] 2018/10/04(木) 20:43:53.45:AnIvRrkz
Kotlinではあまりやらないけど、LLだとたまに使う

巨大XMLの一部構造を解析する必要があるときなんかに、
「この要素でこの子要素持ってないやついる?」
「この要素の子要素でこの属性持ってないヤツいる?」
「この要素のこの属性が取りうる値一覧くれ」
みたいなのを逐一繰り返し聞く必要がある場合なんかにはREPLの方が楽
デフォルトの名無しさん [sage] 2018/10/04(木) 21:55:58.93:GW9bGudq
IntelliJのデバッガ使った方が楽じゃね
デフォルトの名無しさん [sage] 2018/10/05(金) 09:00:21.69:TVcycwJc
俺もIDEAのEvaluate Expression使う。完全にREPLの上位互換だと思う。
デフォルトの名無しさん [sage] 2018/10/06(土) 13:09:06.04:WgHY7o0s
Kotlin fest動画来たな
デフォルトの名無しさん [sage] 2018/10/14(日) 07:11:14.48:beYTJsD+
android studio3.2で、カーソルがある行のみ整形するショートカットを教えてください
デフォルトの名無しさん [sage] 2018/10/14(日) 08:14:53.09:07hzNJXL

Shift+下 の後 Ctrl+Alt+l (エル)
デフォルトの名無しさん [sage] 2018/10/14(日) 21:05:23.47:beYTJsD+

ありがとうございます。
けっこう手順を踏まないとダメなんですね

次に書く行がある場合Ctrl+Shift+Enterで整形できたのですが、
}前など最終行の場合にイライラしてました・・
デフォルトの名無しさん [sage] 2018/10/14(日) 22:36:11.51:pGqNEbzG

Settings の Keymap の Editor Actions の中に、Emacs Tab というのがある
押すと、カーソルがある行だけを、前の行に合わせてインデントしてくれる
たぶんデフォルトだとキーに割り当てられてないので、何か適当なキーに割り当てて使う
じぶんはこれを Ctrl + I と Tab に割り当てて使っている
Tabを直接入力できなくなるけど、特に困ったことは無い
デフォルトの名無しさん [sage] 2018/10/15(月) 21:35:33.77:E6pr56BO
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
デフォルトの名無しさん [sage] 2018/10/17(水) 11:52:16.07:5AnSWZbJ
ずっとkotlinばっか書いてると久しぶりにjavaを書いた時に==で文字列比較とかしそうになって危険
デフォルトの名無しさん [sage] 2018/10/17(水) 12:17:00.62:09vqJ2WQ
C#とkotlinだけで書けばええんや
デフォルトの名無しさん [] 2018/10/18(木) 00:43:49.66:CSkK3ONp
今更C#覚える気にはならん
デフォルトの名無しさん [sage] 2018/10/18(木) 07:40:45.75:KOCQ6LQm
NativeきたらC#は不要になるな
デフォルトの名無しさん [] 2018/10/18(木) 09:17:43.73:xtVP5nmJ
そういやnative試しにやってみたらちゃんとコンパイルできて感動した
デフォルトの名無しさん [sage] 2018/10/18(木) 09:39:16.93:NtzxCfOc
native着々と出来上がってきてていいね
デフォルトの名無しさん [sage] 2018/10/18(木) 09:50:00.53:LiE4kJE0
あれってKotlinだけでiOSのGUIまで全部いけるの?
デフォルトの名無しさん [sage] 2018/10/18(木) 09:53:18.19:LiE4kJE0
自分で調べたけど行けそうだね、今週末にでもなんか作ってみるか
デフォルトの名無しさん [sage] 2018/10/18(木) 10:07:13.26:+dNyBfsQ
どうせ日本語文字処理とか日本語表示とか日本語フォントとか日本語入力とかで(どう)しようもないバグとかあるんだろ
お前ら使ってわかりやすく報告しろ
デフォルトの名無しさん [sage] 2018/10/18(木) 11:12:07.81:Oe/xKmru
サーバー側もiOSもAndroidもKotlinのみでできてJVMからも独立して最強じゃん
デフォルトの名無しさん [sage] 2018/10/18(木) 11:13:01.88:Oe/xKmru
Flutterとkotlin native どっちが将来性あるんだろうか
デフォルトの名無しさん [sage] 2018/10/18(木) 11:28:37.05:+dNyBfsQ
いまモノがあるという時点で後者
まあ仮に3年後に乗り換えだとしても3年は便利に使えるわけだし充分だろう
デフォルトの名無しさん [sage] 2018/10/18(木) 11:35:55.95:LiE4kJE0
俺はFlutterの方が将来性あるし、シェアも大きくなると思うけどな。
特にグーグルがまじでAndroidを捨て去るならそうなると思う。

が、Dartとかいう古き悪しきJavascriptみたいなゴミは書きたくないからNativeを書くぞ俺は
デフォルトの名無しさん [] 2018/10/18(木) 11:38:34.71:/F7k6oEO

当方はプログラミングの勉強を始めたいと考えている初心者です

ド素人の質問ですみませんが、
Kotlin nativeだとJVM(Oracle JDKやOpen JDKを含む)の制約から解放されるのですか?
ライブラリとかまだKotlin独自のものが少ないので、色々難しい課題があるとは思いますが、
とりあえずOracleからの著作権侵害訴訟のリスクに怯えなくてもKotlinで開発出来るように
なるなら、安心して開発に取り組めるようになるのではないかと思いまして
もし見当違いの質問でしたら、申し訳ありません
デフォルトの名無しさん [sage] 2018/10/18(木) 11:50:17.69:vXtTFe2k

emojiのおかげでそのへん心配する必要はほぼ無くなったな
デフォルトの名無しさん [sage] 2018/10/18(木) 12:03:26.12:Mxr2Ur4L

代わりに極めて高い確率でKotlin nativeそのものが頓挫しコード資産や経験がパーになるリスクを背負うことになるけど、それでもよければ
デフォルトの名無しさん [] 2018/10/18(木) 13:01:35.45:G4vijIF0

あるかなあ?元から国際化考えて作られたものだからnativeになったからといって新たにそれのバグが追加されるとは思えんが。
デフォルトの名無しさん [sage] 2018/10/18(木) 13:10:28.86:bOGKoKpZ
GUI側でなんかありそうな気はうっすらする
デフォルトの名無しさん [] 2018/10/18(木) 13:53:48.29:/F7k6oEO

私がKotlin native習得に挫折するなら話は分かりますが、Kotlin nativeそのものが頓挫することは
ないんじゃないでしょうか?
デフォルトの名無しさん [sage] 2018/10/18(木) 14:01:13.13:Mxr2Ur4L

普通にあるよ
何を勘違いしてるのか知らないが、たかが小さな会社の俺プラットフォームでプロダクションには現状誰も使ってないんだぞ?
そんなもん毎日のように腐るほど生み出されては消えていっている
逆に成功したら超ラッキー、くらいのレベルだ
Kotlinユーザーってほぼ例外なく他の言語も使えるから、Javaがゴタゴタしてるからって無理にKotlinに固執する理由もない
言っちゃ悪いけど、他に選択肢を持っている人がオモチャとして観察するフェーズであり、キャリアを賭けるようなもんじゃない
デフォルトの名無しさん [sage] 2018/10/18(木) 14:29:52.26:Oe/xKmru
これから新規でクロスプラットフォームでアプリ作るとしたらflutterとkotlin nativeどっちがいいんすか
デフォルトの名無しさん [sage] 2018/10/18(木) 14:41:31.35:mC/Lwmhp
React nativeがいいよ
デフォルトの名無しさん [] 2018/10/18(木) 14:52:18.29:/F7k6oEO

なるほど、社内でのKotlin nativeプロジェクトにおける開発という意味で頓挫と仰っておられたのですね
了解しました
Kotlin自体の開発元のJetBrains社によるKotlin native開発の頓挫のことを指してるのかと思ってしまったので。。
確かに現場視点から見ると、著作権云々より色々考慮しなくてはいけないことがあるんでしょうね

私の元々の質問の意図は、Kotlin nativeで作成したネイティブバイナリのコードであれば、Oracleの著作権
侵害とは一切関わりのないコードが生成できるのかと確認することでした
実際の現場での開発運用までいくと、会社による顧客へのサポート対応とか諸々の課題を当然考慮しないと
いけないでしょうが、今回の質問はそこまで踏み込んでおらず、あくまでOracleの著作権の影響範囲とその
回避について、Kotlin nativeの開発は有用か尋ねたつもりでした

多分私を学生だと思われて、現場の泥臭いことを教えていただいたのですね
勘違いさせてすみません
50近いオッサンが、趣味と好奇心の延長で質問したことですので
デフォルトの名無しさん [sage] 2018/10/18(木) 15:56:54.48:Mxr2Ur4L

そうじゃなくてJetBrainsによるKotlin native開発が頓挫する話だ
JetBrainsはMSやOracle、Googleといった力押しで言語を普及させることのできるような企業と比較すれば遥かに「小さな会社」だよ
趣味なら好きにすればいいし、頓挫しても経験は決してゼロにはならないけど、
Javaロックインよりも遥かに大きなリスクを抱えることになるというのは理解しておきなさい
デフォルトの名無しさん [sage] 2018/10/18(木) 16:23:08.89:LiE4kJE0
に禿げ上がるほど同意しすぎて禿げたわ

まだまだおもちゃとしか言えないレベルだよな。
とは言え一年前に比べたらだいぶ進化してるから、一年後にどうなってるかはわからない。
デフォルトの名無しさん [] 2018/10/18(木) 17:02:31.96:/F7k6oEO

なるほど、まだKotlin nativeは使い物になるレベルに達していない代物なのですね
色々ご教授いただき、ありがとうございました。

正直、従来のKotlinとKotlin nativeとの言語としての完成度の差を知らなかったので、
大変勉強になりました
今は、(Kotlin nativeではなく)ノーマル(従来)のKotlinを触って勉強したいと思います
デフォルトの名無しさん [sage] 2018/10/18(木) 18:54:28.76:aXnVPh22
使い物になるかどうか俺にはまだわからない。
デフォルトの名無しさん [sage] 2018/10/18(木) 20:57:17.61:2fRxoa3c
flutterは使い物になってるん
デフォルトの名無しさん [sage] 2018/10/18(木) 21:23:22.75:L9eqCZWO
現状大差ない
どちらもプロダクトに投入してる例はあるけどまだまだこれから
デフォルトの名無しさん [sage] 2018/10/18(木) 23:19:27.58:W/jJZT8E
React Native + Kotlin/JS + Objective-C でアプリ書いてるけど
React Native + Kotlin/Common + Kotlin/Native (RCT_EXPORT_MODULEだけObjC) を考えてる
デフォルトの名無しさん [sage] 2018/10/18(木) 23:56:45.28:2fRxoa3c
React Nativeは糞なん
デフォルトの名無しさん [sage] 2018/10/19(金) 00:01:12.66:0w8u7dR8

Kotlin使ってるならObjCじゃなくSwift使えよ
構文とか似てるし
デフォルトの名無しさん [sage] 2018/10/19(金) 05:50:07.67:anLrnbMW

なんでそんな目に見える苦行の道を選んだのかw
デフォルトの名無しさん [sage] 2018/10/19(金) 06:53:56.43:o50FFHF4

以前別アプリで使ってたけど型推論あるとビルドクッソ遅いの直ったの?
デフォルトの名無しさん [sage] 2018/10/19(金) 10:32:23.06:QF/fmEqa
ちょっとでも欠点を見つけるとそれを理由にして新しいものを拒否するやつってどこの世界にも必ずいるよな
デフォルトの名無しさん [sage] 2018/10/19(金) 11:39:41.80:A/qV8EFP
それ以上に、古いものの欠点を過剰に騒ぎ立てて新しいものをゴリ押ししようとする奴のほうが多い気がする
デフォルトの名無しさん [sage] 2018/10/19(金) 11:45:04.89:A/qV8EFP
あと個人的な経験でいうと、新しいものの欠点はむしろ検討段階で見落とされて後で問題になることが非常に多い
新規導入におけるビジネス判断って、フィーチャーだけに目が行って非機能仕様や細かい制約はあまり考慮されないもんだ
デフォルトの名無しさん [sage] 2018/10/19(金) 11:47:27.55:QF/fmEqa
顔真っ赤だぞ
デフォルトの名無しさん [sage] 2018/10/19(金) 12:05:14.92:tmON5lM4
今ある問題に目を瞑って現状維持に固執するやつは多い
新しいものを見ると特に検証もせず推し進めるやつもいる
デフォルトの名無しさん [sage] 2018/10/19(金) 12:17:58.33:3T6bO47t
新しいものを受け入れられなくなった時が老化の始まりだと思っている
デフォルトの名無しさん [sage] 2018/10/19(金) 13:18:39.60:CgT1zPa0
人は歩みを止めた時に、そして挑戦を諦めた時に年老いてゆくのだと思います。

このソフトを使えばどうなるものか。 危ぶむなかれ、危ぶめば道はなし。
踏み出せばその一足が道となり、その一足が道となる。

迷わず使えよ、使えばわかるさ ありがとう!
デフォルトの名無しさん [sage] 2018/10/19(金) 13:35:53.85:A/qV8EFP
都合よく自分の使いたいものを想定して一般論を語るのはいけない
こんな糞パッケージや糞製品導入した奴は子ねって思ったこと、ITエンジニアならあるだろ?
デフォルトの名無しさん [sage] 2018/10/19(金) 18:28:06.35:anLrnbMW
自社が製品として販売しているオリジナルフレームワークを自社サービスで使っているせいで仕事を辞めたことはある。
本当に、本当にゴミフレームワークだった。
◆QZaw55cn4c [sage] 2018/10/19(金) 19:44:06.11:akKjNeBd

その新しいものとやらが実際には価値のないものだったら動かない方が勝りますね
デフォルトの名無しさん [] 2018/10/19(金) 19:53:50.60:gPrGaWTX
重要なのは新しいか古いかではなく、自分の望みを叶える事に使える道具かどうかだ。
デフォルトの名無しさん [sage] 2018/10/20(土) 07:22:23.67:LPuzIORG

叶えるのに最適かどうか、と言わないとC言語でなんでもできるおじさんがやって来るぞ。
デフォルトの名無しさん [] 2018/10/20(土) 12:16:34.27:u8BRF3D8
C++よりCだな
デフォルトの名無しさん [] 2018/10/20(土) 13:28:58.42:qwv4GmvH

そういやそうだな。
C、そしてアセンブラ最強になってしまう。
デフォルトの名無しさん [] 2018/10/28(日) 15:23:51.96:D9Gt7gmT
Kotlin の Char には isAlphabetic() がないのな。
しょうがないからプログラムの上の方にこんなの作って使っている。

fun Char.isAlphabetic() = Character.isAlphabetic(toInt())

こういうのってこうやって簡単に作れちゃうから最初から標準のライブラリに入れてないんだろうか?
しかし最初からあってくれた方が楽と言えば楽だなあ。
デフォルトの名無しさん [sage] 2018/10/28(日) 15:42:20.00:ISWax1Kh
直接JavaのAPIを呼ぶべきだからだよ
そんな基準でKotlin版作ってたらキリがない
そもそもCharacterのメソッドってプログラマの使いやすさよりもUnicodeの仕様を正しく反映することを意図して作られていて、
そんなに頻繁に使うようなものではないだろ
知ってると思うけどisAlphabeticって平仮名とか含むんだぞ?
デフォルトの名無しさん [sage] 2018/10/28(日) 16:24:20.91:B8FJbCxl
おっUnicodeのクソさならおじさん語っちゃうぞ
デフォルトの名無しさん [sage] 2018/10/28(日) 16:49:19.52:Pbs4Hud/
クロスプラットフォーム狙うなら用意しなきゃ駄目だな
デフォルトの名無しさん [sage] 2018/10/28(日) 17:53:59.71:kYm0OnSb

じゃJstarの開発マニュアルから初めてくれ

全て聞き流してあげよう
デフォルトの名無しさん [] 2018/10/28(日) 19:45:18.26:HCT7bRsv

Charでやっといてくれればnativeでコンパイルする時にもそのままにできるという利点がある。
デフォルトの名無しさん [sage] 2018/10/28(日) 20:35:21.54:rIZW9HtV
なんでByte型に符号が必要なんだろ。
扱いづらすぎ
c#のbyte型にしてたもんせ
デフォルトの名無しさん [sage] 2018/10/29(月) 10:36:46.12:kmR/sVLv
そして符号付きbitシフトとかどこで使うのか、今でも意味不明
Javaの負の遺産を引きずってるなー
デフォルトの名無しさん [sage] 2018/10/29(月) 10:45:27.47:f3zS/Ojj
Kotlinがそれなりに流行ったのはJavaの呪いを受け入れたからに他ならない
その代償がその程度であれば小さいもんだろう
デフォルトの名無しさん [] 2018/10/29(月) 11:08:01.70:6BFpO29N
そういや符号付きシフトライト使わんな
デフォルトの名無しさん [sage] 2018/10/29(月) 11:25:07.20:cH/HmFkL
javaつうか元々cの右シフトの挙動が定義されてなかったから、それを引きずってるだけ
デフォルトの名無しさん [sage] 2018/10/29(月) 13:20:28.49:pPcgFW80
まあそこらへんは存在したとしてもどうせ使うことはないだろうから別にいいよ
◆QZaw55cn4c [sage] 2018/10/29(月) 20:41:03.84:MQrExvvX

シフトに関しては符号付き、符号無しの区別は重要だと思いますよ
デフォルトの名無しさん [sage] 2018/10/29(月) 20:46:14.26:cH/HmFkL
算術シフトなんて今時使わんのう
デフォルトの名無しさん [sage] 2018/10/29(月) 20:54:00.50:dR2v0XVE
ビットシフトはビットシフトで考えたほうが早いオールドタイプを宥めるために存在する
彼らの言う「ビットシフトでやったほうが速い処理」が必要な、いつか来る未来というのは結局来ずに終わる可能性のほうが高い
残りの折り返し見えた人生、来るほうにかけて生きてもいいけどさ
◆QZaw55cn4c [sage] 2018/10/29(月) 21:01:19.06:MQrExvvX

冪剰余のバイナリ法をみても、ビットシフトは重要だと思いますよ…
デフォルトの名無しさん [sage] 2018/10/29(月) 21:12:23.49:/nQ888E/
符号無しシフトは非常に稀には使うけど 符号付きシフトは使った記憶がない
とはいえKotlinでは記号じゃないから負の遺産とは思わないな

C++みたいに右シフトがtemplate構文の邪魔するとかなったら呪縛もいいとこだけど
デフォルトの名無しさん [sage] 2018/10/29(月) 21:19:40.25:a61r9koc
ビットシフトを使うほどカリッカリにパフォーマンスに拘る時にkotlin、というかjvm言語を使うかって話よね。
必要な場面があるのは分かるけど、今時のサーバーで普通のシステムを動かす前提なら普通はまず求められないし、可読性を犠牲にしてまで使うべきだとは思わない。
デフォルトの名無しさん [sage] 2018/10/29(月) 22:03:26.21:WjcZBaAC
主に移植性や相互運用性のために残ってるだけで批判の対象になるようなケースはほとんど実在しないと思うけどな
◆QZaw55cn4c [sage] 2018/10/29(月) 22:40:20.39:MQrExvvX

>右シフトがtemplate構文の邪魔するとか
C++11 lator でこの制限はなくなりました
デフォルトの名無しさん [sage] 2018/10/29(月) 23:00:18.21:pPcgFW80
使うシチュエーションは確かにあるけどものすごく稀だな
あれば2年に1回くらいは使うかもしれないけどなかったらなかったで別に困らない
デフォルトの名無しさん [sage] 2018/10/30(火) 13:02:10.09:yLOLSFfe
ビットシフトな。実務で使うことはまあないな。
何かの解析とか組み込み系なら多用するだろうけど、そんなところではそもそもこちょりん使わないだろう。
デフォルトの名無しさん [sage] 2018/10/30(火) 13:25:58.04:uh+5PDyF
ビットシフトは画像処理やBluetoothで使いまくるぞ
デフォルトの名無しさん [sage] 2018/10/30(火) 13:57:51.39:yLOLSFfe
だからそういうのを自前で実装するケースってそうそうないやろ、って話でしょ
デフォルトの名無しさん [] 2018/10/30(火) 14:20:24.64:XfhSBW4w
元々ビット単位で詰め込んであるようなデータの解析には使った方が見易くなるかも知れない。ネットワークのパケットとか、その他色々あるよね。

もちろん割り算や余り計算すれば特定のビット抜き出す事はできるし、恐らく最適化されると最終的なコードは同じになるだろうけどね。

なのでどう書くと見易くなるかの問題だな。16で割って8の余り出すように書くか 4 ビット右シフトして 7 を and するように書くか。
だいたいは後者の方が見易く分かりやすいかも知れないが、場合によっては前者の方が良いかも知れない。
デフォルトの名無しさん [sage] 2018/10/30(火) 14:46:02.26:bp+Jjz8r
ビット操作するなら素直にビット操作演算子つかえばいいんじゃね
ことりんはわり算した時のビット内容に規定があるのかわからんし
デフォルトの名無しさん [sage] 2018/10/30(火) 17:13:35.01:yLOLSFfe
なんだ、低レベルな処理をkotlinで書きたい人って結構いるもんなのか。
そういうのはCか最近ならGoあたりを使うと思ってた。
デフォルトの名無しさん [sage] 2018/10/30(火) 17:37:55.08:9UQqj8fB
最初は普通にkotlinで書いて、ボトルネックになるようならネイティブに逃がすでしょ。画像処理とか明らかにヘビーなことやるなら最初からネイティブで書くけど。

ところでkotlinネイティブで、本体の部分はJVMとかでkotlinで書いて、ヘビーな部分はkotlinネイティブで書いて利用するとか芸当簡単にできるようになるのか?
デフォルトの名無しさん [sage] 2018/10/30(火) 17:40:45.12:9UQqj8fB
例えばandroid画像処理アプリ本体はdalvikのkotlinで動かして、画像処理本体はkotlinで書くけどネイティブでとか。
デフォルトの名無しさん [sage] 2018/10/30(火) 18:47:41.21:gLBwTwyT
論理的にはできるはずだから、パフォーマンス比較してみたいなそれは
デフォルトの名無しさん [] 2018/10/31(水) 00:32:35.54:vLSvux0L
透過的にできるようになるといいな。例えばメソッドに native 付けておけばそのメソッドは自動でネイティブにコンパイルされるとか。
デフォルトの名無しさん [sage] 2018/10/31(水) 00:37:12.39:l6hBIWd4
Androidならともかく、PCの方の非海賊版JVMのパフォーマンスをnativeが超えるのは相当難しそう
デフォルトの名無しさん [sage] 2018/10/31(水) 06:48:37.29:98pSB8cX
そこはnativeってかLLVMの範疇の話だべ
デフォルトの名無しさん [sage] 2018/10/31(水) 10:40:22.28:dR1y5/6Z
Kotlin1.3の新機能
ttp://https://aakira.app/blog/2018/10/whatsnew-kotlin13/

いろいろ面白い
デフォルトの名無しさん [sage] 2018/10/31(水) 11:08:01.55:3SYFbLW8

LLVMのコードってほとんどただの抽象化された機械語だから、
Kotlinを動かすならこれまでJVMに依存してたランタイムの機能を独自に相当作り込まなきゃいけないよ
デフォルトの名無しさん [sage] 2018/10/31(水) 13:31:42.08:Qq+hlwEM
1.3はcontractが地味に嬉しい
デフォルトの名無しさん [sage] 2018/11/01(木) 21:27:46.03:1iukrLVD
10月初めのと基本同じ情報だけど日本語で来てるから貼っとく

Kotlin 1.3リリース ? コルーチン、Kotlin/Nativeベータ
ttp://https://blog.jetbrains.com/jp/2018/10/30/1511
デフォルトの名無しさん [sage] 2018/11/01(木) 23:50:12.25:qS+FGnrA
これだけの大幅機能追加なら、そろそろJavaみたいにKotlin3とかに名前変更してもいいと思うけどな
デフォルトの名無しさん [sage] 2018/11/02(金) 06:54:17.88:vPK+PbBn
Goとかrustみたいに、システムプログラミング向けとしてもkotlin /native は使われる将来性はある?
デフォルトの名無しさん [sage] 2018/11/02(金) 07:04:17.48:sk3a5Htb

プリミティブのintと参照のIntを明示的に区別する仕様ではないから向いていないのではと思う。
デフォルトの名無しさん [sage] 2018/11/02(金) 07:05:33.59:jzdzUnCl

低いレイヤーを直接触るようなことはやりにくいから、あえて使う理由もないと思う
出来ないことはないだろうけど
デフォルトの名無しさん [sage] 2018/11/02(金) 07:23:29.85:7Yuyvv3H
参照型にnullを許さないってのも、微妙だな
書いてて疲れる。

hoge?.fuga
とか
hoge!!
とか返って可読性が落ちてる希ガス
デフォルトの名無しさん [sage] 2018/11/02(金) 07:41:58.45:99M9u1qg

そうだよ
面倒だから使いたくないでしょ
使わないようにしたいんだよ
だからそうなっている
デフォルトの名無しさん [sage] 2018/11/04(日) 10:09:12.87:hIyIwIUL
情報少ないけどKotlin/NativeはGCでなくARCってことでいいのかな

参考
ttp://https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/
ttp://https://github.com/JetBrains/kotlin-native/issues/587
ttp://https://github.com/JetBrains/kotlin-native/issues/1698


GoはGCによる停止時間を極小化するために学術レベルのことやってる
 (全体の処理効率が多少下がってもリアルタイム性優先)
RustはGCでない
Kotlin/NativeがARCならシステムプログラミング用途でも支障無いと思う
デフォルトの名無しさん [sage] 2018/11/04(日) 12:16:15.86:3vbFFfcV
arcだとすると既存プログラムはコードを書き換えないといけない場合があると思うけど、それを承知で採用してるの?
デフォルトの名無しさん [sage] 2018/11/04(日) 12:25:22.13:kw3WZhj1
やってみたかっただけでしょ
所詮オモチャなんだから
デフォルトの名無しさん [sage] 2018/11/04(日) 12:38:32.84:hIyIwIUL
ARC with cyclic collector というのをちらほら見る
弱参照を使わなくても既存コードのままで問題無いようだ

ただこれがGCのような停止時間を発生させるかなどはよく分からなかった
デフォルトの名無しさん [sage] 2018/11/04(日) 13:09:57.98:4F1Ldwnu
おもちゃなのか
デフォルトの名無しさん [sage] 2018/11/04(日) 13:11:27.17:Ujv6OCQm
諸々の問題の解決を試みているうちに、気がついたら出来上がったものはGCそのものだったというオチになりそう
既存の枯れた技術を舐めてかかって自分で実装してみてはじめてそれが十分に優れていたことに気付く
技術の過度な抽象化による間違った万能感に陥りがちなITエンジニアにはよくあること
デフォルトの名無しさん [sage] 2018/11/04(日) 13:21:16.17:yZ41sxSU
オリジナル言語を頑張って作ったが結局動作的にLispになったみたいな話だな
デフォルトの名無しさん [sage] 2018/11/04(日) 14:17:20.37:gWJ/1CAI
そのまんまでしょ。弱参照ないARCで管理するが、循環参照用に定期的にGCは走らせる。
デフォルトの名無しさん [sage] 2018/11/04(日) 14:21:36.32:gWJ/1CAI
だから循環参照するクラス大量だとフルGC走らせるのと同じことになるが、大抵のプログラムでは循環参照するクラスはそんな大量じゃないので大抵のケースではARC with cyclic collectorの方が速くなるとか
デフォルトの名無しさん [sage] 2018/11/04(日) 14:23:51.54:gWJ/1CAI
ところでkotlinにweak reference見たいのあったっけ?
デフォルトの名無しさん [] 2018/11/04(日) 14:54:43.50:eEexL0w4

大人の
デフォルトの名無しさん [sage] 2018/11/04(日) 14:58:25.67:hIyIwIUL

nativeでは kotlin.native.ref.WeakReference
jvmでは java.lang.ref.WeakReference が有る
jsには無いからcommonにも無い
デフォルトの名無しさん [sage] 2018/11/04(日) 19:14:10.57:0dNetsrH
javaや.netにあるのは知ってるから質問けど
そっか、所詮、最大公約数になるから他の言語に引きずられまくりでjsとかにねぇからkotlinで標準で用意されてねぇのか。
デフォルトの名無しさん [sage] 2018/11/04(日) 20:08:53.22:yQqM28AX
いやKotlinに無い理由はJavaにあるからだよ
建前はともかく、実態はAltJavaとしてしか使われてないしJBもそれを前提に開発してるのが実情
デフォルトの名無しさん [sage] 2018/11/04(日) 22:06:08.12:MOVpxqlB
現状だとメモリ管理は対応プラットフォームの機能に寄生するみたいな感じになってるのは気になるね
iOS向けだとiOSのARCを利用するし、Cなら手動で開放してる
Kotlin/Native として統一的なメモリ管理機構を作らないと、プラットフォームを超えたコードの共有化とかはかなり限定的なものになりそう

しかし統一的なメモリ管理機構を言語で用意すると、プラットフォーム側で用意してるメモリ管理機構と重複部分ができて無駄だなとも思う
Xamarinとかはそんな感じだし
デフォルトの名無しさん [sage] 2018/11/04(日) 22:31:08.12:hIyIwIUL
ARCはOS関係無くね、Swiftと同じく普通にコンパイラとランタイムによる実装でしょ
現時点でcommon書くときメモリに関して支障は感じないけど
メモリ管理機構ってJVM上やJS上でどういうのを想定してる?
デフォルトの名無しさん [sage] 2018/11/04(日) 23:19:36.30:MOVpxqlB
JS はランタイム側でGCやってくれるし、JVMもGCやってくれるので、
アプリケーション側の kotlin コードでメモリ開放する必要ないし、循環参照とかも意識する必要ないでしょう

Kotlin iOS では、Swift や Obj-C と同じランタイム側にあるARCを使っているのではないのかな?
この場合アプリケーション側の kotlin コードでは、循環参照とかを意識しなくてはいけないのでは?

Cライブラリを使ってLinux上で直接動くような Kotlin Native コードの場合には、
malloc や free に相当するもので手動でメモリ確保開放とかやる必要があったりしますよね?
ttp://https://kotlinlang.org/docs/reference/native/c_interop.html
デフォルトの名無しさん [sage] 2018/11/05(月) 00:00:51.88:L+6WacOy
んなわけあるかい
LLVMで普通に直接動く実行コードを生成してるだけで、iOSのオブジェクトモデルとは別物だ
iOSに循環参照を自動的に見つけて解放してくれるって事実上の独自GCやぞ
そんなもん勝手に組み込めるんならみんなとっくにやっとる
デフォルトの名無しさん [sage] 2018/11/05(月) 00:53:31.72:gUcvv7gK
var x = Foo()
Bar(x)
x = Boo()

以上のような Kotlin コードをコンパイルしたときに、Boo()の結果を x に代入するまえに x に入っていた Foo() への参照をどう処理するかってこと
Bar(x)の結果、だれかが x に入っていた Foo オブジェクトへの参照を保持している可能性がある

JVMやJSだと単に x を上書きするコードにコンパイルすればいいよね
iOS向けにコンパイルするときには release(x) みたいなのを含んだ LLVM コードに変換される?
もしくは、Kotlin が独自の ARC みたいなの持っていて、それに応じた処置がおこなわれるの?

Linux 向けの Kotlin / Native でコンパイルはこのままできるのかな?
デフォルトの名無しさん [sage] 2018/11/05(月) 01:36:44.15:2KUKl2mx

ObjCランタイムは普通にCのABIのライブラリ群だから
純粋なC言語から呼べるしKotlin/Nativeからも呼べる

iOSでもLinuxでもプラットフォームのAPIを使うには
それに沿ったメモリ構造や解放関数の呼び出しなどのリソース管理が必要だけど
外部呼び出しを除いたKotlin/Nativeの部分にmalloc/free/releaseなどは必要無いよ
デフォルトの名無しさん [sage] 2018/11/05(月) 02:10:02.43:gUcvv7gK

そうすると、 Kotlin / Native で普通に確保したオブジェクトの解放はどういう方式で行われているのかな?
リファレンスカウンタ? GCでは無いよね?
リファレンスカウンタだとすれば、Kotlin/JVMでは問題無いオブジェクト同士が参照しあう構造は、避けないとダメだよね
デフォルトの名無しさん [sage] 2018/11/05(月) 06:27:49.62:DuzbnuJe
ここで不毛な言い争いするくらいなら実際にコード書いて試せばいいのでは。。
デフォルトの名無しさん [sage] 2018/11/05(月) 07:27:17.05:2KUKl2mx



ttp://https://github.com/JetBrains/kotlin-native/blob/master/FAQ.md

> Q: What is Kotlin/Native memory management model?
> A: Kotlin/Native provides an automated memory management scheme, similar to what Java or Swift provides. The current implementation includes an automated reference counter with a cycle collector to collect cyclical garbage.
デフォルトの名無しさん [sage] 2018/11/05(月) 07:52:42.52:gUcvv7gK

ありがとう。参考になった
デフォルトの名無しさん [] 2018/11/06(火) 11:37:39.99:13CfGTjW
Kotlin 1.3 には Kotlin Native がバンドルされているみたいに書いてあるWebページがあるが、されてないよね?
bin ディレクトリ以下はいつも通りのスクリプトやバッチファイルがあるだけで kotlin-native はないんだけど。
何かオプションで変わるのか?
デフォルトの名無しさん [sage] 2018/11/06(火) 19:55:52.84:MUP1fE6Q

ということはNativeがバンドルされているみたいに書いてある可能性があるな
デフォルトの名無しさん [] 2018/11/06(火) 23:53:17.85:BD76rR44
どうやら KotlinConf 2018 の基調講演では1.3 に native バンドルすると発表していたようだ。
ttp://https://www.publickey1.jp/blog/18/kotlinnativekotlin_13winmaciosandroidwebassemblykotlinconf_2018.html
それでこういう記事になったのかも知れない。
ttp://https://www.publickey1.jp/blog/18/kotlin_13javavmkotlinnative.html

で、実際バンドルされているのかいないのか?
デフォルトの名無しさん [sage] 2018/11/07(水) 04:08:57.36:uTkGbVYN
古いIntelliJ(1.3) + Kotlin1.3プラグイン: 表示されず
最新IntelliJ(2.5) 素の状態(1.2.51)   : 表示されず
最新IntelliJ(2.5) + Kotlin1.3プラグイン: 新規プロジェクトでKotlin/Nativeが表示された

IntelliJ側も一定以上のバージョンが必要みたい

Gradleプラグインは混ぜる意味無いし、
GitHubのリポジトリ直リリースの方も別のリポジトリと混ぜたりしないだろうから
バンドル云々は関係無いと思う
デフォルトの名無しさん [] 2018/11/14(水) 11:15:27.33:m5bayMOd
Native使ってみたいけどNativeの恩恵にあずかれそうなアプリねーな
デフォルトの名無しさん [sage] 2018/11/14(水) 12:44:13.09:ouXx+ttu
開発環境をインストール出来ない会社のPCで威力を発揮
デフォルトの名無しさん [] 2018/11/14(水) 13:13:51.91:bryEJhFF

そらならKotlinだろうがnativeだろうがインストールできないのでは?
デフォルトの名無しさん [] 2018/11/14(水) 13:14:35.60:bryEJhFF
タイプミスった
スマホのタイプミスは変になるなあ
とほほ
◆QZaw55cn4c [sage] 2018/11/14(水) 21:03:33.84:1oDeoExT

フリック入力には早く慣れたい、今30文字/分レベル
デフォルトの名無しさん [sage] 2018/11/15(木) 10:16:23.76:9CKUsg3j
ATOKのフラワータッチでブラインド余裕だわ
デフォルトの名無しさん [sage] 2018/11/15(木) 19:41:57.59:/p28cUOS
AWSのJDKってKotlinでも使えるの?
デフォルトの名無しさん [sage] 2018/11/15(木) 21:01:05.69:GB4CWMFp
どうやったらKotlinを使えなくできると思うのか、逆に聞きたい
デフォルトの名無しさん [sage] 2018/11/15(木) 21:59:02.19:Zxq7WOdf
kotlinを何だと思ってるんだ?
デフォルトの名無しさん [sage] 2018/11/15(木) 22:05:51.83:7h5p3DlT

そんな些細なミスでいちいち訂正と言い訳しなくていいよ
デフォルトの名無しさん [sage] 2018/11/15(木) 22:34:05.06:cJq6eeYE

Kotlinで書いたコードが動くまでの仕組みの基礎中の基礎を調べた方が良いよ
デフォルトの名無しさん [sage] 2018/11/15(木) 22:41:22.51:LMGGLgEy
つまりkotlinは一回javaに変換してからコンパイルしてるってこと?
デフォルトの名無しさん [sage] 2018/11/15(木) 23:18:48.42:TNWk/8K+
いいえ
直接Javaクラスファイルが作られます
デフォルトの名無しさん [sage] 2018/11/15(木) 23:34:43.61:thmm/mkW
JVMはバイトコードを読むもの
Kotlinソースコードはバイトコードを吐く
Javaソースコードもバイトコードを吐く
他のJVM言語(Groovy、Scala、JRuby、Jython等)もバイトコードを吐く
ドゥユゥアンダースタン?
デフォルトの名無しさん [] 2018/11/16(金) 02:51:53.33:RZeahJQu

概念的にはそうなんだけど実際にはそういう人間にとってわかりやすい中間的な状態はすっ飛ばして内部でいきなりバイトコード作っている。
デフォルトの名無しさん [sage] 2018/11/16(金) 06:20:06.46:7Oyx3zj5

Javaで書かれたコードはClassファイルに変換される
Kotlinで書かれたコードもClassファイルに変換される

つまり、OpenJDK (JVM)から見たら、実行する時点でそのコードがもともとJavaで書かれていたのかKotlinで書かれていたのかの区別はできない。
デフォルトの名無しさん [sage] 2018/11/16(金) 07:42:39.93:SxJuNQsd
なるほど ありがとうございます

JDKっていうのはコンパイラだけじゃなくてインタプリタも含まれてるのか
デフォルトの名無しさん [sage] 2018/11/16(金) 09:09:35.65:j42pfltv
デフォルトの名無しさん [sage] 2018/11/16(金) 12:09:05.80:cFUtGW68
そもそもAWSのJDKっても普通のOpenJDKに対して長期的にバグフィックスとセキュリティ修正をするってだけだからな。
デフォルトの名無しさん [sage] 2018/11/16(金) 12:35:30.76:f+AE9bwu

それだけでもありがたい。
デフォルトの名無しさん [sage] 2018/11/16(金) 12:51:50.09:InCl5VjB
Kotlin使っといてJavaのLTS期間がどうとかアホかよ
Kotlinって常に最新バージョンしかサポートされてなくて、
新しいバージョンリリースされた瞬間にサポート切れなんだけど、そこ理解してる?
デフォルトの名無しさん [sage] 2018/11/16(金) 13:21:45.24:ffAbnTNN

JDKってか、JVMにバイトコードのインタープリタとJITコンパイラ(実行時によく使用されるメソッドとかをバイトコードから機械語にコンパイルする)が含まれてる
デフォルトの名無しさん [sage] 2018/11/16(金) 13:25:37.10:cFUtGW68

あ、すまん、文脈としては「だからAWSのJDKでだけ動かないなんてことはない」と言いたかった。
デフォルトの名無しさん [sage] 2018/11/16(金) 13:26:14.79:cFUtGW68

それとJDKのサポート期間と、なんの関係もないじゃん。いったい何と戦ってるのか。
デフォルトの名無しさん [sage] 2018/11/16(金) 13:32:19.68:InCl5VjB

どのみち放置運用するようなものには全く使えないんだから、半年毎にJDKを更新するくらい大した問題じゃないでしょ
デフォルトの名無しさん [sage] 2018/11/16(金) 13:48:45.91:wIRSNKmo
Xamarinみたいな糞でやるからそうなる
デフォルトの名無しさん [sage] 2018/11/16(金) 14:10:05.60:cFUtGW68

最高に頭の悪い見解をありがとう。
そうだね、うんうん、君の言う通りだよ。
デフォルトの名無しさん [sage] 2018/11/16(金) 18:19:57.19:7Oyx3zj5

それが大した問題だからここ何ヶ月も世界中で大騒ぎしてたわけで。。

まあアプリ本体とJDKをDockerかなんかでまとめてコンテナ化とかしてりゃ何の苦労もないけどな、
現実に本番環境でそこまで出来てるところはまだ少数派だろう。
デフォルトの名無しさん [] 2018/11/16(金) 19:42:48.03:4Z/2Zn+l
うわー。Pleiades インストールしたら IntelliJ IDEA が日本語に!

慣れてないと違和感あるなこれw
デフォルトの名無しさん [sage] 2018/11/17(土) 07:34:08.71:KWZ5EwMD
eclipseで開発してるやつおる?
最近 eclipse の Kotolin のプラグイン更新されてるみたいだけど、やっぱり IntelliJ の方が断然快適なんだろうか
eclipse ずっと使ってきたから、今から開発環境変えるのも苦労しそう
デフォルトの名無しさん [sage] 2018/11/17(土) 08:00:43.63:SiZmC7/H
むしろそういったIME使わずに作ってる人いない?
どうも自分で制御出来ない感じが慣れなくって
デフォルトの名無しさん [sage] 2018/11/17(土) 08:05:44.83:vtnmvVoJ
日本人のITリテラシーは土人並みやで
デフォルトの名無しさん [sage] 2018/11/17(土) 08:33:58.05:WPCLsCCD

おぢさん達、気持ちはわかるけどその程度のことくらい頑張らないと仕事なくなるよ
デフォルトの名無しさん [sage] 2018/11/17(土) 10:32:10.09:Lyuticwx

IntelliJの良いところは開発環境周りの苦労がほぼないことだよ
eclipseから移るとマジで別世界で漏らしそうになる
デフォルトの名無しさん [sage] 2018/11/17(土) 11:38:32.70:tnhZ/1Ed
eclipse使っててよくストレス溜めずにいられるよな
デフォルトの名無しさん [sage] 2018/11/17(土) 11:46:54.76:8wpf7s1e

IMEワロス
変数名を日本語にしちゃう人ですかぁ?
デフォルトの名無しさん [] 2018/11/17(土) 11:52:52.29:B4GISbTr
自演乙
デフォルトの名無しさん [sage] 2018/11/17(土) 12:03:25.62:Lyuticwx

日本語で命名するの、騙されたと思ってやってみたらみやすくてワロタわ。
個人プロジェクトでしかやってないけど、テストケースを日本語にしておくとめっちゃ見やすい。
デフォルトの名無しさん [sage] 2018/11/17(土) 12:22:39.88:W3t77A42
自分も趣味のプロジェクトはテストだけ日本語で書いてる
デフォルトの名無しさん [sage] 2018/11/17(土) 13:01:34.66:By/5vlbY

一回使ってみてから決めたら?
そもそもkotlinやるならintellijのほうがいいと思うが
デフォルトの名無しさん [sage] 2018/11/17(土) 13:47:53.54:rc62Vrp5
Kotlin使うなら開発元のJetBrainsを支援する意味でもIntelliJの有償版を使うべき
最近はJavaがゴタゴタしてるし、JBが強いスマホ分野ではIDE離れの動きが出てきてるし、開発環境市場はVSCodeが席巻してる
このままだと会社無くなってKotlinも終わっちゃうよ
デフォルトの名無しさん [sage] 2018/11/17(土) 13:48:05.80:KWZ5EwMD
SWT使うから、eclipseのWindowBuilderないとちょっときついのよね
IntelliJ は魅力的だしとりあえずインストールしてみたけど、IDE2つ起動しないといけなくなりそう
デフォルトの名無しさん [sage] 2018/11/17(土) 21:54:40.24:ftBRdYwQ

プラグインが0.7.2くらいの時に使ったことがあったが、Javaのプログラミングの時にまでエラーが出るようになって、
たまらずアンインストールした。
その後どうなったか知らないが、まだアルファ版のままみたし、もともとのContributorはほとんど関与していなくて、
現在のContributorは実質ほぼ一人だけみたいだから、IntelliJのサポートレベルには
遠く及ばないんじゃなかろうか。
ttp://https://github.com/JetBrains/kotlin-eclipse/graphs/contributors
デフォルトの名無しさん [sage] 2018/11/18(日) 00:00:27.08:GJ109gfR

支援させてやるから、俺にも買ってくれよ
デフォルトの名無しさん [sage] 2018/11/18(日) 19:31:38.08:2vqoBI/V

やる気なさすぎてワロタ
まあJBがeclipseを手厚くサポートするメリットが何もないもんな
デフォルトの名無しさん [sage] 2018/11/22(木) 21:37:26.67:WC7mf3YT
kotlin勉強してみたけど、なんていうんだろこれまでだと泥臭い書き方になるものが
すっきりかけるようになっていいな
JavaよりC#のほうがいいと思ってたがC#もdelegateを導入したあたりから複雑化して
いまとなってはkotlinのほうがなんか直感的にわかる
デフォルトの名無しさん [sage] 2018/11/22(木) 21:53:40.76:BxA30JEc
本当に使ってるの?
C#のdelegateは最初のバージョンからあるし、KotlinってC#をリスペクトしてて
盲目的にC#にあるものは全部取り入れてるからC#より複雑だぞ
デフォルトの名無しさん [sage] 2018/11/22(木) 23:32:14.84:36KvwJdV
C#よりいい点はレシーバ付きラムダ式と拡張関数の書き方かな

ジェネリクスは…
reifiedはがんばってる気がするけど
デフォルトの名無しさん [sage] 2018/11/23(金) 00:02:58.62:jI4KYN6E
あんま使ってないんだと思うしスレチだが
最近のC#はdelegate負の遺産として使わないぞ
デフォルトの名無しさん [sage] 2018/11/23(金) 01:25:32.06:fYjwDIpD
この流れはチャンスだ
使った事ないけどデリゲートって何ですか?
デリケートなら知ってます
デフォルトの名無しさん [sage] 2018/11/23(金) 12:09:30.81:uLRLCLS/
easy scalaとしてkotlin開発始めたんだからC#関係ないぞw
てかC#もscalaの記法パクってるの多いからな
デフォルトの名無しさん [sage] 2018/11/23(金) 12:13:14.21:2OhrHiHK
エヴァしか知らないとアニメ表現が全部エヴァのパクリに見える現象がここにも
デフォルトの名無しさん [sage] 2018/11/23(金) 14:30:09.94:88YT2KBI
作ろうとしていたのは静的型付けのgroovyで、静的型付け言語の先輩のC#やScalaの記法を参考にしただけなんですけどね
デフォルトの名無しさん [sage] 2018/11/23(金) 14:53:48.45:mswwi/pb
他の言語やった後に C# やると
event や delegate キーワードはなんじゃこれって思うよね
デフォルトの名無しさん [] 2018/11/23(金) 17:00:12.01:ZfEOkgRs

Cのパクリ言語の多さには驚かされます。
デフォルトの名無しさん [sage] 2018/11/23(金) 19:26:48.74:R6GgleAv
B..orz
デフォルトの名無しさん [sage] 2018/11/23(金) 20:30:04.34:sjUJivrs
B→Cは本人達による改良だぞ
デフォルトの名無しさん [sage] 2018/11/23(金) 22:54:35.99:8BniVbk+

最後の一文から知りたいのでなくて、ネタをやりたかったのだろうとは思うが、一応説明すると、
基底クラスを継承する代わりに、継承したい基底クラスのインスタンスを指定すると、
あたかも継承したかのように振る舞う機能。
基底クラスのメソッド呼び出しは、上記で指定したインスタンスに委譲(delegate)され、
そのインスタンスのメソッドが呼ばれる。

Effective Javaによると継承は一般的に間違いを起こしやすとしてdelegateするよう勧めている。

overrideするメソッドがたくさんあるけど具象クラスがないインターフェースを実装する時に
ヘルパークラスから生成したインスタンスに委譲すると便利。
デフォルトの名無しさん [sage] 2018/11/29(木) 16:05:57.68:nHLSJTBx
KotlinでWindowsとかのデスクトップアプリ作ろうと思ったら、やっぱTornadoFXとかになるの?
ネイティブで作れたら嬉しいんだけど
デフォルトの名無しさん [sage] 2018/11/29(木) 16:56:34.05:ExWFlvb4
そもそもWindowsのデスクトップアプリを作るなら、C#かC++だろ
なんでわざわざKotlinで作るんだ
デフォルトの名無しさん [sage] 2018/11/29(木) 17:09:39.01:xQKvJzEq
Kotlinが好きなのかKotlinしか知らないからやろ
デフォルトの名無しさん [sage] 2018/11/29(木) 17:24:12.38:OofVoAKX
windows「とかの」
まぁクロスプラット狙ってるならそれでもいいんじやねぇの
デフォルトの名無しさん [sage] 2018/11/29(木) 17:26:42.57:tIHf4qpT
Javaでクロスプラットフォームなクライアントアプリを作ろうとしたが、クリップボードひとつまともに機能しかった悲しい思い出が甦る
デフォルトの名無しさん [sage] 2018/11/29(木) 18:27:18.48:93l6OrKk
TornadeFXとかあかんやろ(見もせずに言ってます)
ティアが嵩むほどシステムの信頼性は下がる(見もせずに言ってます)
Java JavaFX Kotlin あかんやろ、Java標準からも外されるくらいクソなJavaFX、あかんやろ(見もせずに言ってます)
デフォルトの名無しさん [] 2018/11/29(木) 19:16:53.65:8tueZiBH
とりあえずAndroid用アプリでも作っときなさい。
今はその方が使ってくれる人は多そうだしな。
GUIも問題なし。

そうでなければGUIなしの主にサーバ用プログラム作るかかな。
GUIはクライアント側に任せる。クライアント側は何でも良い。
デフォルトの名無しさん [sage] 2018/11/29(木) 19:33:01.28:iATAGwWK
一つのことにこだわって新しいことの習得がおっくうになるのは老化してる証拠
デフォルトの名無しさん [sage] 2018/11/29(木) 19:36:46.41:L2YcYUgx
JavaのAWTがつかえるんじゃないの
デフォルトの名無しさん [] 2018/11/29(木) 19:43:58.47:8tueZiBH
そうだな。ボケ防止にもなるから新しいことやった方が良い。

ただしボケ防止の場合は完璧な状態になる必要はない。
学習を続けるという脳を使い続ける行為が重要なのであって、完璧になってゴールしてしまったらそこで学習が終わってしまうからだ。
デフォルトの名無しさん [sage] 2018/11/29(木) 22:30:52.83:BEC3KPap

尊師のお言葉にもあるけど、経験値が増えるにつれて、わざわざ自分で使い込んでみなくてもある程度わかるようになってしまうんだよな
Kotlinなんてまさにそうで、Javaに十分精通してる人なら「ああ、記述をライトにしたAltJavaね。機会があれば使おう。」で終わり
デフォルトの名無しさん [sage] 2018/11/29(木) 22:49:53.88:anCZlMXk
Javaで出来ることをKotlinで書くだけだから普通に出来るでしょ
まあそもそもデスクトップアプリをJavaで作ること自体あんまりおすすめしないけど
デフォルトの名無しさん [] 2018/11/30(金) 02:32:19.54:KY1rTXDt
まあそのうちnativeできるし、何かできるんじゃなかろうか。
デフォルトの名無しさん [sage] 2018/11/30(金) 07:59:18.39:pFci1ptA

確かに老い先短くなると、学習する期間で縮む余命の方が、残りの余命の間に得られる利益を上回るよね。
デフォルトの名無しさん [sage] 2018/11/30(金) 08:47:06.15:JSlOh1Qz

余命の問題だけじゃないけどな
・この程度なら必要になったときにググれば十分だ
・類似技術を習得済みだから最悪でも今持ってるスキルの範囲でカバー可能
経験を積めば大抵こうなるから、わざわざ使い込んで試す利益は限りなく低くなる
デフォルトの名無しさん [sage] 2018/11/30(金) 12:25:01.05:J79R14WK
少なくとも触らないで理解した気になってる奴は成長しない
デフォルトの名無しさん [] 2018/11/30(金) 12:56:15.42:vx8Iixcx
Kotlinに慣れてくるとJavaに戻る気は失せてくる。
型推論とか色々とコンパイラが面倒見てくれるから楽だ。
デフォルトの名無しさん [sage] 2018/11/30(金) 13:50:09.33:SLlZ3057
C#も型推論とかあるし、Kotlinが出来るなら、
学習コストは少ないだろ
デフォルトの名無しさん [sage] 2018/11/30(金) 14:01:04.03:LHvn0OZF
最新のJava使えるなら型推論あるし、javaでもそこまでいらいらしなくったな。
デフォルトの名無しさん [sage] 2018/11/30(金) 15:21:36.33:GKWVzoy/
つうかどの言語も似たような感じになってる
デフォルトの名無しさん [] 2018/11/30(金) 21:50:01.48:vx8Iixcx
٩( ᐛ )و

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

新着レスの表示

2ch勢いランキング アーカイブ プログラム板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したアーカイブです。削除についてはこちら