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/07(月) 12:45:36.72ID:Jnj5L6/D
いい大人がJSと遊んでると通報されるぞ
229デフォルトの名無しさん
垢版 |
2018/05/07(月) 12:53:24.13ID:cKYqFDkk
情報種別: 子ども被害情報
件名:声掛け事案の発生
発生日時: 07月06日 12:50
発生場所: 交野市 梅ヶ枝45番 付近路上
発信:交野警察署

発生状況: 帰宅途中の女子中学生が、男から「こんにちは」と声を掛けられる事案が発生しました。
犯人:犯人は、年齢20〜30歳ぐらい、痩せ形で背が高い、黒っぽいTシャツ、ジーパンで黒色自転車に乗車した男1名。

告知内容: 不審者を見かけたらすぐに110番通報しましょう。

大阪府警察安まちメール
http://www.info.police.pref.osaka.jp/newDeliveryCrimeDetail.do?selectionId=63186
2018/05/07(月) 12:57:16.89ID:G9Gl/19p
情報種別: 子ども被害情報
件名:声掛け事案の発生
発生日時: 07月06日 12:50
発生場所: 交野市 梅ヶ枝45番 付近路上
発信:交野警察署

発生状況: 帰宅途中の女子中学生が、男から「Xamarinほどの糞はない」と声を掛けられる事案が発生しました。
犯人:犯人は、年齢20〜30歳ぐらい、痩せ形で背が高い、黒っぽいTシャツ、ジーパンで黒色自転車に乗車した男1名。

告知内容: 不審者を見かけたらすぐに110番通報しましょう。
2018/05/07(月) 14:44:50.29ID:fOhA56EG
>>220
プロトタイプベースなJavaScriptでは連想配列がオブジェクト構造そのものになるから重要だけど
Kotlinに導入してもメリットは大して無い

{キー:値}はクロージャ構文と衝突するからSwiftでは[キー:値]を採用している
[]によるリテラル構文が駄目とは言わないけど
配列/連想配列のリテラルなんかのために将来の構文拡張性の一つを失うのはもったいない
2018/05/07(月) 14:48:25.42ID:eTZxyX2C
まあぶっちゃけarrayOfがあればリテラルはそんないらんよな
Javaよりはずっと簡潔にかける
2018/05/08(火) 05:57:16.16ID:YuywDcJZ
プログラム書けない人が、面白いSNSアプリを考えたとして
そのアプリを世に出して普及させたいと考えたとして
そのビジネスはどう立ち上げたらいいと思いますか?
2018/05/08(火) 06:03:41.37ID:E5Surc0l
スレ違いだと思うんですけど(名推理)
お金を用意して、作ってくれる会社や個人に発注したらどうすか(名案)
2018/05/08(火) 07:10:29.41ID:TYQR0aHp
1 発注する
2 自分でプログラミングを勉強する

このどちらかしかないよね。
236デフォルトの名無しさん
垢版 |
2018/05/08(火) 09:28:42.29ID:QATPZX1W
どのように書いてもコンパイラが最適化してくれて最終的に定数は定数としてバイトコード作ってくれれば良いだけ。
237デフォルトの名無しさん
垢版 |
2018/05/08(火) 09:29:19.41ID:QATPZX1W
あ、リロードせずに書いてしまった。すまん。
2018/05/11(金) 01:52:00.28ID:u69ffNZC
結局Android PはXperia XZ2で動くじゃねーか
誰だよ日本でリファレンス機ないとか騒いでたやつは
2018/05/11(金) 03:46:10.23ID:o60wdvSz
一昨日までなかったろう。何言ってるんだ
2018/05/11(金) 10:14:43.64ID:0Fahon4i
どうせこうなることは分かっていた
日本人は神経質過ぎんだよ
2018/05/11(金) 10:28:40.99ID:zzkXGCsj
なんでPixelって日本で売らんの?
2018/05/11(金) 10:42:59.07ID:aJiRlDLf
異常な市場なのとグーグルアシスタントの日本語対応なんじゃない?
前者の影響が大きいかと思う
2018/05/11(金) 10:57:02.07ID:lmHEC1bd
iPhone優位な市場は日本以外にもあるけど、Androidに限ってもキャリアに征服された謎の機種しか売れないのは日本くらいかもな
2018/05/11(金) 11:26:42.85ID:zzkXGCsj
KotlinでAndroidアプリ作って見たいけど、Pixelないから実機検証何でやったらいいのか分からんのよね
2018/05/11(金) 12:59:36.36ID:0Fahon4i
appleを儲けさせるために、アメリカの属国の日本には優秀なAndroid端末が入らないようにしてるんだよ
2018/05/11(金) 13:01:44.20ID:0Fahon4i
Kotlinだからってのが意味不明
2018/05/11(金) 13:02:27.25ID:0Fahon4i
Nexus5x/6p使え
2018/05/11(金) 13:43:28.76ID:iuaWbcKA
>>228
座布団一枚!
2018/05/12(土) 02:53:14.30ID:iEhWAzK7
Google はもう Kotlin へ完全移行する気満々だな

