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/05/14(月) 00:38:31.31ID:3kZQbjCA
まだKotlinやってねえのか。早く覚えないとAndroidの仕事できなくなるぞ
2018/05/14(月) 01:14:07.48ID:2bhVPcxg
案件で言語指定された事はない。言語の縛りがあるのは引き継ぎ案件ぐらい。
2018/05/14(月) 09:56:21.67ID:EeULlx2A
実装16Gだけどフリーズ地獄
Studioではなく、独立したKotolinのReplはありませんか?
2018/05/14(月) 10:48:46.90ID:TTvs4v88
>>282
単純な疑問なんだけど、どういう目的で使うの?
284デフォルトの名無しさん
垢版 |
2018/05/14(月) 11:06:35.33ID:zt3b4slI
>>282
独立した?って、コマンドラインから使えるやつなら普通に配布されてるよ。
ただしWindowsのコマンドプロンプトでは漢字が化けた。
これを避けたい場合はWSL経由で使うかまたは本当にLinuxで使うか、かな。
285デフォルトの名無しさん
垢版 |
2018/05/14(月) 11:19:05.19ID:zt3b4slI
あ、ごめん。化けるのはReplでキーボードから文字を直接入力した時だけね(端末設定の都合でうまく行かないみたい)。
ファイルにスクリプト書いて実行する場合やコンパイルするなら問題ない。
シフトJIS(というかWindows-31j)のままで化けずに動く。
2018/05/14(月) 12:18:54.86ID:EeULlx2A
みなさん、ありがとー!
参考になりました!
2018/05/14(月) 12:39:57.61ID:X2oBa0UB
どういたしましてー!
またねー!
2018/05/14(月) 19:21:22.70ID:2W4gs4ZW
Xamarinもよろしくねー!
2018/05/14(月) 20:40:04.21ID:BXZtNaWp
いやXamarinは無いわ。(真顔)
2018/05/14(月) 22:52:24.18ID:QrPj8U47
Xamarinほどの
2018/05/14(月) 22:56:32.57ID:3kZQbjCA
消しゴムひとつ
2018/05/14(月) 23:01:02.80ID:2W4gs4ZW
やっぱりおっさんスレだなここは
2018/05/14(月) 23:05:47.29ID:tQHKR4rj
ちょまど神への信仰が足りませんね
 教育が必要でしょうか
2018/05/14(月) 23:25:49.43ID:aFk4WdYy
ちょまどとかおっぱいだけやんけ
2018/05/15(火) 17:15:28.40ID:sBKh9jzE
Kotlinに関する初心者の質問はこちらで受けていただけますか?
もし受けていただけないのならスルー、もしくは誘導をお願いします><

1 var name:String?="xxx"
2 name?.let{
3 println(it.toUpperCase())
4 it.length
5 }

3行目、4行目がラムダ式と解説されているのですが
3,4行目を、原則的なラムダ式に書き換えるとしたら
どんな記述になるのでしょうか?
3,4行がどうしてラムダ式になるのかよくわからなくて。
アバウトでも結構ですのでよろしくお願いします。
2018/05/15(火) 18:21:55.11ID:qvELM4e0
ラムダ式かラムダ式じゃないかとかどうだっていいじゃない
297デフォルトの名無しさん
垢版 |
2018/05/15(火) 18:36:31.31ID:8qdOwcRZ
原則的な?
2018/05/15(火) 18:48:01.62ID:sBKh9jzE
3 println(toUpperCaseのスーパークラス({ s -> it.toUpperCase}))

って感じになるのでしょうか?という意味でした
2018/05/15(火) 19:32:36.61ID:yuK+8hg3
教えてあげたいけど何が分からないのかよく分からない。

letは任意の型に対しての拡張関数で、ラムダ式を引数として受け取るスコープ関数という構文なんだけど、そこはわかる?
2018/05/15(火) 19:35:25.36ID:yuK+8hg3
ちなみにletの中でitはletが呼び出されたレシーバ(上の例ではString型のxxx)を指す。
なのでこの例だとitはString型だから、String型のメソッドである.toUpperCaseを呼び出せてる。

見当違いな答えだったらすまん、追加で聞いてくれ
2018/05/15(火) 19:46:30.06ID:MZNwauej
2こぶラムダ
2018/05/15(火) 20:45:25.49ID:V3YrDyOh
>>295
何がわからないのか分からないけど、もしかして3,4行目だけがラムダ式だと思ってる?
ラムダ式の部分は
{
println(it.toUpperCase())
it.length
}
この{から}まで

