Kotlin 3

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

前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/
2018/06/21(木) 18:31:33.27ID:AR+opYPW
>>601
うんにゃ
603デフォルトの名無しさん
垢版 |
2018/06/21(木) 20:14:09.53ID:YE7/gwSF
このスレにはナウいヤングしかいないに決まってるぢゃないか
2018/06/21(木) 20:16:04.70ID:pkPeGiXN
デラベッピンとか積丹と聞いて元ネタが判る人しか
いませんよね〜
2018/06/21(木) 20:49:53.75ID:rHuCUh+p
>>604
俺おっさんだと思ってたけどそれどちらも分からないから若いわ
2018/06/21(木) 20:53:08.78ID:pTjgD9kk
>>605
Deluxe Beppin
2018/06/21(木) 21:33:56.56ID:lqU0FUt9
コンプティークの袋とじが青春時代だった
2018/06/21(木) 23:43:48.35ID:XwnPbItt
なんで車高が低い車のことを積丹というのか
2018/06/22(金) 01:54:32.78ID:AmdeLsRG
車高が低い(短い)からでは?
2018/06/22(金) 05:00:39.65ID:3OcQXUa8
でらって名古屋弁じゃなくてデラックスなのか?
2018/06/22(金) 07:19:40.97ID:l0b3ZjCn
積丹ってそんな漢字あてるんだ
知らんかったわ
2018/06/22(金) 07:30:18.81ID:A2+z0Ph1
21世紀の人間なら知らなくても困らないから気にするな
2018/06/22(金) 08:31:42.21ID:lrbrByg3
しゃこたん!
2018/06/22(金) 08:35:21.49ID:uv8weeDu
雲丹食った事無いの?
615デフォルトの名無しさん
垢版 |
2018/06/22(金) 09:31:00.55ID:TLETRHno
私は21世紀から来た未来人
ナウいヤングのみなさんこんにちは
616デフォルトの名無しさん
垢版 |
2018/06/22(金) 09:31:53.75ID:TLETRHno
さて、今は昭和何年かな
2018/06/22(金) 09:41:52.15ID:cct9k0Rk
おっさんぱぶ
618デフォルトの名無しさん
垢版 |
2018/06/22(金) 20:03:42.85ID:/0JmIthO
昭和93年
619デフォルトの名無しさん
垢版 |
2018/06/22(金) 20:18:28.51ID:pFncXrHB
【王様きどり、財界″】 マイトLーヤ『人々はもう特定の主義を認めない、政治的教化は通用しない』
http://rosie.5ch.net/test/read.cgi/liveplus/1529634259/l50


共産でも、資本でもない、分ち合い経済が、登場します!
620デフォルトの名無しさん
垢版 |
2018/06/22(金) 20:41:23.86ID:m4dP8IKP
http://oldcar-purchase.com/
2018/06/23(土) 13:30:05.04ID:63C7HKhZ
main の関数って一番下に書かなくてもいいの?

mainより下に中で使う他の関数書いてもいいんだ?
622デフォルトの名無しさん
垢版 |
2018/06/23(土) 15:53:22.37ID:EFPp8pY4
>>621
Javaのクラスの中のメソッドと同じで順序は問わない。

まあでも新しい言語ってだいたいそうじゃないか?
変数の場合は初期化される順序の問題で先に書かなきゃいけない場合はあると思うが。これについては Kotlin も同じ。

例えばこうなっている場合に main() と p() は順序を逆にできるが s と s2 は逆にできない。

val s = "abc"
val s2 = s + "def"
fun main(args: Array<String>) = p()
fun p() = println(s2)

できるような言語も作れるだろうがそうすると人間が混乱する可能性が高まってバグの温床になりかねないからわざとできないようにしてあるんだろうと思う。
2018/06/23(土) 16:49:28.35ID:1ogXGchx
一般論として、初心者の質問に対して聞かれたこととあまり関係のない情報を答えすぎると混乱させるだけだからやめた方が良いよ
2018/06/24(日) 17:01:23.99ID:0eT+Bnxh
>>622
コンパイル言語だから上から実行されるわけではないんですね 
pythonだと怒られそう
変数の代入に関しては上からということか
2018/06/24(日) 17:12:23.44ID:p+pduEru
nullを許容しない利点はなんですか?
2018/06/24(日) 17:44:56.37ID:zUb4/N1b
許容する場合としない場合を区別出来ることかな
2018/06/24(日) 18:46:55.05ID:p+pduEru
犬の利点を教えてください