Android API 公式リファレンスのKotlin版
https://developer.android.com/reference/kotlin/packages

より Kotlin ぽい感じに書ける拡張 Android API
https://developer.android.com/kotlin/ktx
2018/05/12(土) 03:56:54.16ID:8ugQB78R
残念ながらflutter/dartが本命だから
2018/05/12(土) 06:47:31.56ID:EKuA1z2z
そんなんGoogle I/O見てたら明らかだっただろ
2018/05/12(土) 07:48:50.66ID:P8aHvIbY
ioでflutterなんか話題になってたっけ?
2018/05/12(土) 10:30:14.15ID:pIzryTCi
Googleの場合、GmailとInBoxの関係のように好きな方を使えってことだろ
2018/05/12(土) 10:44:06.88ID:+7qwtmL0
dartそこはかとなく古臭いんだけど。
flutterがkotlinに対応したほうが早い。
2018/05/12(土) 11:29:09.48ID:rHS9mZr4
kotlinよりjavaの方が優れてる点って無いもんな
javaの資産維持しつつkotlinに移行する流れは必然
2018/05/12(土) 11:43:34.80ID:NQvTiPFY
>>250
むしろなんとかDartを押し上げようと苦心してるような状況じゃね
Google社内の空気的にも厳しいと思うが
https://www.publickey1.jp/blog/17/typescriptdartgoogle.html
2018/05/12(土) 12:54:23.79ID:jdtxj2Tf
ちょっとKotlinが話題になったらすぐにJavaサポートは廃止に違いないと
日本人らしい短絡的早漏思考
258デフォルトの名無しさん
垢版 |
2018/05/12(土) 13:49:25.85ID:H+i9mVZ5
Dartは古臭いというか洗練されてないというか
昔懐かしいオールドJavaScriptにそっくりだからなあ
2018/05/12(土) 13:51:40.75ID:H+i9mVZ5
>>256
今年の発表を受けてもdartで盛り上がってるコミュニティなんて見たことないもんな
正直dartが人気になる可能性ほぼないから、それに引っ張られる形でflutterも上手くいかないと思う
2018/05/12(土) 13:52:53.24ID:NuxM0Gnx
そもそもdartはbetterJSとしてJava開発者に馴染む様に作られたからね
2018/05/12(土) 14:00:13.86ID:UoMtV9Kh
廃止するとは思えないなあ。
2018/05/12(土) 15:02:38.88ID:8ugQB78R
確かにdartはくそだと思うけどトータルとして見ると
flutter+dart>Arch Comp+kotlin
だからな。
263デフォルトの名無しさん
垢版 |
2018/05/12(土) 15:18:37.38ID:TjVuoOYn
そうか?まあしかし俺はKotlinに傾注するよ。というのはこういうのは言語そのものの良し悪しよりも広まったもん勝ちになるのが普通だからだ。
広まって稼げるとなると入門書や関連書籍も沢山出てライブラリとかも沢山作られて余計に楽になる。
2018/05/12(土) 15:31:16.99ID:8ugQB78R
いくらkotlinが素晴らしくても他の部分が足引っ張りすぎだわ。データバインディングやらarch compで楽になったとはいえ元がクソ過ぎて継ぎはぎだらけで、データバインディングはメニューにはバインドできなくて結局自前でやる中途半端さ。
kotlin+databind+arch compsでMVVMで1本作って見たけど、そこら辺の中途半端さにいらいら。