原則的なラムダ式って意味がよく分からんけど、今回のコードを長ったらしく書けば
name?.let( { name -> println(name.toUpperCase());name.length } )
になる
2018/05/15(火) 21:51:33.14ID:h5WD1BQ3
原則的なラムダ式って継続渡しスタイルのことか?
Haskellのdo記法のようなことしてると思ったのだろうか
2018/05/15(火) 23:05:08.43ID:VSZcxFSe
原則的なラムダ式とは何か

初夏の夜長に随分と哲学的な命題だな
2018/05/15(火) 23:17:11.36ID:hnAZRzMk
>>304
初夏の夜は長いのだろうか?
2018/05/15(火) 23:21:15.28ID:VSZcxFSe
>>305
よく考えたらこの季節って1番夜が短いな
2018/05/15(火) 23:46:42.65ID:lz4O1oW9
1番夜が短い季節の夜長とは、謎かけ問答でありますか
2018/05/16(水) 00:59:27.75ID:tDn46mBr
片手で拍手しろ
2018/05/16(水) 07:03:57.11ID:jWCA69Ki
みなさん、どうもすみませんでした、ラムダです。
ご解説頂けてとてもありがたかったです。
letの意味も理解できました。
>>302さん、300さん、丁寧にありがとうございました。
2018/05/16(水) 09:45:27.05ID:+dwmdQ/7
結局 原則的なラムダ式 ってのが何かは謎のまま終わった
2018/05/16(水) 13:45:16.46ID:edTC4XQ6
kotlinを使うならGroovyとGradleを
一緒に覚えた方がいいよ。Groovyは本を一読する
だけでも頭に定着しやすが、kotlinはその真逆で文法にある程度クセがある。

そのクセが第三者が
見た時の可読性に繋がるってワケだ。Androidプログラミングを
する人は環境を整えることに着手しなくてはいけないのでビルトは

避けては通れない関門になる
2018/05/16(水) 13:49:34.72ID:j3pS2LuC
groovyガリガリ書かないといけないような状況なんてそうそうない
2018/05/16(水) 14:09:38.12ID:DDE+8URU
Groovyはクールガイだ
2018/05/16(水) 15:28:50.49ID:/B2Oq0nc
ビルド時にGroovyであーだこーだしなくちゃいけないなら根本的に何かを間違ってるから、そもそもプロジェクトの設計を見直した方が良い
2018/05/16(水) 15:52:20.69ID:Mq6hHUMf
jsonでやり取りしようと
思ったらGradle必要なくね?
2018/05/16(水) 21:09:05.28ID:8/BALwWE
>>315
gradleとgrailsを勘違い?
2018/05/16(水) 23:19:35.34ID:j9hjeEQR
ちょっとしたタスク入れたいとき迷わず済むから
知っておいて損は無いけど、割と避けて通れる気もする

Kotlinスレとしてはむしろ逆に build.gradle.kts を推すところだろう
Community版にもIDE支援機能実装しろください
2018/05/17(木) 00:03:53.54ID:W2rSi7XL
>>310
>>302がほとんど答えてしまっているけど、
>>295は「3行目、4行目がラムダ式」というのを見て、「3行目、4行目を中身とするラムダ式」
でなくて「3行目、4行目がそれぞれ一つのラムダ式」だと読んだんだろう。
もちろん3行目、4行目それぞれ単独ではラムダ式にならないから、
何かの省略形か、特別な記法だと思った(勘違いであるが)。
だから>>295「原則的なラムダ式」というのはそういう省略をせずに原則に忠実な記法で
書いたラムダ式を指すわけだ。本人じゃないけど...