猫と犬を区別できるからかな

答えになってません

やり直し
2018/06/24(日) 18:49:35.07ID:QFRKHUIu
質問する側がダメだしねえw
2018/06/24(日) 18:58:35.31ID:I6qT+7Vz
バカを許容しないと
バカによる被害を避ける事ができる
2018/06/24(日) 19:10:39.22ID:zUb4/N1b
>>627
いや、答えになってるよ
頑張って
2018/06/24(日) 19:57:19.87ID:p+pduEru
じゃあちょっと質問の仕方を変えますね

なぜnull不許容が必要なのか教えてください

これならわかるかな?
2018/06/24(日) 20:21:05.34ID:YRVrDSwQ
ifでのnull判定がめんどくさい
2018/06/24(日) 20:22:39.29ID:RQ8Q2AIa
それよりも帰ってプレステやろうぜ
2018/06/24(日) 20:40:44.92ID:p+pduEru
そもそも、nullを代入しなければいいのでは?
もしくは初期化しておけばいいと思います

違いますか?
2018/06/24(日) 20:51:32.85ID:Lm+QSQ9f
COBOLとかFORTRANはそういうコンセプトだねぇ
kotlin止めるの推奨
2018/06/24(日) 20:59:37.06ID:RPmVTiLU
>>634
1人で全て開発するならそれでいいと思うよ。
2018/06/24(日) 21:03:58.17ID:p+pduEru
つまり、null不許容型は人的ミスのためであって他意はないと?
2018/06/24(日) 21:05:43.17ID:VUEtZOMW
>>634
初めたばっかで良く分かって無いが、null使わないなら許容する意味が無くね-か
寧ろnullを使う意味が分からない
2018/06/24(日) 21:22:24.66ID:YRVrDSwQ
例えばSwiftは言語仕様でnullを抹殺しているが、わざわざOptionalというnullでないものでnullを表現してる。nullがない世界など何処にもないのだ。
2018/06/24(日) 21:25:55.36ID:p+pduEru
例えばファイルが読み込めなかった場合、どうなると思いますか?

答えられますか?

答えられるようになったら質問してください。
今はそういうレベルの話ではないです。
2018/06/24(日) 21:38:37.19ID:/V8oJSwl
>>630
> なぜnull不許容が必要なのか教えてください
あなたの言う意味では不要。null許容にすることによってプログラミングが不可能になることはない。
nullによって発生する凡ミスが減るというメリットを必要とする人がいる。それだけ。

>>640
> 今はそういうレベルの話ではないです。
わからないで聞いているというより、わかってて煽ってるわけだ。

> 例えばファイルが読み込めなかった場合、どうなると思いますか?
ここでnullを許容する必要があるのではないかと言いたいんだと思うけど、
Kotlinがそうしているかどうはかは別にして、「ファイルが読み込めなかった」という
nullでない値を返すという考え方もある。
null許容のJavaだと例外を投げるところかな。
2018/06/24(日) 21:40:24.82ID:p+pduEru
>>639
おっしゃる通りで、結局不正なデータのチェックは必要なわけで、null不許容だから安心して使えるわけでもなく、寧ろ何気にうまく動いている状態が一番怖いです
2018/06/24(日) 21:52:05.84ID:p+pduEru
null不許容のクラスを作るとして
そこではあらゆるケースに対処を強いられるわけで、チェック項目は膨大になります
しかしそれを利用する側は単純にファイルが読めるか否かだけ知れればいいとします。
null不許容を取り入れるということは、開発コストが上がることを示唆しているのではないかと

