X



Kotlin 6
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん垢版2019/06/22(土) 15:59:57.23ID:zj+KJbMh
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/
0953デフォルトの名無しさん垢版2020/05/01(金) 15:33:32.05ID:q8mD6cDI
>>949

1. 違いない
2. 似ている
3. 同じ

これらは、全く異なる意味を持っている。
0956デフォルトの名無しさん垢版2020/05/01(金) 18:17:15.79ID:m4mY1Cpc
>>940
ナウいヤングな君は和製英語の事は忘れて英語の modern を思い浮かべなさい。
0957デフォルトの名無しさん垢版2020/05/02(土) 04:45:48.24ID:HrddHHvE
アマゾンで検索したら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/
0961デフォルトの名無しさん垢版2020/05/02(土) 20:00:00.13ID:HrddHHvE
10秒ぐらい考え込んでフリーズした。
0964デフォルトの名無しさん垢版2020/05/04(月) 05:41:02.53ID:ZCjfeBBX
>>957
その出版社の本、本のサイズの割に字が小さくて、読みにくいんだよね。
0965デフォルトの名無しさん垢版2020/05/04(月) 20:57:12.28ID:gMqnLc6N
プロトコルってなんなのかよくわからんからググったんだけどさ
Swiftだと主に構造体を使うことになっていて!?構造体にも適用できるインターフェイスがプロトコルってことなのか?
もしそうだとしたら、構造体が主流じゃないKotlinにプロトコルがあろうがなかろうがほとんど変わらん気がするが・・・・
0966デフォルトの名無しさん垢版2020/05/04(月) 21:27:04.79ID:au6sJ5VU
プロトコルとインターフェースは呼び名が違うだけ

JavaのインターフェースはObjective-Cのプロトコルを真似して違う名前を付けたもの
SwiftはObjective-Cからプロトコルという名前をそのまま受け継いでる
0967デフォルトの名無しさん垢版2020/05/05(火) 04:39:20.00ID:VadYgeyG
>>966
まじで?>>948は冗談で言ってるんだと思ったぜ・・・・
0968デフォルトの名無しさん垢版2020/05/05(火) 06:35:08.05ID:L2fj2Ukz
Interfaceって機能がなぜ必要?

1. Super1, Super2を多重継承したDerived ClassからSuper1, 2に共にあるfooメンバにアクセスすると、Super1.foo, Super2.fooのどちらが呼ばれる?

2. この問題を回避するには、多重継承を禁止すれば良い(菱形継承問題、Diamond Problem)

3. もう一つの解決方法は、宣言しか実装していないClass(Interface, Prototype, Abstruct Class, Module)を使えば良い。

この理解でOK?
0969デフォルトの名無しさん垢版2020/05/05(火) 06:40:25.13ID:L2fj2Ukz
>>968
具体例

図形 -> 四角形 -> 平行四辺形 -> 長方形
平行四辺形 -> 菱形

こう言うClass Hierarchyがあった時に
長方形 -> 正方形
菱形 -> 正方形

なる正方形を作りたい。

こんな時に、Diamond Problemが発生。
0971デフォルトの名無しさん垢版2020/05/05(火) 06:53:54.99ID:MSVPcbFQ
C++は仕様多すぎて複雑怪奇すぎて意味わからん
C++以外の、高速で、メモリ、OSネイティブAPIを直接いじれて、アセンブリに近い言語って無いんか?
大体ネイティブ機能実装とかだと C++ でやることになるけど
Python とかも結構頑張ってるん?
0973デフォルトの名無しさん垢版2020/05/05(火) 06:57:28.64ID:L2fj2Ukz
>>971
Golangがそれに近いのでは?

Swift, Kotlin Nativeが高速コードを吐く、万能言語を目指してるけど、今のところ達成されていない。

かといってC++が普及しているか?と言われると、初学者を撥ね付ける仕様の複雑さで、そうもなってない。
0975デフォルトの名無しさん垢版2020/05/05(火) 07:56:44.92ID:rwJ86+M0
複数のクラスから継承(is-a)するのは、難しすぎる・柔軟ではないので、
Ruby でも継承は、1つのクラスからしかできない

その代わり、複数の機能・モジュールを、Mixin(has-a, インタフェース)できる

mixinすると継承チェーンに割り込むので、継承チェーンは一直線になる。
同名の関数は、親クラスよりも先に、mixinでみつかる

子 → mixin → 親
0978デフォルトの名無しさん垢版2020/05/05(火) 14:25:41.55ID:L2fj2Ukz
>>975
なるホドォ

mix-inってのは継承チェーンに割込むって意味なのね。
気がつかなかった。

なんで、mix-inって名前なのか今、気がついた。
0979デフォルトの名無しさん垢版2020/05/05(火) 17:57:01.37ID:pxHbBt7R
>>971
> C++以外の、高速で、メモリ、OSネイティブAPIを直接いじれて、アセンブリに近い言語って無いんか?

C言語
0980デフォルトの名無しさん垢版2020/05/05(火) 18:21:58.43ID:0KGdisEr
>>979
確かに。

新しいC++の仕様やSTLはとても難しいので、Cを基本として、class などの概念を使いたいなら、C++98などの古いC++の私用の範囲でやることがお勧め。
0982デフォルトの名無しさん垢版2020/05/06(水) 00:38:39.08ID:izcxg96Z
懐かしい
0985デフォルトの名無しさん垢版2020/05/06(水) 09:52:46.95ID:q6Rk1GB6
基地外がどうこうと言うより
正常な人は Ruby を選ばない
ただそれだけのこと

結果的に基地外濃度が上昇する可能性は否定しない
0987デフォルトの名無しさん垢版2020/05/06(水) 12:12:52.32ID:q8N1X/Ij
オリジナルのルビー男を離れて模倣犯が続出したルビー荒し事件を総括して名付けられたのがスタンドアローン・コンプレックス
プログラミング技術という新たな情報ネットワークにより、独立した個人が、結果的に集団的総意に基づく行動を見せる社会現象を指し、孤立した個人でありながらも全体として集団的な行動を取ることを意味する
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 319日 7時間 40分 44秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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