で次のアプリをflutter+dartで作ってるけど、dartのクソな部分が多少目につくけどflutterの方は一貫性があって今のところいい感じ
265デフォルトの名無しさん
垢版 |
2018/05/12(土) 16:16:07.31ID:TjVuoOYn
>>264
それはビジネスチャンスだぞ。その糞な部分を埋めるものを君が作れば世界中に唸るほど売れて何億ドルも稼ぎまくってビリオネアになれるということだ。
ま、頑張れ。
2018/05/12(土) 16:30:53.52ID:znupWRNI
menuはtoolbar部分を普通に自前でレイアウトしてImageViewなりTextViewなりを
配置すればdatabindingできるけどな
2018/05/12(土) 20:32:41.53ID:YK3tsP6q
>>263
完全に同意。
flutterはよく設計されてると思うけど、Dartであることがボトルネックになって広く使われることはまずないだろうな
2018/05/12(土) 21:07:41.76ID:ti3xQtAP
言語なんて手段だ。でも世の中には言語でやるやらないを決める人が大勢いる。そして多数は正義。
2018/05/12(土) 23:59:57.49ID:NQvTiPFY
Kotlin to Dartの実装を試みてる人は公式コンパイラをフォークした形では見当たらないな
React Nativeと同様にFlutterにも寄生出来るようにしておけば有利になる気はするんだけど

dart2jsをフォークしてDartコードからexternal修飾のKotlin定義を生成する実装
kotlin/jsをフォークしてKotlinコードからDartコードを生成する実装
270デフォルトの名無しさん
垢版 |
2018/05/13(日) 00:07:40.13ID:1xKRxIhM
プログラミング初心者です。
アンドロイドアプリ作りたいけど、過疎すぎてつらい
2018/05/13(日) 02:09:51.07ID:49MOGIR5
スタックオーバーフローに逝けや
2018/05/13(日) 10:38:43.37ID:XcX7x9Bh
>>270
そこそこ人居るっぽいけど

Androidプログラミング質問スレ revision54
https://mevius.5ch.net/test/read.cgi/tech/1510691057/

Android Studio 2
https://mevius.5ch.net/test/read.cgi/tech/1464941420/

とりあえずJDKと Android StudioまたはIntelliJ Community をインストールして後はググればいい
2018/05/13(日) 16:51:03.60ID:WXkBZ4Ti
Anko使ってる?使った方がいい?
2018/05/13(日) 17:06:31.75ID:fp6h0gMA
GoogleはきっとAndroidのJavaフレームワーク全てをKotlinコンパチで書き直したいだろうけど物理的に無理だろうな。それじゃあいっそのこと新しいOSを作ろうって話になる。それも無理だからJavaがAndroidフレームワークから消え去ることは決してないだろう
2018/05/13(日) 19:06:00.65ID:gflDgF71
使わなくていい
276デフォルトの名無しさん
垢版 |
2018/05/13(日) 21:58:45.82ID:YKXy/MBP
>>274
KotlinはJavaVMで動くんだから何も作る必要ないと思うが?
ドキュメントはあった方がわかりやすくて良いだろうけどなくてもKotlinからJavaのクラスを使う時の規則が分かってれば使えるよ。
2018/05/13(日) 22:16:44.87ID:vp93/UO0
>>274
KotlinはJavaと100%互換だからその意味では達成されてる。あとは機能差の互換性、具体的にはnull safeなどだけど、これらも既存、新規のフレームワークへのnudityアノテーションの付与、ktx、android studioによるKotlin変換などすでに取り組まれている
2018/05/13(日) 23:10:46.32ID:fp6h0gMA
Kotlinは素晴らしいけど、Android用言語としては途中からの参戦になるからちょっと残念だったなぁという話
279デフォルトの名無しさん
垢版 |
2018/05/13(日) 23:38:07.37ID:YKXy/MBP
ま、しかし、Javaよりも作りやすいと思しGoogleがサポート表明して爆発的に使う人増えただろうから多分勢いは止まらずにKotlinだらけになるんじゃないかな。
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
今後一年以内に覇権言語となるコトリンスレがなんで過疎ってんのよ
もう勉強始めちゃったよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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