どうですか?
2018/06/24(日) 21:54:49.09ID:YRVrDSwQ
Optionalは中身取り出すのにアンラップが要る。Kotlinはnullにならないようにコンパイラがチェックしてるだけ。よってアンラップ不要。副作用としてnullを許容してないのに場合によってはnullが入ってしまうこともある。。
2018/06/24(日) 22:02:12.48ID:p+pduEru
>>644
それは実行時の動的なnullですよね。
私が質問しているのは、null不許容型(言い換えれば静的なnullに関して)の必要性についてです。
2018/06/24(日) 22:02:30.58ID:RQ8Q2AIa
>>643
>>641が答え書いてるじゃん
2018/06/24(日) 22:07:56.87ID:GxIVu2Pg
ていうか日本語の文章おかしいし、確実に酔っ払いかただのキチガイじゃん
2018/06/24(日) 22:10:34.25ID:GxIVu2Pg
おおかた大学のレポートなり試験なりでその質問をされて回答を探しにきたんだろ
ネットで煽りっぽく聞けばムキになった人が答えてくれるからね、君は賢いね、偉い偉い
2018/06/24(日) 22:30:46.16ID:F0/bv6/d
>>627
たとえが下手すぎて
2018/06/24(日) 22:36:12.55ID:RQ8Q2AIa
だってこの子見るからに頭悪そうじゃない
2018/06/24(日) 22:37:28.39ID:1JRb/tn1
高圧的に質問すれば、逆に皆反応してくれる良い例だね
652デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:18:47.64ID:eSenA4KT
>>624
コンパイルする言語なのかインタープリタなのかという問題ではなくて、そういう仕様の言語というだけのこと。
というのはコンパイルしようがしまいが同じような言語は作れるから。
2018/06/24(日) 23:20:17.58ID:eSenA4KT
>>625
それによるバグをコンパイル時にエラーを出すことによって防げる。
2018/06/24(日) 23:25:25.08ID:eSenA4KT
今ちょっと前にAmazon見たらこれのKindole版の方だけ1361円だった。55%offかな。だいたい半額ぐらい。
短期間のセール価格なのかも知れない。

Androidアプリ開発のためのKotlin実践プログラミング 現場で求められる設計・実装のノウハウ
http://amzn.asia/iM5AGQY

紙の本はもう持ってるのにうっかり押しちゃうところだったw
2018/06/24(日) 23:40:28.01ID:454A8npo
遠回しな宣伝だなぁ
656デフォルトの名無しさん
垢版 |
2018/06/25(月) 00:03:59.42ID:MQFTLmTQ
>>655
宣伝にはなっちゃうが他に知らせる方法ないよな。
2018/06/25(月) 01:08:25.26ID:eZlTEzf8
>>648
だろうな
煽り質問は無視しとけば良い

