Kotlin 6

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/06/22(土) 15:59:57.23ID:zj+KJbMh
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/
2019/12/19(木) 13:41:10.68ID:0eo+DnKB
オンライン講座やアプリにカネをかけたら負けだと思っているのでJavaの本もポチりました
「Java1年生―体験してわかる!会話でまなべる!プログラミングのしくみ」
まずはこれを読んでから
「作って楽しむプログラミング Androidアプリ超入門―Android Studio3.3 & Kotlin1.3で学ぶはじめてのスマホアプリ作成」
を読む事にしました

アデュー
522デフォルトの名無しさん
垢版 |
2019/12/19(木) 13:48:14.38ID:+cpLTGtZ
逆やろ
本買ったら負け
ほぼオンラインで事足りる
2019/12/19(木) 13:58:35.22ID:0eo+DnKB
>>522
俺たちは理解力ゼロの人間だから
2019/12/19(木) 14:25:11.21ID:dMnFAlGo
各言語のスッキリシリーズを生み出した、伝説の本!
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

その後に、太郎本をやるのが定番!
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
2019/12/19(木) 15:34:22.45ID:Cn4tHGlw
>>515
たぶん開発環境があってないから楽しめないと思う
サンプル系の本は苦しみながら修正して作るものだと覚悟して望んでください
そうすればとてもいい本です
526デフォルトの名無しさん
垢版 |
2019/12/19(木) 16:26:30.93ID:0uPukb6z
>>522
そういや動画はわかりやすいと誰かが書いてたな。俺はわざわざ動画探して見ないけど。
2019/12/19(木) 19:30:40.54ID:lI3TBUYc
手動かしてたら覚える
本も動画もメンターもいらなかった
2019/12/19(木) 21:42:53.35ID:+kCyq/oE
勉強してプログラミングを覚えてからアプリを作るっていう考えがそもそも間違い
まず作りたいものがあるべきでその作りたいものを作るために必要な知識を
都度調べて問題の解決を繰り返すという方法で進むべき
作りたいものがないなら向いてないからプログラミングなんかやめてしまえ時間の無駄
2019/12/19(木) 22:02:46.62ID:rHJ8IYKv
まあ、そう言わんでも
君が数学を学んでいた頃、数学でやりたかったことあったの?
2019/12/19(木) 22:20:55.18ID:57XsBiPj
回転機能とワイヤーフレーム3Dでドヤってたら
あっという間に世間はポリゴンだのテクスチャだのバンプマッピングだの

ほんの数年の間の話
2019/12/19(木) 22:23:45.85ID:WqEVCHn0
大体アプリを作るのに必要な知識って言語の文法だけじゃない
Android SDKの知識も必要だし設計もMVVMとかfluxとかいろいろある
今の主流の外部ライブラリが何かとか非同期処理の実装はどうするか
Firebaseとかも活用した方がいいだろう
必要な知識が広すぎるのに目的もなくただ漠然と必要そうだとつまみ食いしてるだけで
あっという間に時間は終わっていく
大体5年もすればソフトウェアの世界は一変する
結局何も生み出せないまま技術に振り回されて時間が過ぎていくだけ
2019/12/19(木) 23:03:29.10ID:rHJ8IYKv
ふーん、偉いんだね
2019/12/19(木) 23:26:51.07ID:Cn4tHGlw
さっき気がついたんだけど
kotlinってimportしなくなった?不要なの?
Math.sin/cos/tan使ってもimportせずに使えてなんか変な感じです
2019/12/20(金) 06:46:42.42ID:YAC9G70z
>>533
https://kotlinlang.org/docs/reference/packages.html#default-imports

Javaでも java.lang.* (StringやMathなど) はインポート書かずに使える
2019/12/20(金) 10:39:15.14ID:JC7V0cWR
1.4でkotlin/nativeが爆速になってgoが死亡する世界線に行きたい
2019/12/20(金) 19:57:21.77ID:fz/tpFJr
誰かが1000億円の間違いしなかった世界がいい
今更Kotlinとか付け焼刃
537デフォルトの名無しさん
垢版 |
2019/12/20(金) 21:49:59.43ID:BqL6wPJ0
>>528
その通り。

