TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Access VBA 質問スレ Part2
35歳、発達障害のB型作業所通いですが 6
盗用したコードどれくらい書換えれば合法になるの?
VB.NET質問スレ(Part43)
音声合成プログラムを作りる
C++は難しすぎ 難易度:4
Jenkins
音声合成プログラムを作りる
初心者の作ったプログラムにありがちなこと
C#だとそんなに重くなるもんなの?

Kotlin 4


1 :2018/07/17 〜 最終レス :2018/09/12
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
https://kotlinlang.org


※前スレ
http://mevius.2ch.sc/test/read.cgi/tech/1521401186/

2 :


3 :
Xamarin程の糞はない

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

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

5 :
オンラインコンパイラ
https://ideone.com/

コードの実行と保存にアカウントなどは不要
https://ideone.com/Jef7Hv

6 :
class A{
var a=A //ここでStackOverFlowになる
fun foo(a:A){this.a=a}
}
無限ループしてる感じになっているのかな?
どう実現すればいいですか?

7 :
>>6
何がしたいのか全く分からない。

var a = Aの部分は何をしたいの?

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

lateinit var a: A

にするとか

9 :
探索のnodeを作っていまして
aのところに親ノード入れようとしているんですが、それがうまく行かなくて

10 :
var a=Aは初期化しているだけです

11 :
それなら普通に
var a: A? = null
で初期化しとけよ

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

aにはAのインスタンスを入れなくちゃいけないのに、なんでクラスそのものを入れようとしてるんだ

12 :
それと質問するときは差し支え無い範囲で実際のコードそのまんまの方がいいよ

class Node {
var parent: Node? = null
}

とか書いてあると何がしたいのか読み取れるけど、
Aとかaじゃ何が何やらわからない

13 :
>>6
それ var a = A って書いてる?
コンパイルエラーにならない?

14 :
あー、var a = A()になってそうだな
それなら無限ループになるわ
対策方法は上に書いてあるやつでいいけど

15 :
よくわからんが class A(val a: A) じゃいかんのか?

16 :
あ、だめか。class A(val a: A?) じゃないと永遠に初期化不能かw

17 :
これおもしろいな、aをnull許容型にしないとインスタンスできないだろ
Javaだとそんなこと考えることもなかった

18 :
試してないけど、nullobject用の派生クラスを用意して、nullobjectのaにはthis代入すりゃいいんじゃない?

19 :
>>12で出来ました
ご迷惑おかけしました。ありがとうございます
他の言語だと、自動でnullが代入されているから、詰まってしまった

20 :
これはと思い階乗計算してみたが、微妙…orz

class A(n : Int, f : Int = 0) {
. val a = if (n > 0) ? A(n - 1, f * n) : else { println(f); null }
}

21 :
>>20
おっと、いろいろ混ざった。
?と:は消して

22 :
kotlinスレの優しさは異常

23 :
地獄への道は善意で舗装されている
みたいな

24 :
>>19
そこ(Nullableと非Nullable)がことりんの最大の特徴だから、ぜひちゃんと理解して使いこなしてあげてね。

25 :
intellij入れたんだけど
runしようとするとmain classを入力してって言われるんだけど
関数だけでrunできないですか?

26 :
>>25
ユニットテストからなら

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

これが書いてある実行用のファイル作ってrunすれば動く

28 :
>>26
テスト書かなきゃだめなんですね

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

main classってなんや
static void main …のあのおまじないですか?

29 :
>>28
main関数の書いてあるエディタのタブ部分を右クリックでメニューからのRunはどう?

30 :
fun main(args: Array<String>) { } をクラスの外に作った瞬間にその行の左に緑の三角が表示されて、そこから実行できるね
クラスの定義は無くてもいいけど、クラスの中じゃダメだ

31 :
>>27のやり方で普通に動いたよ。
左側のProjectペインから、その実行したいktファイルを右クリックして、そこからRunしてもだめ?
もしくは上の方にあるRun configurationを一回削除してから同じことをしてみるとか。

32 :
>>27
一応確認だけど、関数名はmainになってるよね?
他の名前だとだめだよ

33 :
>>25
状況がよくわからないからそのエラーが出た時のスクリーンショット取って見せて。ソースが表示されてる状態のな。

34 :
Kotlinスレの半分は優しさで出来ています

35 :
残りの半分はXamarinで出来ています

36 :
それだけはお許しください

37 :
Delphiがアップを始めました

38 :
みなさん回答ありがとうございました

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

srcディレクトリ直下にkotlin file/class
でファイルを作ったら実行できました。

39 :
Xamarinみたいな糞でやるからそうなる