世の中nullっとしてないと入るものも入らないんだよ
2018/06/25(月) 02:22:50.92ID:qxY2M36r
>>654
見る価値がないわぁ
2018/06/25(月) 08:15:38.14ID:+UpY7hie
null安全に文句つけるひとほどnull安全を大袈裟に捉えてる現象
2018/06/25(月) 08:19:39.17ID:1p6QEPdQ
本人あっさり逃げたな
マジで>>648が図星だったのかw
661デフォルトの名無しさん
垢版 |
2018/06/25(月) 08:59:14.92ID://DXoKuS
とするともう大学で教えてる所があるということになるな
2018/06/25(月) 09:02:09.61ID:1p6QEPdQ
null安全な言語はもうずっと前からあるから、それに触れる授業くらいはいくらでもあるでしょ
663デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:08:55.77ID://DXoKuS
>>657
【審議中】
.   ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’
2018/06/25(月) 09:10:40.50ID:l5OlESCl
kotlin流行らんなあ
2018/06/25(月) 12:17:54.99ID:VJwqAc5V
BASICはnul安全
2018/06/26(火) 06:08:18.39ID:2T7FQdCl
KotlinのターゲットJVMは、Java8の次はOracleJDK 11になるんだろうか、OpenJDK 11になるんだろうか。
2018/06/26(火) 08:30:26.76ID:T66Du/32
Jetbrainオリジナルのkdkになるよ
2018/06/26(火) 09:17:28.24ID:j47hmKh+
そんなん作ってくれるならそれはそれで助かる
2018/06/26(火) 09:36:33.84ID:DwsAXqqT
絶対に必要なのはJVMでJDKは要らなくする方向になるんだろな
2018/06/26(火) 15:19:07.75ID:Pch/7s9D
nativeはやく整備しよ?
jetbrainとgoogle様ならわけないっしょ?
2018/06/26(火) 15:46:55.60ID:JaGjn0N8
nativeっておもちゃとしては楽しいだろうけど、現実的にそこまでニーズあるかね
2018/06/26(火) 18:39:53.31ID:94ok3+r+
明日JBの中の人が来日してkotlinイベントあるね
何か面白い話聞けるかな
673デフォルトの名無しさん
垢版 |
2018/06/26(火) 19:48:16.67ID:EJ9QuCpH
>>671
まずはおもちゃとして使って楽しんで、それから何かに使えないか考えれば良いのではないかな。
その内なにか丁度良い用途が見つかると思うよ。
2018/06/26(火) 21:43:33.91ID:94ok3+r+
趣味で何か作るなら是非使いたいね。
ビジネスプロダクトを作るならまたちょっと話が変わるけど。
2018/06/27(水) 07:38:02.49ID:6utZ2/C2
クロスプラットフォームって、出始めの頃のhtmlベースのそび糞達のせいで普及が5年は遅れてると思う。
いまだにあの頃のイメージは抜けきれてない
2018/06/27(水) 08:32:56.41ID:mCGbxVOO
Kotlinを選ぶ時点で、既に自分の得意な特定の言語に固執する低レベルな段階を卒業してる人が多いだろうから
無理にKotlin使うよりプラットフォームに合わせた適切な言語を使うべきと考える人が多数派だろうね
2018/06/27(水) 08:41:17.54ID:EhxoKQAq
うちもいくつかアプリ作ってるけど、結局それぞれのネイティブで並行開発が1番間違いないって感じになってるな。
Xamarin使ってるのもあるけど、やっぱり色々辛い。RNはもっとアレだったからプロダクトに使う前にやめた。
2018/06/27(水) 08:44:02.48ID:eZ/QptdS
そうそう
クロスPFなんてもうunityくらいしか使われていない
2018/06/27(水) 09:01:55.92ID:tEiv7Ngd
Xamarin程の糞はない
2018/06/27(水) 10:28:55.92ID:WNG+0R1n
>>678
Unityって触ったことないけど、ゲーム以外にも使えんの?
2018/06/27(水) 10:31:24.77ID:Ei1nEpEL
使えない
2018/06/27(水) 12:18:58.79ID:+kJys0PI
単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。
2018/06/27(水) 18:40:46.48ID:joyJ67qD
ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん?
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー
2018/06/27(水) 19:00:28.69ID:FvMz1kHT
Googleがgo諦めてKotlin推しになったんだと思ってるんだが
2018/06/27(水) 19:40:54.39ID:qKnsPtkx
Google的にはTypeScriptとPWAでしょ
2018/06/27(水) 20:31:33.36ID:9CxCJ+s3
GoはGoogleAppEngineとセットで推されてる感じ
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな
2018/06/27(水) 21:31:14.11ID:/7xWx8r1
Google A 「KotlinはAndroid開発の第一級言語」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」
2018/06/27(水) 21:47:53.30ID:UhwNkHWJ
Googleも一枚岩ではないからな
2018/06/27(水) 21:54:44.06ID:058nb6Zd
そういうカオスなのがGoogleっぽくて嫌いじゃない
Googleはインド系
Appleは中国系
2018/06/27(水) 22:06:52.35ID:M3lpNFO8
Google的にはWebAssemblyはどの言語なんだろ
Kotlin/Nativeを推してくれたりしないものか
2018/06/27(水) 22:36:51.97ID:09Lu5AaC
GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし
692デフォルトの名無しさん
垢版 |
2018/06/28(木) 05:21:24.48ID:lL281Rpl
ソースは?
2018/06/28(木) 08:16:52.30ID:1UW06GNd
googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。
2018/06/28(木) 11:23:25.80ID:m6ikkjV1
>>692
オリバーかイカリ使ってる
2018/06/30(土) 20:53:17.24ID:eWG25u0M
この前のHadi Haririのイベント行った奴いないの?
2018/07/01(日) 08:01:17.25ID:/DvFOeR7
すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。
697696
垢版 |
2018/07/01(日) 08:15:08.30ID:/DvFOeR7
1 fun func(x:int,y:(Int)->Int)=L(x)
2 func(1,{it*5})

1行目のL(x)は何を意味しているのでしょうか?
また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために
1行目にy:(Int)->Intを引数にして
2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか?
2018/07/01(日) 08:18:15.23ID:nOlX7v2j
>>681
Unityの「だってお前らこれではゲームしか作らんだろ」という割り切りっぷりは清々しい
ゲーム的文法で作る以外のルートがねえw
2018/07/01(日) 10:29:25.00ID:7m3QggRW
>>697
1行目はLという名前の関数にxを渡してるだけ
 fun func(x:int, y:(Int)->Int) {
   return L(x)
 }
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする

2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない
2018/07/01(日) 16:20:40.37ID:nicbhK38
なんで、宣言のとき型と変数名逆にしたんだろうなあ、苛つくわあ
2018/07/01(日) 16:23:38.80ID:nOlX7v2j
>>700
省略したいときウルトラ面倒になるのでやりたくなかったのだろう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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