まあしかしそれ言ったら学校教育は完全にダメだね。
538デフォルトの名無しさん
垢版 |
2019/12/21(土) 15:23:12.50ID:z0W1zCos
>>536
何の話?
539デフォルトの名無しさん
垢版 |
2019/12/21(土) 15:26:06.69ID:z0W1zCos
>>533
俺は変な感じがしない。なぜならJavaの頃からそのように使っているからだ。というかむしろそうでない方に違和感がある。
2019/12/22(日) 00:16:19.54ID:tkZGS0uw
>>538
本人ではないが>>536はJavaに最初からnulll(=1000億円の間違い)がなかった世界線に行きたいらしい。
2019/12/22(日) 01:17:50.71ID:lJarWdBZ
Union typeないの?
2019/12/22(日) 02:55:53.04ID:lBW/6Z3k
union って、C言語の union のこと? そういうのはないね。自分で無理矢理 Byte 配列に詰め込むのなら出来るが。
2019/12/22(日) 03:55:07.63ID:buP4BnNs
>>541
sealed class
2019/12/22(日) 07:09:03.62ID:tHQUUh7m
こういうやつでしょ
 var a : (String | List<Int>) = "aaa"
 a = listOf(10)
無いよ
2019/12/22(日) 17:46:16.29ID:buP4BnNs
sealed class Either<L, R>{
class Left<L, R>(val value: L): Either<L, R>()
class Right<L, R>(val value: R): Either<L, R>()
}

var a: Either<String, List<Int>> = Either.Left(“foo”)

https://pl.kotl.in/1oWpsAGCs

KotlinはJavaの足枷が重いから劇的に使いやすくなることはなさそう
2019/12/22(日) 22:24:55.21ID:qcLf379+
Union typeをサポートするとString?型もString | nullの略記でしかなくなるのだろうか
547デフォルトの名無しさん
垢版 |
2019/12/23(月) 13:25:26.95ID:8tSOZ4fL
しかしnullは型の名前ではないな。
2019/12/23(月) 21:19:46.42ID:UCqRJFPo
Unitと同じくオブジェクト宣言にすれば型としても値としても使える

TypeScriptのようにリテラル型という方式もあるけど
function f(): string | null | 10 { return 10; }
2019/12/23(月) 22:41:55.78ID:38BjLmtU
sealed classってinterfaceを持たないfinalなクラスをEither型には出来ないってことであってる?
2019/12/23(月) 22:55:01.39ID:4g9tMDJ4
GraphQL使ってるとunion欲しくなるよな
551デフォルトの名無しさん
垢版 |
2020/01/01(水) 00:07:09.43ID:fUaq4dOi
あけましておめでとうございます。
ことりんもよろしくおねがいします。
2020/01/01(水) 01:20:42.00ID:GmQkVq6D
Kotlin飛躍の年になれば良いな
2020/01/01(水) 16:57:33.69ID:GoZXP4nz
マルチプラットフォームの改善来ないかな
2020/01/03(金) 14:40:28.98ID:cH4r0C2y
>>554
どんな感じで?
2020/01/03(金) 17:40:31.87ID:ekbnoNnk
自分に安価してどうするよ\(^o^)/
2020/01/03(金) 22:30:37.55ID:UvyQWypU
>>556
面目ない
557デフォルトの名無しさん
垢版 |
2020/01/04(土) 10:36:41.93ID:trUJS7QS
自己再帰禁止
2020/01/04(土) 11:20:27.49ID:qTzaefKe
再帰関数見るとスッと入ってこなくてウッて毎回なる
2020/01/05(日) 02:42:41.09ID:Sr2nXWfX
素養がないから死ね
560デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:42:27.74ID:YU7sLweA
そよそよ
2020/01/05(日) 20:51:47.31ID:QM2lp1QM
素養クラスに、拡張プロパティで付け加え!
2020/01/06(月) 15:47:29.78ID:26y+agJu
素養とかいらんやろ。慣れや
2020/01/06(月) 22:45:33.84ID:MYKIKe5Z
大学のC言語の授業で2分木の深さ優先探索と幅優先探索を再帰関数で書かされたなあ
2020/01/07(火) 00:31:39.93ID:hqMcZlsr
言語の名前がかわいいというだけの理由でkotlinを勉強し始めました。
書きやすくていいですね!
2020/01/07(火) 11:18:31.53ID:R7wg2P50
PCの気晴らし2Dゲームやスマホアプリやかんたんゲーム作ろうかなーと思ってKotlin始めたのだけど、
微妙絶妙にメインストリームから外れて手間が合わんのだな
Unity的なゲームじゃないスマホアプリはうまく合ってる気はするが
2020/01/07(火) 12:12:12.94ID:muv+YNpY
C#相手だと言語的なアドバンテージはほとんど無いから勝ち目はないわな
2020/01/07(火) 12:29:43.03ID:QGWNDMvz
サーバー書こうぜ
2020/01/07(火) 12:41:10.88ID:v179ZXJD
要は「めっちゃ書きやすいJava」なので、Javaのときに特段盛り上がってなかった分野はKotlinでも特段盛り上がってはいない
Kotlinで利用者が流入爆増してKotlin独自のライブラリが各分野でじゃんじゃん作られるみたいな未来予想図もあったのだが、まあ、世の中なかなか冷静で頼もしい限りではある
2020/01/07(火) 13:06:26.78ID:muv+YNpY
レベルS プラットフォームを問わずKotlinが広く利用される
レベルA Kotlinを使うためにJavaプラットフォームが採用される
レベルB KotlinによってJavaプラットフォームの採用障壁が下がる
レベルC Kotlinによって既存のJava開発者の満足度が改善する