ネタで言っているんじゃなければ、察してあげて欲しいところ。
2018/05/17(木) 01:10:25.24ID:2XnSxR1N
gradleの仕組みが判んないと話にならねwww
俺が馬鹿なのか、なんなのか紹介サイトのソースを
コピーって実行しようといつもする。kotlin verやAndroid ver
などの初期情報を調べて
予定調和で動かそうとするけど、なんか実態が
掴めない。YouTubeに乗ってる手順でやってみるが
実感がまるで掴めない。gradleでビルドすると、PCの容量が
ドンドン無くなってる行く気がするし、
海外のサイトを行ったり来たりすると、スパイウェアかなんかで
引っ掛かりそうで怖くなったりする
2018/05/17(木) 06:19:23.59ID:Lh8cKez0
>>319
お前が馬鹿だなそれは。
公式のドキュメントを見れば大抵は解決する。
2018/05/19(土) 22:56:35.27ID:TWAcQ4vl
結構みんなKotlin島に移り住んでるのね
322デフォルトの名無しさん
垢版 |
2018/05/19(土) 23:32:24.51ID:b7x1I7X/
言語の場合は移り住むという表現は適切ではないのでは?
新しく何かを覚えたからといって今まで覚えた言語を使うことが禁止されるわけでもなく忘れてしまうわけでもなく相変わらず同じように使えるから。
2018/05/19(土) 23:57:35.08ID:DJ1zuBBb
つまりジャワ島とコトリン島に同時に存在する
324デフォルトの名無しさん
垢版 |
2018/05/20(日) 00:06:21.86ID:CKA825nr
そして N88-BASIC(86) 島には亡霊が存在する。
2018/05/20(日) 00:16:39.54ID:FK8H6avj
Ruby のbundler と、Gradle は同じだろ

Ruby, Groovy も、ほぼ同じ
2018/05/20(日) 01:13:58.26ID:13u1kLfR
ほぼ同じっ!
2018/05/20(日) 01:16:13.11ID:kuyY1fku
またこいつかよ
python逆転してからおととい来やがれ
328デフォルトの名無しさん
垢版 |
2018/05/21(月) 12:23:30.33ID:ddZZgSG8
今後一年以内に覇権言語となるコトリンスレがなんで過疎ってんのよ
もう勉強始めちゃったよ
329デフォルトの名無しさん
垢版 |
2018/05/21(月) 12:46:10.71ID:BZDB6VKY
>>328
君が書きまくれば過疎解消
2018/05/21(月) 15:31:43.59ID:dV15gw4G
覇権を狙うためのFlutterみたいなパワードスーツの開発はJBには厳しいだろうな

DartがiOSへのネイティブコンパイルを既に実戦投入しているせいで
Kotlin/Nativeの遅れ感が強まったし
2018/05/21(月) 15:40:35.10ID:k0x2G21/
まあどうせFlutterもKotlin nativeも一部の物好きだけにしか使われずに終わるからどうでもいいよ
2018/05/21(月) 17:01:06.87ID:bw1JTbxE
今後もjava安定
2018/05/21(月) 19:28:35.88ID:bKmIwNT9
NULL安定とかいってもJava引き継ぐ限りNULL不安定
2018/05/21(月) 20:26:10.93ID:KGnoWBRO
てわけでJBVM作るか完全にLLVMになるか
さっさとしろ
335デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:07:39.38ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

I4F2B
2018/05/24(木) 10:35:20.20ID:cPlRxlDn
I4F2B
2018/05/24(木) 16:36:17.84ID:NcQ1LxNG
なんか話題ないの
2018/05/24(木) 19:03:03.58ID:07QG3N0w
ktx
coroutine
2018/05/24(木) 20:07:34.33ID:TD/omnJF
セオリティカルなラムダ式について
2018/05/24(木) 21:16:03.48ID:/hP4MdXz
神学的なラムダ式とは
2018/05/24(木) 21:36:50.99ID:TXim0G39
ラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラムダラム
ダラムダム             ダラムダ    ム ダ ム   ダラム
ラムダラムダ             ラムダラムダ ラムダ ム ダ ラムダラムダラ
ダラムダム             ダラムダム ダム    ダ   ラムダラムダラ
ラムダラムダ             ラムダラムダ ラムダ ム ダ ラムダラムダラムダラ
ダラムダム             ダラムダム ダム ダ ム   ダラムダラムダラ
ラムダラムダ             ラムダラムダラムダラムダラムダラムダラムダラムダラムダラ
ダラムダム \         / ダラムダラムダラムダラムダラムダラムダラムダラムダラムダラ
ラムダラムダ | \      / | ラムダラムダ ラムダム ダ   ム   ダ ラムダ  
ダラムダム (  \   /   ) ダラムダム ダ ム ダ ム ダ ム  ダ ラムダ 
ラムダラムダ | \  \/  / | ラムダラムダム ダ ラムダ ム ダ   ラムダ ラムダ ラ
ダラムダム \C ̄| | | ̄C/ ダラムダラムダ ム ダム ダ ム ダ ラムダ ラムダ
ラムダム ((\  ̄ ̄||| | ||| ̄ ̄/))))ラムダラムダ ム ダム  ダム ダ ラムダ  
ダラムダム| | ̄ ̄\|/ ̄ ̄| / ̄ ̄ ̄ ̄\ラムダラムダラムダラムダラムダラムダラムダラム
 ̄ ̄ ̄ ̄| |          |/ ̄ ̄ ̄ ̄//⌒⌒ーヽラムダラムダラムダラムダラムダラム
 ̄ ̄ ̄ ̄| |  <⌒⌒>  / ̄ ̄ ̄ ̄/        \ラムダラムダラムダラムダラム
 ̄ ̄ ̄/ |    ⌒⌒  / ̄ ̄ ̄ ̄/           ラムダラムダラムダラムダラ
 ̄ ̄/   | \( ̄V ̄)/ ̄ ̄ ̄ ̄/            ラムダラムダラムダラム
 ̄/ ⌒ |   \_// ̄ ̄ ̄ ̄/  ノ           ラムダラムダラムダ 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2018/05/25(金) 07:34:19.21ID:aVuHEJ5M