40 :
https://gigazine.net/news/20180720-android-to-fuchsia-in-5-year/
kotlin短い命だったな

41 :
あ、そこまで頭回らんかった
kotlin 作ったやつが一番辛い案件だな

42 :
今更、LinuxベースじゃないOS作ったから使えよ!って言われて流行ると思う?

43 :
Kotlin は今はとにかく JavaVM で動くコードを出すコンパイラで Android 開発で使って貰って
世界中に広めてある程度定着させれば良い。その隙にネイティブとか新OSの実行環境用コードを
出すコンパイラを作ってくれれば問題なし。そして Java は死亡して Kotlin は生き残る。

44 :
JavaVMなどの他の環境の寄生をやめるなら基本的なクラスライブラリはどうするんだ?
コンパイラだけじゃダメじゃね。javaみたいなコレクションフレームワークやらHttpやソケットライブラリあたりも標準で用意してくれないとね。というか寄生やめるならUIフレームワークも必要じゃねぇ?無理だな。
サーバーサイドならいらんが。

45 :
ごめん。寄生やめるって話じゃなくて今はとりあえずandroidに寄生してその間に広めてその後は他の寄生先見つけりゃいいって話しかな?

46 :
寄生しても良いし、根底から全部作っても良いが、とにかく生き延びる率は非常に高いと思う。

まあでもネイティブでライブラリ全部作るとしてもそんなに時間掛からないんじゃないかな。
問題はどういうやつを作るかだと思う。

47 :
Kotlin良い言語だからもったいないよな
というか新OSに入れ替わるとしても、既存のAndroidアプリ資産を無視するわけがないから何かしらの互換は保たれると思うけど

48 :
JavaFXをKotlinで拾ってくれないかな?
OpenJDK+OpenJFX+Kotlinでまとまってくれれば
みんな幸せ

49 :
>>40
対応言語にKotlinじゃなくてSwiftが入っているというのが、危機感を刺激される。
>>48
ぜひそうなって欲しい。

50 :
なにこれ、最近kotlin始めたばかりなのに終了かよwwww

51 :
Fuchsiaが普及するとしてもその頃にはKotlin/Nativeも出来上がってるでしょ
ただ、Googleの進め方を見るにKotlin/Dartの実装も検討した方がいい気はする

52 :
Dart程の糞はない

53 :
まぁ、でもnull safetyを存分に味わうにはkotlinが標準クラスライブラリを用意してくれるのがいいんだけどね。

54 :
結局javaのライブラリに依存しちゃうもんねえ

55 :
その点、オラクルってメシウマだよな

56 :
>>53
これあくしろよ
ファイル周りぐらいでもやってくれ〜

57 :
>>51
現状でも、言語仕様を一つ修正するのにJVM, JS, Nativeの3通りの変更が必要になる。
この上、Dartのサポートとか、なんという無茶振り。

58 :
>>53
せめてnull safety対応generics欲しいよね。

59 :
JSはいっそ無くしても良いと思うけどねえ

60 :
ことりんjsにトランスできたんか…

61 :
できるそうだがやったことがない・・・やればいいんだなw

62 :
遊びで触ったことあるけど、メリットを何も感じなかった。
特に他のJSライブラリを使うのがえらく面倒くさい。

63 :
サーバーサイドでKotlin使ってたら有用な面もある
計算やチェック処理なんかをクライアント側と共用出来るから

64 :
JSいらんから、その分の労力をNativeに注力してくれ

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

この中で生産性の良く主流になりそうな言語ってどれだろう?
PythonかSwiftくらい?

66 :
>>65
あとTypescriptかなあ。
Goはキモいからそこまで広がらないと思う。

67 :
それ最後に書いてあるよ。

暑さには要注意だ。脳が暖まり過ぎると段々おかしくなる。

68 :
>>66
キモナイ

69 :
入れたときの型そのままで取り出せる汎用的なmap的なもんって実装できないかな

70 :
Keyの型にValueの型を持たせればできそう

71 :
>>69
Anyとスマートキャスト利用するしかないだろうなあ

72 :
>>66
TypescriptってC#scriptみたいな物か
何気に一番Javaに近そうねw

73 :
>>72
確かにJavaに似てるけど、あれは普通のJSの拡張みたいなもんだから使いやすい、というか既にめっちゃ使われてる

74 :
>>73
KotlinよりTypescriptの方が流行る?

75 :
用途が違いすぎるから比較できない。

76 :
TSからJS呼ぶときに戻り値の型意識しなきゃいけないことにイラつく感覚がKotlinからJava呼ぶときにnull意識しなきゃいけないときにイラつく感覚と似ている