今のところせいぜいCだな
2020/01/07(火) 20:56:09.81ID:LyNNZa7r
Javaやってたら取っつきやすいみたいな扱いされてるけどC#の方が覚えやすくね?
2020/01/07(火) 21:10:11.11ID:mPccAZYV
kotlinってandroid専用言語という位置づけだと思っていいですか?
Webでも積極的に使われている言語ですか?
2020/01/07(火) 22:30:31.70ID:I2Ol6zE2
現状ではandroid専用。Java代替目指してる言語だからwebで使うポテンシャルはあるけど、その用途で流行ってるとは言い難い。
573デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:29:53.70ID:HfJa1tF4
流行ってないだけで専用というわけでもない。
574デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:36:25.48ID:HfJa1tF4
ま、しかし、みんながやってると自分もやるみたいなのはやはり日本人的な感じがするな。
保守的と言うか開拓精神がないというか。だから悪いということはないけどな。
自分が率先して使って自分を中心に世界中に広めるみたいなこともできるかも知れないのだが、そういう考えが最初から起こらないぐらい頭が固くなってガチガチに保守化していると。
2020/01/08(水) 14:43:05.37ID:266dC9mX
「〇〇を作りたいのでKotlinを使う」の〇〇に入るのは非ゲームAndroidアプリ、ではある
現状これ以外で使うのは趣味とか修行とか苦行とかバカとかなんかそんな感じ
Kotlinは一応だいたいのものは作れるには作れるので、Kotlinで作ってみたいという情熱(または狭窄)で個人でいろんなもの作ること自体は別に止めない
手段が目的と化してるという点以外は問題はないからね
みんなあまりやらないことをやるという点では面白いはずだとは思うよ
どっすかRubyの二の舞
2020/01/08(水) 15:08:09.71ID:NG22H+Rz
>>574
欧米の人って明確な目的があって、それに合う道具なら古いものも新しいものも使う印象
日本列島に生息するアーリーアダプタ猿はたいてい手段と目的が逆転していて、
新しいものを触っても「やってみた」で終わるからそれ以上の発展がない
2020/01/08(水) 20:25:58.31ID:txej2vin
有名人が使ってるから使おう・それが正しいみたいのがあるね
2020/01/08(水) 20:42:10.23ID:UOnWj2Kr
>>577
その後誰も使わなくなるものに手を出して半年で天を仰ぐ事例は事欠かない
だったらちょっとか有名人にも頼りたくなるというものだ
2020/01/08(水) 21:44:46.93ID:IfVHQg0W
その、「失敗したらどうしよう・・失敗しないように安全パイを狙おう」ていう発想が日本人ていう話
580デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:51:52.21ID:SxJLgebM
自分が有名人になろうという発想もない。
2020/01/08(水) 22:07:34.74ID:sWXWn+ML
まぁ結局はjavaなんだから、だったらjavaのままでいいじゃんで終わってそう。
2020/01/08(水) 22:07:56.44ID:l2iB3kWY
webなんかどうでもいい
今やブラウザからよりもアプリからの方がインタネットアクセスしてる人多い
サーバー側処理もこれから firebase的なものが主流になって独自実装はなくなっていく
Android専用とは即ち最強ということ
2020/01/09(木) 13:41:59.25ID:+yIYUPGX
え?
2020/01/09(木) 13:54:17.66ID:+yE1fb2H
サーバーサイドがDB直結で済むようなアプリなんてミニゲームくらいだろ
2020/01/09(木) 17:44:04.75ID:ZcunmaZD
firestoreってrate limitやIP banみたいなこと課金なしにできないの?
セキュリティルールで、他人のデータおもらしや、入力データ検証はできるけど。個人で使うとrate limitみたいのないと課金攻撃食らうのが怖い小心者の俺。
2020/01/09(木) 20:13:01.82ID:kyHcRJMZ
貧乏人のくせにうるせえな
ガキはオフラインでlampでもやってろ
2020/01/09(木) 22:32:03.91ID:yEewS3L2
サーバーエンジニアは時代遅れ
2020/01/09(木) 22:37:38.83ID:Oq4NA2+9
まあ、金払って押しつけるのが正しくはある
自社メールサーバーを運営するのが今や愚かな行為であるのと同じ
2020/01/09(木) 22:47:26.06ID:yEewS3L2
サーバーサイドは原始時代の技術
590デフォルトの名無しさん
垢版 |
2020/01/10(金) 19:52:27.62ID:GhmlZgNK
かといってサーバなしにはできない
2020/01/10(金) 20:48:21.61ID:vzH+znXR
クラウドもサーバだっつの
2020/01/10(金) 21:12:38.40ID:akcZyu4v
flutterきてるからもう色々諦めて、サーバーサイドkotlinに注力して欲しい。。
2020/01/10(金) 22:16:50.90ID:9vGWh78v
結局javaと同じ道筋を辿るのか。
2020/01/10(金) 23:00:11.09ID:i7XOn7b7
クロスプラットフォームは全部糞
そもそもDartが糞
ちょうど今日はてぶでflutterの記事を読んだがやっぱりDartが糞
ttps://hachibeechan.hateblo.jp/entry/flutter-is-great-good-but-dart-is-dirt
結局サンプルアプリみたいな見た目のしょぼいごみアプリしか作れないのがオチ
595デフォルトの名無しさん
垢版 |
2020/01/13(月) 10:33:07.31ID:2cuyt0IW
Dartが糞なのはわかる。でもflutterがきてるのも事実。
もう「どこでもkotlin」とか言ってる場合じゃない。
このままだとandroid->fuchsia移行と共にkotlinは終わる。
なのでjava,goを押しのけて静的サーバーサイド言語の第一候補になるしか道はないと思う
2020/01/13(月) 11:34:02.40ID:tegDOPxe
と思うけど、googleはなぜかKotlin版flutterのJetpack Composeを今年ベータリリース?に向けて作業中。
Jetpack Composeは最初はandroid向けかもしれんが、kotlinはnativeでクロスプラットホームになるし、Jetpack Composeも将来いつの間にかクロスプラットホームになったり?
2020/01/13(月) 11:36:48.21ID:tegDOPxe
まぁ、composeはクロスプラットホームにならなくてもcomposeの存在はかなりflutterへの移行を押し留めることになりそう。
もちろんflutterはクロスプラットホームだけど。
2020/01/13(月) 12:51:17.02ID:E4iJfsMG
K/JVMとK/Nチームがあまり仲良くない感じだったし
K/Nの設計上の戦略ミスもあって先は厳しい
企業リソースが潤沢でないことも大きいんだろうけど
599デフォルトの名無しさん
垢版 |
2020/01/13(月) 13:45:04.59ID:iUioslZh
相変わらず世間で流行るかどうかばかりを気にしている。世間に依存して頼りすぎている。その結果振り回され続けてしまう。
2020/01/13(月) 19:31:48.26ID:m0VL2/Pu
好きなやつ使え
2020/01/14(火) 00:16:09.33ID:d22nWjNN
俺なんて世間の流行なんか無視して我が道をいってるから
メインはDelphiパスカルだぜ!
2020/01/14(火) 14:03:03.86ID:oEvobycm
給料上がるのならなんでもいいわ
2020/01/14(火) 15:44:20.83ID:/0srrHag
趣味なら何でもいいんだろうけど仕事なら需要を考慮しないと糞仕事で薄給とかやってられないでしょ
604デフォルトの名無しさん
垢版 |
2020/01/14(火) 17:03:38.63ID:65PQRowg
流行ってるやつの方が情報多くて学習し易いというのはあるな。

