Kotlin 6
レス数が1000を超えています。これ以上書き込みはできません。
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/ Kotlinのdata classがJava14でrecordとして採用されると聞いて感動したのも束の間、まだPreviewなので正式採用はJava16辺りと知り気が遠くなった
誰もが普通に使えるようになるのは2026年頃じゃろか 誰もが普通にと書いたのはJava11の延長サポートが2026までだから遅い現場だとそこまで待つかなと
でもそれを言うなら8は2030まで延長できるんだった >>919
ラムダ式とOptionalで行けるのではと思っていた時代が、私にもありました。
ただ参照透過なプログラミングをしようとした途端、Listと配列がMutableなことが越えられない壁になる。
Java9から不変リストを作るList.of()があるけど、必要なのは実行時エラーでなくコンパイルエラーで教えてくれる不変リスト。 それを言ったらKotlinのListも不変リストではなく読み取り専用のビューなので同じなのでは いや追加や更新機能のないリストインターフェースが欲しいということか Windows 10 で IntelliJ IDEA を 2020.1 にアップデートしたら起動後にちゃんと動かなかった。
ウインドウは出るがその中が灰色のまま。右下に赤いやつが点滅していてマウスカーソルを
持って行ってクリックすると IDE Internal Error Occurred See Details and Submit Report と
出てくるが、Detail も何も出てこない。ウィンドウの右上の×を押しても終わらず、しょうがない
のでタスクマネージャで終了させた。
Community edition だが、試しに Ultimate の同バージョン方をインストールしたら動いた。
ま、しかし、ライセンスあるわけではないのでとりあえず Community edition の 2019.3.4 に
しておいた。これはちゃんと動く。 javaすらやったことない人におすすめのKotlinの参考書ありますでしょうか? Kotlinは腐りきったJavaをなんとか少しでも便利に使うための車椅子のようなもの
古いのを勉強したくないならKotlin含めJava系の世界に飛び込むこと自体を考え直してもいいんじゃないかな 当然、日本ユーザー会会長の太郎本!
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
スッキリわかる Java入門 第2版、2014
超有名なスッキリを読んでないと、オブジェクト指向が分からないのでは?
Ruby をやってれば、オブジェクト指向・メソッドチェーンによる関数型と、両方とも理解できるけど >>930
C++, C#, Java, Swift, Rubyみたいなモダン言語の経験が無いと、Kotlinは難しいかも。
1. Clousure
2. Generics
3. Type Annotation Estimation
4. Collection
5. protocol
こう言うのが意味不明となる。
OOP自身は難しく無い。 全然関係ないんだけどさ
前々から思ってたんだが
「モダン」って言い方になんか古臭さを感じるんだよな
大正時代的な
他に良い呼び方ってないもんだろうか >>939
>3. Type Annotation Estimation
なんのこっちゃ? >>940
最新新言語、State of Arts computer language、Advanced Language、Recent Language、Up-to-date Language
御好きにすれば! >>946
such like Interface in Java or Abstruct Class in C++ >>948
機能的に違いないのに、名前だけ別のものつけたん? >>940
日本人的には大正モダンでハイカラなイメージが強いけど、英単語のmodernにそんなニュアンスはないんだから直訳でモダンでもイイでしょ
アートやインテリアではモダンって普通に使うし >>949
1. 違いない
2. 似ている
3. 同じ
これらは、全く異なる意味を持っている。 >>953
ありがとう
知らないなら普通にそう答えてくれればいいのに >>940
ナウいヤングな君は和製英語の事は忘れて英語の modern を思い浮かべなさい。 アマゾンで検索したら7/17発売予定の本が見つかった。表紙デザインもまだ出てこない。
基礎からわかる Kotlin
富田 健二 (著)
単行本: 224ページ
出版社: シーアンドアール研究所 (2020/7/17)
言語: 日本語
ISBN-10: 4863542917
ISBN-13: 978-4863542914
発売日: 2020/7/17
アマゾンのURL書くとここに書き込みできないのでヨドバシのURL書いておく。
https://www.yodobashi.com/product/100000009003256396/ >>957
その出版社の本、本のサイズの割に字が小さくて、読みにくいんだよね。 プロトコルってなんなのかよくわからんからググったんだけどさ
Swiftだと主に構造体を使うことになっていて!?構造体にも適用できるインターフェイスがプロトコルってことなのか?
もしそうだとしたら、構造体が主流じゃないKotlinにプロトコルがあろうがなかろうがほとんど変わらん気がするが・・・・ プロトコルとインターフェースは呼び名が違うだけ
JavaのインターフェースはObjective-Cのプロトコルを真似して違う名前を付けたもの
SwiftはObjective-Cからプロトコルという名前をそのまま受け継いでる >>966
まじで?>>948は冗談で言ってるんだと思ったぜ・・・・ Interfaceって機能がなぜ必要?
1. Super1, Super2を多重継承したDerived ClassからSuper1, 2に共にあるfooメンバにアクセスすると、Super1.foo, Super2.fooのどちらが呼ばれる?
2. この問題を回避するには、多重継承を禁止すれば良い(菱形継承問題、Diamond Problem)
3. もう一つの解決方法は、宣言しか実装していないClass(Interface, Prototype, Abstruct Class, Module)を使えば良い。
この理解でOK? >>968
具体例
図形 -> 四角形 -> 平行四辺形 -> 長方形
平行四辺形 -> 菱形
こう言うClass Hierarchyがあった時に
長方形 -> 正方形
菱形 -> 正方形
なる正方形を作りたい。
こんな時に、Diamond Problemが発生。 C++は仕様多すぎて複雑怪奇すぎて意味わからん
C++以外の、高速で、メモリ、OSネイティブAPIを直接いじれて、アセンブリに近い言語って無いんか?
大体ネイティブ機能実装とかだと C++ でやることになるけど
Python とかも結構頑張ってるん? >>971
Golangがそれに近いのでは?
Swift, Kotlin Nativeが高速コードを吐く、万能言語を目指してるけど、今のところ達成されていない。
かといってC++が普及しているか?と言われると、初学者を撥ね付ける仕様の複雑さで、そうもなってない。 学生向けGoogleの社会貢献事業、今年のAnnouncing our Google Summer of Code 2020 students
Swiftやるみたい。
https://forums.swift.org/t/announcing-our-google-summer-of-code-2020-students/36147 複数のクラスから継承(is-a)するのは、難しすぎる・柔軟ではないので、
Ruby でも継承は、1つのクラスからしかできない
その代わり、複数の機能・モジュールを、Mixin(has-a, インタフェース)できる
mixinすると継承チェーンに割り込むので、継承チェーンは一直線になる。
同名の関数は、親クラスよりも先に、mixinでみつかる
子 → mixin → 親 >>971
Rustでしょ
goはGCだからちょっと違う >>975
なるホドォ
mix-inってのは継承チェーンに割込むって意味なのね。
気がつかなかった。
なんで、mix-inって名前なのか今、気がついた。 >>971
> C++以外の、高速で、メモリ、OSネイティブAPIを直接いじれて、アセンブリに近い言語って無いんか?
C言語 >>979
確かに。
新しいC++の仕様やSTLはとても難しいので、Cを基本として、class などの概念を使いたいなら、C++98などの古いC++の私用の範囲でやることがお勧め。 Rubyを覚えるとキチガイになるのか、Rubyがキチガイを集めるのか… 基地外がどうこうと言うより
正常な人は Ruby を選ばない
ただそれだけのこと
結果的に基地外濃度が上昇する可能性は否定しない オリジナルのルビー男を離れて模倣犯が続出したルビー荒し事件を総括して名付けられたのがスタンドアローン・コンプレックス
プログラミング技術という新たな情報ネットワークにより、独立した個人が、結果的に集団的総意に基づく行動を見せる社会現象を指し、孤立した個人でありながらも全体として集団的な行動を取ることを意味する Rubyキチが1人なのはもちろん
Rubyキチに粘着してるやつも1人だから このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 319日 7時間 40分 44秒 レス数が1000を超えています。これ以上書き込みはできません。