77 :
めっちゃ分かる

78 :
てか、CとTypescriptとその他を比較する意味あんのか?
分野が違いすぎんだろ

79 :
null安全特有のバグが入ったり
null安全のためにコードが長くなったりで
あんまメリットない気がしてきた

80 :
Javaが有償化するけど、Kotlinにも影響ある?

81 :
なんで影響がないと思ったのか

82 :
いやひょっとしたら、JetBrainsがいい感じでやってくれるかと...

83 :
>>69だけどkotlinだと無理っぽいな
arrow-ktでlistっぽいのならあったけど
scalaだとshapelessってライブラリで実現してるらしい

84 :
>>80
Oracle版JDKの有償化な
そのためにOracle自身もOpenJDKに力入れてきたんだから特に問題ない(KotlinもJavaも)

85 :
>>83
最近ちょこちょこ聞くようになった依存型がこれに使えるのね

86 :
>>79
null安全が好きでないなら、動的型付言語を使ったほうが幸せになれるんじゃない?

87 :
>>69 >>83
どういうの使用イメージを望んでるのかよく分からないので
コンパイル不可で構わないから使う側の疑似コードを書いてみてほしい

88 :
JetBrainsJDKは理想だけど、さすがにそんなことやるほど体力のある会社じゃないだろ

89 :
>>79
煽るわけじゃなく、純粋に知りたいのだけど、null安全特有のバグって、どんなのがあるの?

90 :
null安全のために記述が長くなるってのもよく分からんな
kotlinはそうならないようにかなり配慮されてると思うのだけど、もしかしていちいち全部ifでnullチェックでもしてるんじゃないの

91 :
>>88
そうするとGoogleのAndroidのような面倒な問題を抱える可能性があるのでは?
素直に OpenJDK 使っといた方が良いと思うのだが。

92 :
LTSしてくれるならね

93 :
RedHatがOpenJDK11を独自にLTSするらしいから、RedHat系のディストリビューション使ってるなら大丈夫だろ
ubuntuは知らん

94 :
null安全のせいでコードが長くなるのは

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

ってケースで !! の2文字が増えるぐらいでは

95 :
>>93
つまりWindowsは死亡と。

96 :
>>95
これを機にWndowsServerなんてカスは滅ぼそう

97 :
AdoptOpenJDKが無償のLTS提供するよ

98 :
>>97
GitHub見てこいよ
アレをプロダクトで安定して使えるようになるまでまだまだ先は長そうだぞ

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

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

みたいな感じで
とにかく型チェックやらキャストやらが面倒くさい
実際には自作クラスとかも突っ込みたい

100 :
試してないんで適当言うけど
Class.forName(className).kotlin.cast(value)
とかでなんとかならんの


100〜のスレッドの続きを読む
BASICの宿題はお前にまかせた
SVG波形ライブラリ
■特許庁新システムを作る■
任天堂「今後C++は捨てJavaScriptで開発していく」
Borland Developer Studio 2006 No.13
推薦図書/必読書のためのスレッド 81
MFC vs .NET
ふらっと C#,C♯,C#(初心者用) Part146
【GPGPU】くだすれCUDAスレ part8【NVIDIA】
国産オープンソースDIコンテナSeasar2 その16
--------------------
体力がない、寝てばかり2
【オリックス】BsGirls 18【バファローズ】
【となりの吸血鬼さん】ソフィー・トワイライトは360歳可愛い10
【悲報】まんさん、他人の駐車場を無断で使い警察に通報したら、まさかの逆ギレ [875850925]
栗原恵と山口舞どちらが五輪に必要だったのか
【祝3周年】★BLACKPINK★37【a-nation/サマソニ/WIRED】
相撲板雑談スレッド 3
MAX155km/h 七色の変化球←1つ要素を追加して地雷選手にしろ
阪大アゲスレが立ちすぎだろ
【爆発】焼き豚サンドバッグ・バー【58周年】
NGT48山口真帆さんが配信にて『殺されてたら…』 運営はメンバー関与を認めるも、 被害者が謝罪★2101
【やる気のない日本人】高スキル人材、日本が最も不足 働き手のスキルアップで遅れ
【DAZN】リーガ総合 01
フィロソフィーのダンス PART20【フィロのス】
☆コンベンション&ショーの案内★
☆★★緊急事態宣言ロビー出席簿896★★★
【非豪雪地専用】スタッドレスタイヤを語る part17
オリジナル料理の名前を誰かがつけるスレッド2
【2学区】兵庫県立宝塚北高等学校【覇者争い】
iPad Air 2 Part14
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