そういえば今はまだJavaが結構使われてるようだがCも増えたんだってな。組み込み関係が増えたせいらしい。
605デフォルトの名無しさん
垢版 |
2020/01/14(火) 17:19:04.63ID:65PQRowg
これこれ。

2019年に成長したプログラミング言語ランキング、第1位は?
https://news.mynavi.jp/article/20200110-952052/
606デフォルトの名無しさん
垢版 |
2020/01/14(火) 17:28:10.81ID:65PQRowg
あ、でも、こんなページもみつけてしまった。

TIOBE Indexはあまり参考にすべきでない
https://qiita.com/kmizu/items/b07f1dcad63f104248c5
2020/01/14(火) 18:56:50.06ID:2qGhUMn5
>>602
給料あげたかったら、プログラマーは卒業しないとね
2020/01/14(火) 20:26:30.45ID:A0w7ZLmM
日本はクソだ
2020/01/14(火) 20:39:05.13ID:exUCncO7
>>601
自分が楽しめるならレガシーシステムのお守役としてニッチ極めるのは全然ありだべ
2020/01/15(水) 19:23:37.93ID:xHaLDFMG
exposedのDAOとDSLってどっち使った方がいいんですか?
611デフォルトの名無しさん
垢版 |
2020/01/16(木) 18:03:07.20ID:zJukF7BC
>>608
いかにも。お前はクソだ。
2020/01/18(土) 20:25:30.67ID:AwYhHf6y
流行るか流行らないなんてどうでもいいんだよ
やりたいことをやれるかどうか
JavaScript界隈の気持ち悪いやつがflutterは流行らないといってるけど
流行ったらどういう態度にでるのか見てみたいものだ
2020/01/18(土) 21:28:55.28ID:uMWc60b6
全部自力で作るわってレベルの奴ならそれでいいけど
流行りはコミュニティ規模、延いてはライブラリや関連技術の発展に繋がるわけでさ