>>211
Google I/Oでは、KTXだけで他何もなかったっぽい?
2018/05/25(金) 09:18:46.55ID:x1Syr3Ux
全然変更無かったよな。もう今の仕様で完成なのかな。
2018/05/25(金) 11:54:52.99ID:37fd9fUb
今回のメインは、KTXを含んだAndroid Jetpackだな
2018/05/25(金) 18:07:18.07ID:s+/TI88H
とりあえずcoroutineの仕様を正式に確定して欲しい。
もしかしたら大幅に見直される可能性のあるままじゃ使いにくい
2018/05/25(金) 21:41:04.56ID:LHge+SPH
なんかC#に比べてコルーチン使いにくくない
2018/05/25(金) 23:32:31.62ID:uV8BGYFn
俺は全く逆の感想だったけど
2018/05/26(土) 07:33:46.38ID:D31sL8Ve
神様ラムダ様、アプリは開発では、javaとkotlinとどっちを軸足にするのがいいですか?
2018/05/26(土) 08:09:25.21ID:zofvqH6o
新規ならもうkotlinだろうなあ
2018/05/26(土) 12:49:12.09ID:T9VV64ws
Kotlin一択だな
351デフォルトの名無しさん
垢版 |
2018/05/26(土) 14:13:04.95ID:NxLTutQ0
このスレで Kotlin と答えない者は異端なので火炙りの刑
2018/05/26(土) 14:20:27.69ID:nmTj7rEO
今からJavaやる意味って無いだろ
Javaでないと出来ないことって無いよな?
2018/05/26(土) 14:31:41.73ID:O3Zts7Nh
外部ライブラリに依存しない部品とかはターゲットプラットフォームCommonのKotlinで書いておくと
Javaの範囲を超えてObjective-CやJavaScriptからも使えるのでおすすめ