何はともあれIOインターフェースのデファクトスタンダードを早くしろください!

https://github.com/ktorio/ktor/tree/master/ktor-io/common/src/io/ktor/utils/io/core
https://github.com/Kotlin/kotlinx.serialization/tree/master/runtime/commonMain/src/kotlinx/io
https://github.com/Kotlin/kotlinx-io/tree/master/core/commonMain/src/kotlinx/io
2020/01/21(火) 20:20:54.27ID:YewYG19G
KotlinのコンパイラはKotlinで書かれてるの?それともJava?
2020/01/22(水) 13:59:16.59ID:qc9Q1TGx
Javaに決まっているだろ
Kotlinで書かれてたらどうやってコンパイラをコンパイルするのだ
鶏は卵からしか生まれないのだ
2020/01/22(水) 14:59:42.36ID:rj2HkyIb
コンパイラがどの言語で書かれてるかを質問する人よくいるけど
知ったところで何か意味あるの?
617デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:21:05.17ID:3jquT0bn
>>615
最初はJavaで次からはKotlinに変換して自分で自分を記述する状態にしてるかもよ。するとその後はずっとKotlinでKotlinを書く状態になる。

昔はPASCALをPASCALで書いてハンドコンパイルしてから自身をコンパイルさせるなんての本当にあったようだけどな。
618デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:22:45.42ID:3jquT0bn
>>616
コンパイラを作れる言語かどうかがわかる。

ということ以外の意味はないかな。
2020/01/22(水) 16:30:08.45ID:Ho7opIM1
最初は別言語で書かれるが、その後自身の言語で書き直すことはよくある
セルフホスティングと言ってGo,Rustなども達成している

成果物の動作環境で自身も動作可能になるので
Kotlin/JSがセルフホスティングなら
babel/standaloneのようにブラウザ上でコンパイルが可能になったり
Kotlin/NativeのビルドにJVMが不要になったりする

実用上はJVM需要が主だしGradleが便利なので変えないだろうけど
2020/01/22(水) 16:31:19.66ID:Ho7opIM1
>>614
初期コンパイラはJavaで書かれて新規部分は基本Kotlinで書かれてる
置き換えたい気はあるようだけどJavaのコードはかなり残ってる

以下から拡張子の混在が見て取れると思う
https://github.com/JetBrains/kotlin/tree/master/compiler/backend/src/org/jetbrains/kotlin/codegen
2020/01/22(水) 16:48:14.42ID:rj2HkyIb
>>618
KotlinのコンパイラがJavaで作られたとしても
Kotlinがコンパイラを作れない言語ということにはならないと思うんだが
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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