コルーチンもCommonも大きな変更は無さそうだし
2018/05/26(土) 14:31:53.13ID:f/9z4lPG
100%の互換性があるということは
今後kotlinにjavaの機能を独自に実装することはないのか?
2018/05/26(土) 15:04:08.50ID:pxn+l5Qp
そこでxamarinですよ
2018/05/26(土) 15:38:58.43ID:NxLTutQ0
>>355
君、火炙り決定。
357デフォルトの名無しさん
垢版 |
2018/05/26(土) 15:40:33.02ID:NxLTutQ0
>>352
仮にあったとしても Kotlin 側から呼び出して使えるので結果的にないのと同じになる。
2018/05/26(土) 17:24:17.06ID:EP1L0o0g
KotlinよりJavaの方が優れている理由を書けた人は天才
2018/05/26(土) 17:45:02.41ID:/RQHcFmr
>>352
奴隷になれる
2018/05/26(土) 17:56:12.28ID:TUqr5MNf
>>352
Javaで出来ることは100%そのままkotlinで出来るから、原理的にあり得ない。
2018/05/26(土) 19:13:51.30ID:lLsMe97x
>>358
kotlinを実装できる
2018/05/26(土) 19:49:29.29ID:WdZ8fhQK
>>358
仕様決定プロセスがオープンである
他方の環境で動作する
xamarinと間違われない
Dukeがいる
キャンディもいる
2018/05/26(土) 20:22:58.05ID:D3XidxFB
>>358
他社が他人のふんどしで調子こいてシャシャってきたら訴えて賠償金を取れる。
タダで使わせてやってた乞食どもが調子乗ってきたら有料化して絞め殺せる。
2018/05/26(土) 21:54:26.06ID:EprA54D4
>>358
ビルド速度は?
2018/05/26(土) 22:03:58.37ID:gIREkBj1
>>358
「kotlin?そんな聞いたこともないような言語使えるか!」と言われるような職場でも問題なく使える
2018/05/26(土) 23:12:46.21ID:ee3hpy3D
まあkotlinが
安定したら拡張フレームワーク
出せばいいだけの話だけどな。そうなったらオリジナルもうイラんわ
2018/05/26(土) 23:13:05.14ID:ee3hpy3D
まあkotlinが
安定したら拡張フレームワーク
出せばいいだけの話だけどな。そうなったらオリジナルもうイラんわ
2018/05/27(日) 01:13:28.55ID:1elM1Znl
>>352
1.2.40まではjavaバイトコードのインターフェースのデフォルトメソッドが作れなかった
2018/05/27(日) 15:20:52.68ID:B7jKDhhO
>>368
それ実際に何か実害ある?
2018/05/27(日) 15:34:46.46ID:1elM1Znl
>>369
javaのライブラリ(springとかmybatis)とkotlinのインターフェースのデフォルトメソッドを組み合わせると実行時エラー

java8に対応しててもkotlinには対応してないから当然なんだけど…
2018/05/28(月) 13:55:28.14ID:LfvKjyTM
プログラム経験なくてもkotlinは習得可能ですか?
2018/05/28(月) 14:08:34.46ID:S72v85qL
そらぁ最初はみんなプログラム経験とかないし
2018/05/28(月) 14:29:26.81ID:MhJNEsWI
kotlinを習得に

必要なスキルは英語力

これはマジ!!!じゃなければ

kotlin一択はやめとけ。他のJVM言語より

初めやすく安定してるけど、kotlin以外がクソだからそう見える
374デフォルトの名無しさん
垢版 |
2018/05/28(月) 16:10:23.68ID:GjCLG5ws
そんなに完璧に英語力なくてもなんとかなりそうな気がするけどなあ。
日本語の解説ページも今では沢山あるし、Googleで翻訳もできるし、単語検索してもすぐ出るし。
ま、知ってれば知ってるほど有利であることには変わりはないが。
2018/05/28(月) 16:37:29.27ID:MJn1BQ+G
英語は必要だけど、プログラムやる以上避けて通れない話だから、とにかくトライするのが吉。
慣れないうちはキツいけど、いつ始めてもキツさは変わらないんだから。
それに、目的持って英語を使ったほうが身に付くの早いよ。
2018/05/28(月) 17:53:34.15ID:aA0zgaqh
>>371
もちろん可能です。
誰だって最初の1つのプログラミング言語を覚える時は未経験から始めてるんだから。
2018/05/28(月) 21:25:13.94ID:q0Y1OxDX
でも、ググって調べ事すると、Java知ってること前提にしたような説明も多かったりするから、いきなりKotlinよりJavaやっといた方がええで。
2018/05/28(月) 21:29:31.73ID:ou8kZRHV
初めての言語はPython オススメ
2018/05/28(月) 21:32:38.30ID:ATpHSqhp
>>371
可能不可能という問いなら、物理的あるいは論理的に不可能とかではないので、
可能に決まっているけど、ハードルが高いか低いかと言われれば、Javaよりハードルが高い。
理由はJavaやプログラミング一般の知識を前提としない情報源がないから。
Kotlinの解説で、「オブジェクトとは何か」「getterとsetterは何のためか」
から解説してくれているものは寡聞にして知らない。
ただ、プログラミング言語は2つ目以降は学習コストがかなり低くなるので、
Javaの入門書 -> 「Effective Java」 -> 「Kotlinスタートブック」と
進むのも、ぬるぽから開放されるためにはそれほど悪い考えでもないとは思う。
2018/05/28(月) 21:33:36.07ID:jB1mtbsa
>>373
お前さんはまず日本語を頑張れ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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