JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
Kotlin [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
2016/02/27(土) 01:53:02.07ID:M1op650Q
Android開発ばかり注目されているけどサーバーサイドでも使っていきたいね。KotlinかわいいよKotlin。
2016/02/27(土) 02:03:58.29ID:kilaRF3z
ようやくスレ立ったか
C#erにオススメ
C#erにオススメ
2016/02/27(土) 02:09:59.86ID:sN4Pn2/e
2016/02/27(土) 02:41:02.12ID:hI6CEqxt
拡張子はktなのか
2016/02/27(土) 09:41:53.54ID:nQV2L2HM
どこからダウンロードできますか?
IDEじゃなくてKotlin本体だけが欲しいです
IDEじゃなくてKotlin本体だけが欲しいです
2016/02/27(土) 10:37:17.40ID:kilaRF3z
2016/02/27(土) 11:14:47.56ID:hI6CEqxt
IDE使わなくても、gradleにロードさせるのが簡単なんじゃないの?と思ったが
公式見たら kotlinc が用意されてるのな
公式見たら kotlinc が用意されてるのな
2016/02/27(土) 11:25:26.53ID:0K1cdFU/
>>3
何故、C#er?
何故、C#er?
2016/02/27(土) 13:08:04.60ID:nQV2L2HM
これからダウンロードして勉強しようと思ったんですけど
僕はJavaの知識がないんですよ
やっぱりJavaをひと通り学んでからKotlinを使うほうがいいですか?
僕はJavaの知識がないんですよ
やっぱりJavaをひと通り学んでからKotlinを使うほうがいいですか?
2016/02/27(土) 17:28:47.93ID:kilaRF3z
>>9
Kotlinちょっとしか触ってないけどC#と類似点多くね?
・プロパティ
・拡張関数=拡張メソッド
・ジェネリクスのin、out、where
・オーバーライド元メソッドにopen/virtualが必要
かつてはアノテーションもC#風だったけど、今はjava風に変わった
Kotlinちょっとしか触ってないけどC#と類似点多くね?
・プロパティ
・拡張関数=拡張メソッド
・ジェネリクスのin、out、where
・オーバーライド元メソッドにopen/virtualが必要
かつてはアノテーションもC#風だったけど、今はjava風に変わった
2016/02/27(土) 18:39:50.54ID:KsPOIQ1H
内包表記は無いの?
2016/02/27(土) 18:40:22.18ID:ip4T9kfk
>>11
C# に比べて何がいいの?
C# に比べて何がいいの?
2016/02/27(土) 18:50:05.98ID:KsPOIQ1H
チラッと調べただけだけど
・パターンマッチ
・名前つきタプル
・Data Class
・null非許容型
C#7.0に欲しいものばかりw
・パターンマッチ
・名前つきタプル
・Data Class
・null非許容型
C#7.0に欲しいものばかりw
2016/02/27(土) 19:15:03.68ID:D+WCAKrD
Javaを勉強せずにJavaFXアプリ作れますか?
2016/02/27(土) 20:17:24.82ID:DzbbisjT
>>15
むり
むり
2016/02/27(土) 21:07:35.07ID:yBj0ji6/
またJVMか…
泥アプリ制作が流行ってるから仕方ないのかね
泥アプリ制作が流行ってるから仕方ないのかね
2016/02/27(土) 22:22:55.81ID:hI6CEqxt
開発してるJetBrains自身が、JVM上で動く製品を開発してる会社だからな
自分達の製品にもKotlin使ってるみたいだよ
自分達の製品にもKotlin使ってるみたいだよ
2016/02/27(土) 22:29:02.97ID:hI6CEqxt
公式の1.0リリースの日本語のページがあった
http://blog.jetbrains.com/jp/2016/02/17/578
http://blog.jetbrains.com/jp/2016/02/17/578
2016/02/27(土) 23:39:23.79ID:KsPOIQ1H
複数の属性を持てるenumも便利そう。
これもC#7.0に欲しいw
これもC#7.0に欲しいw
2016/02/28(日) 21:01:32.18ID:qX9WRNgF
scalaと比べてどうなの?
jetbrainsが自社のプロダクトで使ってるといっても、サーバサイドでは話はきかないね。
jetbrainsが自社のプロダクトで使ってるといっても、サーバサイドでは話はきかないね。
2016/02/28(日) 21:12:49.92ID:mEuTbruV
https://kotlinlang.org/docs/reference/comparison-to-scala.html
scalaで幸せなら不要だって
spring mvcは普通に動く
たぶんplayもいけるんじゃね
scalaで幸せなら不要だって
spring mvcは普通に動く
たぶんplayもいけるんじゃね
2016/02/28(日) 21:51:31.38ID:qX9WRNgF
なるほど、springやEEが自然に利用できるなら、kotlin製のフレームワークに固執する必要はないか。
2016/02/28(日) 21:55:17.88ID:qX9WRNgF
Karaといframeworkはあるけど、Githubを見たところそこまで活発ではなさそう。cssをtye safeに書けるのは面白そうだけど
25デフォルトの名無しさん
2016/03/09(水) 20:13:43.33ID:ZmUAjtzS Kotlinはフレームワーク次第
2016/03/09(水) 21:54:57.77ID:MLkdPiKR
javaのフレームワークがそのまま使えるのがいいんだろ
2016/03/09(水) 22:12:21.73ID:TWWKX9/D
ビルドツールもそのまま使えるしな
2016/03/11(金) 23:43:17.01ID:RA7SR1be
英語もしゃべれねぇくせにどいつもこいつも新興言語に騙されおって
新興宗教じゃねぇんだから
新興宗教じゃねぇんだから
29デフォルトの名無しさん
2016/03/12(土) 00:46:03.37ID:w4nC79sm Kotlinを使うプロジェクトが増えないとKotlinの技術者が増えない
Kotlinの技術者が増えないとKotlinを使うプロジェクトが増えない
Kotlinの技術者が増えないとKotlinを使うプロジェクトが増えない
2016/03/12(土) 01:43:46.52ID:A9rdrO/7
intellij使ってる人が興味持ってくれればなあ
31デフォルトの名無しさん
2016/03/14(月) 16:38:06.42ID:ONULiEU5 Kotlinって書籍とかがまだ全くないな
2016/03/14(月) 17:49:52.49ID:jDfMkT0o
まぁまだ1.0がリリースされたばかりですし
33デフォルトの名無しさん
2016/03/14(月) 18:13:22.66ID:rxc3Byav 2011年から死んでる
2016/03/14(月) 20:49:46.27ID:ste1llL9
今から勉強しようかと思うんだけど、駄目なの?
2016/03/14(月) 22:51:22.51ID:7NRac0Aa
1.0.0がリリースされたばかりだからタイミングいいよ
一応破壊的変更はしないとか言ってたような
一応破壊的変更はしないとか言ってたような
2016/03/15(火) 09:16:40.95ID:4EDSiDUj
Androidアプリの開発にkotlin使ってるけどいい感じよ
ラムダが使えるのとDSLがね
拡張メソッドも作れたり
ラムダが使えるのとDSLがね
拡張メソッドも作れたり
2016/03/16(水) 17:48:01.10ID:SWFG0n+i
勉強するのも使うのも全く自由なんだけど、
こんなマイナー言語で何する気?
目的をはっきりさせようや。
何もできるんだよ?
こんなマイナー言語で何する気?
目的をはっきりさせようや。
何もできるんだよ?
2016/03/16(水) 17:48:37.27ID:SWFG0n+i
*何ができるんだよ。
2016/03/16(水) 18:36:21.30ID:BFPYGSUK
>>37
Javaより優れた言語でJVMで動くアプリケーションを書ける
Javaより優れた言語でJVMで動くアプリケーションを書ける
2016/03/16(水) 21:09:15.92ID:ol/uA8ay
Ceylon とどっちがいいの?
41デフォルトの名無しさん
2016/03/16(水) 21:57:29.33ID:OWx848x5 >>39
すでにScalaという先客がいる
すでにScalaという先客がいる
42片山博文MZ ◆T6xkBnTXz7B0
2016/03/16(水) 22:05:50.83ID:l9Y8vSPn ♪ことりん、ことりん。
2016/03/16(水) 22:15:09.55ID:ItRpyeBM
scalaに対しての優位点はコンパイル速度と、javaとの親和性?
文法的にもcontinueとbreakが使えて、自由度の高いreturnとthisがあるか
inlineもscalaとかなり違う?
文法的にもcontinueとbreakが使えて、自由度の高いreturnとthisがあるか
inlineもscalaとかなり違う?
2016/03/17(木) 12:46:00.12ID:8D5exYrn
scalaは難しすぎるよね
2016/03/17(木) 14:24:01.95ID:y+SO78pF
JavaScriptでいいじゃん
2016/03/17(木) 17:34:00.53ID:Lr213s2+
Kotlinはかわいい。Scalaはキモい。
Kotlinが普及するように、俺も微力ながらブログにKotlinネタ書いていくよ。
Kotlinが普及するように、俺も微力ながらブログにKotlinネタ書いていくよ。
2016/03/17(木) 21:05:02.80ID:8D5exYrn
普及するために何が足りないか?
48デフォルトの名無しさん
2016/03/17(木) 22:30:53.09ID:6lVX3tiR 世界的な有名サービスがKotlinで記述されたらかなり影響はある
2016/03/18(金) 11:16:52.22ID:PaeRr1p1
enumがメソッド持てるのがリージョンコードを複数の表現で返すenum作るときに便利だったな
あと、whenがif elseの変わりに使えて可読性がいいのが好き
あと、whenがif elseの変わりに使えて可読性がいいのが好き
2016/03/18(金) 13:04:13.88ID:7TGL3g0b
enumがメソッド持てるのはJavaも一緒でしょ
2016/03/18(金) 19:30:40.78ID:Ri+xB30N
プログラミング初心者なんですけどKotlin習得するのには2〜3年はかかる?
2016/03/18(金) 20:27:52.77ID:itkpzA44
初心者は情報の多い言語を使うべき
入門書とかが出てからじゃないと無理
入門書とかが出てからじゃないと無理
2016/03/18(金) 20:46:02.24ID:Ri+xB30N
2016/03/23(水) 18:25:49.69ID:q4NyJu3s
2016/03/23(水) 19:30:06.44ID:IjQfzLPy
つーかおまえらコトリンの響きで選んでるだろ
2016/03/23(水) 21:00:38.88ID:Sy6dDY9b
名前は凄く重要
2016/03/23(水) 21:40:59.87ID:r6iJqmyn
スカラに比べたら言語のランタイムない(よね?)のがメリットとか
58デフォルトの名無しさん
2016/03/24(木) 08:58:18.85ID:9L/DvAgg >言語のランタイム
?
?
2016/03/25(金) 19:03:36.81ID:7CoDARGW
Javaとソース互換を壊すという致命的欠陥を自らしておいて、
なおかつ既存言語とのソース互換が何もないのなら使えませんよね。
過去のソースとの互換のためにN88-BASIC互換言語を作りましたとかいうほうがまだ使い道がある。
独自言語で作ったものはソースの墓場になる。
末長く残るソースを作れない。
なおかつ既存言語とのソース互換が何もないのなら使えませんよね。
過去のソースとの互換のためにN88-BASIC互換言語を作りましたとかいうほうがまだ使い道がある。
独自言語で作ったものはソースの墓場になる。
末長く残るソースを作れない。
2016/03/26(土) 12:14:43.51ID:XHWY3LTw
>>59
いま普及してる言語だって、スタートラインは独自言語(っていう表現はどうかと思うが)だったわけでw
いま普及してる言語だって、スタートラインは独自言語(っていう表現はどうかと思うが)だったわけでw
61デフォルトの名無しさん
2016/03/26(土) 12:42:36.47ID:lc2ldByq バックエンドでKotlin使いたいんだけど、おすすめのWebフレームワークとかDBフレームワークあったら教えてください。Spring Bootがかなりいい気がするけど特にDBフレームワークが困ってます。
2016/03/26(土) 14:29:17.16ID:ENkp8QGX
>>60
俺を忘れるなよ...
C++
俺を忘れるなよ...
C++
2016/03/26(土) 16:15:03.51ID:H9bcXfYg
>>60
C++とアップルのObjective-Cは、C言語上位互換。
C++とアップルのObjective-Cは、C言語上位互換。
2016/03/27(日) 00:37:01.30ID:tuBIqIOP
Swiftがクソ過ぎるのは誰もが知ってるんだから触れてやるなよ
2016/03/28(月) 00:51:03.64ID:h3cCXmjq
KotlinとSwiftってそんな違う? 似たようなもんじゃ
JavaやObCと比べりゃ
JavaやObCと比べりゃ
2016/03/29(火) 00:00:43.96ID:1pY1OkRW
>>59
javaライブラリを呼べるjvm上で動くプログラミング言語なんていっぱいあるやん
javaライブラリを呼べるjvm上で動くプログラミング言語なんていっぱいあるやん
67デフォルトの名無しさん
2016/04/01(金) 20:35:42.53ID:vSPHDFRv さびれすぎ
2016/04/02(土) 10:51:29.00ID:3UiLT1dE
2016/04/03(日) 00:40:39.84ID:ZV9NMQt1
Android向けKotlinのロードマップ
http://blog.jetbrains.com/jp/2016/03/30/639
http://blog.jetbrains.com/jp/2016/03/30/639
70デフォルトの名無しさん
2016/04/03(日) 13:51:35.58ID:4I/r7xwS Googleが公式サポート表明してくれたら最高なんだけどな。
2016/04/04(月) 18:10:35.02ID:F20gyuD1
72デフォルトの名無しさん
2016/04/06(水) 21:23:24.57ID:2V81Qvo22016/04/08(金) 10:30:14.19ID:swQw/RPS
GoogleはAndroidの第一言語、つまりJavaに置き換わるものとして、Swiftのサポートを検討しているらしい。
泣きそう。
泣きそう。
2016/04/08(金) 13:03:55.45ID:UcK710Vt
>>73
Swiftもいい言語だから、そうなったらなったでJavaのままよりはありがたいけどな
Swiftもいい言語だから、そうなったらなったでJavaのままよりはありがたいけどな
2016/04/08(金) 20:59:07.38ID:Im1g3EY5
javaの資産()はどうなるの
76デフォルトの名無しさん
2016/04/08(金) 22:32:48.96ID:uKgtJKvS マジかよSwiftやってみるわ
2016/04/08(金) 23:37:04.56ID:T8jUewN4
クソ言語流行らそうと必死なんだな
2016/04/09(土) 00:49:54.84ID:gQ4mSWZC
>>73のネタはこの記事だと思うが
http://thenextweb.com/dd/2016/04/07/google-facebook-uber-swift/
記事の中ではgoogleがkotlinの採用も検討していると書いてあるぞ
ただしコンパイルが遅いのと
できたばかりの言語なのでコミュニティが小さい事がネックらしい
http://thenextweb.com/dd/2016/04/07/google-facebook-uber-swift/
記事の中ではgoogleがkotlinの採用も検討していると書いてあるぞ
ただしコンパイルが遅いのと
できたばかりの言語なのでコミュニティが小さい事がネックらしい
2016/04/09(土) 19:22:37.10ID:Q/bwh4yI
AndroidのJavaの問題は言語ではなくJavaプラットフォーム(の海賊版)にあるのに言語だけ変えても意味無いだろ
2016/04/10(日) 05:02:23.23ID:OMjoBoPQ
とはいえJavaライブラリのインタフェースに関する権利をOracleが主張してたりとかJava言語による問題も多いだろうし、そこだけ解決できるのでも結構違うのでは。Javaプラットフォームごと捨てるのはさすがに現実的ではないでしょうし。
2016/04/12(火) 14:39:07.24ID:tcJgF5lM
>>80
OracleはJava APIに権利があると主張しているのであってJava VMを使う以上、他の言語に変えても同じ。
OpenJDKなど、Oracle公認のフリーのJava/Java VMもあるわけで、Javaは使い続けるでしょう。
今開発プレビュー版が出ているAndroid Nは、初めてOpenJDKのライブラリを使っているわけで。
Java 8対応、新しいJackコンパイラの登場など大進化を見せている状況でJavaを捨てるとか有り得ない。
Javaから別の言語に変えることを検討中という記事は信用できない。
現時点無視してよいかと。
もっと信頼できるネタが出てから気にしたほうが賢明。
OracleはJava APIに権利があると主張しているのであってJava VMを使う以上、他の言語に変えても同じ。
OpenJDKなど、Oracle公認のフリーのJava/Java VMもあるわけで、Javaは使い続けるでしょう。
今開発プレビュー版が出ているAndroid Nは、初めてOpenJDKのライブラリを使っているわけで。
Java 8対応、新しいJackコンパイラの登場など大進化を見せている状況でJavaを捨てるとか有り得ない。
Javaから別の言語に変えることを検討中という記事は信用できない。
現時点無視してよいかと。
もっと信頼できるネタが出てから気にしたほうが賢明。
2016/04/12(火) 15:18:33.45ID:9HGJ3JQs
83デフォルトの名無しさん
2016/04/12(火) 20:56:18.12ID:Rk5bS0ji KotlinよりScalaの方がありそう
2016/04/12(火) 21:30:53.05ID:zxlf4Ltj
>>82
OpenJDKはOracle公認だから、使い方にもよるかも知れないけどGoogleがOracleに責められずにフリーで使える可能性はある。
ただ、Oracleはライセンス料が欲しいわけだからあの手この手で金を要求しようとすると思う。
Swiftよりはkotlinのほうがまだ可能性はあると思うがGoogleがサポートする必要性が薄いとも思う。
OpenJDKはOracle公認だから、使い方にもよるかも知れないけどGoogleがOracleに責められずにフリーで使える可能性はある。
ただ、Oracleはライセンス料が欲しいわけだからあの手この手で金を要求しようとすると思う。
Swiftよりはkotlinのほうがまだ可能性はあると思うがGoogleがサポートする必要性が薄いとも思う。
85デフォルトの名無しさん
2016/04/12(火) 21:35:28.14ID:ZWvwh7J92016/04/12(火) 21:46:26.86ID:3ZquNVD8
Scalaはビルドツールが糞
2016/04/12(火) 21:51:27.23ID:tRZrs4lg
scalaって標準ライブラリのサイズがでかくなかった?
2016/04/13(水) 09:06:47.77ID:E2Yhqe8e
>>83
そう?Scalaが普及しはじめてから何年も経つけど、GoogleがScalaに興味を示したことってあったっけ?
そう?Scalaが普及しはじめてから何年も経つけど、GoogleがScalaに興味を示したことってあったっけ?
2016/04/16(土) 21:14:12.15ID:1vFpn8v7
JavaのOO畑で関数型とかよく分からんしってマルチパラダイム言語の第一歩によさそうだなKotlin
名前も可愛いし
名前も可愛いし
2016/04/16(土) 22:47:26.92ID:rMj3oXBU
Kotlinってあんまり関数型要素ないだろ
関数型度はJava8と大して変わらん
関数型度はJava8と大して変わらん
91デフォルトの名無しさん
2016/05/01(日) 10:54:20.06ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
z
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
z
92デフォルトの名無しさん
2016/06/19(日) 22:31:14.76ID:eVkfK1tp 話題なさすぎじゃね
2016/08/06(土) 23:21:47.71ID:DcF8zl9X
javaに触らすいきなりkotlinから
アンドロイド開発に入門するのって無茶ですかね?
そういうコンセプトの入門書とかないかな
アンドロイド開発に入門するのって無茶ですかね?
そういうコンセプトの入門書とかないかな
2016/08/07(日) 00:17:57.07ID:ImwDssOT
無茶というか無意味な縛りプレイだよ
Java分からないとサンプルコード読めないじゃん
Java分からないとサンプルコード読めないじゃん
2016/08/08(月) 11:17:38.46ID:tg5qo0Cy
無意味な縛りですかね。javaの構文自体は平易だからandroidとセットでkotlinの構文が学べたほうがいいなのかなと
2016/08/08(月) 22:59:13.69ID:/KkOsDFd
じゃあ聞くなよ
2016/08/09(火) 07:51:56.25ID:qoHYj2J7
じゃあ尚更Javaでいいだろ
KotlinなんかJavaやったあとなら一瞬でマスターできるからどうでもいい
KotlinなんかJavaやったあとなら一瞬でマスターできるからどうでもいい
2016/08/10(水) 09:10:55.40ID:rQiddDUo
お前ら
ことりん
という響きが好きなだけちゃうんかと
ことりん
という響きが好きなだけちゃうんかと
2016/09/21(水) 00:39:02.10ID:UYN6tSg/
(・8・)
100デフォルトの名無しさん
2016/11/10(木) 04:01:41.16ID:5wJA0ZNT 日本人は流行に乗りたがるけどすぐ飽きるね
名前に釣られただけで結局流行りそうにない
名前に釣られただけで結局流行りそうにない
101デフォルトの名無しさん
2016/11/14(月) 23:59:31.98ID:wCV5pHeX scalaと比べていいところってある?
ユーザ数はscalaのほうが多いだろうしどっちやろうか迷ってる
ユーザ数はscalaのほうが多いだろうしどっちやろうか迷ってる
102デフォルトの名無しさん
2016/11/15(火) 00:56:14.67ID:r0bdrrlQ カオスじゃない
Javaとの完全な互換性がある(Scalaは事実上一方通行)
Scalaに比べれば遥かにまともな言語だよ
Scalaはとりあえず全部ブチ込んでみただけの実験言語で、本来実用に使うようなもんじゃない
Javaとの完全な互換性がある(Scalaは事実上一方通行)
Scalaに比べれば遥かにまともな言語だよ
Scalaはとりあえず全部ブチ込んでみただけの実験言語で、本来実用に使うようなもんじゃない
103デフォルトの名無しさん
2017/01/09(月) 20:37:51.41ID:4w5Vtztw Kotlin vs Ceylon
104デフォルトの名無しさん
2017/01/11(水) 13:27:31.23ID:ejV+8ohg Gradle3.xでKotlinがサポートされたのって、普及に影響する?
105デフォルトの名無しさん
2017/01/11(水) 17:14:25.25ID:qSPp3nGT Groovyがそこまで普及してるか?
つまりそういうこと
つまりそういうこと
106デフォルトの名無しさん
2017/01/12(木) 21:33:12.76ID:ArceXZLM >>105
なるほど納得した。ありがとう。
なるほど納得した。ありがとう。
107デフォルトの名無しさん
2017/01/17(火) 06:25:55.49ID:/OTVP4TW EclipseでKotlinしている人っている?
108デフォルトの名無しさん
2017/01/18(水) 21:56:09.40ID:nmk83e0+ あるオープンソースのコードを呼んでてIDEで飛べないクラスがあって調べたらKotlinを見つけた
どう使い分けるんだろう
どう使い分けるんだろう
109デフォルトの名無しさん
2017/01/20(金) 09:01:11.60ID:fIQqHT5d110デフォルトの名無しさん
2017/03/02(木) 22:58:10.37ID:aTDCpX5l JavaScriptが書けるようになったと聞いて
111デフォルトの名無しさん
2017/03/02(木) 23:03:06.74ID:6rwxIFtV それよりコルーチンだよ
名前がいいよね
名前がいいよね
112デフォルトの名無しさん
2017/03/11(土) 08:06:57.61ID:vLyp82+E >>111
コルーチン...ロシア人かな? Kotlinだけに。
コルーチン...ロシア人かな? Kotlinだけに。
113デフォルトの名無しさん
2017/03/27(月) 12:32:22.63ID:zxMW45Gj go->goroutine
Kotlin->koroutine
ってこと?
Kotlin->koroutine
ってこと?
114デフォルトの名無しさん
2017/04/13(木) 10:00:40.79ID:p+wJDHjt んーcoroutine、便利さを挙動の理解の混乱が上回ってる..w
かえって複雑になりそう
かえって複雑になりそう
115デフォルトの名無しさん
2017/04/14(金) 10:49:57.90ID:rxkV6/uG116デフォルトの名無しさん
2017/04/15(土) 00:40:02.53ID:5VFPMUgC117デフォルトの名無しさん
2017/04/16(日) 13:23:05.16ID:FOOthHC9 一つのクラスに複数のアノテーション持てない感じ?
118デフォルトの名無しさん
2017/04/18(火) 07:19:21.21ID:q56THeJt このスレで言うのもなんだが、初心者の質問はTwitterで投げるのがいいよ
普及させたい人が定期的に検索して拾ってくれるから
普及させたい人が定期的に検索して拾ってくれるから
119115
2017/04/22(土) 21:58:39.69ID:8rHjbk1S120デフォルトの名無しさん
2017/04/23(日) 10:19:21.32ID:9Bq1d30L suspend関数ってコルーチンの中でしか使えないってことは、そこらじゅうlaunchの類だらけになるってこと?笑
まだ滅多に使用例のってるブログとかみかけないね。
生き残れるのか?これw
>>119 https://github.com/pljp/kotlin-coroutines/blob/japanese_translation/kotlin-coroutines-informal.md#状態マシン
まだ滅多に使用例のってるブログとかみかけないね。
生き残れるのか?これw
>>119 https://github.com/pljp/kotlin-coroutines/blob/japanese_translation/kotlin-coroutines-informal.md#状態マシン
121デフォルトの名無しさん
2017/04/28(金) 17:34:29.34ID:80AWOTNk ことりん擬人化まだ?
122デフォルトの名無しさん
2017/05/01(月) 23:00:23.52ID:+TVy5Krd Rubyの、p, pp みたいに、自動的に、コンテナ内を展開して、
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?
p コンテナ・オブジェクト
中のオブジェクトを、コンソールに表示してくれる、デバッグ用関数はありますか?
p コンテナ・オブジェクト
123デフォルトの名無しさん
2017/05/04(木) 00:18:07.49ID:lRx89izX ない
そんなもんIDEのデバッガで止めて見ればいいだろ
そんなもんIDEのデバッガで止めて見ればいいだろ
124デフォルトの名無しさん
2017/05/04(木) 00:39:59.73ID:7TNYL3q7 それはダサいわ
125デフォルトの名無しさん
2017/05/13(土) 22:26:26.42ID:UQoi629m なんか折りたたみすぎるんだよな〜
126デフォルトの名無しさん
2017/05/18(木) 03:33:23.69ID:DKg0Na73 大勝利キタ━━━━(゚∀゚)━━━━ !!!!
127デフォルトの名無しさん
2017/05/18(木) 03:35:35.85ID:Wz6O2oVO きたな
128デフォルトの名無しさん
2017/05/18(木) 03:38:32.99ID:l26+mVZr まじか
129デフォルトの名無しさん
2017/05/18(木) 08:19:21.98ID:6xLYhPbf アプデかなんか来たの?
130デフォルトの名無しさん
2017/05/18(木) 08:34:44.83ID:eCnYzL6s Androidでのファーストクラスサポートだそうですよ
131デフォルトの名無しさん
2017/05/18(木) 08:35:35.63ID:zgtLgueR Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin.
だって。
だって。
132デフォルトの名無しさん
2017/05/18(木) 09:08:10.23ID:PzmNC1sh ファーストクラスってなんですか?
133デフォルトの名無しさん
2017/05/18(木) 09:13:30.93ID:zw0yFHDv ビジネスクラスより上
134デフォルトの名無しさん
2017/05/18(木) 09:37:46.74ID:cqnkW2Fd 例の訴訟絡みでjvm捨てると思ってたんだがなあ
135デフォルトの名無しさん
2017/05/18(木) 10:06:03.05ID:L+z+Rh5o 記念アゲ (・8・)
136デフォルトの名無しさん
2017/05/18(木) 12:11:08.36ID:zgtLgueR Android Studioで標準サポートになる、つうことだろ。
137デフォルトの名無しさん
2017/05/18(木) 12:12:50.95ID:NEKf9u2/ AndroidがKotlinサポートか
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
Java使わなくていい場面増えるのは歓迎だけど
C#のが良かった
https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
138デフォルトの名無しさん
2017/05/18(木) 12:17:09.11ID:w2PMjkvW GWにkotlin始めて書きやすいなと思ってた俺大勝利
139デフォルトの名無しさん
2017/05/18(木) 12:38:42.71ID:zgtLgueR140デフォルトの名無しさん
2017/05/18(木) 12:57:50.54ID:3vvtk3AJ いまJavaを使ってる人を救うことを考えたらまずはKotlinだろうね
141デフォルトの名無しさん
2017/05/18(木) 13:16:17.63ID:XKDAC558 まじかよ
コトリン大好きな俺大勝利じゃん
祝杯や
コトリン大好きな俺大勝利じゃん
祝杯や
142デフォルトの名無しさん
2017/05/18(木) 13:21:33.03ID:9vmsiCj/ やったぜ
143デフォルトの名無しさん
2017/05/18(木) 13:23:06.77ID:yATb/f/P えっちだぁw
144デフォルトの名無しさん
2017/05/18(木) 15:12:54.92ID:d+oDyp66 日本Kotlinユーザグループ代表、長澤 太郎
Kotlinスタートブック -新しいAndroidプログラミング、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
m, 10
a, 5
m, 2
こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
Kotlinスタートブック -新しいAndroidプログラミング、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
m, 10
a, 5
m, 2
こういう行区切りのデータがある時、文字列・数値の順番で、ソートするにはどうするの?
145デフォルトの名無しさん
2017/05/18(木) 15:28:16.59ID:/Shfsuc2 KotlinじゃなくSwiftでも良いのにな
確か、Android向けのクロスビルドができるようになってたろ
確か、Android向けのクロスビルドができるようになってたろ
146デフォルトの名無しさん
2017/05/18(木) 16:57:05.60ID:sDwtWkJp AppleがGoを公式採用するくらいあり得ないことだな
147デフォルトの名無しさん
2017/05/18(木) 17:15:26.94ID:zgtLgueR148デフォルトの名無しさん
2017/05/18(木) 18:29:24.60ID:xYh7ZO1T 競技プログラミングでKotlinを覚えるか…
149デフォルトの名無しさん
2017/05/18(木) 23:54:53.47ID:s8Za2vto >>70
念願かなったね。おめでとう。
念願かなったね。おめでとう。
150デフォルトの名無しさん
2017/05/19(金) 08:25:10.64ID:Yy4p2hUQ >>144 自己レス
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
class Person(val age: Int, val name: String) { }
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println("${it.age} : ${it.name}")
}
出力
20 : Alice
20 : Kate
25 : Dave
25 : Tom
151デフォルトの名無しさん
2017/05/19(金) 13:20:04.25ID:JnsQ7Gr+ ニュース見て始めて半日くらいの調べもの堪え性のない人が質問です!
それはそうと初心者スレとか質問スレとかあってもいいかもしれないですね!
>>> var list = listOf(10, 20, 30)
>>> list[1] + 5
25
>>> var map = mapOf(1 to 10, 2 to 20, 3 to 30)
>>> map[1] + 5
error: infix call corresponds to a dot-qualified call 'map[1].plus(5)' which is not allowed on a nullable receiver 'map[1]'. Use '?.'-qualified call instead
>>> map[1]?.plus(5)
15
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
それはそうと初心者スレとか質問スレとかあってもいいかもしれないですね!
>>> var list = listOf(10, 20, 30)
>>> list[1] + 5
25
>>> var map = mapOf(1 to 10, 2 to 20, 3 to 30)
>>> map[1] + 5
error: infix call corresponds to a dot-qualified call 'map[1].plus(5)' which is not allowed on a nullable receiver 'map[1]'. Use '?.'-qualified call instead
>>> map[1]?.plus(5)
15
入ってる数字をあとで計算とかに使いたいだけなんですがどこの考え方間違ってるんでしょうか
152デフォルトの名無しさん
2017/05/19(金) 20:24:00.83ID:t+9TXaRk >>70
おめ
おめ
153デフォルトの名無しさん
2017/05/19(金) 20:34:19.80ID:Ig6oJN7I >>71
これは恥ずかしいwwww
これは恥ずかしいwwww
154デフォルトの名無しさん
2017/05/19(金) 22:29:26.32ID:HhPXEO/A じゃ今後のAndroidのライブラリにはKotlinで書かれてるものの出てくるのかな?
155デフォルトの名無しさん
2017/05/20(土) 00:38:31.20ID:ap8WyFQI それはないだろう
156デフォルトの名無しさん
2017/05/20(土) 02:32:08.53ID:WmFfeyqJ >>151
map[何々]が、nullable だから。
map[1]は存在するけど、map[4]なら存在しない
map[1].plus(5)なら、map[1](レシーバー)がnullableだから、
null.plus(5)の場合にバグるから、?. null許容演算子を使う
map[何々]が、nullable だから。
map[1]は存在するけど、map[4]なら存在しない
map[1].plus(5)なら、map[1](レシーバー)がnullableだから、
null.plus(5)の場合にバグるから、?. null許容演算子を使う
157デフォルトの名無しさん
2017/05/20(土) 15:30:08.83ID:LOC45URm Javaの仕様がそのまま引き継がれてるんだな
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
Listのgetのインデックスが範囲外だとIndexOutOfBoundsException例外で
Mapのgetのキーが存在しない場合は例外じゃなくてnull返すのね
158デフォルトの名無しさん
2017/05/20(土) 15:41:06.41ID:8ml7mLK3 getOrNullとかあるよ
159デフォルトの名無しさん
2017/05/20(土) 19:38:14.41ID:NqXZxUdZ Android StudioでのIntelliJ Kotlinプラグインが公式サポートされただけでAndroid System LibにKotlinクラス群が入ったわけじゃないんだよなぁ
>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
>>154
今までと変わらずやる気になれば出るし、やる気にならなければ出ない程度かと
別段メリットがあるようには思えないけど、誰かKotlin Androidライブラリプロジェクトテンプレート作ってくれよ
160デフォルトの名無しさん
2017/05/20(土) 20:11:09.01ID:LOC45URm 企業内での使用はGoogle公式かどうかですごい影響あるよ
161デフォルトの名無しさん
2017/05/21(日) 10:31:28.30ID:4E+x2A2G これをきにコトリンを始める人がいっぱいいそうだが
ほとんど人が挫折するんだろうな
ほとんど人が挫折するんだろうな
162デフォルトの名無しさん
2017/05/21(日) 10:35:53.77ID:W3P4J6B5 こんな簡単な言語で挫折する要素とは
163デフォルトの名無しさん
2017/05/21(日) 10:40:32.81ID:tBEndF3S Kotlin言語そのものは難しくないがJavaの言語に加えて
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
Javaのライブラリまで含めて覚えないといけなそうだから
C#より敷居が高い
164デフォルトの名無しさん
2017/05/21(日) 11:08:54.99ID:h5RyjkDf kotlinにはtypescriptのtsserverみたいに補完機能はないんでしょうか?
165デフォルトの名無しさん
2017/05/21(日) 11:33:04.16ID:W3P4J6B5 第一級開発言語に指定したんやからfwは全てkotlinラッパを出すやろ
166デフォルトの名無しさん
2017/05/21(日) 12:33:48.18ID:sr6r/1gA ?なvarをif != null したら!!いらないようにしてほしいな〜
valに入れ直すのはスマートじゃないよ
valに入れ直すのはスマートじゃないよ
167デフォルトの名無しさん
2017/05/21(日) 13:24:08.34ID:tU5Dlyyu168デフォルトの名無しさん
2017/05/21(日) 18:45:53.63ID:UuW+xgyM >>> var map = mapOf(1 to 10,2 to 20)
>>> map[3]
null
>>> var list = listOf(10,20)
>>> list[3]
java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
>>157の言う通り、究極的にはこのしょーもない内部仕様のせいである
この仕様を知ってるKotlinがmap作った時点で全要素Nullableにしてくれてるのだね
>>> var value = map[2]
>>> value
20
>>> value + 5
error: infix call corresponds to a dot-qualified call 'value.plus(5)' which is not allowed on a nullable receiver 'value'. Use '?.'-qualified call instead
>>> var value:Int = map[2]
error: type mismatch: inferred type is Int? but Int was expected
このへんも、Null安全のない言語から来た人はふんす!!ってなると思われ
>>> map[3]
null
>>> var list = listOf(10,20)
>>> list[3]
java.lang.ArrayIndexOutOfBoundsException: 5
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
>>157の言う通り、究極的にはこのしょーもない内部仕様のせいである
この仕様を知ってるKotlinがmap作った時点で全要素Nullableにしてくれてるのだね
>>> var value = map[2]
>>> value
20
>>> value + 5
error: infix call corresponds to a dot-qualified call 'value.plus(5)' which is not allowed on a nullable receiver 'value'. Use '?.'-qualified call instead
>>> var value:Int = map[2]
error: type mismatch: inferred type is Int? but Int was expected
このへんも、Null安全のない言語から来た人はふんす!!ってなると思われ
169デフォルトの名無しさん
2017/05/21(日) 20:26:44.09ID:9L9dm7b/170デフォルトの名無しさん
2017/05/21(日) 20:46:52.64ID:RH0jdAto 最終的に訴訟のネタにもなってるjavaを切り離す方向まで行かないんですかね。
171デフォルトの名無しさん
2017/05/21(日) 21:44:40.19ID:mFn/WD+c VMの問題なんだからいまさらどうしようもないだろ。
172デフォルトの名無しさん
2017/05/21(日) 22:54:56.67ID:1evlh7eH Ruby, JS などで、メソッドチェーンすると、
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、
メソッドチェーンはテストも、しにくい
nil オブジェクトから、メソッドを呼べないと言う、
No Method Error なんて、しょっちゅう起こるし、
メソッドチェーンはテストも、しにくい
173デフォルトの名無しさん
2017/05/22(月) 01:22:13.90ID:yjMvX9x8 素のkotlinでは使えるけどAndroidのkotlinでは使えないのってある?
174デフォルトの名無しさん
2017/05/22(月) 01:48:31.03ID:97nOcTMK Nullableかどうかは書き手が決められるのがステキとか言っておきながら
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
mapOfだと"暗黙の"Nullableになるように見えるのが初心者的にキモいという主張だろう
誰もNullableの有用性の議論などしてない
読点君には理解できんだろうが
175デフォルトの名無しさん
2017/05/22(月) 06:16:11.80ID:jD5FXPee >>170-171
VMじゃなくAPI(ライブラリ実装)の問題でしょ
Sun(現Oracle)の作った全Java APIを放棄してKotlinで一から作れば訴訟問題からは無関係になれる
まぁ、GoogleもJetbrainsもお互いに「お前がやれ」とか思ってそうだけど
Google: KotlinはJetbrainsのモノなんだから、JetbrainsがKotlin APIを整備するべき
Jetbrains: Java訴訟はGoogleの問題なんだから、GoogleがKotlin APIを整備するべき
VMじゃなくAPI(ライブラリ実装)の問題でしょ
Sun(現Oracle)の作った全Java APIを放棄してKotlinで一から作れば訴訟問題からは無関係になれる
まぁ、GoogleもJetbrainsもお互いに「お前がやれ」とか思ってそうだけど
Google: KotlinはJetbrainsのモノなんだから、JetbrainsがKotlin APIを整備するべき
Jetbrains: Java訴訟はGoogleの問題なんだから、GoogleがKotlin APIを整備するべき
176デフォルトの名無しさん
2017/05/22(月) 08:14:55.23ID:fxLikn6a map を実装する場合、普通は、2種類書く
そのキーが無い場合、
null を返すものと、例外をthrow するもの
nullable になるのは、null を返すもの
そのキーが無い場合、
null を返すものと、例外をthrow するもの
nullable になるのは、null を返すもの
177デフォルトの名無しさん
2017/05/22(月) 08:34:20.91ID:7g15jPZv178デフォルトの名無しさん
2017/05/22(月) 09:45:07.45ID:WLj9ZHQ7 >>177
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず
確かそのapiのインターフェース自体に著作権があるというのがoracleの主張だったはず
179デフォルトの名無しさん
2017/05/22(月) 09:46:09.30ID:jD5FXPee OpenJDKにもVM実装は含まれてるんだけどなw
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
Oracle JVMとOpenJDK JVMで微妙に要件や振る舞い違うって業界の人は頭抱えるけどまぁ誤差か
180デフォルトの名無しさん
2017/05/22(月) 09:46:23.44ID:NZ0IuE42 擬人化まだかよ
無能どもめ
無能どもめ
181デフォルトの名無しさん
2017/05/22(月) 09:52:42.83ID:WLj9ZHQ7 >>175
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
Androidのapiインターフェースの話をしてるんだからgoogleじゃない?
でもjavaと切り離すなんてできないだろうから、少しずつやってくしかないね。
コレクション系の独自実装とか始まったりして
swiftもobjective-cの文字列型とswiftの文字列型があってapiインターフェース呼び出しの際に暗黙の型変換が行われてた。
そんな感じになるのかな。かなりキモいけど
182デフォルトの名無しさん
2017/05/22(月) 18:40:23.05ID:jD5FXPee 「apiインターフェース」の「頭痛が痛い」みたいな表現、嫌いじゃない:D
>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね
>>160
その昔、Apple公式だからという点のみで流行ったSwiftという言語があってな・・・
あれも技術を知らない企画屋がそんな感じで企業内採用を提案したんだよな、嫌な事件だったね
183デフォルトの名無しさん
2017/05/23(火) 19:42:46.96ID:dGC6uRRV null非許容って使ってみると地味に結構不便だな…
今までとは根本的に設計方針を変えなきゃならないものがあるなぁ…
今までとは根本的に設計方針を変えなきゃならないものがあるなぁ…
184デフォルトの名無しさん
2017/05/23(火) 19:49:01.45ID:IihgumLk var a : String? = null
185デフォルトの名無しさん
2017/05/23(火) 20:27:48.65ID:oZAHFLLi 型安全でないnull使うより、その型のnull定数を定義するほうが楽だよ。
186デフォルトの名無しさん
2017/05/23(火) 20:49:32.53ID:Hx0L3jS4 val hoge;
{
{
187デフォルトの名無しさん
2017/05/23(火) 21:06:38.96ID:cBJ7DVw+ null参照の概念は10億ドル単位の過ちってそれ一番言われてるしなw
偉人の言葉を信仰心と共に信じるべし
偉人の言葉を信仰心と共に信じるべし
188デフォルトの名無しさん
2017/05/23(火) 21:36:52.74ID:gX8pe08F ぬるぽ
189デフォルトの名無しさん
2017/05/24(水) 01:18:07.88ID:9HF6LZlN190デフォルトの名無しさん
2017/05/24(水) 12:26:54.17ID:t8jtcsol intellij、if式を折りたたまないようにするオプションはどこですか?
191デフォルトの名無しさん
2017/05/24(水) 12:44:50.63ID:t8jtcsol >>189
たとえばintefaceのnotnullなプロパティを亜種的なクラスでnullableにオーバーライド、できないよねぇ。
個人レベルの開発ならそこらへんの曖昧さはかえって便利な場合もあったんだけどね。
まぁ最初から全部nullableにしちゃえば済む話だが9割の非nullに全部?なり!!を付けるのはキモい。
javaコードをそのまんまkotlinコードに移行は、できなくはないけどキモいコードになる。
たとえばintefaceのnotnullなプロパティを亜種的なクラスでnullableにオーバーライド、できないよねぇ。
個人レベルの開発ならそこらへんの曖昧さはかえって便利な場合もあったんだけどね。
まぁ最初から全部nullableにしちゃえば済む話だが9割の非nullに全部?なり!!を付けるのはキモい。
javaコードをそのまんまkotlinコードに移行は、できなくはないけどキモいコードになる。
192デフォルトの名無しさん
2017/05/24(水) 14:28:45.40ID:Fp8uMQ/t Λ_Λ \\
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>188
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >_Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>188
193デフォルトの名無しさん
2017/05/24(水) 15:15:47.70ID:9HF6LZlN >>191
わざわざnullableなプロパティを含むインターフェースを使う意味がわかんない。ちゃんとnullチェックして渡せば良いじゃない。
わざわざnullableなプロパティを含むインターフェースを使う意味がわかんない。ちゃんとnullチェックして渡せば良いじゃない。
194デフォルトの名無しさん
2017/05/25(木) 00:19:31.03ID:Mhkkcekf >>193
自分もそんなコードが欲しくなるとは予想しなかったけどな笑
nullであることを利用して動作変える派生クラスをkotlin化しようとして躓いたわ。
結局設計を変えることで対応したけどね。javaで使えてたトリッキーな手は使えなくなった不便さがあるね、便利さの陰に。
まぁ慣れの問題だが。
自分もそんなコードが欲しくなるとは予想しなかったけどな笑
nullであることを利用して動作変える派生クラスをkotlin化しようとして躓いたわ。
結局設計を変えることで対応したけどね。javaで使えてたトリッキーな手は使えなくなった不便さがあるね、便利さの陰に。
まぁ慣れの問題だが。
195デフォルトの名無しさん
2017/05/25(木) 04:40:51.77ID:FYZ1kIH6 androidだとonCreateで初期化するような変数はnullableにしなきゃいけないのかと思ってたけど、lateinitってあるのね
個人的にはそこそこ使うから@とかの記号にしてほしかったけど
個人的にはそこそこ使うから@とかの記号にしてほしかったけど
196デフォルトの名無しさん
2017/05/25(木) 06:20:09.08ID:5itOJ4P9 プロパティが、最初からデフォルト値を持っていたら、ダメなのか?
どうしても、nullが必要なのか?
どうしても、nullが必要なのか?
197デフォルトの名無しさん
2017/05/25(木) 08:51:21.17ID:iRBHnHtq nullオブジェクト使わないの?
198デフォルトの名無しさん
2017/05/25(木) 09:21:48.18ID:VyhgnQr+ 関数の戻り値の型ならnullable欲しいな
戻り値がnullになるとき毎回exceptionをthrowするのかって話
戻り値がnullになるとき毎回exceptionをthrowするのかって話
199デフォルトの名無しさん
2017/05/25(木) 09:23:32.29ID:E3n3KUhW え?ww
200デフォルトの名無しさん
2017/05/25(木) 09:37:46.25ID:VyhgnQr+ 例えば数値を文字列として格納してるデータをファイルとかDBとかから取り出すとき
その値は数値としてしか使わないけどもしかしたらnullな場合もある
getter関数作るのにgetterでは必ず文字列として取得して変換可能か判断してから数値にする処理を毎回するか変換できなかったらcatchするのか
そんな場合なnullableがあれば外からみた関数の使い方はシンプルにできる
その値は数値としてしか使わないけどもしかしたらnullな場合もある
getter関数作るのにgetterでは必ず文字列として取得して変換可能か判断してから数値にする処理を毎回するか変換できなかったらcatchするのか
そんな場合なnullableがあれば外からみた関数の使い方はシンプルにできる
201デフォルトの名無しさん
2017/05/25(木) 11:19:50.16ID:iRBHnHtq だからnullオブジェクトを用意して使えって。
型安全でないnullなんか窓から投げ捨てろ。
型安全でないnullなんか窓から投げ捨てろ。
202デフォルトの名無しさん
2017/05/25(木) 11:20:19.76ID:5itOJ4P9 入力欄のオプショナルな項目か
携帯電話を持っていれば、その番号を記入して、みたいな奴か
携帯電話を持っていれば、その番号を記入して、みたいな奴か
203デフォルトの名無しさん
2017/05/25(木) 11:26:27.67ID:/eJUHzjl 頭が時代についていってないようだなw
204デフォルトの名無しさん
2017/05/25(木) 22:55:58.94ID:HKNQp0n4 元々はアドレスだったことを思い出せば功罪がわかる
205デフォルトの名無しさん
2017/05/26(金) 05:24:14.29ID:Yn8sEtTn206デフォルトの名無しさん
2017/05/26(金) 07:38:30.45ID:Mhihnqx0 >>205
今時はなるべく完全コンストラクタを使って最初に一括で初期化し、
後は一切変更できないクラス設計が好まれるんだよ
C#は見境なく大量のgetsetプロパティを持つクラスを定義するバカが多いけど
今時はなるべく完全コンストラクタを使って最初に一括で初期化し、
後は一切変更できないクラス設計が好まれるんだよ
C#は見境なく大量のgetsetプロパティを持つクラスを定義するバカが多いけど
207デフォルトの名無しさん
2017/05/26(金) 09:51:12.09ID:5tQUvAE5 kotlin/nativeに期待
208デフォルトの名無しさん
2017/05/26(金) 10:10:41.46ID:5tQUvAE5 nullチェックはもうちょっと痒いところまで手が届くといいね
たとえば if(a == 0 && b?. == "hoge") {...} で2つめはnullならパスしてくれる
みたいに書けたら便利
たとえば if(a == 0 && b?. == "hoge") {...} で2つめはnullならパスしてくれる
みたいに書けたら便利
209デフォルトの名無しさん
2017/05/26(金) 10:24:21.56ID:Heb9aC5z nullを使わなければいいと思うよ
210デフォルトの名無しさん
2017/05/26(金) 11:15:12.27ID:+T40nrdw >>205
コンパイルエラーにできるものを実行時に処理するのは良くない設計だな。
型無しのnullを使うとコンパイルエラーに出来なくなる。
nullオブジェクトでも実行時エラーは処理できるから、必要ならそうすりゃいいし。
コンパイルエラーにできるものを実行時に処理するのは良くない設計だな。
型無しのnullを使うとコンパイルエラーに出来なくなる。
nullオブジェクトでも実行時エラーは処理できるから、必要ならそうすりゃいいし。
211デフォルトの名無しさん
2017/05/26(金) 11:16:41.50ID:4K0JCbpq いぐざくとりいい!
212デフォルトの名無しさん
2017/05/26(金) 12:12:06.77ID:5tQUvAE5 >>209 と、いわれても既存APIにはnullableだらけだからなぁ
213デフォルトの名無しさん
2017/05/26(金) 12:28:01.13ID:Heb9aC5z そのAPIの中はそれで良いと思う
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
今後作るAPIについては別に過去をなぞる必要はないとも思うよ
214デフォルトの名無しさん
2017/05/26(金) 12:46:21.42ID:ZNc2U8qB >>207
これってiosもうごくの?
これってiosもうごくの?
215デフォルトの名無しさん
2017/05/26(金) 22:05:46.36ID:xRlJL6be Kotlin/NativeをAndroid(NDK)で動かしたい
216205
2017/05/27(土) 00:21:30.12ID:q99eAiGg217デフォルトの名無しさん
2017/05/27(土) 00:39:18.95ID:IRYfzUqY tensorflowをサポートするらしいけど、どうせならpython自体を扱えるのを目指してくれたらいいのに
218デフォルトの名無しさん
2017/05/27(土) 06:06:26.16ID:q99eAiGg ハマったので備忘録程度に。
Kotlin/JSで@JsNameの使いどころは、公式ドキュメントでは
In some cases (for example, to support overloads),
となっているが、引数ありのトップレベル関数はoverloadしていなくても
@JsNameをつけないとトランスパイル後の名前が変えられる模様。
Kotlin/JSで@JsNameの使いどころは、公式ドキュメントでは
In some cases (for example, to support overloads),
となっているが、引数ありのトップレベル関数はoverloadしていなくても
@JsNameをつけないとトランスパイル後の名前が変えられる模様。
219デフォルトの名無しさん
2017/05/27(土) 07:44:00.03ID:3w92Yrys >>217
目指すの意味がさっぱり分からんけど、kotlinじゃなくjython使うのじゃダメなの?
目指すの意味がさっぱり分からんけど、kotlinじゃなくjython使うのじゃダメなの?
220デフォルトの名無しさん
2017/05/27(土) 18:48:51.46ID:q99eAiGg221デフォルトの名無しさん
2017/05/27(土) 20:22:15.32ID:IRYfzUqY そうそう、kotlinから直接pythonライブラリ使えたらいいなー、と。それだけ。
JetBrainsならやってくれそうなんじゃないかとw
jython、そうなんだよ、開発止まってない?
JetBrainsならやってくれそうなんじゃないかとw
jython、そうなんだよ、開発止まってない?
222デフォルトの名無しさん
2017/05/27(土) 20:26:08.40ID:IRYfzUqY >>215 そしてついにはJVMと決別とか
223デフォルトの名無しさん
2017/05/27(土) 20:30:57.73ID:3w92Yrys > CPythonのライブラリをKotlinから使いたい
JythonでPythonコード(CPythonのライブラリ)をJVM上に読み込んで
KotlinでJVM上に展開されたバイトコードを呼び出せば良いんでないの
という意味だったんだけど、そうじゃないんだろうかねぇ
他の在り様を考えたけど、どれも現実的でない構成になってやっぱり分からん
案1. KotlinコンパイラがPythonコードをコンパイルできるようにする => それJythonじゃん...
案2. JNIのサポート言語(C/C++)にPythonを新たに追加する => Oracleに言えよ...
案3. JVM, CPythonプロセス間をWSGI的なもので繋ぐ => もう何が何やら...
まぁ深く考えないで、素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
JythonでPythonコード(CPythonのライブラリ)をJVM上に読み込んで
KotlinでJVM上に展開されたバイトコードを呼び出せば良いんでないの
という意味だったんだけど、そうじゃないんだろうかねぇ
他の在り様を考えたけど、どれも現実的でない構成になってやっぱり分からん
案1. KotlinコンパイラがPythonコードをコンパイルできるようにする => それJythonじゃん...
案2. JNIのサポート言語(C/C++)にPythonを新たに追加する => Oracleに言えよ...
案3. JVM, CPythonプロセス間をWSGI的なもので繋ぐ => もう何が何やら...
まぁ深く考えないで、素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
224220
2017/05/28(日) 07:09:50.42ID:L+V4SXEt >>223がどの程度Pythonに詳しいかわからないけど、PythonのライブラリはPythonだけでなく
C言語などを混ぜて書かれていることも多いので、
> Pythonコード(CPythonのライブラリ)をJVM上に読み込んで
ということ自体ができないと思う(自分もそこまで詳しくないから確証はない)。
Pythonで書かれているライブラリでもPython3に移行しているので、Python2ベースのJythonには
使えないし。
あと>>223はJVM前提みたいだけど>>221はKotlin/NativeみたいにJVMから離れて
CPythonのインタプリタ上で(あるいはCPythonのAPIを呼び出しながら)Kotlinを実行する
ことを想定しているからかみあわないんだと思う。
> 素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
tensorflowはその通りだけど、>>217はそれ以外のScipyみたいなライブラリのことを
言っているんだと推測。
C言語などを混ぜて書かれていることも多いので、
> Pythonコード(CPythonのライブラリ)をJVM上に読み込んで
ということ自体ができないと思う(自分もそこまで詳しくないから確証はない)。
Pythonで書かれているライブラリでもPython3に移行しているので、Python2ベースのJythonには
使えないし。
あと>>223はJVM前提みたいだけど>>221はKotlin/NativeみたいにJVMから離れて
CPythonのインタプリタ上で(あるいはCPythonのAPIを呼び出しながら)Kotlinを実行する
ことを想定しているからかみあわないんだと思う。
> 素直にKotlinからtensorflowのJava APIを叩くのが一番楽だと思います
tensorflowはその通りだけど、>>217はそれ以外のScipyみたいなライブラリのことを
言っているんだと推測。
225デフォルトの名無しさん
2017/05/28(日) 08:47:56.63ID:1kfTQYrn >>221はKotlinコンパイラでPythonコードをコンパイルしたいって言ってるから一旦理解したが
>>224はCPythonコンパイラでKotlinコードをコンパイルしたいって言ってて草生える
別の人間の意見だからそれは良いんだけど、どっちにせよ馬鹿っぽい構成だな
Kotlin/NativeでJVMから離れても、
結局はKotlinランタイム, Pythonランタイムの2つの言語/プロセス間通信が必要で
他言語間通信はC言語を挟めというのがイマドキの現実的なI/F設計だろうに
そのC言語I/FにKotlin, Pythonのラッパーを噛ませるならギリギリ現実的か
Python2が3に移行してるって言うが、Googleが10年以上Python2に固執したせいで
ようやく最近Python2, 3が平行実装になった程度で完全移行は進んでないだろ...
Jythonなんかはその煽りで3への移行をやらず枯れきった性質だと思うぞ
>>224はCPythonコンパイラでKotlinコードをコンパイルしたいって言ってて草生える
別の人間の意見だからそれは良いんだけど、どっちにせよ馬鹿っぽい構成だな
Kotlin/NativeでJVMから離れても、
結局はKotlinランタイム, Pythonランタイムの2つの言語/プロセス間通信が必要で
他言語間通信はC言語を挟めというのがイマドキの現実的なI/F設計だろうに
そのC言語I/FにKotlin, Pythonのラッパーを噛ませるならギリギリ現実的か
Python2が3に移行してるって言うが、Googleが10年以上Python2に固執したせいで
ようやく最近Python2, 3が平行実装になった程度で完全移行は進んでないだろ...
Jythonなんかはその煽りで3への移行をやらず枯れきった性質だと思うぞ
226デフォルトの名無しさん
2017/05/28(日) 11:11:04.40ID:E43+dK8Z >>224 普通に空気読んでくれてありがとねー笑
>>225 現実に今すぐ俺がkotlinでPythonライブラリ使いたいと言ってるわけじゃないんで、見当違いだが詳しい解説ありがとねー
JBはiOSにもネイティブでkotlinを対応させようとしてるくらいだし
方向性としてすべての分野でkotlinを使えるようしようとの野心をもってるらしいし
もとものkotlinは産業用に開発してると謳ってるわけだけど
tensorflowに対応させるなんて発表聞けば、研究分野、この場合機械学習だけども、にも
ターゲットを広げたんかな、と
ならばいっそのことpythonライブラリ全般を使えるような開発をやってくれたら
さらにいろいろ広がるんじゃないか、とそういう期待
PyCharmとか出してるくらいだし
まぁ人的資源とかの関係もあるだろうから優先順位低いだろうけどね
googleだってもしかしてJVMと決別を視野に入れてkotlin/nativeを評価したのかもしらんし?
>>225 現実に今すぐ俺がkotlinでPythonライブラリ使いたいと言ってるわけじゃないんで、見当違いだが詳しい解説ありがとねー
JBはiOSにもネイティブでkotlinを対応させようとしてるくらいだし
方向性としてすべての分野でkotlinを使えるようしようとの野心をもってるらしいし
もとものkotlinは産業用に開発してると謳ってるわけだけど
tensorflowに対応させるなんて発表聞けば、研究分野、この場合機械学習だけども、にも
ターゲットを広げたんかな、と
ならばいっそのことpythonライブラリ全般を使えるような開発をやってくれたら
さらにいろいろ広がるんじゃないか、とそういう期待
PyCharmとか出してるくらいだし
まぁ人的資源とかの関係もあるだろうから優先順位低いだろうけどね
googleだってもしかしてJVMと決別を視野に入れてkotlin/nativeを評価したのかもしらんし?
227デフォルトの名無しさん
2017/05/28(日) 11:26:10.28ID:E43+dK8Z 現にFuture plansには入ってるんだよね、Data analysis and Scientific Computingが
どうやって実現する予定なのかはわからんけど
どうやって実現する予定なのかはわからんけど
228デフォルトの名無しさん
2017/05/28(日) 11:36:02.32ID:E43+dK8Z それとも何か?この科学技術計算ターゲットってのは
もしかしてイチからkotlinで科学技術計算ライブラリ
もしくはコミュニティまで作ろうってことなのか?
まさかtensorflowに対応で完結じゃあるまい?w
いずれにせよJBが近い将来どんな具体策を出してくるのか、非常に楽しみである
もしかしてイチからkotlinで科学技術計算ライブラリ
もしくはコミュニティまで作ろうってことなのか?
まさかtensorflowに対応で完結じゃあるまい?w
いずれにせよJBが近い将来どんな具体策を出してくるのか、非常に楽しみである
229デフォルトの名無しさん
2017/05/28(日) 12:40:24.58ID:ZXIsROaD JVMもPythonも知らない素人だった
相手した二人共これには苦笑い
相手した二人共これには苦笑い
230デフォルトの名無しさん
2017/05/28(日) 14:33:07.68ID:ew7wH7J4 kotlin見てみたけどこれscalaをオチンポ向けにした言語やな
231デフォルトの名無しさん
2017/05/28(日) 15:01:49.36ID:YXueBn2b オチンポ向け…
232デフォルトの名無しさん
2017/05/28(日) 15:13:25.48ID:SqJWukL/ >>230
詳しく
詳しく
233デフォルトの名無しさん
2017/05/28(日) 15:22:28.26ID:asHVM9Q4 全然知らないで書くけど
Javaと同等の事をKotlinで出来るの?
Javaと同等の事をKotlinで出来るの?
234デフォルトの名無しさん
2017/05/28(日) 17:38:26.84ID:9pcvjMzo できるんでないかな
Javaの呼び出しもシームレスにできるしな
Javaの呼び出しもシームレスにできるしな
235デフォルトの名無しさん
2017/05/28(日) 19:16:55.76ID:QwjzxVOm Kotlin = Scala + Groovy(Rubyも同じ)
Javaでは、nullを除去できない
Javaには、Primitive があるけど、
Kotlinでは、すべてがオブジェクト
Java ←変換可能→ Kotlin
クロージャのデフォルト引数は、it を使う
第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
toString, equals, hashCode の3種の神器を、最初から持っている、データクラスがある
Javaでは、nullを除去できない
Javaには、Primitive があるけど、
Kotlinでは、すべてがオブジェクト
Java ←変換可能→ Kotlin
クロージャのデフォルト引数は、it を使う
第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
toString, equals, hashCode の3種の神器を、最初から持っている、データクラスがある
236235
2017/05/28(日) 19:22:45.75ID:QwjzxVOm >Javaには、Primitive があるけど、
>Kotlinでは、すべてがオブジェクト
実行速度を上げるため、primitiveを使う方法もある
>Kotlinでは、すべてがオブジェクト
実行速度を上げるため、primitiveを使う方法もある
237デフォルトの名無しさん
2017/05/28(日) 20:49:50.31ID:ZXIsROaD 途中からJavaとの違いからKotlinの特徴になっててイマイチ、、、
とりあえず、Javaとおなじこと出来るでいいんでね
とりあえず、Javaとおなじこと出来るでいいんでね
238デフォルトの名無しさん
2017/05/28(日) 23:18:36.68ID:IZz0cLMX 初歩的な質問とかしていい?
ByteArray使いたいときって
val a = byteArrayOf(0x80.toByte(), 0xCA.toByte(), ...)
みたいに.toByte()ってつけなきゃいけないん?慣れるまで見づらいな…
ByteArray使いたいときって
val a = byteArrayOf(0x80.toByte(), 0xCA.toByte(), ...)
みたいに.toByte()ってつけなきゃいけないん?慣れるまで見づらいな…
239デフォルトの名無しさん
2017/05/28(日) 23:55:52.52ID:C6P4TIAg いろいろ考え方はあるのだと思うけども
なにかコレクションがあって、それ全てに何か処理をして返して欲しいときはmapが使える
>>> val array = arrayOf("aaa","bbb","ccc").map{ it.toUpperCase() }
>>> array
[AAA, BBB, CCC]
なにかコレクションがあって、それ全てに何か処理をして返して欲しいときはmapが使える
>>> val array = arrayOf("aaa","bbb","ccc").map{ it.toUpperCase() }
>>> array
[AAA, BBB, CCC]
240デフォルトの名無しさん
2017/05/29(月) 23:11:46.19ID:Vfa09dL5 >>238
Kotlinは通常キャストはされないが、byteはリテラルがないからかリテラルだけは型推論されて、
val bytes = byteArrayOf(0x01, 0x02)
というのは型検査を通る模様。
Kotlinは通常キャストはされないが、byteはリテラルがないからかリテラルだけは型推論されて、
val bytes = byteArrayOf(0x01, 0x02)
というのは型検査を通る模様。
241デフォルトの名無しさん
2017/05/31(水) 22:55:29.26ID:JH+W+dlz kotlinでjsってどんな感じ?
typescriptの型情報取り込めると知って
ちょっと気になってきた。
type scriptより関数型が強めだから幸せになれそう
typescriptの型情報取り込めると知って
ちょっと気になってきた。
type scriptより関数型が強めだから幸せになれそう
242デフォルトの名無しさん
2017/06/01(木) 10:14:24.94ID:2LgcCNqk hasteやGHCjsじゃ駄目なん?
243デフォルトの名無しさん
2017/06/01(木) 10:55:02.44ID:AXJF1Amn SwiftとKotlinでちょっと遅延評価リストを比較した
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+1}
//A 問題なし
println("A: "+ a.take(10).toList() )
//B 問題なし
println("B: "+ a.take(10).map{it*10}.toList() )
//C 問題なし
println("C: "+ a.filter{3<it}.take(10).toList() )
//D 問題なし
println("D: "+ a.map{it*10}.take(10).toList() )
//E 問題なし
println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
■Kotlin
オンラインコンパイラ: https://try.kotlinlang.org/
val a = generateSequence(0){it+1}
//A 問題なし
println("A: "+ a.take(10).toList() )
//B 問題なし
println("B: "+ a.take(10).map{it*10}.toList() )
//C 問題なし
println("C: "+ a.filter{3<it}.take(10).toList() )
//D 問題なし
println("D: "+ a.map{it*10}.take(10).toList() )
//E 問題なし
println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
244デフォルトの名無しさん
2017/06/01(木) 22:36:13.65ID:FF0Uww0g ファイルの整形処理で少しカジッてみたけど、ファイルIOはJavaのAPIと古い?関数と新しい?関数が混在してて、Googleの海をさ迷ったよw
kotlinのsequenceを返すreadLinesが欲しかったんだけど、見つけきれなかったので自作した。
既存であるのかな?
kotlinのsequenceを返すreadLinesが欲しかったんだけど、見つけきれなかったので自作した。
既存であるのかな?
245デフォルトの名無しさん
2017/06/01(木) 23:40:24.53ID:wljaouQ8 lineSequence()とかuseLines()とか?
246デフォルトの名無しさん
2017/06/02(金) 22:36:46.10ID:x3ElWORK androidアプリってscriptの方で作れますか?
kotlinc -script
kotlinc -script
247デフォルトの名無しさん
2017/06/04(日) 01:46:21.69ID:MOnNXU8r ヘイ親方質問
ファイルをShift_JISで保存してもUTF-8で保存しても
fun main(args: Array<String>){
println("日本語です")
}
が特段のオプションなしのkotlincでコンパイル可能で
特段のオプションなしkotlinでWindowsコマンドプロンプトに無事表示可能なんだけども
これはいったいどのへんが気を遣ってくれてるんですかね
ファイルをShift_JISで保存してもUTF-8で保存しても
fun main(args: Array<String>){
println("日本語です")
}
が特段のオプションなしのkotlincでコンパイル可能で
特段のオプションなしkotlinでWindowsコマンドプロンプトに無事表示可能なんだけども
これはいったいどのへんが気を遣ってくれてるんですかね
248デフォルトの名無しさん
2017/06/07(水) 14:34:22.11ID:SSzPpmQQ >>144-150
自己レス。データクラスを使った
data class Person(val age: Int, val name: String)
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println( it )
}
出力
Person(age=20, name=Alice)
Person(age=20, name=Kate)
Person(age=25, name=Dave)
Person(age=25, name=Tom)
自己レス。データクラスを使った
data class Person(val age: Int, val name: String)
val mlist: MutableList<Person> = mutableListOf( );
mlist.add(Person(25, "Tom"));
mlist.add(Person(25, "Dave"));
mlist.add(Person(20, "Kate"));
mlist.add(Person(20, "Alice"));
val sortedList = mlist.sortedWith(compareBy({ it.age }, { it.name }))
sortedList.forEach {
println( it )
}
出力
Person(age=20, name=Alice)
Person(age=20, name=Kate)
Person(age=25, name=Dave)
Person(age=25, name=Tom)
249デフォルトの名無しさん
2017/06/16(金) 14:28:27.40ID:xoha/0nR C#やってる人にとって凄く扱いやすかったりする?
ちなみに母ちゃんのあだ名がコトリン
ちなみに母ちゃんのあだ名がコトリン
250デフォルトの名無しさん
2017/06/16(金) 14:48:16.06ID:+s2fXv0/ 母ちゃんモダンな名前なんやね
251デフォルトの名無しさん
2017/06/16(金) 14:58:47.38ID:TF51QW3i 古都りん
252デフォルトの名無しさん
2017/06/16(金) 14:59:56.64ID:TF51QW3i 秋の奈良レンタサイクル“古都りん” - 奈良県自転車利用総合案内サイト
nara-cycling.com/rent-a-cycle/
nara-cycling.com/rent-a-cycle/
253デフォルトの名無しさん
2017/06/16(金) 15:20:11.64ID:dTWIGOSM >>247
kotlinじゃなくてJavaの仕様でしょ。
kotlinじゃなくてJavaの仕様でしょ。
254デフォルトの名無しさん
2017/06/19(月) 11:01:48.86ID:heYb3DeP なんでgoogleはkotlinをアンドロイドアプリの公式言語にしたの?
なんでgolangじゃないの?
オラクルとの訴訟もあるのにjavaを切ったほうがいいんじゃないの?
なんでgolangじゃないの?
オラクルとの訴訟もあるのにjavaを切ったほうがいいんじゃないの?
255デフォルトの名無しさん
2017/06/19(月) 12:12:39.67ID:xaFoAOZp java切ってどうなるか考えればわかるだろう
256デフォルトの名無しさん
2017/06/19(月) 21:05:24.63ID:snSfABSo257デフォルトの名無しさん
2017/06/21(水) 02:18:15.32ID:CAzvCkNY258デフォルトの名無しさん
2017/06/21(水) 02:21:47.43ID:CAzvCkNY >>256
これ。でも段階的にjavaに頼らないようにしていくのかもね。
コレクション系がandroid用に別実装になるとかあれは面白い。
あとオラクルにjavaから離れるアピールして圧力をかける政治的意図もあると思う
これ。でも段階的にjavaに頼らないようにしていくのかもね。
コレクション系がandroid用に別実装になるとかあれは面白い。
あとオラクルにjavaから離れるアピールして圧力をかける政治的意図もあると思う
259デフォルトの名無しさん
2017/06/21(水) 02:29:38.77ID:sE0qxZss JetBrainsうまうまってこと?
260デフォルトの名無しさん
2017/06/21(水) 02:33:39.09ID:jljDxrF/ Jetbrains買収あるか?
261デフォルトの名無しさん
2017/06/21(水) 02:59:48.56ID:CAzvCkNY むしろ、なんで買収しないんだろな。
つーかjetbrainが謎すぎて。
なんで一社であんなに幅広くide作れるのかが謎
つーかjetbrainが謎すぎて。
なんで一社であんなに幅広くide作れるのかが謎
262デフォルトの名無しさん
2017/06/21(水) 05:02:56.13ID:wPEHzi2i なんか怪しい力働いてるよなjetbrainsって
263デフォルトの名無しさん
2017/06/21(水) 07:39:22.48ID:MgLtlgFl 理解できないことを怪しいって言うのは悪い癖だぞ
264デフォルトの名無しさん
2017/06/21(水) 07:48:18.50ID:aInzLc5f 共通のベースに言語乗せてるだけだし、開発なんかほとんどオフショアだろ
265あ
2017/06/21(水) 08:05:49.79ID:iG5W0fvY Kotlin nativeも頑張ってるしな。
結構そっちにも期待。
結構そっちにも期待。
266デフォルトの名無しさん
2017/06/21(水) 10:55:07.74ID:GDsri7KT >>265
同意
同意
267デフォルトの名無しさん
2017/06/22(木) 01:10:45.12ID:77+4f1XL >>265
これが本格的に動き始めたらswiftの存在意義が、、、、、無くなるよね
これが本格的に動き始めたらswiftの存在意義が、、、、、無くなるよね
268デフォルトの名無しさん
2017/06/22(木) 07:18:08.18ID:Ti1xVgu4 ラットナーがjetbrainsに転職するってマジ?
269デフォルトの名無しさん
2017/06/22(木) 09:16:59.96ID:yA4QDZF/ >>267
swiftのが言語仕様は優れてる
swiftのが言語仕様は優れてる
270デフォルトの名無しさん
2017/06/22(木) 09:32:44.22ID:6k72kRRJ Swift on Androidが地味に進んでるからそっちも期待
一定量の完成度が見込めたらKotlinから移行するのも良いかも
一定量の完成度が見込めたらKotlinから移行するのも良いかも
271デフォルトの名無しさん
2017/06/22(木) 11:33:55.45ID:szHtJQ50 >>270
地味に進んでるって、Xamarin Androidのように、SwiftからJavaのAndroid APIを呼び出す仕組みが用意されつつあるの?
それが出来なきゃKotlinの代わりにはならんよ
地味に進んでるって、Xamarin Androidのように、SwiftからJavaのAndroid APIを呼び出す仕組みが用意されつつあるの?
それが出来なきゃKotlinの代わりにはならんよ
272デフォルトの名無しさん
2017/06/22(木) 12:05:57.96ID:E8iNX+8Y kotlin/nativeでndkを使いたい
sdk側とndk側で同じ言語使えたら開発楽だと思う
sdk側とndk側で同じ言語使えたら開発楽だと思う
273デフォルトの名無しさん
2017/06/22(木) 12:16:58.77ID:szHtJQ50 >>272
それ何のためにNdk使うの?
それ何のためにNdk使うの?
274デフォルトの名無しさん
2017/06/22(木) 13:02:54.50ID:6k72kRRJ Kotlin.NativeからObjCが叩けるようになるのが先か
SwiftからJavaが叩けるようになるのが先か
どっちも現実的にはないわな
まぁそれでも言語/フレームワークの開発が絶賛進行中のSwiftの方に夢があるかな
SwiftからJavaが叩けるようになるのが先か
どっちも現実的にはないわな
まぁそれでも言語/フレームワークの開発が絶賛進行中のSwiftの方に夢があるかな
275デフォルトの名無しさん
2017/06/22(木) 13:14:48.12ID:3yY7lcXH >>273
画像加工とかはndkで処理したい
画像加工とかはndkで処理したい
276デフォルトの名無しさん
2017/06/22(木) 14:17:05.90ID:szHtJQ50277デフォルトの名無しさん
2017/06/22(木) 19:32:17.15ID:eBYfVtnR >>276
llvmのコード吐くんじゃないの?
llvmのコード吐くんじゃないの?
278デフォルトの名無しさん
2017/06/22(木) 19:42:12.44ID:wKDRovrw いやJVMは十分速いよ?
C++でもJavaと同じように書いたらパフォーマンスは大差ない
C++が速くなるのは低レベルな汚いハックができるからで、それができないならあまり意味がないということだろ
C++でもJavaと同じように書いたらパフォーマンスは大差ない
C++が速くなるのは低レベルな汚いハックができるからで、それができないならあまり意味がないということだろ
279デフォルトの名無しさん
2017/06/22(木) 19:55:38.89ID:mgpLFN+F >>277
kotlinから変換されたllvmコードは、kotlinの言語仕様を満たすために、
例えばメモリ管理はガベージコレクションが前提となるから
その為の少し大きめなランタイム付いてくるはず
境界チェックのようなc++なら省略できるコードも漏れなく付いてくるはず
kotlinから変換されたllvmコードは、kotlinの言語仕様を満たすために、
例えばメモリ管理はガベージコレクションが前提となるから
その為の少し大きめなランタイム付いてくるはず
境界チェックのようなc++なら省略できるコードも漏れなく付いてくるはず
280デフォルトの名無しさん
2017/06/22(木) 22:21:35.91ID:3yY7lcXH281デフォルトの名無しさん
2017/06/23(金) 09:47:11.55ID:hp7X3mpn それは言語の違いではなくアルゴリズムの違いではなかろうか
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
もしくはJavaヒープ/Nativeヒープの性能差分ならByteBufferを使う手もある
そこまで考慮するくらいなら素直にC/C++使った方が幸せだけど
ByteBufferはGC走りづらいから性能良いんだけど普通は使わないよねぇ
282デフォルトの名無しさん
2017/06/23(金) 10:01:06.35ID:9PTuVR6v ByteBuffer(もしくはそれと同様の使い方をするプリミティブ配列)がGCの性能に大きな影響を与えるって一体どんな状況?
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
バッファは長時間使い回すんだからGCなんかほとんど関係ないだろ
GCの負担になるほど頻繁に生成しまくるとかアホなことしてるとしても、その場合はネイティブヒープの方が割当時のオーバーヘッドの分かえって遅くなりそうだし
283デフォルトの名無しさん
2017/06/24(土) 03:52:32.49ID:QlqTymbl メモリ管理とかよりさ
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
JVMやDEXの中間コードからJITされたコードの場合、SIMDとかの特殊なCPU命令はまず使ってくれない
つまり十分に最適化されたネイティブコードに勝てる見込みはまずない
最適化されたライブラリの一つであるlibjpeg-turboみたいなのをアプリから使うときに
libjpeg-turboのAPIを一つ一つJNIでラップするのと
libjpeg-turboのAPIをNDKで利用してからアプリ固有のAPIだけJNIでラップするのと
どっちがリソース管理が楽かは言うまでもない
この「NDKで利用して」をKotlin Native でより安全に書けるのなら、価値はありそうだな
284デフォルトの名無しさん
2017/06/24(土) 04:16:45.08ID:qquEaJ2M んなこたない。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
JITでSIMDぐらい普通に使われるし、
むしろ事前に最低限サポートするCPUを決めてそれに足を引っ張られる事前コンパイルより、実行しているCPUの拡張命令を最大限使えるJITの方が効率的なコードになる事もある。
285デフォルトの名無しさん
2017/06/24(土) 06:57:58.73ID:bDbRpy30 どっちなのさ!
286デフォルトの名無しさん
2017/06/24(土) 09:27:02.16ID:32e8D3Wy JITコンパイラの性能次第
287デフォルトの名無しさん
2017/06/24(土) 09:54:27.72ID:LXfJ84Bv Dalvik, ARTどころかOracle JVMですらSIMDは扱うよ
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
>>282
俺が使った時は、Androidでnew byte[1024]がOutOfMemoryでByteBuffer.allocate(1024)は通るような状況(実際は1KじゃなくM単位
画像加工を試みたんだけどbyte配列のままで処理しようとしたら分割操作が必要になってクッソ重たいのwww
288デフォルトの名無しさん
2017/06/24(土) 10:51:37.84ID:iOfeax4r ByteBufferのAPI嫌いだな
Javaの過剰設計の伝統ここに極まれりって感じ
Javaの過剰設計の伝統ここに極まれりって感じ
289デフォルトの名無しさん
2017/06/24(土) 15:08:57.88ID:LXfJ84Bv NIOが出た当初も評判良くはなかったよねー, ないと困ることは確かにあるんだけど必要とする人は少ないし
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
それでも当時は仮想マシンを謳うくせにこんな基本機能もないのかよって風聞で過剰どころか不足と言われ
1.4は標準ライブラリを大量に追加しようってリリースだったから仕方ない
290デフォルトの名無しさん
2017/06/26(月) 14:38:34.02ID:Wfn5YHgL ByteBufferはdirectがあるからまぁ必要。
291デフォルトの名無しさん
2017/06/27(火) 08:01:46.32ID:7qLYNCF8 間接的にお世話になってることも知らずに文句言ってるアホばっか。
292デフォルトの名無しさん
2017/06/27(火) 08:19:48.98ID:p7AYCZKI エンジン構造も知らずに車に文句付けてるってくらい論点が異なるよ
使う側であれば別に中身を意識しなくていいんだよ
使う側であれば別に中身を意識しなくていいんだよ
293デフォルトの名無しさん
2017/06/27(火) 08:45:00.53ID:+gpX7LUM >>288とかはエンジンなんて車にいらねーって言ってるんだけどなw
294デフォルトの名無しさん
2017/06/27(火) 12:59:12.87ID:thSLzROj APIに文句言ってるだけじゃね
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
Javaが使いにくいからとKotlin使ってるお前らにそれを批判する資格はない
295デフォルトの名無しさん
2017/06/27(火) 14:24:44.78ID:xkXC4vKS 実際問題java apiからkotlinを切り離すのはわりと簡単だったりするの?
google内で独自apiを作ってたりして
google内で独自apiを作ってたりして
296デフォルトの名無しさん
2017/06/27(火) 16:52:29.37ID:rNyRMSOh 余裕やろうな
やる価値があるかは別として
やる価値があるかは別として
297デフォルトの名無しさん
2017/06/27(火) 17:26:00.35ID:JXIPCy9a 技術云々でなく普及のための絡みで難しそうだな
298デフォルトの名無しさん
2017/06/27(火) 19:50:52.50ID:GY2ar0Yu Java APIじゃなくJava Libraryだとするなら、そこを切り離して実用に耐えるにはJava1.4くらいには過剰設計しないと無理じゃね
299デフォルトの名無しさん
2017/06/28(水) 03:27:10.10ID:4SuBLGV6300デフォルトの名無しさん
2017/06/28(水) 03:57:50.54ID:ULDUfAbu GoogleとOracleってまだちょっと揉めてるん?
301デフォルトの名無しさん
2017/06/28(水) 09:52:23.47ID:1HRXLIL1 >>299
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
またOracleから技術をパクれは余裕綽々よ
しかし、あれは酷かったよなw
JVMのスポンサー/共同開発に名を連ねたと思ったら
その数年後にAndroid発表してSun JVMじゃなく自前のDalvik VM使うからwwwってSunを切り捨てる暴挙
そりゃ技術をパクられたSun(Oracle)はブチキレるわ
Googleはもうパクらないだろうから、Jetbrainsがパクることを期待しようか
302デフォルトの名無しさん
2017/06/28(水) 11:09:49.25ID:fPVyfCmw >>301
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
Androidは何もパクってないが
捨てられたApache Harmonyを引き継いだだけやし現時点ではOpenJDKになるってし
元を正せばOSS化を進めてたウンコOracleが突然APIのライセンスだなんだ
303デフォルトの名無しさん
2017/06/28(水) 11:10:28.02ID:fPVyfCmw と喚き散らしたことのほうがどう考えても筋違いや
Oracleはキチガイ集団
Oracleはキチガイ集団
304デフォルトの名無しさん
2017/06/28(水) 12:55:43.96ID:n0wEK4ez 当時、Sun JVMはクローズドソースでVMの中の人どころか、Java層のAPIも非公開だったろ...
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
ノウハウパクっておいてApache JVMから引き継いだだけだからってのは盗人猛々しいわw
305デフォルトの名無しさん
2017/06/28(水) 13:02:32.04ID:WVoz31+g >>304
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
JavaのAPIが非公開だったってそれまでJavaプログラマは何を見て書いてたんだよ。
306デフォルトの名無しさん
2017/06/28(水) 13:09:21.41ID:1HRXLIL1 面倒な奴だなぁ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
APIとLibraryを区別する気はないのかと思ったら、そこは区別するのかよ
307デフォルトの名無しさん
2017/06/28(水) 13:45:27.56ID:fPVyfCmw308デフォルトの名無しさん
2017/06/28(水) 16:04:17.62ID:1HRXLIL1 だーかーらー、>>301で言っているだろ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
クローズドソースのSun JVMに首突っ込んで、自前のJVM実装のリリースに走ったのを悪行と言っている
当時もJVM自体はGNU, Apache, MSと多様に存在してたし、独自のJVMを作る自体は気にしないけど
仲良くしようぜーって近づいて技術を盗み見るのをパクったと表現しているんだ
自前のJVM作ろうが、JVM上で動く別言語作ろうが一向に構わんが、あの時のGoogleの行為は大笑いだったんだぜ
309デフォルトの名無しさん
2017/06/28(水) 17:10:45.64ID:woJsJzbY 結局フェアユースという落ちが付いたろ。判決はどこまで確定したっけ?
310デフォルトの名無しさん
2017/06/28(水) 17:18:12.30ID:KUDOoNV3 Googleはライセンス料を回避するためDalvikを作った
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
Oracleが訴訟起こしたのはGoogleから和解金や継続的なロイヤルティーを得るため
金vs金
GoogleがOracle JVMでなくApache Harmonyをベースに開発したため
OracleはソースコードでなくAPIの著作権という方向からDalvikの権利を押さえに掛かった
今のところ訴訟バトルはGoogle有利に進んでいる模様
311デフォルトの名無しさん
2017/06/28(水) 17:24:37.74ID:KUDOoNV3 訂正
特許とAPIの著作権
特許とAPIの著作権
312デフォルトの名無しさん
2017/06/28(水) 19:19:21.21ID:xWBVVuch しかし何れにせよ、Androidが無かったらJava(及びそのエコシステム)はもっと廃れてたはずだよね
313デフォルトの名無しさん
2017/06/28(水) 20:01:24.52ID:gsVJZ8oO JDKのライブラリ群は30年ぐらい前の発想で作られた頭が痛くなりそうな
APIも多いのでKotlinでJDKと別にモダンなコアライブラリ
作ってくれるならとても嬉しい
APIも多いのでKotlinでJDKと別にモダンなコアライブラリ
作ってくれるならとても嬉しい
314デフォルトの名無しさん
2017/06/28(水) 20:13:20.22ID:R8FO3Rrv >>312
androidが何に寄与したって?w
androidが何に寄与したって?w
315デフォルトの名無しさん
2017/06/28(水) 20:17:07.79ID:kl/WEkBu >>312
Javaの市場はほぼ100%エンタープライズとWebが占めててAndroidなんかカスみたいなもんだぞ
Javaの市場はほぼ100%エンタープライズとWebが占めててAndroidなんかカスみたいなもんだぞ
316デフォルトの名無しさん
2017/06/28(水) 20:20:40.71ID:woJsJzbY javaはヌルポ排除できない時点でだめだよな。
317デフォルトの名無しさん
2017/06/29(木) 00:16:43.10ID:OxDWNayQ >>316
だからKotlinが生まれたんだっけな
だからKotlinが生まれたんだっけな
318デフォルトの名無しさん
2017/06/29(木) 11:02:50.69ID:7tq2Nu14 Kotlinでヌルポ起きないってギャグにしては古すぎる・・・
319デフォルトの名無しさん
2017/06/29(木) 11:39:09.06ID:FObp9uyg オプショナルを正しく使ってればヌルポなんて起きようがないんだがw
320デフォルトの名無しさん
2017/06/29(木) 11:40:38.32ID:pdm0wtJX ニュアンスとか前提の差で話が噛み合ってない気が
321デフォルトの名無しさん
2017/06/29(木) 11:47:39.86ID:JFxFowh1 ぬるぽは既存のライブラリやフレームワークから飛んでくるからKotlinを使ったところで解決にならないんだよなあ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
自分で書いた範囲ならJavaでもぬるぽなんて滅多に出さないわ
322デフォルトの名無しさん
2017/06/29(木) 12:00:09.83ID:pdm0wtJX テストあるからJava1.4でもClassCastExceptionは滅多に出さない的な
323デフォルトの名無しさん
2017/06/29(木) 12:22:12.95ID:7tq2Nu14 プリベリファイ要求してたMobileのJava1.3は偉大だったんだなって
324デフォルトの名無しさん
2017/06/29(木) 12:28:25.79ID:JFxFowh1 >>322
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
そういう問題じゃない
Javaのライブラリにおいて引数にnullが渡されそれが不正値であるときに発生する例外は何か? →たいていぬるぽ
Javaのライブラリにおいて属性の値がnullでそれが不正値であるときに発生するエラーは何か? →だいたいぬるぽ
明示的なチェックを怠りランタイムエラーに頼るこの糞習慣がある限りぬるぽは決して無くならない
325デフォルトの名無しさん
2017/06/29(木) 13:21:35.51ID:FObp9uyg >>321
んなことは言わなくても全員わかっとる
んなことは言わなくても全員わかっとる
326デフォルトの名無しさん
2017/06/29(木) 14:39:25.51ID:JUVsJKjr そもそもテストを書けばぬるぽの9割は生まれる前から死ぬ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
しかしそれでもテストをしないできないすり抜けるからこそ静的言語コード本体に「テスト機能」をつけたのだよ
人間とは間違うものなのだ
327デフォルトの名無しさん
2017/06/29(木) 15:15:09.10ID:Xwk4Fgx6 Javaのライブラリにおいて引数に配列上限値が渡されそれが不正値であるときに発生する例外は何か? →たいていあれいいんでっくすあうとばうんど
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
Javaのライブラリにおいて配列の要素値がマイナス値でそれが不正値であるときに発生するエラーは何か? →たいていあれいいんでっくすあうとばうんど
配列操作を安全に操作できないKotlinはJavaと同じレベルで糞だな
ヌルポだけがバグの原因だと思ってるアホは置いといて、やっぱテストフレームワークを充実させたJUnitは偉大だわ
328デフォルトの名無しさん
2017/06/29(木) 15:20:20.01ID:W0uOcXiB なんだこいつw
329デフォルトの名無しさん
2017/06/29(木) 19:47:56.73ID:zX+YoTjc330デフォルトの名無しさん
2017/06/29(木) 20:58:35.28ID:UEgl5Zip Sunが死んだ
太陽が死んだ
太陽が死んだ
331デフォルトの名無しさん
2017/06/29(木) 21:19:35.80ID:cCrWWcTS 日本語で書かれた Kotlin に関するいい感じのチュートリアルってない?
332デフォルトの名無しさん
2017/06/29(木) 21:34:38.83ID:pdm0wtJX 書いて覚えろ
333デフォルトの名無しさん
2017/06/30(金) 00:28:01.26ID:56/qVjC+ >>331
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
情熱、自己顕示、小遣い稼ぎ、まあ理由はなんでもいいんだけど自分でちょろっと記事でも書いてみようとするとよくわかる
・Java入門
・Kotlin詳説
・よくわかるIntelliJ
・10日で学ぶAndroidプログラミング
あたりをごっちゃまぜにしたものが必要になる
ぶっちゃけとてもめんどくさい
334デフォルトの名無しさん
2017/06/30(金) 01:58:55.10ID:q+HYO1HC チュートリアルならKotlin Koansやるのが一番じゃない?
Webでも手軽に出来るしIDEAにも専用のプラグインがある
Webでも手軽に出来るしIDEAにも専用のプラグインがある
335デフォルトの名無しさん
2017/06/30(金) 10:50:35.57ID:TsXJhClE あれいいんでっくすあうとばうんどは、0除算並みの恥ずかしいミス。
nullpoとは次元が違うわw
nullpoとは次元が違うわw
336デフォルトの名無しさん
2017/06/30(金) 11:53:55.60ID:0zGLF76x >>334
webのやつってなんか重くないですか?
webのやつってなんか重くないですか?
337デフォルトの名無しさん
2017/06/30(金) 13:36:42.47ID:tesV9X+3 そんなんローカルに持ってきてやればよろしいがな
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
IntelliJ入れてあるならプラグインがある
コマンドラインしかないなら…、まあ、IDEなしは初心者であるからこそ積極的には勧めないんだけども、
コマンドラインしかないならgitで持ってきてテストが通るようにスクリプト本体編集すればいい
えっコマンドラインからテストするやり方がわからない?
338331
2017/06/30(金) 13:58:27.40ID:svEzz20W339デフォルトの名無しさん
2017/06/30(金) 14:35:57.92ID:5/+9iJSz 自分用でなく他の人用という話だったら
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
Chromeなどでのページ翻訳+原文で頑張る方法を勧める
340デフォルトの名無しさん
2017/06/30(金) 14:52:56.61ID:tesV9X+3 >>331
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
あるかどうかで言えば「まだないです」
Kotlinは基本的にはただのJavaなので、上にもあるけどJavaの基本知識(を教えるだけの余裕)が必要なのでちゃんとした入門制作はハードルが高い
巷の日本語ページがスタートブックすら超えられてないのはそのへんが理由
そしてスタートブックですら初心者全く掬えてない
助走読本はとても頑張ってるけれど、助走ゴールな気がちょっとしなくもない。これはやっぱりJavaが悪いので仕方がない
ttps://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view
341デフォルトの名無しさん
2017/06/30(金) 15:08:07.12ID:svEzz20W >>340
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
なるほど。
Java の資産を使えるメリットと引き換えに Java の知識が必要ってことね。
というか、 Java をマシに使える言語って感覚なのかな。
私は Scheme (LISP 系言語) を普段使いしてるので同じく LISP 系言語である Clojure を検討してたんだが、
やっぱり Java の知識が必要で、しかし Java について全然知らないので他の系統はどうなんかなと思って
このスレに来た次第。
やっぱりそう簡単にはいかんか……
342デフォルトの名無しさん
2017/06/30(金) 15:20:46.15ID:5/+9iJSz 何に困ってるのか分からない
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
その辺の経験あるなら手動かせば身に付くまで大して掛からないだろう
343デフォルトの名無しさん
2017/06/30(金) 15:38:15.91ID:O4IQOzV/ googleのやるべきことはFWを全てkotlinに書き換えることやな
344デフォルトの名無しさん
2017/06/30(金) 16:02:16.24ID:2Da2vksV 英語読めない奴がLISPとかすげえな
やってて死にたくならない?
やってて死にたくならない?
345デフォルトの名無しさん
2017/06/30(金) 16:17:39.99ID:O4IQOzV/ >>341
つhaskel
つhaskel
346デフォルトの名無しさん
2017/06/30(金) 16:43:11.20ID:svEzz20W347デフォルトの名無しさん
2017/06/30(金) 17:11:37.52ID:0PkxBZJ1 >>335
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
RuntimeExceptionの子クラスの例外は総じて同レベルで恥ずかしいんだが
原則、どれもパラメータチェックしてないから発生する例外だからな
むしろ、ヌルポが一番恥ずかしくて、それが起きないようにオプショナルがあるんだと思ってる
348デフォルトの名無しさん
2017/06/30(金) 17:59:28.75ID:2uOE1xo7 Javaがクソなのと、クソの処理をしないプログラマがマヌケなのは別の話。一緒にすんな。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
Optionalはその変数がnullでないことをコンパイル時に保証できたっけ?
実行時コストをかけて解決するのは鈍臭い。
349デフォルトの名無しさん
2017/06/30(金) 18:12:49.54ID:0PkxBZJ1 そのクソの処理をしないプログラマでも安全にコーディングさせるためにオプショナルがあるんだよ...
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
オプショナルがあるからヌルポが起きないわけでもないから完全に安全とは言えんがまぁ言及すまい
350デフォルトの名無しさん
2017/06/30(金) 21:30:17.46ID:2uOE1xo7 >>349
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
まともな言語なら(c++でさえ)コンパイル時に済ませられるのを、わざわざ実行時にチェックしなきゃいけないのは鈍臭い、つうこと。
351デフォルトの名無しさん
2017/07/01(土) 06:09:20.91ID:v+Q0wrxJ 全く噛み合ってなくてワロタ
どんだけ崇拝してるんだかwww
どんだけ崇拝してるんだかwww
352デフォルトの名無しさん
2017/07/01(土) 12:59:00.78ID:qNm5JQD+ C++でヌルポが起きないってマジ?w
353デフォルトの名無しさん
2017/07/01(土) 15:33:59.29ID:v+Q0wrxJ Rustだとガチでヌルポが起こせないゾ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
オプショナルとかいう中途半端なモノを誇ってるKotlinとは格が違う
まぁ他の面倒が多くて全く勧められるものじゃないけど
オプショナル()だけで素晴らしいとか絶賛してる子は他にメリットを見出してどうぞ
354デフォルトの名無しさん
2017/07/01(土) 15:53:26.04ID:KyLBHjPn トレイリングクロージャ無いと死ぬマン
355デフォルトの名無しさん
2017/07/01(土) 20:36:50.31ID:M8KylmXN ここまで、lazy 初期化の話が出ないw
356デフォルトの名無しさん
2017/07/01(土) 21:29:59.25ID:SoXb9Q80 ヌル安全つうのはモダンな言語じゃ標準装備なんじゃろ?
357デフォルトの名無しさん
2017/07/02(日) 13:51:47.79ID:RlGcb3P/ >>338
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
Koansとか英語読めなくても(読まなくても)分かるんだが…
メインはKotlinのソースコードで説明読めないなら問題と答えを比べて見るだけで基本的な構文は勉強出来るし
そもそもプログラミング自体の理解が浅いならJavaとかから始めないと例え日本語の解説あっても分からんと思うよ
358デフォルトの名無しさん
2017/07/02(日) 23:49:50.72ID:ynDhLM7Z Java + Groovy = Kotlin
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
つまり、Javaに関数型を付けた言語だから、
最初に、オブジェクト指向を学ぶ必要があるから、かなり大変
まずこの本で、オブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
WEB+DB vol.94 の特集が、Kotlin, Electron
Try Kotlin のサイトで、ブラウザからプログラミングできる
359デフォルトの名無しさん
2017/07/03(月) 00:00:56.60ID:MkRtof65 ここまで出張して来たか、、、
360デフォルトの名無しさん
2017/07/03(月) 00:27:08.93ID://L4zw1o sageじゃない時点でスルーでいいよ
361デフォルトの名無しさん
2017/07/03(月) 00:37:26.98ID:MkRtof65 NGワード:スッキリわかる
362デフォルトの名無しさん
2017/07/03(月) 06:33:05.51ID:4ljd5V+p Kotlin.NativeよりSwiftのが使えるって本当?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
Kotlin.Nativexはキーワードばかり散見されて実質何がどこまで完成してるのか分からんのだが
SwiftはWin, *nix, Androidで普通に動くようになってるけど、Kotlinはそこまで至ってないんだよね?
363デフォルトの名無しさん
2017/07/03(月) 08:38:14.08ID:mDI6RaMX swiftって仕様安定したの?
364デフォルトの名無しさん
2017/07/03(月) 09:06:19.84ID:8rVktY+j おおよそ
365デフォルトの名無しさん
2017/07/03(月) 09:13:44.93ID:4ljd5V+p Kotlin/NativeのCとの連携ってJNIを踏襲するんじゃなくて、現在進行形で独自I/F仕様を作ってるっぽいな
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
一応、Linux, Mac, Winで動くようだけど完成度はSwiftのがまだマシだ
366デフォルトの名無しさん
2017/07/03(月) 12:50:39.71ID:v2mMhpE7 いまさらJNIはないだろ。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
JVMの方も10か11でJNIに代わるNative対応が予定されているし。
367デフォルトの名無しさん
2017/07/03(月) 15:28:28.68ID:BBsEUtpT なおさら踏襲しとけよと思わなくもないな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
Kotlin/NativeのNative I/F
Java9以前, KotlinのJNI
Java10以降のFFI
と仕様が乱立するのか・・・
Kotlinって仕様安定してないのな
368デフォルトの名無しさん
2017/07/03(月) 18:16:02.56ID:tIUw+Kxj JNI踏襲とか無いわ
そうしたいなら普通にJava使っとけば良いと思う
そうしたいなら普通にJava使っとけば良いと思う
369デフォルトの名無しさん
2017/07/04(火) 09:13:03.70ID:ETZVte8W KotlinがJNIを踏襲していることは知らないのか、知ってて度外視なのか
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
Kotlin/NativeアゲのためにKotlinを蔑んでちゃどうしようもないな
370デフォルトの名無しさん
2017/07/04(火) 15:17:21.36ID:FOvT7Dr6 Kotlin/Javaが使うのは何でもないこと。
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
もしKotlin/NativeがJNI使うとしたら、それどこのXamarinだよってことだろw
371デフォルトの名無しさん
2017/07/04(火) 16:48:31.76ID:E7VHi3Qh JNIのI/F踏襲して
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
external fun fgetc(file: CPointer) char;
とかでいいじゃんっつーね
externalの先はわざわざVM/Runtimeかます必要はなくてCに繋げればいい
Kotlin/NativeのNative I/FはC++に対応してないようだし
後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
C++に対応するならまぁアリかと思うけどないんだろうしね
372デフォルトの名無しさん
2017/07/04(火) 18:27:25.69ID:kEoD/tXz >Cに繋げればいい
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
ならJNI要らないじゃん
JNI踏襲ならJNIEnvの実装必須でしょ
C++対応とか正気かよ
C++同士でさえコンパイラやバージョン違いで
マングリングが異なってリンク不可能だからCリンケージ使うのに
373デフォルトの名無しさん
2017/07/04(火) 19:45:38.53ID:E7VHi3Qh I/Fとランタイムの区別が出来てない
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
まぁ>>368とかもJavaとKotlinとKotlin/Nativeと区別してないからその程度なんだろうけど
> C++対応とか正気かよ
Rustのアホはbindgenって補完ツールで実現したぞ
他言語では見たことないから当然Kotlinもナイと思ってる, 後発なんだから検討はして欲しいけどねー
374デフォルトの名無しさん
2017/07/04(火) 19:58:52.39ID:G1Se2kAk javaに触らずにkotlinだけでandroid開発できるようになんないかな
375デフォルトの名無しさん
2017/07/04(火) 19:59:34.67ID:bn9cQclE なればいいね
376デフォルトの名無しさん
2017/07/04(火) 20:44:06.85ID:kEoD/tXz377デフォルトの名無しさん
2017/07/04(火) 22:22:00.36ID:A9sYzzwp >>374
5年後にバージョン3とかになればなんとか…
5年後にバージョン3とかになればなんとか…
378デフォルトの名無しさん
2017/07/05(水) 11:03:55.64ID:BRC1acOi スマホアプリの言語ぐらい統一して欲しい
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
googleとappleで話し合えないのかねぇ
mac以外でもios用のアプリ製作からリリースまで最後まで出来るようにしてほしいよねぇ
379デフォルトの名無しさん
2017/07/05(水) 11:08:55.38ID:PFivIsqu >>378
統一したいならC#
統一したいならC#
380デフォルトの名無しさん
2017/07/05(水) 12:07:39.48ID:Ejf+K2GI Appleの昔から自分たちのプラットフォームにユーザーを囲いこんで、他のプラットフォームからの鎖国という考え方
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
Googleは自分たちのサービスを他のプラットフォームでも利用してもらってユーザーを増やし、収益を伸ばしたい考え方
統一でという方向で動く時、どちらがそれを拒んだり我を通した条件を突きつけてくるかは明白
381デフォルトの名無しさん
2017/07/05(水) 12:09:06.92ID:NUQ3PgkL382デフォルトの名無しさん
2017/07/05(水) 12:46:52.77ID:BRC1acOi 開発者として開発環境を統一できるメリットがあるだろうが
383デフォルトの名無しさん
2017/07/05(水) 12:51:04.90ID:XfevCCY3 >>382
開発側からすればwebフロントエンド系のように開発者余りまくりで単価デフレになるデメリットしかない
開発側からすればwebフロントエンド系のように開発者余りまくりで単価デフレになるデメリットしかない
384デフォルトの名無しさん
2017/07/05(水) 14:04:19.57ID:KnxHgcda >>378
ブラウザですら自分の思い通りに開発できないからってwebkitからblinkフォークさせたのに
ブラウザですら自分の思い通りに開発できないからってwebkitからblinkフォークさせたのに
385デフォルトの名無しさん
2017/07/05(水) 16:01:58.60ID:+yhqIzpS >>382
androidとiPhoneでフレームワークが違うから無理。
androidとiPhoneでフレームワークが違うから無理。
386デフォルトの名無しさん
2017/07/05(水) 16:10:10.15ID:KD2VFbty >>378
react native とtypescriptに期待してる。
typescriptならサーバサイドにも耐えそう。言語仕様もパターンマッチング提案中だったり、
結構格好いい言語になってきた
react native とtypescriptに期待してる。
typescriptならサーバサイドにも耐えそう。言語仕様もパターンマッチング提案中だったり、
結構格好いい言語になってきた
387デフォルトの名無しさん
2017/07/05(水) 16:35:02.36ID:dBZFHwYj388デフォルトの名無しさん
2017/07/05(水) 16:42:58.42ID:ajye3GRU >>383
金の話はまた次元の違う話かと思われる
金の話はまた次元の違う話かと思われる
389デフォルトの名無しさん
2017/07/05(水) 17:00:43.66ID:XfevCCY3390デフォルトの名無しさん
2017/07/05(水) 18:58:19.44ID:nAxrn5ol >>378
GoogleはAndroid開発環境を複数OS向けに出している
iOSアプリの公式開発環境がMac用しかないのはAppleが狭量なだけだし、Googleは無関係
話し合いで進展する問題ではない
GoogleはAndroid開発環境を複数OS向けに出している
iOSアプリの公式開発環境がMac用しかないのはAppleが狭量なだけだし、Googleは無関係
話し合いで進展する問題ではない
391デフォルトの名無しさん
2017/07/05(水) 18:59:51.81ID:XfevCCY3 これはアスペ
392デフォルトの名無しさん
2017/07/05(水) 19:12:52.25ID:nAxrn5ol 仮にAppleがiOSの開発環境をWindows向けに出すとして、iOSエミュレータはついてくんのか?っていう
Androidのような大真面目なエミュレータではなく、iOSはMac上でも「シミュレータ」しか動かん
それがWindows上で動かせるようになるとはあまり思わない
Androidのような大真面目なエミュレータではなく、iOSはMac上でも「シミュレータ」しか動かん
それがWindows上で動かせるようになるとはあまり思わない
393デフォルトの名無しさん
2017/07/05(水) 21:24:57.18ID:+yhqIzpS 技術の問題じゃなくて政治の問題だろ。
394デフォルトの名無しさん
2017/07/06(木) 07:36:12.02ID:iYgfgx2U >>376
JNIEnvが必須とか言い出すからIFじゃなくRuntimeの話を交え始めたと理解したが?
RustがclangでC/C++本体のコンパイルが必要だからNGなら
Kotlin/Nativeがclang等々でC本体のコンパイルを必要とするのもNGになっちまうだろw
他言語を他コンパイラでコンパイルするのは当然で、C++に限ってはその上でKotlin/Nativeが頑張るんだよ
JNIEnvが必須とか言い出すからIFじゃなくRuntimeの話を交え始めたと理解したが?
RustがclangでC/C++本体のコンパイルが必要だからNGなら
Kotlin/Nativeがclang等々でC本体のコンパイルを必要とするのもNGになっちまうだろw
他言語を他コンパイラでコンパイルするのは当然で、C++に限ってはその上でKotlin/Nativeが頑張るんだよ
395デフォルトの名無しさん
2017/07/06(木) 09:16:31.44ID:Xn+el2UL どうでもいいけど擬人化ことりんちゃんまだかよ
無能ども
無能ども
396デフォルトの名無しさん
2017/07/06(木) 13:03:11.11ID:A60SyEEL >>394
>IFじゃなくRuntimeの話
Javaからnativeを使う方のJNIは以下から成り、JNIEnvはJNI仕様の中核
・CのABI
・シンボル名と引数のルール
※ Java_パッケージ_クラス_メソッド(JNIEnv*, thisインスタンス, java側引数)
・プリミティブ型の定義
・JNIEnv(JNI関数群)のインターフェイス仕様
>clang等々
特定のコンパイラ/バージョン依存なのと, CのABI依存なのはまったく異なる
Kotlin/Nativeのinterop, JavaのJNI, C#のP/Invoke, RustのFFIなどはABIで連携するけど
bindgenはI/FでなくC++コード全体を取り込む外部ツール
Clangの実装に強く依存するからRustの仕様の一部として取り込まれることも無いだろう
誰かがKotlin版bindgenを作ろうとすることに特に反対は無いけどすべきとも思わない
Kotlin/NativeでJNIのI/Fを使う話も労力に見合うものは得られない
>IFじゃなくRuntimeの話
Javaからnativeを使う方のJNIは以下から成り、JNIEnvはJNI仕様の中核
・CのABI
・シンボル名と引数のルール
※ Java_パッケージ_クラス_メソッド(JNIEnv*, thisインスタンス, java側引数)
・プリミティブ型の定義
・JNIEnv(JNI関数群)のインターフェイス仕様
>clang等々
特定のコンパイラ/バージョン依存なのと, CのABI依存なのはまったく異なる
Kotlin/Nativeのinterop, JavaのJNI, C#のP/Invoke, RustのFFIなどはABIで連携するけど
bindgenはI/FでなくC++コード全体を取り込む外部ツール
Clangの実装に強く依存するからRustの仕様の一部として取り込まれることも無いだろう
誰かがKotlin版bindgenを作ろうとすることに特に反対は無いけどすべきとも思わない
Kotlin/NativeでJNIのI/Fを使う話も労力に見合うものは得られない
397デフォルトの名無しさん
2017/07/06(木) 13:14:33.18ID:A60SyEEL >>394
追記
そもそも根本的な話としてCのABIと呼んでいるもの(↓と同義)が何か分かってる?
https://github.com/JetBrains/kotlin-native/blob/v0.1.0/INTEROP.md
>target is a C library
https://doc.rust-lang.org/book/first-edition/ffi.html
>C ABI
バイナリ内のシンボル名や呼出規約であって別にコード自体がC言語である必要は無い
C++(extern "C"), Rust, Haskellなどネイティブにビルド出来るものは
C ABIでのライブラリを作成する機能を持つものは多い
Cに無い機能(C++例外など)をそのまま透過出来ないというだけで、
C++やRustで作った共有ライブラリをKotlin/Nativeから呼べる
追記
そもそも根本的な話としてCのABIと呼んでいるもの(↓と同義)が何か分かってる?
https://github.com/JetBrains/kotlin-native/blob/v0.1.0/INTEROP.md
>target is a C library
https://doc.rust-lang.org/book/first-edition/ffi.html
>C ABI
バイナリ内のシンボル名や呼出規約であって別にコード自体がC言語である必要は無い
C++(extern "C"), Rust, Haskellなどネイティブにビルド出来るものは
C ABIでのライブラリを作成する機能を持つものは多い
Cに無い機能(C++例外など)をそのまま透過出来ないというだけで、
C++やRustで作った共有ライブラリをKotlin/Nativeから呼べる
398デフォルトの名無しさん
2017/07/06(木) 17:54:27.44ID:j+3WJv+Z なんでandroidのために新しい言語覚えなきゃいけないねん
399デフォルトの名無しさん
2017/07/06(木) 18:08:30.77ID:vSzC4r/y 別にいいんじゃない?android使わなくても。
400デフォルトの名無しさん
2017/07/06(木) 19:00:34.42ID:/cQIX5Le 汎用言語が Android では使えないというのは制約だろう。
401デフォルトの名無しさん
2017/07/06(木) 20:22:03.24ID:736nPsTD 不満はあってもJavaよりはずっと良い
402デフォルトの名無しさん
2017/07/06(木) 23:28:02.58ID:L8j5rxy6 呼出規約には、2種類ある
呼び出した方で、引数のスタック領域の確保・解放をするものと、
呼び出された方で、するもの
呼び出した方で、引数のスタック領域の確保・解放をするものと、
呼び出された方で、するもの
403デフォルトの名無しさん
2017/07/06(木) 23:43:32.25ID:X1Wsv7xS さらには引数を後ろからスタックに積むもの、前から積むものもってのもある。
404デフォルトの名無しさん
2017/07/08(土) 16:04:44.48ID:bEWoCU65 萌えキャラKotlinたんの誕生まだ?
405デフォルトの名無しさん
2017/07/08(土) 17:26:45.29ID:69drE4+r >>396
なんか長々書いてるけど、結局新規のIF, 文法切っても現仕様はSwift同程度なんだよね
中身がどうあろうがいいけどショボい機能しか載せられないなら、Kotlinの上っ面IFだけはKotlinとKotlin/Nativeで共通化して欲しかったって話だよ
まぁ絶賛開発中の言語仕様だし期待しないで気長に待つわ
なんか長々書いてるけど、結局新規のIF, 文法切っても現仕様はSwift同程度なんだよね
中身がどうあろうがいいけどショボい機能しか載せられないなら、Kotlinの上っ面IFだけはKotlinとKotlin/Nativeで共通化して欲しかったって話だよ
まぁ絶賛開発中の言語仕様だし期待しないで気長に待つわ
406デフォルトの名無しさん
2017/07/08(土) 19:34:40.80ID:dvBryjqP しょっぱいだのショボいだのディスるのは簡単だが
浅い知識と考えでそれを言うのは恥ずかしいことだと少しは自覚しろよ・・・
浅い知識と考えでそれを言うのは恥ずかしいことだと少しは自覚しろよ・・・
407デフォルトの名無しさん
2017/07/09(日) 10:04:20.42ID:0uIBGQaT >>398
Kotlinは簡単な言語だからいいでしょ
Kotlinは簡単な言語だからいいでしょ
408デフォルトの名無しさん
2017/07/09(日) 12:16:36.95ID:1xYpz64I 構文糖衣が多くてperlみたいな雰囲気を感じないでもない
409デフォルトの名無しさん
2017/07/09(日) 12:55:49.42ID:GAM/5uII await使えるようになるだけで移行したいわ
410デフォルトの名無しさん
2017/07/09(日) 14:03:09.85ID:5jNmidbV xamalin使えばいいじゃん
411デフォルトの名無しさん
2017/07/09(日) 22:15:33.42ID:x/k/RP/C >>408
>構文糖衣が多くてperlみたいな雰囲気を感じないでもない
カッコとかなしでむき出しで書かれる A keyword B みたいな構文はどうにも慣れないね
A.method(B)やfunction(A,B)と同じはずなんだが、空白という文字で区切られていると脳が一瞬括りを拒否する
>構文糖衣が多くてperlみたいな雰囲気を感じないでもない
カッコとかなしでむき出しで書かれる A keyword B みたいな構文はどうにも慣れないね
A.method(B)やfunction(A,B)と同じはずなんだが、空白という文字で区切られていると脳が一瞬括りを拒否する
412デフォルトの名無しさん
2017/07/10(月) 13:10:30.69ID:Y8I/wQdo413デフォルトの名無しさん
2017/07/10(月) 13:34:33.04ID:gqDySAuG414デフォルトの名無しさん
2017/07/10(月) 23:27:47.39ID:LuuY8Q0f >>412
C層を気にしてないんじゃなく知らないだけだろ
だから「わざわざ大変な新規IF」なんて的外れなレスをすることになる
JNIライブラリを書いたことすら無さそうだし
良案と思っているものがあれば↓で提案してみたらどうだ?
https://discuss.kotlinlang.org/
鼻であしらわれるのがオチだが
C層を気にしてないんじゃなく知らないだけだろ
だから「わざわざ大変な新規IF」なんて的外れなレスをすることになる
JNIライブラリを書いたことすら無さそうだし
良案と思っているものがあれば↓で提案してみたらどうだ?
https://discuss.kotlinlang.org/
鼻であしらわれるのがオチだが
415デフォルトの名無しさん
2017/07/11(火) 02:41:16.53ID:HQt0YaW2 言語なんて色々あるんだから自分の好きなの選んだらええんやで
Androidに正式採用されてから一気に書き込み増えたな
Androidに正式採用されてから一気に書き込み増えたな
416デフォルトの名無しさん
2017/07/11(火) 03:44:11.61ID:LaLOr5GK >>414
別にKotlinがそこまで好きなわけじゃないし、ここでKotlin/Nativeの喜劇を鼻で笑ってた方が楽だし・・・
業務でJNIを書いてたのは15年くらい前の1.3の頃だねぇ、あの頃はJNIはC++が使えなくてラッパー層の実装も面倒だった
いつからか知らんけど、JNIEnvにC++ APIが追加されててC層の実装が楽になってて数年前にビビったわ
・・・と老害なレスしとけば、論点ズラして技術論から離れた場外乱闘になって俺が飽きれるだろ
別にKotlinがそこまで好きなわけじゃないし、ここでKotlin/Nativeの喜劇を鼻で笑ってた方が楽だし・・・
業務でJNIを書いてたのは15年くらい前の1.3の頃だねぇ、あの頃はJNIはC++が使えなくてラッパー層の実装も面倒だった
いつからか知らんけど、JNIEnvにC++ APIが追加されててC層の実装が楽になってて数年前にビビったわ
・・・と老害なレスしとけば、論点ズラして技術論から離れた場外乱闘になって俺が飽きれるだろ
417デフォルトの名無しさん
2017/07/11(火) 11:50:37.31ID:HY0nK+zE >>413
Kotlin
--
external fun sayHello();
System.loadLibrary("hello")
sayHello() // C API呼び出し
Kotlin/Native
--
import kotlinx.cinterop.*
sayHello() // C API呼び出し
// 別途、defファイル, gradleファイルを用意
Kotlin/Nativeはexternal funを宣言しないでシームレスにC APIを利用させるために、KotlinからIF構成を変えてる
external funの宣言がなくなった分だけKotlin層の記述は楽になったけど
代わりにdef, gradleが必要で、Kotlinと互換性なくて、C++ APIは呼べないという制限がある
そこまで変えるなら、頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言ったら噛み付かれた
Kotlin
--
external fun sayHello();
System.loadLibrary("hello")
sayHello() // C API呼び出し
Kotlin/Native
--
import kotlinx.cinterop.*
sayHello() // C API呼び出し
// 別途、defファイル, gradleファイルを用意
Kotlin/Nativeはexternal funを宣言しないでシームレスにC APIを利用させるために、KotlinからIF構成を変えてる
external funの宣言がなくなった分だけKotlin層の記述は楽になったけど
代わりにdef, gradleが必要で、Kotlinと互換性なくて、C++ APIは呼べないという制限がある
そこまで変えるなら、頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言ったら噛み付かれた
418デフォルトの名無しさん
2017/07/11(火) 12:19:57.03ID:UunU8BlR プログラマの勉強しようとおもってますが、これはジャバとなにがちがいますか?
大差ないようであればこれを勉強しようおおもいます
大差ないようであればこれを勉強しようおおもいます
419デフォルトの名無しさん
2017/07/11(火) 12:23:20.73ID:qIknPoW2 >>418
Javaとの大きな違いは、Javaを完全に理解してる人向けで初心者向けの情報がほぼゼロという点
Javaとの大きな違いは、Javaを完全に理解してる人向けで初心者向けの情報がほぼゼロという点
420デフォルトの名無しさん
2017/07/11(火) 12:38:05.79ID:TEHQIMDt ObjCというマイナーで黴の生えた言語がiOS開発入門の障害になっていたところに現れたSwiftとは違い、
Javaは開発者ならはっきり言ってできて当然なので今後も初心者向けの情報の充実は望めない
Javaは開発者ならはっきり言ってできて当然なので今後も初心者向けの情報の充実は望めない
421デフォルトの名無しさん
2017/07/11(火) 12:44:27.43ID:nZ299llH Android入門は今後kotlinベースになるだろ。
422デフォルトの名無しさん
2017/07/11(火) 13:43:49.66ID:6GA6X5kA それ頼む。javaのライブラリに依存すると言ってもandroid似関係するのはごく一部でしょう?
フルセットのjavaを学ぶ必要ないよね
フルセットのjavaを学ぶ必要ないよね
423デフォルトの名無しさん
2017/07/11(火) 14:41:08.33ID:poL23Q4e >>418
Kotlinは話題になってはいるが「Java言語を使いこなしている人がその知識を使うと楽に書ける」ので好評を得ている
Java言語を全く知らないのであればKotlinはむしろ二重三重の習得障壁があるので勧められない
なにするかもぜんぜんわからないし現実世界で聞ける師匠もいないというのならJavaでいいんじゃないかな
JavaなしでのKotlin学習術というのは数年したら出てくるとは思うがそれはKotlin本体の充実も待たねばならんのでしんどい
Kotlinは話題になってはいるが「Java言語を使いこなしている人がその知識を使うと楽に書ける」ので好評を得ている
Java言語を全く知らないのであればKotlinはむしろ二重三重の習得障壁があるので勧められない
なにするかもぜんぜんわからないし現実世界で聞ける師匠もいないというのならJavaでいいんじゃないかな
JavaなしでのKotlin学習術というのは数年したら出てくるとは思うがそれはKotlin本体の充実も待たねばならんのでしんどい
424デフォルトの名無しさん
2017/07/11(火) 15:36:02.36ID:HBLQ2eVf >>417
随分トーンダウンしたなw
>Kotlin/NativeのNative I/FはC++に対応してないようだし
>後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
↓
>頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言った
そもそもKotlin(JNI)との互換性の話にC++は関係無いだろう
JNIでもエクスポートする部分はextern "C"なんだから
随分トーンダウンしたなw
>Kotlin/NativeのNative I/FはC++に対応してないようだし
>後発で新規に仕様を作り始めてる割にしょっぱいなぁと思う
↓
>頑張ってC++ API呼べるようにして欲しいなーって冗談半分で言った
そもそもKotlin(JNI)との互換性の話にC++は関係無いだろう
JNIでもエクスポートする部分はextern "C"なんだから
425デフォルトの名無しさん
2017/07/11(火) 17:16:47.08ID:U4fTHQuQ おう、そうだなw
それでKotlin/NativeのIFの話はどうした?論点ズレてんよ
それでKotlin/NativeのIFの話はどうした?論点ズレてんよ
426デフォルトの名無しさん
2017/07/11(火) 18:38:24.21ID:HBLQ2eVf427デフォルトの名無しさん
2017/07/11(火) 21:08:20.35ID:k/zCsCNx 僕Javaはちょっとしか使ったことないLisperだけど、Kotlinサクッと学んでAndroid開発してるよ? 難しくないよ?
428デフォルトの名無しさん
2017/07/11(火) 21:13:00.00ID:xWYiv0j+ LISPerが書くコードとか他人が読めなそうやな
429デフォルトの名無しさん
2017/07/11(火) 23:22:21.14ID:rvrzGERi430デフォルトの名無しさん
2017/07/11(火) 23:23:35.24ID:rvrzGERi swift、typescriptと触ってoptionalが無い言語は正直触りたくなくなっとる。
431デフォルトの名無しさん
2017/07/12(水) 06:26:01.18ID:HQm2gXhD >>418
Kotlin = Java + Groovy
Javaのオブジェクト指向に、Groovyの関数型を付けたもの。
クロージャを多用する
まずこの本で、Javaとオブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、
プログラミング GROOVY、2011
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
Kotlin = Java + Groovy
Javaのオブジェクト指向に、Groovyの関数型を付けたもの。
クロージャを多用する
まずこの本で、Javaとオブジェクト指向を学ぶ
スッキリわかる Java入門 第2版、2014
その後、
プログラミング GROOVY、2011
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
432デフォルトの名無しさん
2017/07/12(水) 06:44:11.99ID:Tu2UL3Q1 KotlinはGroovyはあんまり関係ないだろ
機能的にはC#をリスペクトしていて、文法はScalaを簡略化したもの
機能的にはC#をリスペクトしていて、文法はScalaを簡略化したもの
433デフォルトの名無しさん
2017/07/12(水) 08:03:32.77ID:LUkpq5Wd >>432
さわっちゃだめよ
さわっちゃだめよ
434デフォルトの名無しさん
2017/07/12(水) 08:14:26.72ID:Tu2UL3Q1 C#の思想でScalaを再設計した感じだな
435デフォルトの名無しさん
2017/07/13(木) 00:38:10.55ID:uHqOeG/1 メソッドの最後の引数にクロージャを書いて、
そのクロージャの中のメソッド呼び出しの最後の引数にクロージャを書いて・・・
って感じの記法でDSLを作れるのが ruby から groovy 経由で kotlin に引き継がれた特徴かね?
gradle の build.gradle みたいな奴ね
これを引き継いでる関係で build.gradle を kotlin で書けるのがもう実装されてる
Androidのレイアウトを kotlin のこの DSL 記法で書けたりもするね
そのクロージャの中のメソッド呼び出しの最後の引数にクロージャを書いて・・・
って感じの記法でDSLを作れるのが ruby から groovy 経由で kotlin に引き継がれた特徴かね?
gradle の build.gradle みたいな奴ね
これを引き継いでる関係で build.gradle を kotlin で書けるのがもう実装されてる
Androidのレイアウトを kotlin のこの DSL 記法で書けたりもするね
436デフォルトの名無しさん
2017/07/13(木) 01:28:56.84ID:JW4C8wb9 >>435
その辺はほぼScalaだよ
その辺はほぼScalaだよ
437デフォルトの名無しさん
2017/07/13(木) 10:30:47.12ID:9URTCQsI 最近の言語はどれもよく似てるだろ
Swiftにも似てると思ったし
Swiftにも似てると思ったし
438デフォルトの名無しさん
2017/07/13(木) 10:37:01.80ID:FzpRErWm >>436
そりゃあscalaは何でもてんこ盛りだから同じことできるだろうけど、
公式がGroovy-styleって言ってるんだよね
Type-Safe Groovy-Style Builders
https://kotlinlang.org/docs/reference/type-safe-builders.html
そりゃあscalaは何でもてんこ盛りだから同じことできるだろうけど、
公式がGroovy-styleって言ってるんだよね
Type-Safe Groovy-Style Builders
https://kotlinlang.org/docs/reference/type-safe-builders.html
439デフォルトの名無しさん
2017/07/14(金) 05:04:39.07ID:SOKcdYDj >>437
Swiftより古い言語なんだよなぁ…
Swiftより古い言語なんだよなぁ…
440デフォルトの名無しさん
2017/07/14(金) 09:50:43.08ID:tqlcOT7v >>426
> そもそもKotlin(JNI)との互換性の話にC++は関係無い
KotlinとKotlin/NativeでNative I/Fを変えるなら、Kotlin/NativeでC++ APIをシームレスに使いたい、けど実現しないだろうねー
って笑い話をしてるのに、JNIEnvがーとか、JNIやったことないだろーとか関係ないこと言い出した子に言われても・・・
素直に、clangに依存するrustと違って、kotlin/nativeは特定C/C++コンパイラに依存しない選択をしたんだ、で良いだろうに
SwiftがKotlinのOptionalをパクったって、それ一番言われてるから
ここ10年の新興言語はお互いにパクリあってるからもう何が大元か分からなくなってるよね
> そもそもKotlin(JNI)との互換性の話にC++は関係無い
KotlinとKotlin/NativeでNative I/Fを変えるなら、Kotlin/NativeでC++ APIをシームレスに使いたい、けど実現しないだろうねー
って笑い話をしてるのに、JNIEnvがーとか、JNIやったことないだろーとか関係ないこと言い出した子に言われても・・・
素直に、clangに依存するrustと違って、kotlin/nativeは特定C/C++コンパイラに依存しない選択をしたんだ、で良いだろうに
SwiftがKotlinのOptionalをパクったって、それ一番言われてるから
ここ10年の新興言語はお互いにパクリあってるからもう何が大元か分からなくなってるよね
441デフォルトの名無しさん
2017/07/14(金) 11:53:31.95ID:JnCMaGHk442デフォルトの名無しさん
2017/07/14(金) 11:59:48.94ID:JnCMaGHk443デフォルトの名無しさん
2017/07/14(金) 20:37:24.56ID:F62iti5K444デフォルトの名無しさん
2017/07/15(土) 08:38:17.95ID:HFaGoOZi 最後まで技術的な話が出来ない奴だったな
>>396-397で説明したのに「C++(ソースレベル)」と「CのABI」が
並べて書けるものでないことも理解されなかったようだし
まぁ取り下げたならそれでいい
>>396-397で説明したのに「C++(ソースレベル)」と「CのABI」が
並べて書けるものでないことも理解されなかったようだし
まぁ取り下げたならそれでいい
445デフォルトの名無しさん
2017/07/15(土) 13:44:47.75ID:KAmmMYRz446デフォルトの名無しさん
2017/07/15(土) 23:24:57.48ID:5uf8kOgL 第2引数のラムダ式を、引数の外に出せる、糖衣構文あり
関数(引数, { it })
関数(引数){ it }
確か、Groovy, Gradle も同じだったか
関数(引数, { it })
関数(引数){ it }
確か、Groovy, Gradle も同じだったか
447デフォルトの名無しさん
2017/07/16(日) 00:40:29.56ID:mqalEvhx クロージャ以外の実引数を省略して
関数 { it } とかも書けるよね
まあたしかscalaも同じことができるんだが
ruby、groovy では特に好んでこの形式を使ってDSLを作ったり
文法の拡張的な感じに使う
kotlin ではこれをさらに効率的に使い倒すために
上記のように使う関数の定義に inline という指定ができる
https://kotlinlang.org/docs/reference/inline-functions.html
引数にクロージャをとるけど、
実際にはクロージャを使わない形にインライン展開される
関数 { it } とかも書けるよね
まあたしかscalaも同じことができるんだが
ruby、groovy では特に好んでこの形式を使ってDSLを作ったり
文法の拡張的な感じに使う
kotlin ではこれをさらに効率的に使い倒すために
上記のように使う関数の定義に inline という指定ができる
https://kotlinlang.org/docs/reference/inline-functions.html
引数にクロージャをとるけど、
実際にはクロージャを使わない形にインライン展開される
448デフォルトの名無しさん
2017/07/16(日) 06:49:43.02ID:ZSYh3+ww あとはコンパイル時処理があるといいな
449デフォルトの名無しさん
2017/07/18(火) 08:52:46.31ID:Ttzd9ReG Java8でもlamda構文はコンパイル時にインライン展開されるよ
450デフォルトの名無しさん
2017/07/23(日) 20:14:23.56ID:5U3qvpGz 一瞬不相応に盛り上がったけど「将来性は高いが現時点ではJava利用者向けのベターJavaである」ということが周知されて落ち着いたな
よかったよかった
よかったよかった
451デフォルトの名無しさん
2017/07/24(月) 10:25:57.37ID:d8RjP+27 スッゲー上から目線の総括にワロタwwww
452デフォルトの名無しさん
2017/07/25(火) 02:00:55.92ID:UzXdgK41 Android公式の言語になって悔しい奴も居るんだろう
453デフォルトの名無しさん
2017/07/25(火) 06:18:37.30ID:5XPEt11J oracleが噛んでる時点で終わりの始まり。
solarisとかね。
solarisとかね。
454デフォルトの名無しさん
2017/07/25(火) 07:07:22.80ID:BBsjcCUe WorkStation, MySQL, OpenOffice...う、頭が...
455デフォルトの名無しさん
2017/07/26(水) 10:30:04.80ID:VR8TYjgB IDE使わずに複数のファイルにコードを分割したときにどうやってコンパイルしてから実行する方法を教えてください
これはだめでした
kotlinc a.kt b.kt
kotlin AKt.class BKt.class
■a.kt
fun main(args: Array<String>) {
name()
}
■b.kt
fun name() {
println("Name?")
}
これはだめでした
kotlinc a.kt b.kt
kotlin AKt.class BKt.class
■a.kt
fun main(args: Array<String>) {
name()
}
■b.kt
fun name() {
println("Name?")
}
456デフォルトの名無しさん
2017/07/26(水) 11:06:32.93ID:M5MsN9/+ kotlin -classpath . AKt
ではどう?
ではどう?
457デフォルトの名無しさん
2017/07/26(水) 11:07:19.20ID:M5MsN9/+ あーあとjar作ってもいいし
458デフォルトの名無しさん
2017/07/26(水) 11:40:00.85ID:VR8TYjgB できました!どうもありがとうございます
459デフォルトの名無しさん
2017/07/27(木) 08:44:41.76ID:ol3Ji14g KotlinがAndroid Studio公式サポートになって悔しい、ムキー
ってなるのはGoMobileユーザくらいか?実在するか分からんレベルな実用性だけども
ってなるのはGoMobileユーザくらいか?実在するか分からんレベルな実用性だけども
460デフォルトの名無しさん
2017/07/27(木) 09:33:07.79ID:Spup3DD1 その件で主に煽られてるのは主にScalaユーザーじゃね
彼ら自身はこれまでScalaの筋の悪さと付き合ってきて、なぜKotlinなのかをある意味一番よく理解してるから
反発する奴は少ない印象だけど
彼ら自身はこれまでScalaの筋の悪さと付き合ってきて、なぜKotlinなのかをある意味一番よく理解してるから
反発する奴は少ない印象だけど
461デフォルトの名無しさん
2017/07/27(木) 09:49:55.47ID:ol3Ji14g Scalaって今は亡きJ2EE Servletに対抗する化石ソリューションでKotlinと全く関係ないんじゃないの
流石にあれは関係ないから反発も何もないと思うぞ、関係を探すなら同じJVM言語ってくらいか?
流石にあれは関係ないから反発も何もないと思うぞ、関係を探すなら同じJVM言語ってくらいか?
462デフォルトの名無しさん
2017/07/27(木) 22:48:26.51ID:q/d1LfH4 実際にScalaでAndroidアプリ作ってた奴も居るし、Androidが出るまではJVM言語はおろかJavaすらあんまり積極的に使われてなかったしな
もともとKotlinよりはScalaの方が有名だったし、JVM言語としては悔しいだろうよ
もともとKotlinよりはScalaの方が有名だったし、JVM言語としては悔しいだろうよ
463デフォルトの名無しさん
2017/07/27(木) 22:52:33.46ID:qe1/bFe6 scalaよりkotlinが優れてるところなんてないやろ
464デフォルトの名無しさん
2017/07/27(木) 23:36:19.26ID:ZxLGu3dd javaなんて覚えられそうにないからkotlin学習しようと思ってるけど
記述量が減るのは優れているとは言えませんかセニョール
記述量が減るのは優れているとは言えませんかセニョール
465デフォルトの名無しさん
2017/07/27(木) 23:57:49.40ID:0y0CpLqK 小さなソースコードが高レベル言語の目的であり、力がその目的をどれだけうまく達成できるかというものなら、
プログラミング言語の力を測るには、それがプログラムをどれだけ小さくできるかを見ればよいということになる。
逆に、言語がプログラムを小さくしないのなら、それはプログラミング言語の役割をちゃんと果たしていないということだ。
切れないナイフとか、読めない印刷とかと同じだ。
ってポールが言ってた
プログラミング言語の力を測るには、それがプログラムをどれだけ小さくできるかを見ればよいということになる。
逆に、言語がプログラムを小さくしないのなら、それはプログラミング言語の役割をちゃんと果たしていないということだ。
切れないナイフとか、読めない印刷とかと同じだ。
ってポールが言ってた
466デフォルトの名無しさん
2017/07/28(金) 05:37:58.09ID:H2JBSSoH >>462
そりゃScalaはサーバサイドJavaにおいて歴史があって、組み込みJavaはAndroidが出る前は落ち目だったからだろ
お前のレスはKotlinユーザは全く別の土俵のScalaにコンプレックスを持ってんだなって感想しか出ないぞ
そりゃScalaはサーバサイドJavaにおいて歴史があって、組み込みJavaはAndroidが出る前は落ち目だったからだろ
お前のレスはKotlinユーザは全く別の土俵のScalaにコンプレックスを持ってんだなって感想しか出ないぞ
467デフォルトの名無しさん
2017/07/28(金) 13:00:03.02ID:QPanRF+L listをfor文で回す処理を書いてるんですが、
for(data in some_data?.datas!!) {
}
ってなって、datasの後の!!を消したいんですがどうするべきなんでしょうか
for(data in some_data?.datas!!) {
}
ってなって、datasの後の!!を消したいんですがどうするべきなんでしょうか
468デフォルトの名無しさん
2017/07/28(金) 13:39:12.54ID:k8WFShoV some_data?.datas?.forEach { data ->
}
こうかな
}
こうかな
469デフォルトの名無しさん
2017/07/28(金) 13:48:48.64ID:QPanRF+L >>468
できました!ありがとうございました!
できました!ありがとうございました!
470デフォルトの名無しさん
2017/07/28(金) 21:34:18.74ID:8b7/0WjD >>466
悔しいのうw悔しいのうwww
悔しいのうw悔しいのうwww
471デフォルトの名無しさん
2017/07/28(金) 21:54:39.65ID:GOfdf3yM Javaに挫折したPHPの経験しかない初心者なんですけど
kotlinの勉強する場合の王道の本を教えてください
kotlinの勉強する場合の王道の本を教えてください
472デフォルトの名無しさん
2017/07/28(金) 22:02:07.02ID:PUrhlE/b473デフォルトの名無しさん
2017/07/28(金) 22:17:54.83ID:zVVm7Ell なんか勘違いしてるみたいだけど、そもそもKotlinはJavaに沢山の機能が足されていてJavaよりずっと複雑で難解な言語だぞ。
敷居の低い言語というイメージがあるのは、Javaができる人にとってストレスなく入れる言語であり、プログラミング自体の初心者がほぼ皆無だから。
Javaを学べばそれは全てKotlinでそのまま活かせるんだから、幻想は捨ててまずJavaやったほうがいい。
敷居の低い言語というイメージがあるのは、Javaができる人にとってストレスなく入れる言語であり、プログラミング自体の初心者がほぼ皆無だから。
Javaを学べばそれは全てKotlinでそのまま活かせるんだから、幻想は捨ててまずJavaやったほうがいい。
474デフォルトの名無しさん
2017/07/28(金) 22:23:58.60ID:z1qsdhOb 本などで勉強しようとするから挫折する
言語を身に付けるにはコードを書いて読む以外に道はない
言語を身に付けるにはコードを書いて読む以外に道はない
475スッキリ厨
2017/07/28(金) 23:13:12.64ID:wSdfWqng まずこの本で、オブジェクト指向をみっちり学ぶ
1. スッキリわかる Java入門 第2版、2014
2. たのしいRuby 第5版、2016
3. Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
この順番が最短。
2を省くと、関数型プログラミングが分からないので、必要
1. スッキリわかる Java入門 第2版、2014
2. たのしいRuby 第5版、2016
3. Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
この順番が最短。
2を省くと、関数型プログラミングが分からないので、必要
476デフォルトの名無しさん
2017/07/29(土) 00:10:16.43ID:W96Wekxi AndroidStudioでJavaコードをKotlinに変換する機能を使ってKotlinのコードを生成して内容を見てると分かった気になってくる
477デフォルトの名無しさん
2017/07/29(土) 00:50:30.28ID:DIZfrj77 むかーしjavaをちょっとやってたけど
そんなに癖がない言語だよねjava自体は。
必ずクラスを挟まないといけないから無駄に書くコードが多いくらいだよね。そんな認識の人間ならkotlin
触り始められます?
そんなに癖がない言語だよねjava自体は。
必ずクラスを挟まないといけないから無駄に書くコードが多いくらいだよね。そんな認識の人間ならkotlin
触り始められます?
478デフォルトの名無しさん
2017/07/29(土) 03:36:29.97ID:W96Wekxi KotlinはどちらかというとJavaよりもC#に似ている
479デフォルトの名無しさん
2017/07/29(土) 07:41:06.02ID:sH/xP+7Q ScalaはKotlinの発展を悔しがるくらいに類似性があるらしいからScalaをやったことあると尚良し
結局どこに悔しがる要素があるのかサッパリ分からんかったけど
結局どこに悔しがる要素があるのかサッパリ分からんかったけど
480デフォルトの名無しさん
2017/07/29(土) 12:46:08.39ID:DY1QEEX5 javaアンチパターンとkotlinベストプラクティスのセットって、どっかに無いの?
481デフォルトの名無しさん
2017/07/29(土) 13:01:26.70ID:JySrTbDn Kotlin自体に関しては、他の現代的で使いでのあるプログラミング言語と比較して何か特別に学びにくいということはない
じゃあどこに壁があるのかというと
・公式の説明やマニュアルですら「Javaでいうところの○○」「動作詳細は以下のJavaプログラムを参照」のようにJavaの習熟者を対象にしている
・現状唯一の日本語本であるスタートブックすらJavaである程度の規模のプログラムを組んだ経験を前提としている
・そんな人たちが作る公開ライブラリはもちろんJavaの(類似ライブラリの)知識が前提の用法・動作説明である
というようなあたりにある
別にこれが非難すべきものだとは全く考えないのだが(これらを部外者に解説しようとすると何冊分ものJava基礎と応用を自前でゼロから解説する羽目になるため)、
単に想定対象者以外には苦難の道であるよとは伝えておきたい
「英語で書かれたマニュアルしかないから英語読めないと辛いよ」と同じような感じで
「Javaで書かれたマニュアルしかないからJavaできないと辛いよ」というやつだ
じゃあどこに壁があるのかというと
・公式の説明やマニュアルですら「Javaでいうところの○○」「動作詳細は以下のJavaプログラムを参照」のようにJavaの習熟者を対象にしている
・現状唯一の日本語本であるスタートブックすらJavaである程度の規模のプログラムを組んだ経験を前提としている
・そんな人たちが作る公開ライブラリはもちろんJavaの(類似ライブラリの)知識が前提の用法・動作説明である
というようなあたりにある
別にこれが非難すべきものだとは全く考えないのだが(これらを部外者に解説しようとすると何冊分ものJava基礎と応用を自前でゼロから解説する羽目になるため)、
単に想定対象者以外には苦難の道であるよとは伝えておきたい
「英語で書かれたマニュアルしかないから英語読めないと辛いよ」と同じような感じで
「Javaで書かれたマニュアルしかないからJavaできないと辛いよ」というやつだ
482デフォルトの名無しさん
2017/07/29(土) 13:13:06.22ID:VZ2r/0rx 解説がJavaだけでなく全体的にC#/ES6(&TypeScript)/Scalaあたりの「C+F系」の経験者を意識してるのも初学者には優しくないポイントだろうな
その辺の経験がある人だとKotlinは非常に素直で分かりやすくて
資料も経験者向けに要点を押さえて作ってあって手早く学べる、とても敷居の低い言語なんだけどね
その辺の経験がある人だとKotlinは非常に素直で分かりやすくて
資料も経験者向けに要点を押さえて作ってあって手早く学べる、とても敷居の低い言語なんだけどね
483デフォルトの名無しさん
2017/07/29(土) 13:59:26.36ID:7KFbni30 初学者向きではないってのはネックですな
484デフォルトの名無しさん
2017/07/29(土) 16:36:34.64ID:U9LihKmk >>71
ガイジ晒しage
ガイジ晒しage
485デフォルトの名無しさん
2017/07/29(土) 17:17:33.51ID:W96Wekxi Null安全型はいいよね
486471
2017/07/29(土) 20:15:51.81ID:DdYvAide 2ちゃんのjavaスレが荒れててあんまり回答貰えなかったからkotlin選んだようなものなんですが
心を入れ替えてjavaから勉強します
先輩方どうもありがとう
心を入れ替えてjavaから勉強します
先輩方どうもありがとう
487デフォルトの名無しさん
2017/07/29(土) 20:26:38.68ID:DIZfrj77 他の言語に精通してたらjavaって何か勉強必要な言語?
interfaceとかわかってればいいんでしょ?
interfaceとかわかってればいいんでしょ?
488デフォルトの名無しさん
2017/07/29(土) 20:43:20.90ID:W96Wekxi ライブラリ関係とか周辺知識も必要やな
489デフォルトの名無しさん
2017/07/29(土) 21:30:26.28ID:c4yh7S8Z Kotlinに限らないけど今の言語を使う上ではHaskell界隈由来のflatMapとかも理解しておいた方がいい
別言語のだけど図解部分は支障無いから貼っておく
https://www.slideshare.net/ksc1213/swiftmonad
別言語のだけど図解部分は支障無いから貼っておく
https://www.slideshare.net/ksc1213/swiftmonad
490デフォルトの名無しさん
2017/07/29(土) 22:18:06.96ID:CGKorK5y むしろ周辺知識の方が覚える事膨大で困る
491デフォルトの名無しさん
2017/07/29(土) 22:19:42.45ID:qR/5D+lk >>489
haskell由来?www
haskell由来?www
492デフォルトの名無しさん
2017/07/29(土) 22:34:22.42ID:DIZfrj77 >>488
ライブラリ系の学習って遅延学習じゃ駄目なの?
ライブラリ系の学習って遅延学習じゃ駄目なの?
493デフォルトの名無しさん
2017/07/29(土) 22:37:08.86ID:qR/5D+lk >>492
いいよ
いいよ
494デフォルトの名無しさん
2017/07/29(土) 23:53:54.93ID:c4yh7S8Z >>491
何由来だと思ってるの?
何由来だと思ってるの?
495デフォルトの名無しさん
2017/07/30(日) 00:04:10.80ID:PpFa/iNU その手の奴はだいたいLisp由来とか言っとけば当たる
496デフォルトの名無しさん
2017/07/30(日) 09:16:23.60ID:AatiOL5G >>487
主要言語の「Effective 何々」という本を読めば、わかるけど、
すべての言語でほぼ同じ
本では、equals, hashCode, toString の三種の神器を、
最初にオーバーライドしましょうって書いてあるけど、
Kotlin では、データクラスと言って、最初から用意されている
主要言語の「Effective 何々」という本を読めば、わかるけど、
すべての言語でほぼ同じ
本では、equals, hashCode, toString の三種の神器を、
最初にオーバーライドしましょうって書いてあるけど、
Kotlin では、データクラスと言って、最初から用意されている
497デフォルトの名無しさん
2017/07/30(日) 10:13:47.62ID:1EcJb2Jm またお前か
ミュータブルなクラスでequalsやhashCodeをオーバーライドするのは多くの場合不適切
ミュータブルなクラスでequalsやhashCodeをオーバーライドするのは多くの場合不適切
498あ
2017/07/30(日) 15:50:13.09ID:P5Qwr2jW Haskell大人気だな。
ただのflattenとmapで、ほんとにlispの頃からある。
ただのflattenとmapで、ほんとにlispの頃からある。
499デフォルトの名無しさん
2017/07/30(日) 18:11:16.75ID:X+REAxPs 型システムと共にMonadやFunctorとして整理された経緯を知らないと
そう思うのも無理は無い
Lispやさらに前段の数学も由来として合ってはいるが
関数単体で導入されたわけでなく包括的な概念で導入されている
そう思うのも無理は無い
Lispやさらに前段の数学も由来として合ってはいるが
関数単体で導入されたわけでなく包括的な概念で導入されている
500あ
2017/07/30(日) 18:24:32.50ID:P5Qwr2jW 包括的な概念で導入された、って、関数型言語なら当たり前の概念を集めて来たって話で、
Haskellで知った、って話をドヤ顔されても、って話なんじゃないの?
Haskellで知った、って話をドヤ顔されても、って話なんじゃないの?
501デフォルトの名無しさん
2017/07/30(日) 22:02:52.21ID:4pngWMeM Javaは(意外と)シンブルな言語なんだから、3言語ぐらい精通してる人ならばkotlinなんて難しくないよ。
Javaをマスターしてないとって思う人もいるみたいだけど、Javaの持ってる要素なんて、プログラミングの様々な要素からしたらそんなに多くないから大丈夫だよ
Javaをマスターしてないとって思う人もいるみたいだけど、Javaの持ってる要素なんて、プログラミングの様々な要素からしたらそんなに多くないから大丈夫だよ
502デフォルトの名無しさん
2017/07/30(日) 22:16:46.98ID:W7NHR4pI503デフォルトの名無しさん
2017/07/30(日) 22:18:14.70ID:sGCf83rH CommonLispやC++に比べれば屁でもない
504デフォルトの名無しさん
2017/07/31(月) 08:02:41.90ID:IjzZ4ZfD505デフォルトの名無しさん
2017/07/31(月) 14:27:59.07ID:luO5NyKL elixirのパターンマッチに感動したんだけど、バイナリ列にパターンマッチングできるんでバイナリデコーダが簡単にできそうなんですが
kotlinもそういうことできます?
kotlinもそういうことできます?
507デフォルトの名無しさん
2017/08/01(火) 00:27:55.71ID:PARHYe6N >>481だけがわりと正確な物言いしてるが「解説の大部分がJavaプログラムに依存してる」ことが学習上の問題
自然言語でほとんど書いてないからJavaの動作を斟酌して理解しないといけないのだ
時間と人手が解決する問題ではあるが、今から学びたい人にはあんまり嬉しくなかろうな
理解に必要なのはJavaの文法そのものではなくJavaの個々の動作と実装のされ方なのでJava使ったことない人はしばらく戻ってこれないぞ
ただ、遠回りだけど近道なので頑張ってくれ
自然言語でほとんど書いてないからJavaの動作を斟酌して理解しないといけないのだ
時間と人手が解決する問題ではあるが、今から学びたい人にはあんまり嬉しくなかろうな
理解に必要なのはJavaの文法そのものではなくJavaの個々の動作と実装のされ方なのでJava使ったことない人はしばらく戻ってこれないぞ
ただ、遠回りだけど近道なので頑張ってくれ
509デフォルトの名無しさん
2017/08/01(火) 02:05:24.99ID:A0OBZNC2 >>475
rubyみたいなオワコン勧めるなボケ
rubyみたいなオワコン勧めるなボケ
510デフォルトの名無しさん
2017/08/01(火) 02:07:40.68ID:A0OBZNC2 kotlinってアンチパターンすぎる。
純粋な実装を隠蔽するんだから。
純粋な実装を隠蔽するんだから。
511デフォルトの名無しさん
2017/08/01(火) 03:56:21.19ID:sayqMREC >>505
Byte Stream に変換して、その中から探せば?
Byte Stream に変換して、その中から探せば?
512デフォルトの名無しさん
2017/08/01(火) 09:50:52.12ID:5VpZIsuu kotlinやってみたくなったけど
入門者向けの情報がjava前提の物ばかりなので
javaやり始めました
で、思ったんだけど
javaって言語仕様以外の部分で覚えなきゃならない事多すぎ
kotlin入門者向けのライトなjava入門の情報が欲しい今日この頃
入門者向けの情報がjava前提の物ばかりなので
javaやり始めました
で、思ったんだけど
javaって言語仕様以外の部分で覚えなきゃならない事多すぎ
kotlin入門者向けのライトなjava入門の情報が欲しい今日この頃
513デフォルトの名無しさん
2017/08/01(火) 14:33:06.94ID:bOmdPaNn 何はともあれHello worldよ
色々丸コピでもいいから手持ちのAndroid端末上に画面を出す
そこで登場したよく分からないものを全てググって
その後はやりたいことをベースに調べていけばいい
本読むのはその後でも
色々丸コピでもいいから手持ちのAndroid端末上に画面を出す
そこで登場したよく分からないものを全てググって
その後はやりたいことをベースに調べていけばいい
本読むのはその後でも
514デフォルトの名無しさん
2017/08/01(火) 19:23:29.20ID:A6tuVNB3 JavaとKotlinなんて文法以外にさほど違いがないから、覚えることが多いことに変わりない罠
515デフォルトの名無しさん
2017/08/01(火) 19:34:51.60ID:HNVJVpAf 覚えるって発想がよくわからない
調べたらいいと思う
調べたらいいと思う
516あ
2017/08/01(火) 20:43:30.74ID:ps+Dq31M >>510
案外bytecodeはjavacより賢いと思う。
kotlin nativeにも期待たし、隠蔽ってのはそこまで深く考えんで良いのでは?
あんまり隠蔽と言い出すと、アセンブラ書くしか無くなる。
案外bytecodeはjavacより賢いと思う。
kotlin nativeにも期待たし、隠蔽ってのはそこまで深く考えんで良いのでは?
あんまり隠蔽と言い出すと、アセンブラ書くしか無くなる。
517デフォルトの名無しさん
2017/08/01(火) 23:16:53.17ID:NbT5I2SP (´・ω・`)これって、コーリンって読むらしいね
518デフォルトの名無しさん
2017/08/01(火) 23:25:56.46ID:WvvXqR8d じゃあそう読めばいいんじゃない?
伝わらないと思うけど
伝わらないと思うけど
519デフォルトの名無しさん
2017/08/01(火) 23:56:00.53ID:NbT5I2SP (´・ω・`)いまね、wiki見たらことりんってかいてたー
さっきTwitterみてたらコーリンってよむってウソ情報ながれてたのー
すいません
さっきTwitterみてたらコーリンってよむってウソ情報ながれてたのー
すいません
520デフォルトの名無しさん
2017/08/02(水) 00:30:22.22ID:Mrcj6vwl ここやTwitterのような有象無象発信の情報は一度調べることをオススメする
1次情報や文責のある情報なら話は別だけどね
1次情報や文責のある情報なら話は別だけどね
521デフォルトの名無しさん
2017/08/03(木) 02:14:23.09ID:dP8PygxN コトリチャンって読むんやで
522デフォルトの名無しさん
2017/08/04(金) 02:49:08.32ID:C9CuhslM この言語でiosアプリも開発できるの?
ならSwiftもJavaもいらなくね?
ならSwiftもJavaもいらなくね?
523デフォルトの名無しさん
2017/08/05(土) 22:07:19.73ID:q6QkhQr1 初心者向けの定番本教えて
524デフォルトの名無しさん
2017/08/05(土) 22:40:45.42ID:su6WsJEB まだ出てないだろ?
525デフォルトの名無しさん
2017/08/05(土) 22:41:57.37ID:Zex8il51526デフォルトの名無しさん
2017/08/05(土) 23:47:57.71ID:1Q3JuekX 電子書籍でも出てるよな
527デフォルトの名無しさん
2017/08/06(日) 08:37:01.72ID:exhLY8Mw kotlin自体はそんなに変な仕様じゃないから
androidとの組み合わせで変わるとこが知りたい。
基本的にはimportはjavaの時と同じなの?
andrid全般の学習をする時にjavaで書かれたコードが単純にkotlinのコードに変換すれば動くってことでいいのかな。
androidとの組み合わせで変わるとこが知りたい。
基本的にはimportはjavaの時と同じなの?
andrid全般の学習をする時にjavaで書かれたコードが単純にkotlinのコードに変換すれば動くってことでいいのかな。
528デフォルトの名無しさん
2017/08/06(日) 11:16:41.83ID:8894pkNA その認識だと先にKotlinを数日みっちり勉強したほうが早く理解できる気がするぞ
529デフォルトの名無しさん
2017/08/06(日) 11:37:11.88ID:exhLY8Mw >>528
どうなんだろね。単純にjavaのコードの部分を変換してみて
なんで動かないのか検証したほうが早い気もする(遅延学習)
androidのチュートリアル自体はjavaで書かれてるものが大半だし。
どうなんだろね。単純にjavaのコードの部分を変換してみて
なんで動かないのか検証したほうが早い気もする(遅延学習)
androidのチュートリアル自体はjavaで書かれてるものが大半だし。
530デフォルトの名無しさん
2017/08/15(火) 15:45:25.89ID:qX6sO+hu Swift, Clang/LLVMの発明者のラットナー がKotlinの開発に参加するってマジ?
531デフォルトの名無しさん
2017/08/15(火) 19:45:47.28ID:wxesOBVY IntellijにKotlinのREPL付いていて便利だろうと思ったけど
REPLは入力途中でけっこう固まってしまう。
あとprintlinが改行しなかったり、まだ不安定なのかな。
REPLは入力途中でけっこう固まってしまう。
あとprintlinが改行しなかったり、まだ不安定なのかな。
532デフォルトの名無しさん
2017/08/15(火) 20:57:50.46ID:wYSD0kSw Kotlin 1.1.4 is out
https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/
https://blog.jetbrains.com/kotlin/2017/08/kotlin-1-1-4-is-out/
533デフォルトの名無しさん
2017/08/16(水) 15:09:19.71ID:VrVIPOAA >>530
GoogleでAI関連の部署に入ったみたいだぞ?
GoogleでAI関連の部署に入ったみたいだぞ?
534デフォルトの名無しさん
2017/08/17(木) 12:41:21.77ID:Am4yUvQo535デフォルトの名無しさん
2017/08/17(木) 13:05:10.32ID:5mQoD0+b >>530
こマ?
こマ?
536デフォルトの名無しさん
2017/08/17(木) 14:10:07.16ID:P168fr1d Kotlinに関わるならJetBrainsに行くやろ
あるいはGoogleのなかでも特にBrainsチームに入る意味がない
本人がAIやるって言ってんだからそれ以上でもそれ以下でもない
あるいはGoogleのなかでも特にBrainsチームに入る意味がない
本人がAIやるって言ってんだからそれ以上でもそれ以下でもない
537デフォルトの名無しさん
2017/08/17(木) 17:50:59.53ID:8HfS9wXv SwiftとKotlin/Nativeはコンセプトや立ち位置が同じだからワンチャンあるで
GoMobileもAndroid Studio C/C++ NDK Pluginも死に体だから、Android + Kotlin/Nativeに期待したいね
GoMobileもAndroid Studio C/C++ NDK Pluginも死に体だから、Android + Kotlin/Nativeに期待したいね
538デフォルトの名無しさん
2017/08/17(木) 20:15:47.27ID:uHinuZ07 これかな
Apple「Swift」のクリス・ラトナー氏、Teslaを経てGoogle Brain入り
ttp://www.itmedia.co.jp/enterprise/articles/1708/15/news043.html
Apple「Swift」のクリス・ラトナー氏、Teslaを経てGoogle Brain入り
ttp://www.itmedia.co.jp/enterprise/articles/1708/15/news043.html
539デフォルトの名無しさん
2017/08/18(金) 06:36:54.32ID:pZRlwMOC 騒ぐことか?
たかがswift()の開発者なんだろ?
たかがswift()の開発者なんだろ?
540デフォルトの名無しさん
2017/08/18(金) 07:47:10.05ID:ijb+FWu4 教祖だからしゃーない
541デフォルトの名無しさん
2017/08/18(金) 10:12:07.26ID:vRHq3miw Swiftの開発者だけど、Kotlin/Nativeで使うLLVMの開発者でもあるんだよなぁ
Googleへの転職も短期らしいしApple(Swift)からJetBrains(Kotlin)にすぐに転職したら
倫理的にAppleからクレームが来るのは当然だしお茶濁しかもね
KotlinにLLVMのノウハウ投入してくれることを期待しようじゃないの
Googleへの転職も短期らしいしApple(Swift)からJetBrains(Kotlin)にすぐに転職したら
倫理的にAppleからクレームが来るのは当然だしお茶濁しかもね
KotlinにLLVMのノウハウ投入してくれることを期待しようじゃないの
542デフォルトの名無しさん
2017/08/18(金) 10:14:49.37ID:ReVsiHRv >>541
brainだから全く関係ないが
brainだから全く関係ないが
543デフォルトの名無しさん
2017/08/18(金) 10:15:50.49ID:FWE4C9Nk 希望的観測
544デフォルトの名無しさん
2017/08/18(金) 10:35:41.64ID:+X0+m8dy googleって20%ルールってまだあるんでしょ?
その20%の中でkotlinに手を出すのは自由なんじゃないの。
ただ、swiftの言語仕様の変遷を見るにkotlinの言語仕様に口出したら
とんでもないことになりそう
その20%の中でkotlinに手を出すのは自由なんじゃないの。
ただ、swiftの言語仕様の変遷を見るにkotlinの言語仕様に口出したら
とんでもないことになりそう
545デフォルトの名無しさん
2017/08/18(金) 10:42:26.32ID:bO8OoBBY >>544
会社が大きくなって死んだよ
会社が大きくなって死んだよ
546デフォルトの名無しさん
2017/08/18(金) 11:43:17.65ID:a7R6z0dh 3秒ルールはないのかな
547デフォルトの名無しさん
2017/08/19(土) 05:05:31.91ID:pqlrWbIe C#から来たけど、C#ではヌル安全もコンストラクタとメンバ定義が一体になってるやつも一向に入らないからKotlinの方がいいと思うようになったね
IDEが少しモッサリしてるのとコンパイルが遅いのが難点だけどね
SwiftはGCがないから論外じゃない?
IDEが少しモッサリしてるのとコンパイルが遅いのが難点だけどね
SwiftはGCがないから論外じゃない?
548デフォルトの名無しさん
2017/08/19(土) 13:02:36.70ID:i5Fk1Iv8 >>547
GCないから論外ってそれRustに向かって言えるの?
GCないから論外ってそれRustに向かって言えるの?
549デフォルトの名無しさん
2017/08/19(土) 13:06:40.00ID:s/Tmv27m 今どきガベコレは欲しいな
550デフォルトの名無しさん
2017/08/19(土) 13:13:50.07ID:yjxWeDHX Kotlin/Native PreviewはGCじゃなくARCなんだけど?
そして、GCがベストというわけじゃないし今後はどうするかは知らんとも言ってる
そして、GCがベストというわけじゃないし今後はどうするかは知らんとも言ってる
551デフォルトの名無しさん
2017/08/19(土) 13:17:42.75ID:pqlrWbIe552デフォルトの名無しさん
2017/08/19(土) 14:47:09.74ID:a8QxREVh rustはどうなんだろうね。
いずれ学習したい言語ではあるけど、今のところ活躍場所がないからなぁ。
いずれ学習したい言語ではあるけど、今のところ活躍場所がないからなぁ。
553デフォルトの名無しさん
2017/08/19(土) 14:56:51.77ID:t3rqEI6U Kotlin勉強してるけどベターJavaとしてのScalaは相当辛いなあ。
Scalaは何目指せばいいんだろ
Scalaは何目指せばいいんだろ
554デフォルトの名無しさん
2017/08/19(土) 15:51:07.03ID:+F5+cWTJ Scalaって当時のサーバサイドJava(J2EE)の代替として出たものでしょ
サーバ上で動かすJavaVMに既存資産(ソフト&人員)の再利用以外の価値を見出せるなら使えるんじゃないの
サーバ上で動かすJavaVMに既存資産(ソフト&人員)の再利用以外の価値を見出せるなら使えるんじゃないの
555デフォルトの名無しさん
2017/08/19(土) 17:29:36.37ID:9KU7ntuJ Java EE が、大げさすぎるから、
2001年、Struts
2004年、Ruby の、Rails
2006年、Groovy の、Grails
2006年、Scala の、Play
今は、Kotlin が出たけど、型を書くのが面倒くさいから、
型を書かない、Ruby, Groovy は残るだろう
2001年、Struts
2004年、Ruby の、Rails
2006年、Groovy の、Grails
2006年、Scala の、Play
今は、Kotlin が出たけど、型を書くのが面倒くさいから、
型を書かない、Ruby, Groovy は残るだろう
556デフォルトの名無しさん
2017/08/19(土) 22:54:27.97ID:a8QxREVh557デフォルトの名無しさん
2017/08/19(土) 23:01:53.07ID:C7hMtZt2 型がないのと型を書かないですむのを一緒にするなし
558デフォルトの名無しさん
2017/08/19(土) 23:02:14.25ID:p9Z5WLWG 型があろうがなかろうがどうせバグはテストで潰すからな
js界隈にはテスト文化がないのか
js界隈にはテスト文化がないのか
559デフォルトの名無しさん
2017/08/19(土) 23:50:54.57ID:3LWi1RRc 直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと
これならJIETから3次でいったほうがいいな
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ
それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
560デフォルトの名無しさん
2017/08/20(日) 00:15:05.28ID:kaazzj5o >>555
Railsより長く使われてるTomcat(Servlet)とPHPを忘れてんよ
どっちもRailsに淘汰されるかと思ったらなんだかんだで未だに生き残ってやがるから困る
テスト云々より動的型付け(TypeScript含む)は実行時速度がなぁ
動的型付け+型チェックは苦肉の策で、静的型付け+型推論が今の流行りよな
よってKotlinは素晴らしい
Railsより長く使われてるTomcat(Servlet)とPHPを忘れてんよ
どっちもRailsに淘汰されるかと思ったらなんだかんだで未だに生き残ってやがるから困る
テスト云々より動的型付け(TypeScript含む)は実行時速度がなぁ
動的型付け+型チェックは苦肉の策で、静的型付け+型推論が今の流行りよな
よってKotlinは素晴らしい
561デフォルトの名無しさん
2017/08/20(日) 00:37:21.64ID:C3zH0fui ひところJIETがネガキャンされてて最近は逆に急にこのありさま
どこに首根っこつかまれたんだ
どこに首根っこつかまれたんだ
562デフォルトの名無しさん
2017/08/20(日) 19:22:23.16ID:X7HXBqNm Android Studio 2.3.3で新規プロジェクト作るとKotlin変換後syncするとなんか赤字のIDEエラーが出るわ
AssertionError: Resolver for 'completion/highlighting in org.jetbrains.kotlin.idea.caches.resolve.NotUnderContentRootModuleInfo@1f51170a for files MainActivity.kt
for platform JVM' does not know how to resolve ModuleProductionSourceInfo(module=Module: 'app')
なんか設定間違ってるのだろうか…
AssertionError: Resolver for 'completion/highlighting in org.jetbrains.kotlin.idea.caches.resolve.NotUnderContentRootModuleInfo@1f51170a for files MainActivity.kt
for platform JVM' does not know how to resolve ModuleProductionSourceInfo(module=Module: 'app')
なんか設定間違ってるのだろうか…
563デフォルトの名無しさん
2017/08/20(日) 20:28:01.43ID:X7HXBqNm ぬーん原因らしきものわかった
「Javaをktファイルに変換する(Ctrl+Shift+Alt+k)」は/app/src/main/javaを選択した状態でやったほうがいいらしい
下手に/appとかプロジェクトルート選択した状態で変換すると余計なのまでkt化されてIDEサポート動作に支障が出るようだ
こんなミスする人そんなにいないと思うけど数文字打つたびIDEエラー出まくるという人は気をつけてみてくれ
「Javaをktファイルに変換する(Ctrl+Shift+Alt+k)」は/app/src/main/javaを選択した状態でやったほうがいいらしい
下手に/appとかプロジェクトルート選択した状態で変換すると余計なのまでkt化されてIDEサポート動作に支障が出るようだ
こんなミスする人そんなにいないと思うけど数文字打つたびIDEエラー出まくるという人は気をつけてみてくれ
564デフォルトの名無しさん
2017/08/20(日) 21:38:37.79ID:X7HXBqNm そうでもなかった
IlligalStateExcptionは別枠らしい
Failed to create expression from text: '<ERROR FUNCTION>'
ターミナルから起動すると標準エラー出力にスタックトレースが出ることがわかったのだが追跡めんどいな
前のと違ってこのエラー出ても補完とかは動くからもう無視したいした
IlligalStateExcptionは別枠らしい
Failed to create expression from text: '<ERROR FUNCTION>'
ターミナルから起動すると標準エラー出力にスタックトレースが出ることがわかったのだが追跡めんどいな
前のと違ってこのエラー出ても補完とかは動くからもう無視したいした
565デフォルトの名無しさん
2017/08/22(火) 01:05:28.57ID:hpqXPKX7 ちょっと関係ない話だがKotlinの入門書の最初に説明用のサンプルとして出てきた最大公約数を求める関数のアルゴリズムに驚いた
ユークリッドの互除法なんてものがあることを今まで知らなかった
証明見てもまだよくわからん
よくこんなことに気付いたな
紀元前300年の数学者すげー
ユークリッドの互除法なんてものがあることを今まで知らなかった
証明見てもまだよくわからん
よくこんなことに気付いたな
紀元前300年の数学者すげー
566デフォルトの名無しさん
2017/08/22(火) 01:14:54.99ID:tq0/mRJT ユークリッドの互除法って有名で
プログラミングの題材としてもよく出てくるけど
紀元前に生まれてたら自力で思いつかないとは思う
プログラミングの題材としてもよく出てくるけど
紀元前に生まれてたら自力で思いつかないとは思う
567デフォルトの名無しさん
2017/08/22(火) 01:47:52.53ID:hpqXPKX7 有名だったのか。確かに再帰処理の題材としては丁度いいねこれ。
568デフォルトの名無しさん
2017/08/22(火) 02:31:08.97ID:tq0/mRJT Kotlinなんて最新言語じゃなくて
何十年も前のBASICやCの頃から
互除法の例題はあったよ
何十年も前のBASICやCの頃から
互除法の例題はあったよ
569デフォルトの名無しさん
2017/08/22(火) 02:37:43.49ID:i38qdLYb 正直あれは脚注でもなんでもいいから一言解説がついててもいいと思う
どこかで一度でもやったことさえあれば一発で見当がつくが
そうでなきゃ何がなんだかさっぱりわからんはずだ
どこかで一度でもやったことさえあれば一発で見当がつくが
そうでなきゃ何がなんだかさっぱりわからんはずだ
570デフォルトの名無しさん
2017/08/22(火) 02:45:00.72ID:NodutCvj 別にユークリッドの互除法を教えるのが目的じゃないからなあ
571デフォルトの名無しさん
2017/08/22(火) 02:49:09.46ID:tq0/mRJT Nクイーンとかもそうだけど
使い回されてるアルゴリズムを載せるのって
他言語でもう読み書きしたことがある人が
「この言語だとどう書くの?」ってのを
確認するためにあるようなものだからね
使い回されてるアルゴリズムを載せるのって
他言語でもう読み書きしたことがある人が
「この言語だとどう書くの?」ってのを
確認するためにあるようなものだからね
572デフォルトの名無しさん
2017/08/22(火) 12:09:02.60ID:IWEK7hu0 「※ユークリッドの互除法」と一言書いてあるだけで100人単位で手間が救われたはずではある
もともとページ数ギリギリな書籍だから難しいのかもしれんが
もともとページ数ギリギリな書籍だから難しいのかもしれんが
573デフォルトの名無しさん
2017/08/22(火) 12:48:19.23ID:AcxdB0/s ま、しかし、少なくとも計算に関しては数学知ってるか否かでかなりプログラムが変わって物凄く効率化できる可能性あるな。
574デフォルトの名無しさん
2017/08/22(火) 12:53:42.85ID:NodutCvj 大体仕事で再起処理とか使わないし
575デフォルトの名無しさん
2017/08/22(火) 14:14:28.90ID:IVfvVmbm ユークリッドの互除法は、中学生レベルだろ。
知らなかったら、最大公約数を求められない
プログラムの本で、素数を求めるのに、√N まで、求めれば良いのに、
それを知らない著者もいる
N = 1,000 なら、32 まで試せば良いのに、1,000 まで試してる著者もいるw
知らなかったら、最大公約数を求められない
プログラムの本で、素数を求めるのに、√N まで、求めれば良いのに、
それを知らない著者もいる
N = 1,000 なら、32 まで試せば良いのに、1,000 まで試してる著者もいるw
576デフォルトの名無しさん
2017/08/22(火) 14:21:03.39ID:IWEK7hu0577デフォルトの名無しさん
2017/08/22(火) 16:24:42.17ID:ZXHHpxC4 >>574
使うこともあるよ。使った方が簡単になる場合。
こないだやったのは(Kotlinではないが)XMLの階層構造をRDBの表に入れるとかそこから戻すとかの処理。
XMLって入れ子になってるから再帰で書いた方が楽だ。というか再帰使わないと複雑怪奇なプログラムになるんじゃないか?
使うこともあるよ。使った方が簡単になる場合。
こないだやったのは(Kotlinではないが)XMLの階層構造をRDBの表に入れるとかそこから戻すとかの処理。
XMLって入れ子になってるから再帰で書いた方が楽だ。というか再帰使わないと複雑怪奇なプログラムになるんじゃないか?
578デフォルトの名無しさん
2017/08/24(木) 02:30:54.84ID:YbxxOGZ9 互除法は繰り返しでもわりと自然にコーディングできるが、XMLとかの木構造の処理は再帰が自然だよね。
579デフォルトの名無しさん
2017/08/31(木) 23:08:32.05ID:67nUNCV4 operator キーワードの意味が良く分からないんですがこれって何のために必要なんでしょうか
580デフォルトの名無しさん
2017/08/31(木) 23:18:11.21ID:pWykFKbQ581デフォルトの名無しさん
2017/09/01(金) 15:48:55.97ID:yBuOlbxF ギアパワーの組み合わせで性能が見れるアプリを作ってみようかと思うんだが、
どういう機能があったら嬉しいかね
単に57表記が見れるだけじゃ意味ないよねえ
どういう機能があったら嬉しいかね
単に57表記が見れるだけじゃ意味ないよねえ
582デフォルトの名無しさん
2017/09/01(金) 16:36:37.15ID:xNWoFI1L それはプログラミング言語の手法の話ではないと思うよ
そのアプリを使うであろう人たちに直接聞いてみてはいかがかな
そのアプリを使うであろう人たちに直接聞いてみてはいかがかな
583デフォルトの名無しさん
2017/09/07(木) 03:36:37.46ID:Ua+ABG0j 使う
584デフォルトの名無しさん
2017/09/07(木) 03:43:26.98ID:Ua+ABG0j ミスった
引数がIntのメソッドにByteとかShortとかつっこみたいときの賢い方法ってない?
いちいち.toInt()付けるのアホらしくて
…いっそのこと全部Intにしてしまうか
引数がIntのメソッドにByteとかShortとかつっこみたいときの賢い方法ってない?
いちいち.toInt()付けるのアホらしくて
…いっそのこと全部Intにしてしまうか
585デフォルトの名無しさん
2017/09/07(木) 07:38:14.55ID:hBpoFfSg java使えば?
586デフォルトの名無しさん
2017/09/07(木) 07:43:21.26ID:dJGmlTPD val b:Byte = 100
f(b+0)
f(b+0)
587デフォルトの名無しさん
2017/09/07(木) 18:23:41.25ID:dmOyOqaZ 「引数をとりあえずIntにして当該メソッドを呼ぶ」というメソッドを作ってそっちを使うようにする
具体的にどういうことをしたいときなのか言うと案外別アプローチあるやもしれず
具体的にどういうことをしたいときなのか言うと案外別アプローチあるやもしれず
588デフォルトの名無しさん
2017/09/07(木) 18:50:45.76ID:dJGmlTPD 拡張プロパティで短縮
val Byte.i:Int get() = toInt()
fun f(b:Int) {
println(b)
}
fun test() {
val b:Byte = 100
f(b.i)
}
val Byte.i:Int get() = toInt()
fun f(b:Int) {
println(b)
}
fun test() {
val b:Byte = 100
f(b.i)
}
589デフォルトの名無しさん
2017/09/07(木) 21:28:09.40ID:wVi6dnoF >>586は何気にbytecodeにコンパイルすると最速処理に最適化されるのではと悩む
val b:Byteはクラス型じゃなくプリミティブ型intに置換されて、+0は無意味な処理として削除される的なね
toIntoをメソッドとしてコールするようなオーバーヘッドは無いに越したことはないよねー
val b:Byteはクラス型じゃなくプリミティブ型intに置換されて、+0は無意味な処理として削除される的なね
toIntoをメソッドとしてコールするようなオーバーヘッドは無いに越したことはないよねー
590デフォルトの名無しさん
2017/09/07(木) 21:37:35.68ID:10GmZssK class MainActivity : AppCompatActivity() {
fun func(value: Int) : String {
}
}
: の前って空白をいれるべきなんでしょうか
入れないでおくべきなんでしょうか
クラスの継承の時だけ入れるべきなんでしょうか
fun func(value: Int) : String {
}
}
: の前って空白をいれるべきなんでしょうか
入れないでおくべきなんでしょうか
クラスの継承の時だけ入れるべきなんでしょうか
591デフォルトの名無しさん
2017/09/07(木) 21:52:37.07ID:La56k81V >>590
https://kotlinlang.org/docs/reference/coding-conventions.html#colon
interface Foo<out T : Any> : Bar {
fun foo(a: Int): T
}
これ以外の書き方は公式規約に則らないスタイルとなる
むろんそれを押し通してもよいが
https://kotlinlang.org/docs/reference/coding-conventions.html#colon
interface Foo<out T : Any> : Bar {
fun foo(a: Int): T
}
これ以外の書き方は公式規約に則らないスタイルとなる
むろんそれを押し通してもよいが
592デフォルトの名無しさん
2017/09/08(金) 10:15:45.38ID:IL9yY2pX 関数定義の時はコロン前の空白無しって感じか
593デフォルトの名無しさん
2017/09/09(土) 05:04:55.71ID:/lYAOhx7 >>589
それはオーバーヘッドが出ないように最適化されるのかどうかに掛かっている。
それはオーバーヘッドが出ないように最適化されるのかどうかに掛かっている。
594デフォルトの名無しさん
2017/09/09(土) 18:18:44.00ID:8E3FMuHj >>593
後から思い直したけど、メソッドfがByteクラスというクラス型を受け取る以上
val b:Byte = 100
b+0
までをプリミティブ型に最適化する超絶賢いコンパイル処理がなされても
f(100)
でintからByteへのインスタンス生成が必要だからJVM上の最小限コストにはならぬ
小賢しく汚いコードの割に最大効果が得られるわけでもないから微妙だわ
後から思い直したけど、メソッドfがByteクラスというクラス型を受け取る以上
val b:Byte = 100
b+0
までをプリミティブ型に最適化する超絶賢いコンパイル処理がなされても
f(100)
でintからByteへのインスタンス生成が必要だからJVM上の最小限コストにはならぬ
小賢しく汚いコードの割に最大効果が得られるわけでもないから微妙だわ
595デフォルトの名無しさん
2017/09/09(土) 21:51:29.93ID:fgzL7F9C >>594
f(100)と書いたならコンパイル時にインスタンス作ってコンスタントプールに入れられるから実行時の無駄はないのでは?
f(100)と書いたならコンパイル時にインスタンス作ってコンスタントプールに入れられるから実行時の無駄はないのでは?
596デフォルトの名無しさん
2017/09/09(土) 23:45:06.02ID:8E3FMuHj # メソッドfが受け取るのはByteじゃなくIntだったorz
>>595
プリミティブ型byte/int 100はコンスタントプールに乗っかるけど
クラス型Byte/Int 100はコンスタントプールには乗っからないから
メソッドf呼び出し時のint to Intのインスタンス化コストは回避できてなくね?
メソッドfが受ける型をJITやクラスローダーが書き換えないと無理ぽ
どうやったってJava相当まで最適化できないんだから
全部Intにするなり拡張プロパティ使うなり、好きなように実装して良いと思った
>>595
プリミティブ型byte/int 100はコンスタントプールに乗っかるけど
クラス型Byte/Int 100はコンスタントプールには乗っからないから
メソッドf呼び出し時のint to Intのインスタンス化コストは回避できてなくね?
メソッドfが受ける型をJITやクラスローダーが書き換えないと無理ぽ
どうやったってJava相当まで最適化できないんだから
全部Intにするなり拡張プロパティ使うなり、好きなように実装して良いと思った
597デフォルトの名無しさん
2017/09/10(日) 01:33:16.68ID:3lFSiHDa 乗らないか。じゃあダメだな。
まあでもそこまで最適化するようなコンパイラができればできるということでもあるので何とも言えんな。
それとプログラマが最適化を考慮してコード書くってのは、まるで昔のC言語のようで、かなり変な状態だとも思える。
現実問題としては効率を上げるためにはそうせざるを得ないが、本来であればそれはコンパイラがやるべき仕事であり
人間がそういうことから解放されないのはまだ技術力が足りないからだ。
まあでもそこまで最適化するようなコンパイラができればできるということでもあるので何とも言えんな。
それとプログラマが最適化を考慮してコード書くってのは、まるで昔のC言語のようで、かなり変な状態だとも思える。
現実問題としては効率を上げるためにはそうせざるを得ないが、本来であればそれはコンパイラがやるべき仕事であり
人間がそういうことから解放されないのはまだ技術力が足りないからだ。
598デフォルトの名無しさん
2017/09/10(日) 11:34:35.85ID:tQxxVHdc 100は例なだけでtoInt云々の文脈では定数でなく変数でしょ
KotlinのByte/Intはオブジェクト型が必要なとき以外はプリミティブ型になる
さらにJVMのスタック上でbyteはintサイズで置かれてる
※例えば引数の2つのbyte型の加算は「iloadでint変数として読み込み x2」「int加算」「i2bでbyte表現に切り捨て」「istoreでintとして保管」になる
なのでtoIntはバイトコードレベルではメソッドコールどころか変換命令すら無く消滅する
+0や拡張プロパティはバイトコードに残るけど多分Dalvik JITやARTが消すんじゃないかな
KotlinのByte/Intはオブジェクト型が必要なとき以外はプリミティブ型になる
さらにJVMのスタック上でbyteはintサイズで置かれてる
※例えば引数の2つのbyte型の加算は「iloadでint変数として読み込み x2」「int加算」「i2bでbyte表現に切り捨て」「istoreでintとして保管」になる
なのでtoIntはバイトコードレベルではメソッドコールどころか変換命令すら無く消滅する
+0や拡張プロパティはバイトコードに残るけど多分Dalvik JITやARTが消すんじゃないかな
599デフォルトの名無しさん
2017/09/10(日) 23:39:27.48ID:Aa/cPztt 0〜127 なら、最初から、EXE の静的データ領域に入っているから、
インスタンスも作られないから、何も考えなくてよい
インスタンスも作られないから、何も考えなくてよい
600デフォルトの名無しさん
2017/09/11(月) 01:06:11.35ID:TB0SwtSd やっぱそれなりに最適化されるのでほとんど考えなくて良いということかな
601デフォルトの名無しさん
2017/09/11(月) 07:19:36.53ID:RCvV23l8 Javaほどではないが、それなりには最適化されるから考えなくて良いよ
602デフォルトの名無しさん
2017/09/11(月) 09:40:07.36ID:vJ3AiMg+ ○次受けが多いほど退場率が早くなる。高くなる
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる
eJobgo JIET JISA で検索
優良エージェント・優良サイト
首都圏IT(PE-BANK) プログラマーズ
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ
長時間労働 高稼働 高スキル要求が多い
フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる
eJobgo JIET JISA で検索
優良エージェント・優良サイト
首都圏IT(PE-BANK) プログラマーズ
603デフォルトの名無しさん
2017/09/14(木) 14:48:20.23ID:ZrYTexa1 Kotlinを使えば使うほど、Kotolinってええ言語やなと思う
サーバーサイドでも使われているようだし、この言語はやる価値があるね
サーバーサイドでも使われているようだし、この言語はやる価値があるね
604デフォルトの名無しさん
2017/09/14(木) 14:51:31.85ID:ZrYTexa1 Kotolinのデメリットって何かある?
全然見当たらないんだけど
全然見当たらないんだけど
605デフォルトの名無しさん
2017/09/14(木) 15:24:33.82ID:fvkkQJHv >>604
マクロがない
マクロがない
606デフォルトの名無しさん
2017/09/14(木) 15:35:41.46ID:EfU1+ylv607デフォルトの名無しさん
2017/09/14(木) 17:42:44.76ID:wsl9UgI1 >>606
ランタイム(kotlin.jar)が実行に必要
ランタイム(kotlin.jar)が実行に必要
608デフォルトの名無しさん
2017/09/14(木) 17:43:11.05ID:wsl9UgI1 安価間違えた、スマン
609デフォルトの名無しさん
2017/09/14(木) 17:48:14.60ID:fvkkQJHv 動的言語のメリットってないだろ
型推論あるし
型推論あるし
610デフォルトの名無しさん
2017/09/15(金) 10:44:48.01ID:VHxNrIHu >>604
javaの知識が前提
javaの知識が前提
611デフォルトの名無しさん
2017/09/15(金) 11:20:35.63ID:t0O3AeYk612デフォルトの名無しさん
2017/09/15(金) 18:58:50.23ID:Tu1mqslW613デフォルトの名無しさん
2017/09/15(金) 21:05:06.50ID:iYxiAtrq そういやJavaの知識なしの人向けの入門書はまだないのかな?
なくても流行ればその内出そうだが。
なくても流行ればその内出そうだが。
614デフォルトの名無しさん
2017/09/15(金) 21:11:43.49ID:pJQDrUz2 groovyよりは期待できるの?
615デフォルトの名無しさん
2017/09/16(土) 07:58:31.08ID:AcW1bn43 Javaって一番メジャー言語だから
情報が溢れてると思うんだが……
マイナー言語の苦しさに比べたらはるかに楽
情報が溢れてると思うんだが……
マイナー言語の苦しさに比べたらはるかに楽
616デフォルトの名無しさん
2017/09/16(土) 08:06:32.31ID:wHRqrpim Javaを既に知っている者ならそうだろうな
Javaを知らずにKotlinやると、KotlinとJavaを並行して学習することになるから面倒だって話だ
Javaを知らずにKotlinやると、KotlinとJavaを並行して学習することになるから面倒だって話だ
617デフォルトの名無しさん
2017/09/16(土) 09:13:19.33ID:dqmaxFWN kotlinはJavaのスクリプト言語みたいな立ち位置だからな(コンパイル要るけど)
Java入門が巷に溢れているがゆえにKotlin+Javaの書籍は出しにくいかもしれん
それにしたとしても時間が解決していくではあろう
Java入門が巷に溢れているがゆえにKotlin+Javaの書籍は出しにくいかもしれん
それにしたとしても時間が解決していくではあろう
618デフォルトの名無しさん
2017/09/16(土) 09:53:29.49ID:64cU0LXO Kotlinで開発してたとして、具体的にどういうときにJavaの知識が必要になるんだろう?
JVMに関してなら「言語+実行環境」だから他の言語と変わりないし
Javadocのシグネチャくらいで困ることは無さそうだし
多分、解説書く側も「何が分からないのか分からない」状態になってるんじゃないかな
JVMに関してなら「言語+実行環境」だから他の言語と変わりないし
Javadocのシグネチャくらいで困ることは無さそうだし
多分、解説書く側も「何が分からないのか分からない」状態になってるんじゃないかな
619デフォルトの名無しさん
2017/09/16(土) 10:25:55.20ID:7CqADWEJ620デフォルトの名無しさん
2017/09/16(土) 10:55:31.44ID:9wmYZqGr >>618
こういうことをJVM上でやりたいなぁって思った時に、Javaでの実装手法を調べてKotlinで読み換えるわけだろ?
その時にまずJavaの全般的な知識(文法, ライブラリ)を浅く広く手に入れる所から始まる
次に、JavaからKotlinに読み換えるために文法/ライブラリの在り様を深く理解してから適切なKotlinコードに書き下す
JavaとKotlinの生半可な知識だけでJavaコードを参考にKotlinコード書くと、汚いKotlinコードになるよね
なので、絶賛Javaを再勉強中・・・Java1.5の頃の知識で止まってるからイマドキのJavaが分からない
java.langとかNIO2とかを使ったコードをKotlinでいきなり書こうとしたら何か違う感が酷くてやめちまったよ
こういうことをJVM上でやりたいなぁって思った時に、Javaでの実装手法を調べてKotlinで読み換えるわけだろ?
その時にまずJavaの全般的な知識(文法, ライブラリ)を浅く広く手に入れる所から始まる
次に、JavaからKotlinに読み換えるために文法/ライブラリの在り様を深く理解してから適切なKotlinコードに書き下す
JavaとKotlinの生半可な知識だけでJavaコードを参考にKotlinコード書くと、汚いKotlinコードになるよね
なので、絶賛Javaを再勉強中・・・Java1.5の頃の知識で止まってるからイマドキのJavaが分からない
java.langとかNIO2とかを使ったコードをKotlinでいきなり書こうとしたら何か違う感が酷くてやめちまったよ
621デフォルトの名無しさん
2017/09/16(土) 11:21:42.95ID:QlT8cqjN 他の言語を知ってれば要はリファレンスとjava特有の注意事項があればいいと思うの。
文字列組み立てにはStringBuilder使えみたいなの。
そういうの無い?
文字列組み立てにはStringBuilder使えみたいなの。
そういうの無い?
622デフォルトの名無しさん
2017/09/16(土) 11:42:24.85ID:zsfdrVgC android studioってkotlinのプロジェクトにjavaのコードを貼り付けたらkotlinに変換してくれる神機能があるから
泥開発する時にネットで拾ったjavaのコードをペタペタコピペプログラミングするだけでも勉強になる
javaもkotlinも知識皆無の状態でkotlinで泥アプリ開発に取り組んだら見様見真似で簡単なアプリ作れた
ある程度コピペしてたらjavaのこの書き方はkotlinではこう書きそうっていうのがなんとなく察せてくるからandroid studioの補完を頼りに写経したりする
javaも知らないけど新しく言語の知識学ぶなんて面倒くさいからヤダ!知識皆無だけどすぐ何か作りたい!hello wordとか練習問題みたいなの書いても面白くないからモチベーションわかない!すぐ作りたい物作りたい!って場合は
ネットのサンプルと強力なIDEの支援を頼りにコピペ写経するのが効率よさそう
(外国語ができなくても海外でしばらく生活したら知識的に習わなくてもだんだん喋れるようになる理論)
泥開発する時にネットで拾ったjavaのコードをペタペタコピペプログラミングするだけでも勉強になる
javaもkotlinも知識皆無の状態でkotlinで泥アプリ開発に取り組んだら見様見真似で簡単なアプリ作れた
ある程度コピペしてたらjavaのこの書き方はkotlinではこう書きそうっていうのがなんとなく察せてくるからandroid studioの補完を頼りに写経したりする
javaも知らないけど新しく言語の知識学ぶなんて面倒くさいからヤダ!知識皆無だけどすぐ何か作りたい!hello wordとか練習問題みたいなの書いても面白くないからモチベーションわかない!すぐ作りたい物作りたい!って場合は
ネットのサンプルと強力なIDEの支援を頼りにコピペ写経するのが効率よさそう
(外国語ができなくても海外でしばらく生活したら知識的に習わなくてもだんだん喋れるようになる理論)
623デフォルトの名無しさん
2017/09/16(土) 12:49:19.86ID:64cU0LXO624デフォルトの名無しさん
2017/09/16(土) 12:50:15.30ID:64cU0LXO それと思ったのはKotlin・・というよりプログラム初学者は
言語仕様、ライブラリ、プラットフォームの知識がごちゃ混ぜになってるのかも
「Java言語仕様の知識前提」の場合はデメリットだけど、後者2つはそうではないんだよね
ちゃんと切り分けて教える必要があるのかもしれない
言語仕様、ライブラリ、プラットフォームの知識がごちゃ混ぜになってるのかも
「Java言語仕様の知識前提」の場合はデメリットだけど、後者2つはそうではないんだよね
ちゃんと切り分けて教える必要があるのかもしれない
625デフォルトの名無しさん
2017/09/16(土) 15:17:58.69ID:iyhV3x2n >>620
一々Javaで考えてからKotlinに読み替えるのではなく最初からKotlinで考えればいいのでは?それは出来ないの?
一々Javaで考えてからKotlinに読み替えるのではなく最初からKotlinで考えればいいのでは?それは出来ないの?
626デフォルトの名無しさん
2017/09/16(土) 15:51:26.67ID:zchkTGlK 前途洋々たる人にJavaを教えたいかというとそうでもない、しかし現状kotlinにはjavaの知識がいくらか必要というジレンマ
627デフォルトの名無しさん
2017/09/16(土) 17:15:31.02ID:k4zUo1jM 自動変換はマジで神機能だな
628デフォルトの名無しさん
2017/09/17(日) 09:11:08.18ID:e3nYUfGU kotlin変換はスニペット単位で変換挿入できれば初学者サポートとして文句ないんだけど
まあ高望みしても仕方ないなw
まあ高望みしても仕方ないなw
629デフォルトの名無しさん
2017/09/17(日) 09:16:06.15ID:s1Tpc6AU Kotlinを使い始めるのにJavaから始めないといけないのも高望みだから仕方ない
JVMとJava LibraryありきなんだからJavaを知らないで何が始まろうかと理解している
JVMとJava LibraryありきなんだからJavaを知らないで何が始まろうかと理解している
630デフォルトの名無しさん
2017/09/17(日) 10:57:51.48ID:iGeioDqi >>628
騙されたと思ってandroid studioでkotlinを開いてそこにjavaのスニペットをそのまま普通に貼り付けてみ
騙されたと思ってandroid studioでkotlinを開いてそこにjavaのスニペットをそのまま普通に貼り付けてみ
631デフォルトの名無しさん
2017/09/17(日) 12:20:57.80ID:QcEs4Olk >>628
できるぞ
できるぞ
632デフォルトの名無しさん
2017/09/17(日) 20:10:21.20ID:881Zhju6 kotlinというかIntelliJはなにかにつけてUnresolved Referenceで発狂して真っ赤になるのを潰していかんといかん
全部自前のkotlinファイルとパッケージだけで構成すれば絶対に起こらん事象だが、そんなのは稀だ
全部自前のkotlinファイルとパッケージだけで構成すれば絶対に起こらん事象だが、そんなのは稀だ
633デフォルトの名無しさん
2017/09/17(日) 20:33:40.63ID:8Aq7R6E2 >>632
あれはライブラリ作者とプラグイン作者が7割くらい悪い
提供されるテンプレートでjavaパッケージのimportの不足(しかもbuild.gradleに依存関係未記述)とか勘弁して欲しい
ていうかこれ作者のとこではどうやって動いてたんだ…
あれはライブラリ作者とプラグイン作者が7割くらい悪い
提供されるテンプレートでjavaパッケージのimportの不足(しかもbuild.gradleに依存関係未記述)とか勘弁して欲しい
ていうかこれ作者のとこではどうやって動いてたんだ…
634デフォルトの名無しさん
2017/09/17(日) 22:18:35.53ID:hEJjpySw635デフォルトの名無しさん
2017/09/18(月) 21:46:47.81ID:KEjrNeQk 昔のEclipse環境下開発みたいなトラブル起こしてんなw
libs/*.jar と .classpath をコミットしてなくて、ライブラリ実装者とライブラリ利用者で環境が合致しないとかよくあった
build.gradleで依存管理してないなら、libs/*.jar と .idea/ で管理してるんじゃないのかね
ビルドできねーよってIssue発行して、build.gradleで依存管理するように直してもらおうぜ(Kotlinと全く関係ない話題
libs/*.jar と .classpath をコミットしてなくて、ライブラリ実装者とライブラリ利用者で環境が合致しないとかよくあった
build.gradleで依存管理してないなら、libs/*.jar と .idea/ で管理してるんじゃないのかね
ビルドできねーよってIssue発行して、build.gradleで依存管理するように直してもらおうぜ(Kotlinと全く関係ない話題
636デフォルトの名無しさん
2017/09/19(火) 01:56:04.30ID:q5GM4Sdx TornadoFXは面白そうだなと思って手を付けた瞬間
・TornadoFXのDSL記法では思った通りに動作しないがJavaFXでは動く
・JavaFXではうまく動かないがswt直呼びでは動く
・JavaのGUIアプリケーションではあまり得意ではない
の3者が混然一体となってGUI初心者に襲いかかってきた荒野の印象しかない
GUIやるのさぼってきたツケもあるしkotlin関係ないけどな
・TornadoFXのDSL記法では思った通りに動作しないがJavaFXでは動く
・JavaFXではうまく動かないがswt直呼びでは動く
・JavaのGUIアプリケーションではあまり得意ではない
の3者が混然一体となってGUI初心者に襲いかかってきた荒野の印象しかない
GUIやるのさぼってきたツケもあるしkotlin関係ないけどな
637デフォルトの名無しさん
2017/09/19(火) 02:57:40.00ID:33S+M35U FXには手を出すなって死んだばっちゃが言ってた
638デフォルトの名無しさん
2017/09/19(火) 03:13:01.72ID:NsD/KMp/ HTTPプロトコル受けるようにして、GUIはHTMLとjavascriptでブラウザ任せでやる方がいいんでね?
639デフォルトの名無しさん
2017/09/19(火) 11:33:34.11ID:yNuGs4H1 とるねーどFXのDSL記法は初心者の「こうかな?これなら動くかな?」という学習の試行錯誤を念入りに潰してバグに変えるプロ
設定記述手法以外のDSLなんてまあたいていそんなもんだが
どうしてもPCでGUI欲しくてなにもわからない最初ならJavaFXにするのがよいよ
設定記述手法以外のDSLなんてまあたいていそんなもんだが
どうしてもPCでGUI欲しくてなにもわからない最初ならJavaFXにするのがよいよ
640デフォルトの名無しさん
2017/09/19(火) 23:03:32.67ID:yNuGs4H1 >>630
IntelliJではできんことのほうが多いね
完動するJavaのクラスのファイルとかそういうでっかいのか意味のあるわかりやすい小さいやつとかじゃないとまず無理
それでも便利だろうという指摘はもっともだが
IntelliJではできんことのほうが多いね
完動するJavaのクラスのファイルとかそういうでっかいのか意味のあるわかりやすい小さいやつとかじゃないとまず無理
それでも便利だろうという指摘はもっともだが
641デフォルトの名無しさん
2017/09/20(水) 00:55:44.49ID:yi4mI7ko tornadoFXで丸1日悩んでいたことがJavaFXでは1時間でできたなんていう笑い話が…
別にこれに限った話じゃないけど、今から何か始めたいって人は「kotlin対応新鋭フレームワーク!」みたいな宣伝には騙されずにJava製のでいいからメジャーなやつを選ぼうね
たいていkotlinでの書き方みたいなのが公開されてるからそれで充分さ
別にこれに限った話じゃないけど、今から何か始めたいって人は「kotlin対応新鋭フレームワーク!」みたいな宣伝には騙されずにJava製のでいいからメジャーなやつを選ぼうね
たいていkotlinでの書き方みたいなのが公開されてるからそれで充分さ
642デフォルトの名無しさん
2017/09/20(水) 12:49:45.18ID:UnWC6mNR 画面はWebView(JavaScript連携)でいいよ
643デフォルトの名無しさん
2017/09/21(木) 00:08:50.00ID:fijEecfV そこそこの長さの文字列をわかりよく文字列のリストにする方法ってないですか
"ABCDE".toList()だとCharのリストになってmapとか繋げて変換がいります
"ABCDE".split("")だとなんか7つのリストになります
文字境界の正規表現を指定すればいいような気もしますが探せませんでした
"ABCDE".toList()だとCharのリストになってmapとか繋げて変換がいります
"ABCDE".split("")だとなんか7つのリストになります
文字境界の正規表現を指定すればいいような気もしますが探せませんでした
644デフォルトの名無しさん
2017/09/21(木) 03:27:44.93ID:AcIIQNEl >>643
"ABCDE".split("(?=.)") ではどうか?
"ABCDE".split("(?=.)") ではどうか?
645デフォルトの名無しさん
2017/09/21(木) 11:28:55.55ID:fijEecfV >>> "ABCDE".split("")
[, A, B, C, D, E, ]
>>> "ABCDE".split("").size
7
>>> "ABCDE".split(Regex("(?=.)"))
[A, B, C, D, E]
おお、ありがとうです
しかしありそうでないのねStringで分けるやつ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
[, A, B, C, D, E, ]
>>> "ABCDE".split("").size
7
>>> "ABCDE".split(Regex("(?=.)"))
[A, B, C, D, E]
おお、ありがとうです
しかしありそうでないのねStringで分けるやつ 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
646デフォルトの名無しさん
2017/09/21(木) 13:35:52.21ID:mLLoqbOf647デフォルトの名無しさん
2017/09/21(木) 21:11:04.25ID:fijEecfV だからそれだとStringをCharにしてからStringにするという手間がかかっ
for(int var6 = 0; var6 < var5.length(); ++var6) {
char item$iv$iv = var5.charAt(var6);
String var13 = String.valueOf(item$iv$iv);
destination$iv$iv.add(var13);
}
…ってなかった。最近の言語のコレクションのmapとかあのへんのメソッドは空気を読んでて困る(えらい)。じゃあこれにします
for(int var6 = 0; var6 < var5.length(); ++var6) {
char item$iv$iv = var5.charAt(var6);
String var13 = String.valueOf(item$iv$iv);
destination$iv$iv.add(var13);
}
…ってなかった。最近の言語のコレクションのmapとかあのへんのメソッドは空気を読んでて困る(えらい)。じゃあこれにします
648デフォルトの名無しさん
2017/09/23(土) 03:05:43.18ID:LuIx8rlF Kotlinは配列というかリストになんか入れるとエラーで二度と引き出せなくなるのが嫌
何か不都合があって引き出せないのなら最初から弾いてくれ
何か不都合があって引き出せないのなら最初から弾いてくれ
649デフォルトの名無しさん
2017/09/23(土) 06:21:39.07ID:iHkIwIdJ 意味がわからん
650デフォルトの名無しさん
2017/09/23(土) 09:46:44.92ID:X9FmtUo8 つmutableListOf
651デフォルトの名無しさん
2017/09/23(土) 09:47:52.09ID:X9FmtUo8 いや意味がわからんな
652デフォルトの名無しさん
2017/09/23(土) 10:14:30.20ID:Fr4ObNsJ あのへんは型とか継承とかの理解きちんとしてないとちょっと複雑なの入れたときものっそいエラーになるよ
適当に書いて適当に使ってると動くと見せかけていざというとき詰まる箇所ベスト3に入ると思う
適当に書いて適当に使ってると動くと見せかけていざというとき詰まる箇所ベスト3に入ると思う
653デフォルトの名無しさん
2017/09/23(土) 10:59:53.99ID:BNc4tUhk 具体例があると話も広がりそうだけどイメージがわかない
654デフォルトの名無しさん
2017/09/23(土) 13:45:04.86ID:HgJ0Nznd コレクションって色々種類があって、
問題によって適切なクラスを選ぶべきとか言っていたくせに
mutableListはmutableListしか種類ないし、それで別に問題がないってどういうことだよ
フィールドもprivateにしてsetter, getterからアクセスしろとか言っていたくせに
プロパティアクセスは実質フィールドをpublicにしているのと変わりないじゃねえか
その他、継承は良いことだからたくさん使って活用していこうとか言っていたくせに
openをつけないと継承できなくして、実質継承は推奨しないみたいになってるのなんなん
嘘ばっかり言いやがって
問題によって適切なクラスを選ぶべきとか言っていたくせに
mutableListはmutableListしか種類ないし、それで別に問題がないってどういうことだよ
フィールドもprivateにしてsetter, getterからアクセスしろとか言っていたくせに
プロパティアクセスは実質フィールドをpublicにしているのと変わりないじゃねえか
その他、継承は良いことだからたくさん使って活用していこうとか言っていたくせに
openをつけないと継承できなくして、実質継承は推奨しないみたいになってるのなんなん
嘘ばっかり言いやがって
655デフォルトの名無しさん
2017/09/23(土) 14:17:09.35ID:8bsZ0VcP >>652
「のっそい」って何処の方言?沢山って意味?
「のっそい」って何処の方言?沢山って意味?
656デフォルトの名無しさん
2017/09/23(土) 14:32:54.88ID:Ok7b72Pt >>654
いろいろ勘違いしててどこから突っ込めばいいのやら
いろいろ勘違いしててどこから突っ込めばいいのやら
657デフォルトの名無しさん
2017/09/23(土) 15:29:22.72ID:vuIl3Vgh プロパティアクセスは、publicなフィールドへのアクセスと違って、
setを制限してgetだけにできるし、
setするときの値チェックなんかもできるし、
privateフィールドをsetter/getterでアクセスする利点はそのままに、
使うときの表記をシンプルにしてくれる
setを制限してgetだけにできるし、
setするときの値チェックなんかもできるし、
privateフィールドをsetter/getterでアクセスする利点はそのままに、
使うときの表記をシンプルにしてくれる
658デフォルトの名無しさん
2017/09/23(土) 15:29:38.76ID:vuIl3Vgh 継承するよりコンポジションしてアクセスを転送する方がいいっていうのは
もうオブジェクト指向では定説
もうオブジェクト指向では定説
659デフォルトの名無しさん
2017/09/23(土) 15:37:14.57ID:vuIl3Vgh ミュータブルなコレクションに厳密な静的型チェックを適用としようとするのはいろいろ限界がある
Javaでは厳密な静的型チェックを放棄して使いやすさを優先してる
Javaでは厳密な静的型チェックを放棄して使いやすさを優先してる
660デフォルトの名無しさん
2017/09/23(土) 15:40:52.48ID:JwqPmi7Z 今更だけど、StringをStringリスト(配列)にするってクッソ馬鹿っぽいな
Stringをnewするのも重いし、確保したメモリをGCで回収するのも重くなる
「StringをCharにしてからStringにするという手間」とか言うならChar配列で扱えというね
String配列扱うくらいに性能を考えないなら、当初の通りに#toList #map使っててもおkだろ
Stringをnewするのも重いし、確保したメモリをGCで回収するのも重くなる
「StringをCharにしてからStringにするという手間」とか言うならChar配列で扱えというね
String配列扱うくらいに性能を考えないなら、当初の通りに#toList #map使っててもおkだろ
661デフォルトの名無しさん
2017/09/23(土) 16:00:34.34ID:BNc4tUhk >>654
>mutableListはmutableListしか種類ない
意味がわからない
大枠でList, Set, MapなどがあってLinkedHashMapとSortedMapは順序制御が違うし
ArrayListとLinkedListは追加削除のパターンによって計算量オーダーが異なる
>setter, getterからアクセスしろとか言っていたくせに
構文が理由ではない
>フィールドをpublicにしているのと変わりない
構文が変わりないだけ
>mutableListはmutableListしか種類ない
意味がわからない
大枠でList, Set, MapなどがあってLinkedHashMapとSortedMapは順序制御が違うし
ArrayListとLinkedListは追加削除のパターンによって計算量オーダーが異なる
>setter, getterからアクセスしろとか言っていたくせに
構文が理由ではない
>フィールドをpublicにしているのと変わりない
構文が変わりないだけ
662デフォルトの名無しさん
2017/09/23(土) 16:22:03.12ID:vuIl3Vgh663デフォルトの名無しさん
2017/09/23(土) 16:43:59.09ID:JwqPmi7Z COW信者乙
さておき、入れ物のStringインスタンスをnewするのはやめたいよな
中身をコピーするかどうか以前にJVM上のインスタンスの確保が重たいんだよ
そして、GCで回収して回る対象個数が増えて重たくなるのは中身のコピー有無は関係ないんだよ
さておき、入れ物のStringインスタンスをnewするのはやめたいよな
中身をコピーするかどうか以前にJVM上のインスタンスの確保が重たいんだよ
そして、GCで回収して回る対象個数が増えて重たくなるのは中身のコピー有無は関係ないんだよ
664デフォルトの名無しさん
2017/09/23(土) 17:42:00.77ID:8bsZ0VcP かといって日頃パフォーマンスに影響するような膨大な処理をさせてないので気にならない
665デフォルトの名無しさん
2017/09/23(土) 20:38:20.82ID:3qopZopL666デフォルトの名無しさん
2017/09/23(土) 21:43:26.21ID:Kp7vI9MI 気に入らないところが、JavaやScalaを使い込んだ人視点で、このスレレベルからみるとむしろズレてるね
667デフォルトの名無しさん
2017/09/23(土) 22:33:09.90ID:lJM5VEju >>662
そういったイミュータブルな文字列を表現するデータ構造として Rope がある
・Rope (data structure) - Wikipedia
https://en.wikipedia.org/wiki/Rope_(data_structure)
・ロープ: 理論と実践 - IBM developerWorks / Java technology
https://www.ibm.com/developerworks/jp/java/library/j-ropes/
・最終報告 - Ropeを用いたRuby処理系の高速化に関する報告
http://www.spinute.org/ruby/gsoc2016/japanese.html
特に「Stringの一部分を取り出して新しいStringを作る」という
substring 操作に関しては、上記の Wikipedia のページからリンクされている
原論文(英語)の中で疑似コードを使って丁寧に解説されている
で、肝心の Kotlin 実装は知らない(汗
そういったイミュータブルな文字列を表現するデータ構造として Rope がある
・Rope (data structure) - Wikipedia
https://en.wikipedia.org/wiki/Rope_(data_structure)
・ロープ: 理論と実践 - IBM developerWorks / Java technology
https://www.ibm.com/developerworks/jp/java/library/j-ropes/
・最終報告 - Ropeを用いたRuby処理系の高速化に関する報告
http://www.spinute.org/ruby/gsoc2016/japanese.html
特に「Stringの一部分を取り出して新しいStringを作る」という
substring 操作に関しては、上記の Wikipedia のページからリンクされている
原論文(英語)の中で疑似コードを使って丁寧に解説されている
で、肝心の Kotlin 実装は知らない(汗
668デフォルトの名無しさん
2017/09/23(土) 22:39:08.56ID:XK13+/v0669デフォルトの名無しさん
2017/09/24(日) 02:01:15.02ID:GOJB25/b >>666
文法が気に入らないって言ってるだけでJavaやScalaを使い込んでるようにも見えんがな
JVMの仕様上、JavaやScalaの方が最適化されてるからKotlinが気に入らないって話かと思って読んだらもっと浅い話だった
Kotlinの文法が良いってこのスレは賞賛してるから論点はこのスレと合致してる
ただ、Kotlinの文法がダメって記事と、Kotlinの文法がイイってスレとで感想が真逆なだけだ
文法が気に入らないって言ってるだけでJavaやScalaを使い込んでるようにも見えんがな
JVMの仕様上、JavaやScalaの方が最適化されてるからKotlinが気に入らないって話かと思って読んだらもっと浅い話だった
Kotlinの文法が良いってこのスレは賞賛してるから論点はこのスレと合致してる
ただ、Kotlinの文法がダメって記事と、Kotlinの文法がイイってスレとで感想が真逆なだけだ
670デフォルトの名無しさん
2017/09/24(日) 02:17:41.07ID:vbDFNvhm >>655
ものすごい→ものっそい
ものすごい→ものっそい
671デフォルトの名無しさん
2017/09/24(日) 09:32:49.28ID:UrGEC0gh tornadoFXはDSLのダメなとこ出てるねえってだけだから、それ気にならないならいいんじゃないかな
足りない情報は君が発信するんだ
足りない情報は君が発信するんだ
672デフォルトの名無しさん
2017/09/24(日) 10:29:34.48ID:tu0D//Rh Kotlin は、Groovy, Scala, Ruby の影響を受けている
Ruby を関数型にした、Elixir を意識している。
関数型では、デフォルトが、immutable
Ruby を関数型にした、Elixir を意識している。
関数型では、デフォルトが、immutable
673デフォルトの名無しさん
2017/09/24(日) 14:15:58.51ID:q8xwt5Nv ねえねえおにいちゃん
ミュータブルリストの先頭から要素を削除して詰める(戻り値不問)って行為をいちばんうまくできる書き方ってなあに
ミュータブルリストの先頭から要素を削除して詰める(戻り値不問)って行為をいちばんうまくできる書き方ってなあに
674デフォルトの名無しさん
2017/09/24(日) 14:31:53.81ID:c233uqnI >>673
removeAt() じゃないの?
removeAt() じゃないの?
675デフォルトの名無しさん
2017/09/24(日) 14:32:52.09ID:c233uqnI コマンドラインでこんな風にできたが
>>> val a = mutableListOf(1, 2, 3)
>>> a
[1, 2, 3]
>>> a.removeAt(0)
1
>>> a
[2, 3]
>>> val a = mutableListOf(1, 2, 3)
>>> a
[1, 2, 3]
>>> a.removeAt(0)
1
>>> a
[2, 3]
676デフォルトの名無しさん
2017/09/25(月) 02:59:33.77ID:JjTJVibn kotolinってc#で言うpartial classみたいなことできないのかな?
実装を分けたい
実装を分けたい
677デフォルトの名無しさん
2017/09/26(火) 20:47:43.28ID:fZxiOEU0 fun main(args : Array<String>){
test(){
println("test!")
}
}
fun <T> test(body: () -> T ) : T {
println("START")
try{
return body
}
finally{
println("END")
}
}
これで
(returnの行): error: type mismatch: inferred type is () -> T but T was expected
ってエラー出るのなんでですか
まだどっかに<T>って書かないとダメですか
STARTって表示してtest!って表示してENDって表示するようにしたいんですが
test(){
println("test!")
}
}
fun <T> test(body: () -> T ) : T {
println("START")
try{
return body
}
finally{
println("END")
}
}
これで
(returnの行): error: type mismatch: inferred type is () -> T but T was expected
ってエラー出るのなんでですか
まだどっかに<T>って書かないとダメですか
STARTって表示してtest!って表示してENDって表示するようにしたいんですが
678デフォルトの名無しさん
2017/09/26(火) 20:59:27.36ID:zAWxdVvk bodyは () -> T じゃん?つまり body() がTじゃん?
返り値いらないならUnit型でも
返り値いらないならUnit型でも
679デフォルトの名無しさん
2017/09/26(火) 21:19:23.18ID:rflTuAqa println()って何か返すんだっけ?
680デフォルトの名無しさん
2017/09/26(火) 21:25:08.76ID:aozsvlNo コピペ参考でジェネリクス書いちゃう気持ちはわかる
ネットとかにある高階関数なんかのサンプルはたいていなんか小難しいパターンやってるからな
ちょこちょこ検索してみたけどシンプルなのはなかなかないようだ
というわけで顧客が必要だったもの:
fun main(args : Array<String>){
test(){
println("test!")
}
}
fun test(body: () -> Unit){
println("START")
try{
return body()
}
finally{
println("END")
}
}
超わかりやすい
ネットとかにある高階関数なんかのサンプルはたいていなんか小難しいパターンやってるからな
ちょこちょこ検索してみたけどシンプルなのはなかなかないようだ
というわけで顧客が必要だったもの:
fun main(args : Array<String>){
test(){
println("test!")
}
}
fun test(body: () -> Unit){
println("START")
try{
return body()
}
finally{
println("END")
}
}
超わかりやすい
681デフォルトの名無しさん
2017/09/26(火) 22:18:45.79ID:8E9hjYW6 >>680
それ return 書かなくても同じだよね?
それ return 書かなくても同じだよね?
682デフォルトの名無しさん
2017/09/27(水) 00:00:41.38ID:u5lJ+g1P 簡素化のためにUnitを返す型をクロージャーにしてるけど任意の型を戻せるようにしたいんじゃないの
>>680は顧客が本当に必要だったものとは別のものが出来上がってる事例な気がする
>>680は顧客が本当に必要だったものとは別のものが出来上がってる事例な気がする
683デフォルトの名無しさん
2017/09/27(水) 02:23:01.67ID:T8WeFZTh >>677
return body ではなく return body() では?
return body ではなく return body() では?
684デフォルトの名無しさん
2017/09/28(木) 00:26:24.46ID:iSh/X78V 前から思ってたんだけど、Kotlinって
val hogeIsEmpty = hogeが空かどうかのわりと長い1行
if (hogeIsEmpty) {
// then
}
みたいな読み下す優先の変数の名前とか分離定義って推奨されてる?
Javaでやらないようなことはやらんほうがいい? 条件カッコに改行ありで詰め込むべき?
val hogeIsEmpty = hogeが空かどうかのわりと長い1行
if (hogeIsEmpty) {
// then
}
みたいな読み下す優先の変数の名前とか分離定義って推奨されてる?
Javaでやらないようなことはやらんほうがいい? 条件カッコに改行ありで詰め込むべき?
685デフォルトの名無しさん
2017/09/28(木) 00:37:08.13ID:ZguEyfSR そういうのはRubyでやれや!って煽られて終わりな気も致しますよ
686デフォルトの名無しさん
2017/09/28(木) 00:42:19.80ID:iSh/X78V くっ…
687デフォルトの名無しさん
2017/09/28(木) 01:13:09.11ID:TXb2X2Zy えーそれ言語関係なくない?
hogeIsEmptyな関数に抽出するのは
リファクタリングの基本だしJavaでもやるだろ
hogeIsEmptyな関数に抽出するのは
リファクタリングの基本だしJavaでもやるだろ
688デフォルトの名無しさん
2017/09/28(木) 18:33:31.64ID:Qp0jWVYU むしろJavaだとboolean isHogeEmpty()ってメソッドを作るケースだから
Javaの文法が古臭いと仕切り直したKotlinではメソッドを作らないのが正当なんじゃないの
Javaの文法が古臭いと仕切り直したKotlinではメソッドを作らないのが正当なんじゃないの
689デフォルトの名無しさん
2017/09/28(木) 20:41:39.85ID:DhynOxwg そうなのか?
うーん。なんだったらgetだけのプロパティ作ってその中でやるという手もあるが。
うーん。なんだったらgetだけのプロパティ作ってその中でやるという手もあるが。
690デフォルトの名無しさん
2017/09/28(木) 21:04:34.88ID:wU4E+DpF691デフォルトの名無しさん
2017/09/29(金) 08:30:52.93ID:Zb0/fBQl あー、rubyは変数いきなり定義だし命名規則もsnake_caseで緩いし変数もメソッドも呼び出し方同じにできるし
真偽には?つけてよいという風潮があるからこういうの得意だね
Java/Kotlinは読み下しさせようとするとわりとデコボコするけどそのかわり静的コンパイルだから実行パフォーマンスへの影響が少ない
(だから「ちょっと動かして見やすく名前つけただけで動作的中身的には一緒だから安心して」という説得に向いてるのはKotlinのほうではある)
Kotlinにはスコープ関数とかletとかitとか(あとはbeがあれば完璧だ)あるのでそのへん駆使してもらうしか
真偽には?つけてよいという風潮があるからこういうの得意だね
Java/Kotlinは読み下しさせようとするとわりとデコボコするけどそのかわり静的コンパイルだから実行パフォーマンスへの影響が少ない
(だから「ちょっと動かして見やすく名前つけただけで動作的中身的には一緒だから安心して」という説得に向いてるのはKotlinのほうではある)
Kotlinにはスコープ関数とかletとかitとか(あとはbeがあれば完璧だ)あるのでそのへん駆使してもらうしか
692デフォルトの名無しさん
2017/09/29(金) 09:00:05.56ID:RLeXl8wr 一般的には説明変数を追加するのに比べると
メソッド抽出のほうが可読性も保守性も高い
デメリットもあるから状況次第で選択すればいい
いずれにしても言語に依存した話ではないよ
メソッド抽出のほうが可読性も保守性も高い
デメリットもあるから状況次第で選択すればいい
いずれにしても言語に依存した話ではないよ
693デフォルトの名無しさん
2017/10/01(日) 12:07:39.75ID:l76lJP+R 言語に関係ない話だと思うんだけどごめん
初心者がゲーム作ってて、たとえばRPGのアイテムみたいなのをクラスで実装したいって考えたとき、
たとえば食べ物アイテムを100個くらい作ろうと思ったら、名前とか重さとか売価とかレシピとかを持ってるクラスが(下手するとktファイルも)それだけで100個あることになるよね
何かアイテムのデータを確かめたいとか書き換えたいとか思ったら100個の中から探さないといけなくなる気がして、とてもしんどいんだけど、なにか便利な管理方法ってあるものなのかしら
初心者がゲーム作ってて、たとえばRPGのアイテムみたいなのをクラスで実装したいって考えたとき、
たとえば食べ物アイテムを100個くらい作ろうと思ったら、名前とか重さとか売価とかレシピとかを持ってるクラスが(下手するとktファイルも)それだけで100個あることになるよね
何かアイテムのデータを確かめたいとか書き換えたいとか思ったら100個の中から探さないといけなくなる気がして、とてもしんどいんだけど、なにか便利な管理方法ってあるものなのかしら
694デフォルトの名無しさん
2017/10/01(日) 12:35:40.87ID:z+KkZaZ7 データベース…
695デフォルトの名無しさん
2017/10/01(日) 13:26:09.11ID:l76lJP+R でもデータベースはメソッド生えないにゃん…
現状の超でっかいMapオブジェクト
{"yakusou" -> {"name":"薬草", "price":10, "weight":2, "action":["EAT","DROP","HEAL","GRIND"]...}}
の該当アイテム読んでactionで分岐するメソッド構成とあんまし変わらない気がするにゃん…
ビルド時にCSVファイルとかからクラスファイルを生成してもらえばいいのではと思ったけど
書いてるときにアイテムのクラスやメソッドが参照できないとIDEが補完警告出すことに気づいてぐにょーんってなってる
たぶんゲーム特有のなんとかかんとかなんだろうと思うのでなんとかする
現状の超でっかいMapオブジェクト
{"yakusou" -> {"name":"薬草", "price":10, "weight":2, "action":["EAT","DROP","HEAL","GRIND"]...}}
の該当アイテム読んでactionで分岐するメソッド構成とあんまし変わらない気がするにゃん…
ビルド時にCSVファイルとかからクラスファイルを生成してもらえばいいのではと思ったけど
書いてるときにアイテムのクラスやメソッドが参照できないとIDEが補完警告出すことに気づいてぐにょーんってなってる
たぶんゲーム特有のなんとかかんとかなんだろうと思うのでなんとかする
696デフォルトの名無しさん
2017/10/01(日) 13:29:23.37ID:sf4M11/u つまり、どういうこと?
697デフォルトの名無しさん
2017/10/01(日) 13:45:30.71ID:kJ8csjIE698デフォルトの名無しさん
2017/10/01(日) 15:01:31.15ID:OWvF7Xmk むしろそれぞれクラス化するのはアクションの方で
アイテムなんて1クラスで十分じゃね
アイテムなんて1クラスで十分じゃね
699デフォルトの名無しさん
2017/10/01(日) 15:03:06.78ID:7TAdAwOu ゲ制でやれ
700デフォルトの名無しさん
2017/10/01(日) 15:06:13.80ID:4trAwtIa >>695
> {"yakusou" -> {"name":"薬草", "price":10, "weight":2, "action":["EAT","DROP","HEAL","GRIND"]...}}
> の該当アイテム読んでactionで分岐するメソッド構成とあんまし変わらない気がするにゃん…
それの何がいけないの?
> {"yakusou" -> {"name":"薬草", "price":10, "weight":2, "action":["EAT","DROP","HEAL","GRIND"]...}}
> の該当アイテム読んでactionで分岐するメソッド構成とあんまし変わらない気がするにゃん…
それの何がいけないの?
701デフォルトの名無しさん
2017/10/01(日) 15:11:03.14ID:wO0rh9jl 色々用途や効果がある個々のアイテムインスタンスが対応するメソッドを持ってて自分に関することは全て知っていて
たとえば砕いたら何になるのかとか、字面に置いたらどのテクスチャになるのかとか、を問い合わせる構造にしたいのはわかる気がする
でもそれ理想っぽいけどお察しの通りデータ増えると破綻するんすよ…
たとえば砕いたら何になるのかとか、字面に置いたらどのテクスチャになるのかとか、を問い合わせる構造にしたいのはわかる気がする
でもそれ理想っぽいけどお察しの通りデータ増えると破綻するんすよ…
702デフォルトの名無しさん
2017/10/01(日) 15:24:19.98ID:z+KkZaZ7 よくわかんないけどデータベース(SQL)から(id,)name,price,weight,actionの(データ)クラスに入れてMapに突っ込むのは普通じゃね
アクションは共通の動作だけハンドラーに直接書いて、固有の動作は個々のアイテムごとにスクリプトファイル作ってそんなかにアクションごとのメソッド書いて、それをハンドラーから実行させる
アクションは共通の動作だけハンドラーに直接書いて、固有の動作は個々のアイテムごとにスクリプトファイル作ってそんなかにアクションごとのメソッド書いて、それをハンドラーから実行させる
703デフォルトの名無しさん
2017/10/01(日) 15:27:41.13ID:z+KkZaZ7 あ
完全にサーバー<=>クライアント型のゲームを想定してました忘れてください
完全にサーバー<=>クライアント型のゲームを想定してました忘れてください
704デフォルトの名無しさん
2017/10/01(日) 15:35:03.09ID:YDbLDpC/ よっぽどドラクエ2みたいなツクールサンプル的な単一用途アイテムでもない限り
「薬草という多用途アイテムを表現するのに薬草クラスのインスタンスを作って保持する」というのは悪手
このへんは個別に考えてもらわなければならないのでまあ結論としては>>699
個々人が下手に作って再発明して失敗して適応適用していかなきゃならんなんてなんて非効率なんだとは思うのだが今のところ光明はない
ぶっちゃけ初心者にゲーム作らせるのこのへんの問題もあってあんま好きではないのだ。ユーティリティアプリが無難
「薬草という多用途アイテムを表現するのに薬草クラスのインスタンスを作って保持する」というのは悪手
このへんは個別に考えてもらわなければならないのでまあ結論としては>>699
個々人が下手に作って再発明して失敗して適応適用していかなきゃならんなんてなんて非効率なんだとは思うのだが今のところ光明はない
ぶっちゃけ初心者にゲーム作らせるのこのへんの問題もあってあんま好きではないのだ。ユーティリティアプリが無難
705デフォルトの名無しさん
2017/10/01(日) 16:36:39.58ID:IPLbJXkb 薬草を使った時の処理
薬草を燃やした時の処理
薬草を売った時の処理
…
薬草クラスにまとめようがまとめまいが
いずれはどこかに書かなければならない
だったら最初から薬草クラスに入れとけって話
薬草を燃やした時の処理
薬草を売った時の処理
…
薬草クラスにまとめようがまとめまいが
いずれはどこかに書かなければならない
だったら最初から薬草クラスに入れとけって話
706デフォルトの名無しさん
2017/10/01(日) 17:36:02.79ID:KiopyZMH じゃあ毒消し草にも同じ処理コピペすんの?
707デフォルトの名無しさん
2017/10/01(日) 23:16:31.50ID:aVSvWtqd アルゴリズムと計算量を知らないのか
千個の中から、1つを見つける際、全(線形)探索なら千回、
2分探索なら、2^10 = 1,024 だから、10回で見つけられる
2分探索なら、データ数が千個でも、探索回数は、1/100 になる
2千個になっても、全(線形)探索なら2千回、
2分探索なら、11回で見つけられる。
探索回数は、1/200 になる
データ数が倍になっても、探索回数は1回しか増えないが、
データを2分木で持っていないと、2分探索はできない
千個の中から、1つを見つける際、全(線形)探索なら千回、
2分探索なら、2^10 = 1,024 だから、10回で見つけられる
2分探索なら、データ数が千個でも、探索回数は、1/100 になる
2千個になっても、全(線形)探索なら2千回、
2分探索なら、11回で見つけられる。
探索回数は、1/200 になる
データ数が倍になっても、探索回数は1回しか増えないが、
データを2分木で持っていないと、2分探索はできない
708デフォルトの名無しさん
2017/10/01(日) 23:32:16.54ID:kJ8csjIE >>707
Mapのlookupなんですけど
Mapのlookupなんですけど
709デフォルトの名無しさん
2017/10/01(日) 23:40:51.98ID:3vO8zSI2 プログラミング向いてなさそう
710デフォルトの名無しさん
2017/10/01(日) 23:54:27.15ID:f01mTcSu 二分探索と二分探索木の探索って違わない……?
711デフォルトの名無しさん
2017/10/02(月) 00:18:14.35ID:YWGKtTIQ >>710
文章を最後まで読んでる偉い子
文章を最後まで読んでる偉い子
712デフォルトの名無しさん
2017/10/02(月) 01:24:21.58ID:wSRtZd0X ゲームでマスタ類はID(=index)でアクセスするので計算量はO(1)
そして>>693の話なら探すのは開発者なのでデータ化してメンテ画面作れという話になる
そして>>693の話なら探すのは開発者なのでデータ化してメンテ画面作れという話になる
713デフォルトの名無しさん
2017/10/02(月) 04:26:00.56ID:/O3TaAQA 長文で探索語るなら、ZDDの説明ぐらいしなされ
714デフォルトの名無しさん
2017/10/02(月) 08:35:15.29ID:fVjCl62I 一覧で管理したくなる量のデータ(とそれに紐づいた処理)のクラスをいちいち手作業で作るのが面倒大変だけどこれでいいのかなって話なんじゃないの
前が見えなくなる人は迷惑だな
前が見えなくなる人は迷惑だな
715デフォルトの名無しさん
2017/10/02(月) 10:28:12.40ID:o9ncCo8n JVMにはJAXBとかいう古き良きアーキテクチャがあってだな・・・
XMLだろうが、CSVだろうが、DBだろうが、(データ)クラスだろうが、どこに置くかは好みよね
オブジェクト指向で親クラスにユーティリティ共通メソッド置くか
関数型でユーティリティクラスに共通関数置くかも多分好みの範疇だろうよ
その上で、Kotlinだと何が流行りなの?(データ)クラス+関数型が流行り?
XMLだろうが、CSVだろうが、DBだろうが、(データ)クラスだろうが、どこに置くかは好みよね
オブジェクト指向で親クラスにユーティリティ共通メソッド置くか
関数型でユーティリティクラスに共通関数置くかも多分好みの範疇だろうよ
その上で、Kotlinだと何が流行りなの?(データ)クラス+関数型が流行り?
716707
2017/10/02(月) 23:30:03.61ID:eOIGvVq/ DB だと、B-tree, B+ tree
計算量は、O(log n)
全(線形)探索なら、O(n)
計算量は、>>707
に書いた通り
n = 100万なら、全探索で、100万回掛かるところが、
2分探索では、2^20 = 100万だから、20回
データを2分探索木で構築していないのなら、DB には勝てない
計算量は、O(log n)
全(線形)探索なら、O(n)
計算量は、>>707
に書いた通り
n = 100万なら、全探索で、100万回掛かるところが、
2分探索では、2^20 = 100万だから、20回
データを2分探索木で構築していないのなら、DB には勝てない
717デフォルトの名無しさん
2017/10/02(月) 23:38:58.59ID:o0D0xmrR O(1)でやってんだからDBに勝ってるだろ
718デフォルトの名無しさん
2017/10/03(火) 00:27:03.06ID:G2lKIaaK 100個のインスタンスを、生成しただけだろ?
Map(key : value) になっていないだろ?
Map なら、O(1) だけど
Map(key : value) になっていないだろ?
Map なら、O(1) だけど
719デフォルトの名無しさん
2017/10/03(火) 01:18:34.37ID:aqsVlxub720デフォルトの名無しさん
2017/10/03(火) 10:03:00.11ID:/m6PSf5w >>714も無視しないほうがいいような気がする
jarファイル中のクラスファイル検索なんて1万でもさして問題にならん(さすがに作成は人間の仕事ではないが)
そして問題はそこではなかった
理解できなくなっちゃったんだろうけど
jarファイル中のクラスファイル検索なんて1万でもさして問題にならん(さすがに作成は人間の仕事ではないが)
そして問題はそこではなかった
理解できなくなっちゃったんだろうけど
721デフォルトの名無しさん
2017/10/04(水) 02:14:07.85ID:KVI0o5Io Kotlinの話しろよ
722デフォルトの名無しさん
2017/10/04(水) 08:09:18.36ID:kznoEkrV JRE8では何ともなかったのにJRE9だとWARNING吐くようになったのは仕様?
Kotlinを最新の1.1.51にしても直らなかった。
Kotlinを最新の1.1.51にしても直らなかった。
723デフォルトの名無しさん
2017/10/04(水) 08:38:43.69ID:JPTWWYYO なんて出てるの?
724デフォルトの名無しさん
2017/10/04(水) 08:42:20.58ID:0hGgeKFz Androidの場合は全参照メソッド数が65536超えるとコンパイル不可能になるという問題が一応あるぞ
つらいMultiDex使う羽目になるので「どうぐぜんぶにめそっどがはえてるおぶじぇくとしこうてきにただしいくらす」以外のアプローチも初期からご検討いただくと幸いだ
つらいMultiDex使う羽目になるので「どうぐぜんぶにめそっどがはえてるおぶじぇくとしこうてきにただしいくらす」以外のアプローチも初期からご検討いただくと幸いだ
725デフォルトの名無しさん
2017/10/04(水) 09:07:35.93ID:V3GzLm78 multidexって何が辛いの?
726デフォルトの名無しさん
2017/10/04(水) 09:54:28.03ID:cxJCJ2DC \コットリ〜ン/
727722
2017/10/04(水) 19:34:08.08ID:kznoEkrV >>723
インタプリタにて↓
>>> println("hogehoge")
println("hogehoge")WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.text.StringFactory to co
nstructor java.lang.String(char[],boolean)
WARNING: Please consider reporting this to the maintainers of com.intellij.util.
text.StringFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect
ive access operations
WARNING: All illegal access operations will be denied in a future release
hogehoge
二度目以降は正常↓
>>> println("hogehoge")
println("hogehoge")hogehoge
インタプリタにて↓
>>> println("hogehoge")
println("hogehoge")WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.intellij.util.text.StringFactory to co
nstructor java.lang.String(char[],boolean)
WARNING: Please consider reporting this to the maintainers of com.intellij.util.
text.StringFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect
ive access operations
WARNING: All illegal access operations will be denied in a future release
hogehoge
二度目以降は正常↓
>>> println("hogehoge")
println("hogehoge")hogehoge
728デフォルトの名無しさん
2017/10/04(水) 19:35:36.92ID:sxpDUYrW kotlinって自作例外を「アプリ内事象○○のせいで完了できなかったんで3つくらい上の自作catchで捕まえて処置よろしこ」程度のメッセージ的に気軽に使ってもいい?
外部提供APIとかじゃなく、自作のプログラム内での処理依頼のやり取り用
外部提供APIとかじゃなく、自作のプログラム内での処理依頼のやり取り用
729デフォルトの名無しさん
2017/10/04(水) 20:44:57.35ID:+JSlwxf3 String, char[] が異なる型なのかも
文字配列は、C言語の、\0 終端文字列かな?
String型は高機能な、C++のString型かな?
文字配列は、C言語の、\0 終端文字列かな?
String型は高機能な、C++のString型かな?
730デフォルトの名無しさん
2017/10/04(水) 21:19:13.27ID:1osd033a kotlinの技術書って、何で未だに日本向けのは一冊しか出てないの?
731デフォルトの名無しさん
2017/10/04(水) 21:23:31.36ID:ekjB4cHk 最近のAndroidはmultidexしなくても動くし、minSdkVersionを低く指定したら勝手にmultidexでバイナリ作られるから考慮するの無駄
というのは置いておいて、Java9のModule(Project Jigsaw)でアクセスコントロールが強化されて不正なリフレクションに対して警告出してるんじゃね
将来的には警告じゃなくエラーになりそうな気がするから、Kotlinのバージョンアップで直るのを待つべ
というのは置いておいて、Java9のModule(Project Jigsaw)でアクセスコントロールが強化されて不正なリフレクションに対して警告出してるんじゃね
将来的には警告じゃなくエラーになりそうな気がするから、Kotlinのバージョンアップで直るのを待つべ
732デフォルトの名無しさん
2017/10/04(水) 22:29:29.12ID:vuQl5P59 長澤太郎以外は販売できないことになっている
733デフォルトの名無しさん
2017/10/05(木) 01:07:21.32ID:ioWgBjMx >>730
まだあまり流行ってなくて出版社が乗り気じゃないのでは?
まだあまり流行ってなくて出版社が乗り気じゃないのでは?
734デフォルトの名無しさん
2017/10/05(木) 04:39:51.99ID:i/YPJQu8 今月2冊出るよ
735デフォルトの名無しさん
2017/10/05(木) 09:20:35.38ID:qdkn4E5e おおそうか
736デフォルトの名無しさん
2017/10/05(木) 21:38:31.29ID:c5+kzESi サーバーサイドKotlin明日発売やないか
737デフォルトの名無しさん
2017/10/05(木) 23:00:14.40ID:RWFlOlgJ 流行っているかどうかは、掌田津耶乃が判断する。
このおっさんが本を出す分野は、流行っていると言える
このおっさん1人で、プログラミングの約半分の分野を、網羅しているw
このおっさんが本を出す分野は、流行っていると言える
このおっさん1人で、プログラミングの約半分の分野を、網羅しているw
738デフォルトの名無しさん
2017/10/05(木) 23:19:11.04ID:c5+kzESi そいつが出す本自体は糞だけどな
739デフォルトの名無しさん
2017/10/05(木) 23:21:16.13ID:XUc7C4CE 別に流行り廃りでプログラムするわけじゃないしな
740デフォルトの名無しさん
2017/10/06(金) 01:37:01.01ID:x0C9073k741デフォルトの名無しさん
2017/10/06(金) 04:09:03.86ID:tqIbkLAn Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
Kotlin Webアプリケーション 新しいサーバサイドプログラミング、長澤 太郎、2017/10/6
Kotlin Webアプリケーション 新しいサーバサイドプログラミング、長澤 太郎、2017/10/6
742デフォルトの名無しさん
2017/10/06(金) 05:25:11.21ID:dm5GZqP5 http://kotlin.hatenablog.jp/entry/2012/12/10/093018
このコードエラーになるんだけど、情報古くて今はラムダで引数に()使えなくて
戻り値の型を指定することができないという理解でいいんですかね?
このコードエラーになるんだけど、情報古くて今はラムダで引数に()使えなくて
戻り値の型を指定することができないという理解でいいんですかね?
743デフォルトの名無しさん
2017/10/06(金) 05:39:21.03ID:tqIbkLAn Try Kotlin のサイトで、そのソースコードを入力して、エラーメッセージを見れば?
744デフォルトの名無しさん
2017/10/06(金) 09:08:25.48ID:NqBQU0ep それは答を教えてくれるわけじゃないからなあ
>>742
関数リテラルの戻り値の指定はこうしてくだされ
val result: (Int, Int) -> Int = {a, b -> a * b }
2012アドベントカレンダーの結果はもう検索で出なくしたほうがいいと思うんだよねえ
>>742
関数リテラルの戻り値の指定はこうしてくだされ
val result: (Int, Int) -> Int = {a, b -> a * b }
2012アドベントカレンダーの結果はもう検索で出なくしたほうがいいと思うんだよねえ
745デフォルトの名無しさん
2017/10/06(金) 10:14:22.41ID:dm5GZqP5 >>744
なるほど。ということは即時関数だと
val result: String = {a: Int, b: Int -> a.toString() + b.toString()}(3, 4)
みたいな感じにすればいいのね
なるほど。ということは即時関数だと
val result: String = {a: Int, b: Int -> a.toString() + b.toString()}(3, 4)
みたいな感じにすればいいのね
746デフォルトの名無しさん
2017/10/06(金) 11:25:26.06ID:oni6PLk4 val old = aaa.value
aaa.doValueMayChange()
if (old != aaa.value) aaaActionIsSuccess()
これなんかステキな感じに書けたりしませんかね
実際には長い処理してるだけのdoValueMayChange()の戻り値をこのためだけに真偽値にしてチェックするのってなんかキモくないですかね
if ( aaa.doValueMayChangeAndReturnTrueIfInnerTargetValueIsChanged() ) aaaActionSuccess()
aaa.doValueMayChange()
if (old != aaa.value) aaaActionIsSuccess()
これなんかステキな感じに書けたりしませんかね
実際には長い処理してるだけのdoValueMayChange()の戻り値をこのためだけに真偽値にしてチェックするのってなんかキモくないですかね
if ( aaa.doValueMayChangeAndReturnTrueIfInnerTargetValueIsChanged() ) aaaActionSuccess()
747デフォルトの名無しさん
2017/10/06(金) 17:16:40.52ID:X4PDhaWR Spek使ってる人いる?
http://spekframework.org/docs/latest/#_gradle
これの通りにbuild.gradleに書いてる気がするんだがNoMEthodErrorで動かん
10 06, 2017 5:09:49 午後 org.junit.platform.launcher.core.DefaultLauncher handleThrowable
警告: TestEngine with ID 'spek' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.support.descriptor.ClassSource.from(Ljava/lang/Class;)Lorg/junit/platform/engine/support/descriptor/ClassSource;
at org.jetbrains.spek.engine.SpekTestEngine.resolveSpec(SpekTestEngine.kt:114)
...
http://spekframework.org/docs/latest/#_gradle
これの通りにbuild.gradleに書いてる気がするんだがNoMEthodErrorで動かん
10 06, 2017 5:09:49 午後 org.junit.platform.launcher.core.DefaultLauncher handleThrowable
警告: TestEngine with ID 'spek' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.support.descriptor.ClassSource.from(Ljava/lang/Class;)Lorg/junit/platform/engine/support/descriptor/ClassSource;
at org.jetbrains.spek.engine.SpekTestEngine.resolveSpec(SpekTestEngine.kt:114)
...
748デフォルトの名無しさん
2017/10/06(金) 19:04:09.88ID:X4PDhaWR >>747
動いた。最後のほうの独立したdependenciesに追加
dependencies {
testCompile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.1'
}
junit-platform-runnerのバージョンは
https://mvnrepository.com/artifact/org.junit.platform/junit-platform-runner
にアクセスして最新ぽいバージョンのページ押してGradleタブ表示
書かなくても動いてる人はどっかで設定してるんだろうな
動いた。最後のほうの独立したdependenciesに追加
dependencies {
testCompile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.1'
}
junit-platform-runnerのバージョンは
https://mvnrepository.com/artifact/org.junit.platform/junit-platform-runner
にアクセスして最新ぽいバージョンのページ押してGradleタブ表示
書かなくても動いてる人はどっかで設定してるんだろうな
749デフォルトの名無しさん
2017/10/06(金) 21:33:44.02ID:tqIbkLAn プログラミング GROOVY、2011
Gradle 徹底入門、2014
Javaビルドツール入門 Maven/Gradle/SBT/Bazel対応、掌田津耶乃、2017
Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集、2012
Gradle 徹底入門、2014
Javaビルドツール入門 Maven/Gradle/SBT/Bazel対応、掌田津耶乃、2017
Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集、2012
750デフォルトの名無しさん
2017/10/06(金) 22:27:21.32ID:tSMXLmVc >>748
同じ苦労したことある。ドキュメントに書いてよ…。
同じ苦労したことある。ドキュメントに書いてよ…。
751デフォルトの名無しさん
2017/10/07(土) 05:51:08.18ID:dZntJrcK >>746
aaaに押し込みなさい
aaaに押し込みなさい
752デフォルトの名無しさん
2017/10/07(土) 14:33:30.45ID:tYMANlqN SPekはBDDだし難しいよね
作ってるぶんにはメソッドの引数と戻り値が間違いなく動きます下手に中身変えたらREDですテストのほうがいいんだけどなー
作ってるぶんにはメソッドの引数と戻り値が間違いなく動きます下手に中身変えたらREDですテストのほうがいいんだけどなー
753デフォルトの名無しさん
2017/10/07(土) 14:36:59.78ID:lxJ0Yf9D kotlinはJavaわかんなくても他言語やってたらイケル?
754デフォルトの名無しさん
2017/10/07(土) 14:53:56.94ID:tYMANlqN >>753
言語仕様の理解においてはJavaの経験は不要
ただし事例のWeb検索に関して
「Javaでこう書いてるってことはKotlinだとこう書くんだろうな」
「欲しいJavaの処理はだいたいこのへんだろうからここをコピペしてIDEで自動変換しよう」
というようなことができる程度の「Javaプログラムを読める力」が実際には必要
でもまあネットでJava入門を3日かけて最後まで読んで身につく程度があれば充分なのでそれこそ他言語経験があれば問題はないね
言語仕様の理解においてはJavaの経験は不要
ただし事例のWeb検索に関して
「Javaでこう書いてるってことはKotlinだとこう書くんだろうな」
「欲しいJavaの処理はだいたいこのへんだろうからここをコピペしてIDEで自動変換しよう」
というようなことができる程度の「Javaプログラムを読める力」が実際には必要
でもまあネットでJava入門を3日かけて最後まで読んで身につく程度があれば充分なのでそれこそ他言語経験があれば問題はないね
755デフォルトの名無しさん
2017/10/07(土) 14:59:26.09ID:lxJ0Yf9D756デフォルトの名無しさん
2017/10/07(土) 18:31:13.36ID:b4KK/o19 javaは1日でマスターできるので実質java未経験でも問題ないよ
757デフォルトの名無しさん
2017/10/07(土) 19:18:53.56ID:rBYfi2xH 変数に入れた文字列でメソッドやプロパティを呼ぶことはできますか
val mes = "toUpperCase"
someString.callMethod(mes, null)
これでsomeString.toUpperCase()のかわりになるみたいなやつです
val mes = "toUpperCase"
someString.callMethod(mes, null)
これでsomeString.toUpperCase()のかわりになるみたいなやつです
758デフォルトの名無しさん
2017/10/07(土) 19:29:23.45ID:+RQU5E5j ことぅりんだからなお前ら
ことりんとかいってたら数す
ことりんとかいってたら数す
759デフォルトの名無しさん
2017/10/07(土) 19:33:19.97ID:+RQU5E5j それにしてもAppleがObjective-CにSwiftを追加したと思ったらGoogleがJavaにKotlinを追加してどいつもこいつもまったく...
760デフォルトの名無しさん
2017/10/07(土) 19:41:49.21ID:XbHkmFTG ことりんかわいい
761デフォルトの名無しさん
2017/10/07(土) 22:16:30.42ID:f9dDdlSq ことりん(*´ェ`*)ポッ
762デフォルトの名無しさん
2017/10/07(土) 22:18:46.44ID:iveAgMmn 人間だったら絶対美少女
763デフォルトの名無しさん
2017/10/07(土) 22:55:16.08ID:LDd+/z40 ちょまどが漫画書いてくれないかなあ
764デフォルトの名無しさん
2017/10/07(土) 23:13:31.53ID:X09Q1vcV ちょまど(笑)
765デフォルトの名無しさん
2017/10/07(土) 23:16:52.81ID:+RQU5E5j766デフォルトの名無しさん
2017/10/07(土) 23:38:16.22ID:f9dDdlSq >>757
君の言いたいことがよくわからない。
君の言いたいことがよくわからない。
767デフォルトの名無しさん
2017/10/07(土) 23:51:42.16ID:2fKU1//d 何言語からやってきたかは知らんが動的系のevalがほしんだろ
Reflectionするしかないかな
Reflectionするしかないかな
768デフォルトの名無しさん
2017/10/08(日) 01:04:04.02ID:bhcsmcAx あざとい名前つけやがって
769デフォルトの名無しさん
2017/10/08(日) 01:14:02.14ID:93IJP3PA >>757
KFunctionのcall
val kclass = YourClass::class
val function = kclass.functions.find { it.name == "method_name" }
val instance = YourClass()
function?.call(instance, args)
KFunctionのcall
val kclass = YourClass::class
val function = kclass.functions.find { it.name == "method_name" }
val instance = YourClass()
function?.call(instance, args)
770デフォルトの名無しさん
2017/10/08(日) 01:22:31.02ID:93IJP3PA >>767
Objective-Cだと結構普通に使うんよ
Objective-Cだと結構普通に使うんよ
771デフォルトの名無しさん
2017/10/08(日) 01:57:15.44ID:32PQUixn Rubyでもメソッドのオブジェクト化を稀に使う
irb> "a=b=c".split("=")
=> ["a", "b", "c"]
irb> "a=b=c".method("split").call("=")
=> ["a", "b", "c"]
irb> "a=b=c".send("split", "=")
=> ["a", "b", "c"]
irb> "a=b=c".split("=")
=> ["a", "b", "c"]
irb> "a=b=c".method("split").call("=")
=> ["a", "b", "c"]
irb> "a=b=c".send("split", "=")
=> ["a", "b", "c"]
772デフォルトの名無しさん
2017/10/08(日) 02:41:05.63ID:c+/m9riq あ、ようやっと何言ってるかわかったw
773デフォルトの名無しさん
2017/10/08(日) 21:54:57.44ID:32PQUixn IntelliJとSpekでSpecファイルひとつのテストってできないのかな
なんかできそうだけどいまいちよくわからんエラーが
これってそもそもできるもんなの? 俺がなんか悪いだけ?
なんかできそうだけどいまいちよくわからんエラーが
これってそもそもできるもんなの? 俺がなんか悪いだけ?
774デフォルトの名無しさん
2017/10/09(月) 19:59:00.68ID:3clxx/P9 リストを先頭からN個に分割というのを一発でできたりしない?
["a","b","c","d","e"] を2つずつ分割して [["a","b"], ["c","d"] ,["e"]] にしたい
["a","b","c","d","e"] を2つずつ分割して [["a","b"], ["c","d"] ,["e"]] にしたい
775デフォルトの名無しさん
2017/10/09(月) 20:53:05.90ID:sCOU7I7y >>740
その本さっき紀伊国屋で買った
その本さっき紀伊国屋で買った
776デフォルトの名無しさん
2017/10/09(月) 21:17:44.65ID:bvkIQjV4 その本もさ、Kotlin本の選択肢がないから仕方なく買うってレベルの本だよな
あの初心者向けの無駄にポップなレイアウト、なんとかなんねえのかな
内容の割に無駄に重いし分厚いし、技術書なんて無地の紙でいいんだよ
あの初心者向けの無駄にポップなレイアウト、なんとかなんねえのかな
内容の割に無駄に重いし分厚いし、技術書なんて無地の紙でいいんだよ
777デフォルトの名無しさん
2017/10/09(月) 21:55:29.10ID:4WiIHmfQ778デフォルトの名無しさん
2017/10/09(月) 22:00:53.70ID:4WiIHmfQ Try Kotlinだとコード共有にアカウントが必要なのでKotlin対応の別のを探した
長めの実行可能なコード貼るのに便利だと思う
アカウント無しでsave出来るオンラインコンパイラ
http://rextester.com/l/kotlin_online_compiler
長めの実行可能なコード貼るのに便利だと思う
アカウント無しでsave出来るオンラインコンパイラ
http://rextester.com/l/kotlin_online_compiler
779デフォルトの名無しさん
2017/10/09(月) 22:34:41.54ID:c41RoAYB 言語は道具であってそれを使って何を作るのかが重要なわけだがKotlinによって何か革命が起きる見込みでもあるのか?
それともモダンな何かをいじってる自分が好きなだけ?
それともモダンな何かをいじってる自分が好きなだけ?
780デフォルトの名無しさん
2017/10/09(月) 23:58:04.80ID:tFlwnlNI781デフォルトの名無しさん
2017/10/10(火) 00:00:43.01ID:jM5sd94/ どんどん高級度が増して行ってそのうち人間はなぜソフトウェアがCPU上で動いているのかその仕組みを知る人がいなくなるのですね
そしてAIと対峙しなければならなくなったとき誰も対応できなくなる
そういう未来が待っているのでしょう
そしてAIと対峙しなければならなくなったとき誰も対応できなくなる
そういう未来が待っているのでしょう
782デフォルトの名無しさん
2017/10/10(火) 04:02:27.77ID:Q5yhaeDv783デフォルトの名無しさん
2017/10/10(火) 10:24:21.67ID:8V61cfLq いままでひらがなだけのぶんしょうだったのがかんじがつかえるようになったというかんじだ
そりゃ最終的な音としては漢字があっても無くても変わらないかもしれないが、漢字を理解していれば読みやすく書きやすい
長文を書きやすくもなるだろうし、そこから生まれるものもあろう
個人的にはスクリプト言語のような立ち位置だと思っている
そりゃ最終的な音としては漢字があっても無くても変わらないかもしれないが、漢字を理解していれば読みやすく書きやすい
長文を書きやすくもなるだろうし、そこから生まれるものもあろう
個人的にはスクリプト言語のような立ち位置だと思っている
784デフォルトの名無しさん
2017/10/10(火) 21:49:29.43ID:VPwnJAPN 今月末に出るKotlin in actionの方は上級者向けのような気がする
785デフォルトの名無しさん
2017/10/10(火) 22:21:41.00ID:FWHsF53j >>784
なんだ、日本語訳でるのか。頑張って洋書の方読んでるけど、理論だてて書いてあるのでわかりやすい。ところどころJavaとの比較があり、Javaの知識がないとちょっと苦しいとこあるかも。あとTry Kotlinでサンプルもあるよね。
なんだ、日本語訳でるのか。頑張って洋書の方読んでるけど、理論だてて書いてあるのでわかりやすい。ところどころJavaとの比較があり、Javaの知識がないとちょっと苦しいとこあるかも。あとTry Kotlinでサンプルもあるよね。
786デフォルトの名無しさん
2017/10/10(火) 23:01:05.11ID:Z3ZusD4X in action は上級じゃないよ
プログラミング初心者向けじゃないけど
最初の1冊に選んでいい本
プログラミング初心者向けじゃないけど
最初の1冊に選んでいい本
787デフォルトの名無しさん
2017/10/10(火) 23:25:19.52ID:VPwnJAPN 日本語の技術書とかネットの情報でも日本語のものだと実務に使えるレベルに達しなくなってきてるよね
日本はIT後進国になってしまったんだと常々感じる
日本はIT後進国になってしまったんだと常々感じる
788デフォルトの名無しさん
2017/10/10(火) 23:37:43.52ID:ZTVh7Eud >>787
テクノロジーの移り変わりが早すぎて、一次リソースを参考にした方が効率的だし、わざわざ日本語に訳す必要もないから
テクノロジーの移り変わりが早すぎて、一次リソースを参考にした方が効率的だし、わざわざ日本語に訳す必要もないから
789デフォルトの名無しさん
2017/10/10(火) 23:38:33.00ID:sNdI8sqC >>787
先進国だった時なんてあったか?
先進国だった時なんてあったか?
790デフォルトの名無しさん
2017/10/10(火) 23:42:30.50ID:gasOXxRr 一昔前はtronとかあったやん
今の日本はなにもない
今の日本はなにもない
791デフォルトの名無しさん
2017/10/11(水) 00:08:24.55ID:YuycjJaM 最速だからいいということばかりでもない
周回遅れでも構わない情報のほうが世の中には多い
Kotlinスタートブックは1年以上前の刊行だけど使えないゴミだと言う人はまともな人にはおるまい
周回遅れでも構わない情報のほうが世の中には多い
Kotlinスタートブックは1年以上前の刊行だけど使えないゴミだと言う人はまともな人にはおるまい
792デフォルトの名無しさん
2017/10/11(水) 00:09:08.60ID:T++UmApy ハードはともかく
ソフトは先進国だった事はない
ソフトは先進国だった事はない
793デフォルトの名無しさん
2017/10/11(水) 00:18:15.85ID:EN0HNRmd これからなればいい
794デフォルトの名無しさん
2017/10/11(水) 00:23:02.14ID:JdWo4X1f Androidの技術書見ても現在主流の
RxJava, databinding, MVVM, flux, redux辺りの解説をしている本が全然ない
Androidだからまだネットで日本語の情報多いけど、
iOSになると本当に英語の情報しかなくなってくる
本当に駄目な国になってきている
ニュージーランド辺りに脱出した方がいいんじゃないかと思ってくるレベル
あっちはプログラマーの年収1000万らしいし
RxJava, databinding, MVVM, flux, redux辺りの解説をしている本が全然ない
Androidだからまだネットで日本語の情報多いけど、
iOSになると本当に英語の情報しかなくなってくる
本当に駄目な国になってきている
ニュージーランド辺りに脱出した方がいいんじゃないかと思ってくるレベル
あっちはプログラマーの年収1000万らしいし
795デフォルトの名無しさん
2017/10/11(水) 00:30:16.27ID:LhuJ4eZA >>794
英語の情報があればいいやろ
英語の情報があればいいやろ
796デフォルトの名無しさん
2017/10/11(水) 00:31:11.36ID:JfiRQ2Rl むしろ英語を使うようになったからでは
日本語の書籍は高いし遅いし
日本語の書籍は高いし遅いし
797デフォルトの名無しさん
2017/10/11(水) 00:31:53.22ID:V+6zovsu >>794
お前と違って、英語の情報だけで充分なエンジニアが増えているという見方もできる
お前と違って、英語の情報だけで充分なエンジニアが増えているという見方もできる
798デフォルトの名無しさん
2017/10/11(水) 00:33:36.19ID:EN0HNRmd そしてみんなが苦もなく英語が読めるようになった頃、完璧な自動翻訳が完成する。
799デフォルトの名無しさん
2017/10/11(水) 01:16:39.94ID:OvZKAieI >>796
msのxamarin本なんか、原本はePubなら無料だが、日本語訳したとたんに6000円になるぜ!
msのxamarin本なんか、原本はePubなら無料だが、日本語訳したとたんに6000円になるぜ!
800デフォルトの名無しさん
2017/10/11(水) 01:19:17.66ID:YuycjJaM801デフォルトの名無しさん
2017/10/11(水) 14:21:15.86ID:WJBR6sLF 英語、ちゃんと理解できるようにならんと、これからはだめなんだろうなぁ
なんとなくでしか読めんし、結局分からん事は日本語で探して解決するから、英語だけで完結できん
一年かけて英語習得するか!
なんとなくでしか読めんし、結局分からん事は日本語で探して解決するから、英語だけで完結できん
一年かけて英語習得するか!
802デフォルトの名無しさん
2017/10/11(水) 14:48:59.07ID:YuycjJaM 高卒くらいの英語力は保持してるつもりなのにネットの記事がぜんぜん読めんという場合
・スラングがめっちゃ入ってる
・ネット文法が入ってて正規寄りではないので読み取れない
・専門用語が専門的すぎる
のだいたいどれかで、プログラミングの記事は最後の比率が大きい
これは英語本体をどんだけ勉強しても専門用語の日本での意味や技術的意味がわかるわけではないので役に立たない
パブリックメソッドを行政手法と訳してたら絶対わからんわけでな
・スラングがめっちゃ入ってる
・ネット文法が入ってて正規寄りではないので読み取れない
・専門用語が専門的すぎる
のだいたいどれかで、プログラミングの記事は最後の比率が大きい
これは英語本体をどんだけ勉強しても専門用語の日本での意味や技術的意味がわかるわけではないので役に立たない
パブリックメソッドを行政手法と訳してたら絶対わからんわけでな
803デフォルトの名無しさん
2017/10/11(水) 16:03:19.52ID:hhJP1zLS プログラマで英語弱い人はTry Kotlinのサンプルをちょこちょこ試してみたほうがより効率的かもね
804あ
2017/10/11(水) 18:19:59.78ID:Q0CgrKbU >>802
逆にしばらくエンジニアやってりゃ、技術文書は読めるようになったりするけどな。
仕事でやるなら翻訳自体、翻訳メモリ使って翻訳することの方が多いし。
翻訳メモリで完全新規な文書の翻訳はたまに手伝う。
逆にしばらくエンジニアやってりゃ、技術文書は読めるようになったりするけどな。
仕事でやるなら翻訳自体、翻訳メモリ使って翻訳することの方が多いし。
翻訳メモリで完全新規な文書の翻訳はたまに手伝う。
805デフォルトの名無しさん
2017/10/11(水) 18:21:22.65ID:AVBsiIwy >>801
おお。そうだ。このスレはこれから英語で書こう。
おお。そうだ。このスレはこれから英語で書こう。
806デフォルトの名無しさん
2017/10/11(水) 18:22:16.37ID:AVBsiIwy i have a pen
807デフォルトの名無しさん
2017/10/11(水) 20:28:51.56ID:qqbN54VH >>806
文頭は大文字にしなきゃ
文頭は大文字にしなきゃ
808デフォルトの名無しさん
2017/10/11(水) 20:39:22.12ID:M3+oH0ZC Iは文頭でなくても大文字にしなきゃ
809デフォルトの名無しさん
2017/10/11(水) 20:56:44.06ID:PtNlY4pv have じゃなくて am でしょ
810デフォルトの名無しさん
2017/10/11(水) 21:23:33.96ID:JdWo4X1f I am a pen
811デフォルトの名無しさん
2017/10/11(水) 23:47:37.98ID:9t+rVGQp me too
812デフォルトの名無しさん
2017/10/12(木) 07:16:44.81ID:OX/pZMRS 人間はいねぇのかここは...
813デフォルトの名無しさん
2017/10/12(木) 08:54:42.09ID:Pi/VQsL7 高卒レベル英語力(英検2級)と辞書があれば、読めるだろうに。
814デフォルトの名無しさん
2017/10/12(木) 09:09:03.89ID:tSTw7rai は?英語なんて知らなくても全部グーグル先生に突っ込めば読める
815デフォルトの名無しさん
2017/10/12(木) 09:18:29.99ID:AXWM+xbo I am fool.
You are fool.
We are fool.
You are fool.
We are fool.
816デフォルトの名無しさん
2017/10/12(木) 09:46:23.80ID:o8TlX9Z0817デフォルトの名無しさん
2017/10/12(木) 10:15:06.41ID:7rfu7aua You is a big fool man.
Hahahaha.
Hahahaha.
818デフォルトの名無しさん
2017/10/12(木) 11:44:05.54ID:6DbuDLdk me too
819デフォルトの名無しさん
2017/10/12(木) 12:17:18.61ID:jZh2ph1X lol
820デフォルトの名無しさん
2017/10/12(木) 12:40:17.85ID:LPj/TZWs It is useless. I can not communicate at all in English.
821デフォルトの名無しさん
2017/10/12(木) 13:56:58.96ID:3A6lsKEo Kotlin is so cute;-)
822デフォルトの名無しさん
2017/10/12(木) 16:54:50.54ID:irZYU/94 pls, say fool just another...
823デフォルトの名無しさん
2017/10/12(木) 17:44:23.32ID:cYyBZWxu all your base are belong to us
824デフォルトの名無しさん
2017/10/12(木) 18:33:55.37ID:o8TlX9Z0825デフォルトの名無しさん
2017/10/12(木) 18:38:55.59ID:W4Y9jhaF826デフォルトの名無しさん
2017/10/12(木) 20:17:00.25ID:o8TlX9Z0 知らんかったわ
「ワレワレハ…」的なノリね
「ワレワレハ…」的なノリね
827デフォルトの名無しさん
2017/10/12(木) 21:43:09.54ID:5ILt7KpA Engrish
828デフォルトの名無しさん
2017/10/12(木) 22:43:44.31ID:OX/pZMRS >>815
Hey, don't include me in foolish people!
Hey, don't include me in foolish people!
829デフォルトの名無しさん
2017/10/12(木) 23:58:19.05ID:IILQSMTY */
830デフォルトの名無しさん
2017/10/13(金) 00:42:44.70ID:JcXjubca こぉっとぅりんっ
831デフォルトの名無しさん
2017/10/13(金) 00:43:15.89ID:JcXjubca こぉとぅりん
832デフォルトの名無しさん
2017/10/13(金) 00:49:55.72ID:neFZx4WS >>828
I am your friend.
I am your friend.
833デフォルトの名無しさん
2017/10/13(金) 19:18:19.17ID:/02if2W5 いますぐJavaをやめてKotlinに移行すべき10の理由↓
834デフォルトの名無しさん
2017/10/13(金) 19:28:52.37ID:WJkFRsiD 1. I love kotlin.
835デフォルトの名無しさん
2017/10/13(金) 19:30:46.10ID:WJkFRsiD 2. We love kotlin.
836デフォルトの名無しさん
2017/10/13(金) 20:13:20.58ID:Gc4qJwYJ 3. We are Kotlin.
837デフォルトの名無しさん
2017/10/13(金) 21:17:09.35ID:snGniETu このスレもう要らないな
838デフォルトの名無しさん
2017/10/14(土) 00:02:55.04ID:UTsnHwgS >>837
Are you pen?
Are you pen?
839デフォルトの名無しさん
2017/10/14(土) 00:07:29.38ID:F+wwiVHB 碌に移行する理由がないんじゃJavaの天下は続くな。
840デフォルトの名無しさん
2017/10/14(土) 00:24:30.10ID:lMgWewwv 理由ならある
呼び名がかわいい
呼び名がかわいい
841デフォルトの名無しさん
2017/10/14(土) 05:04:47.87ID:rkGKts9o これから流行るんじゃねえか? まずは Android 用アプリ作成に使うのが流行ると思うぞ。
842デフォルトの名無しさん
2017/10/14(土) 06:05:23.13ID:Ls8C6+0E AndroidStudio3.0のベータ版だと、アプリとテストの雛形のデフォルトがKotlinになってるから
特にこだわりがない人は Kotlin 使うようになるだろね
特にこだわりがない人は Kotlin 使うようになるだろね
843デフォルトの名無しさん
2017/10/14(土) 08:54:09.10ID:UTsnHwgS Null安全だけでも以降するのに十分な理由になると思うが
844デフォルトの名無しさん
2017/10/14(土) 09:23:07.84ID:mCAw9QQf845デフォルトの名無しさん
2017/10/14(土) 09:34:03.59ID:22PxWoNo ぬる安全で動かなきゃletとかwithとかalsoとか見せればイチコロだと思うにゃん
さほど変態的でない記述でJavaコードが更に短くなるというだけで訴求力はあるはず
さほど変態的でない記述でJavaコードが更に短くなるというだけで訴求力はあるはず
846デフォルトの名無しさん
2017/10/14(土) 09:37:33.59ID:A2JBGmbK スクリプト動作モードは遅すぎて使い物にならないな
847デフォルトの名無しさん
2017/10/14(土) 14:20:16.21ID:mpqXFZeP >>843
Going.
Going.
848デフォルトの名無しさん
2017/10/14(土) 14:26:02.66ID:ocOTfHdi withは要らんわ
大してメリットが無く紛らわしいだけだからとC#が意図的にVBから削ったゴミを
なぜ今更復活させてしまったのか
大してメリットが無く紛らわしいだけだからとC#が意図的にVBから削ったゴミを
なぜ今更復活させてしまったのか
849デフォルトの名無しさん
2017/10/14(土) 14:28:24.42ID:UTsnHwgS let, with, alsoの使い分けがよくわからん
850デフォルトの名無しさん
2017/10/14(土) 14:55:18.93ID:xdbq9lHZ letは「これnot nullのif文代わりに使えるじゃん!」って置き換えるもその後にelse節が必要になって泣く泣く書き換える羽目になるトラップとして使う
851デフォルトの名無しさん
2017/10/14(土) 16:45:54.36ID:UTsnHwgS valで変数を書き始められるのが楽
Javaに戻ると型名書かないといけなくて脳に負担がかかる
Javaに戻ると型名書かないといけなくて脳に負担がかかる
852デフォルトの名無しさん
2017/10/14(土) 16:59:08.57ID:F+wwiVHB Javaがどんどん軟派化仕様を取り入れてるときに、軟派言語出されても競合するなぁ。
853デフォルトの名無しさん
2017/10/14(土) 17:32:07.97ID:UTsnHwgS Javaの件でOracleがGoogleを訴えたりしてなかったっけ?
あれが関係しているような気がするんだが
あれが関係しているような気がするんだが
854デフォルトの名無しさん
2017/10/14(土) 17:46:40.03ID:F+wwiVHB MSは訴えられてWindowsからMS製Javaを排除したが、
AndroidからGoogle製Javaを排除したらただのLinuxじゃん。
AndroidからGoogle製Javaを排除したらただのLinuxじゃん。
855デフォルトの名無しさん
2017/10/14(土) 17:52:02.81ID:iaPiK/ZP Googleが訴えられたのはJVMとAPIだから言語を変えたところで何の意味もないよ
856デフォルトの名無しさん
2017/10/14(土) 18:08:25.27ID:+XwGR1nT 言語がモダンになってIDEが必須になってどんどん人間がバカになっていくぅ
857デフォルトの名無しさん
2017/10/14(土) 19:31:44.98ID:zWnjpaDB >>850
?: run {} が使える
?: run {} が使える
858デフォルトの名無しさん
2017/10/14(土) 21:25:44.86ID:Ls8C6+0E >>848
withは言語機能として組み込まれてるわけじゃなくて、
他のrunとかapplyでも使ってるレシーバ付き関数リテラルの一番簡単な使い方
このレシーバ付き関数リテラルがあれば、withみたいな関数は簡単に定義できるんで、
withがダメっていうならレシーバ付き関数リテラルもダメってことになる
でもKotlinは意図的にレシーバ付き関数リテラルを用意して活用する気満々なんだよ
withは言語機能として組み込まれてるわけじゃなくて、
他のrunとかapplyでも使ってるレシーバ付き関数リテラルの一番簡単な使い方
このレシーバ付き関数リテラルがあれば、withみたいな関数は簡単に定義できるんで、
withがダメっていうならレシーバ付き関数リテラルもダメってことになる
でもKotlinは意図的にレシーバ付き関数リテラルを用意して活用する気満々なんだよ
859デフォルトの名無しさん
2017/10/15(日) 01:36:56.98ID:ZgJv24or with ってこれなのな。
public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
https://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691e
public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
https://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691e
860デフォルトの名無しさん
2017/10/15(日) 01:57:24.53ID:1JZd3G1s withってほとんどの場合副作用使うからなあ
現代的なプログラミングにはそぐわないよ
現代的なプログラミングにはそぐわないよ
861デフォルトの名無しさん
2017/10/15(日) 02:28:15.35ID:fk/JYaTL Kotlinのwithは値を返すから副作用を利用するかどうかは使う人次第だ
862デフォルトの名無しさん
2017/10/15(日) 03:09:10.81ID:ps8be+yY 1つのList/Setを条件で分けて3つのグループにするのに何かいいやり方ありますか?
val group1 = ArrayList<HogeEnum>()
val group2 = ArrayList<HogeEnum>()
val group3 = ArrayList<HogeEnum>()
group.forEach {
when {
it.isHoge() -> group1.add(it)
it.isHage() -> group2.add(it)
else -> group3.add(it)
}
}
val group1 = ArrayList<HogeEnum>()
val group2 = ArrayList<HogeEnum>()
val group3 = ArrayList<HogeEnum>()
group.forEach {
when {
it.isHoge() -> group1.add(it)
it.isHage() -> group2.add(it)
else -> group3.add(it)
}
}
863デフォルトの名無しさん
2017/10/15(日) 03:38:27.73ID:rZYksuR6 Iterable.groupBy()があるよ
やってることは結局その例とかわらないけど
やってることは結局その例とかわらないけど
864デフォルトの名無しさん
2017/10/15(日) 04:01:40.27ID:fk/JYaTL こんな感じか
val result = group.groupBy ({ if (it.isHoge()) 0 else if (it.isHage()) 1 else 2 }, {it})
val group1 = result[0]
val group2 = result[1]
val group3 = result[2]
val result = group.groupBy ({ if (it.isHoge()) 0 else if (it.isHage()) 1 else 2 }, {it})
val group1 = result[0]
val group2 = result[1]
val group3 = result[2]
865デフォルトの名無しさん
2017/10/15(日) 17:12:21.76ID:sVOncOOl >>864
itのままでいいなら二番目のパラメータ省略できるよ。
itのままでいいなら二番目のパラメータ省略できるよ。
866デフォルトの名無しさん
2017/10/15(日) 18:32:02.26ID:fk/JYaTL867デフォルトの名無しさん
2017/10/15(日) 19:18:47.56ID:WbabBMh3 さっき本屋行ったらこんなの売ってた。工学社の I/O BOOKS のやつだ。
https://i.imgur.com/UHC2KT1.jpg
ぱらぱらめくって見た感じでは全体が簡単にまとめられているようではあった。
小さいサイズの本の方がいい人向けかな。
まあしかし買うなら立ち読みして確認してからにするとよい。
https://i.imgur.com/UHC2KT1.jpg
ぱらぱらめくって見た感じでは全体が簡単にまとめられているようではあった。
小さいサイズの本の方がいい人向けかな。
まあしかし買うなら立ち読みして確認してからにするとよい。
868デフォルトの名無しさん
2017/10/15(日) 19:22:52.08ID:g+9Qt1e8 電子書籍で出してくれ
869デフォルトの名無しさん
2017/10/15(日) 23:30:21.51ID:9R+c2v2L 本屋で写真取ると捕まるぞ。
870デフォルトの名無しさん
2017/10/15(日) 23:38:59.63ID:YqfACteL 長澤太郎以外でも出せるんだな
871デフォルトの名無しさん
2017/10/16(月) 01:10:50.17ID:K3bUm04o872デフォルトの名無しさん
2017/10/16(月) 02:03:12.91ID:8vIi4A+y873デフォルトの名無しさん
2017/10/16(月) 02:12:21.73ID:1RgvFhx3 >>872
店内で本をスマホにかざすとアクションが起こるみたいなアプリがまずぶつかる障壁だな
本屋主導の電書アプリでついてる機能でプレスリリースまで出したけど立ち消えになったりもする
kotlinでシチュ限定スマホアプリ作ってる人もいるだろうけどスマホ使用制限エリアとの兼ね合いには注意だ
店内で本をスマホにかざすとアクションが起こるみたいなアプリがまずぶつかる障壁だな
本屋主導の電書アプリでついてる機能でプレスリリースまで出したけど立ち消えになったりもする
kotlinでシチュ限定スマホアプリ作ってる人もいるだろうけどスマホ使用制限エリアとの兼ね合いには注意だ
874デフォルトの名無しさん
2017/10/16(月) 19:28:21.38ID:hogQmxQx これを皮切りに
kotlinの本が続々出て今年から来年にかけて
爆発的に売れる予感。
kotlinの本が続々出て今年から来年にかけて
爆発的に売れる予感。
875デフォルトの名無しさん
2017/10/16(月) 21:34:34.38ID:8lVe0990 とりあえずはインアクションがあればいいな
やっとまともな本が出る
やっとまともな本が出る
876デフォルトの名無しさん
2017/10/16(月) 21:37:31.83ID:7CHwAcHs まともに移行する理由がひとつも挙げれなかったから爆発しない。F#ぐらいの立ち位置だな。
877デフォルトの名無しさん
2017/10/16(月) 21:38:36.04ID:nm/6hD9y Null安全はでかいだろ
プログラミング初心者か
プログラミング初心者か
878デフォルトの名無しさん
2017/10/16(月) 21:53:29.09ID:7CHwAcHs なるほど。Null安全か。よしJavaに追加しよう。
879デフォルトの名無しさん
2017/10/16(月) 21:53:40.26ID:TAj2pYDL880デフォルトの名無しさん
2017/10/16(月) 22:04:58.29ID:nm/6hD9y プログラミング初心者がF#とか言ってんのか
881デフォルトの名無しさん
2017/10/16(月) 22:12:56.85ID:7CHwAcHs この人は人の話を聞かず妄想で話を進める人だな。
頭に蛆でも沸いてるのか?
頭に蛆でも沸いてるのか?
882デフォルトの名無しさん
2017/10/16(月) 22:49:58.86ID:snZUUJVe 今爆発が始まったばかりなんだよ。
883デフォルトの名無しさん
2017/10/17(火) 03:13:52.64ID:hVetZd8l Javaで困ってねーからな。Javaで困ってる案件をKotlinなら解決できるわけもなく。
中にはNull例外で困ってる初心者もいるようだが。
中にはNull例外で困ってる初心者もいるようだが。
884デフォルトの名無しさん
2017/10/17(火) 04:17:41.05ID:NmuLnA8X Java自体Android開発以外であんまり使わないからKotlin Nativeに期待してる
仕事だとWebはPHP、PCはexe形式のWin用の案件ばっかりなんだよね
仕事だとWebはPHP、PCはexe形式のWin用の案件ばっかりなんだよね
885デフォルトの名無しさん
2017/10/17(火) 08:01:28.76ID:7/LKBs88 未だに手続き型の泥臭いコードが主流の日本じゃ流行らないでしょ
日本はCOBOLとstatic Javaが正義
日本はCOBOLとstatic Javaが正義
886デフォルトの名無しさん
2017/10/17(火) 08:17:08.08ID:gQ4z+/LN どうして自分で使ってもいない言語のスレにやってきて書き込むのかまったく意味不明
887デフォルトの名無しさん
2017/10/17(火) 09:12:43.23ID:dhvYHJws Kotlinできないやつは仕事がなくなる
888デフォルトの名無しさん
2017/10/17(火) 09:31:20.86ID:4QIDkuyk 「Javaで作ってます(実際にはKotlinですが)」というパターンが増えると思う
Javaのボイラープレートコードを
・IDEが自動生成してソースに直書きする
・Kotlinがコンパイル時に追加書きする
という程度の違いしかないわけだし
見る必要のないものは見えないほうが能率的にも好ましい
Javaのボイラープレートコードを
・IDEが自動生成してソースに直書きする
・Kotlinがコンパイル時に追加書きする
という程度の違いしかないわけだし
見る必要のないものは見えないほうが能率的にも好ましい
889デフォルトの名無しさん
2017/10/17(火) 10:54:09.69ID:hVetZd8l >>887
Java以上に難解な言語だからな。
Java以上に難解な言語だからな。
890デフォルトの名無しさん
2017/10/17(火) 11:27:44.11ID:onQ9Ahkh >>889
Kotlinからプログラミングに入った人が、数年経ってからJavaに手を出したとして、Javaの方が簡単だと思うかな
Kotlinからプログラミングに入った人が、数年経ってからJavaに手を出したとして、Javaの方が簡単だと思うかな
891デフォルトの名無しさん
2017/10/17(火) 12:21:38.68ID:H+HUM8Ad まだ学習中ではあるが、Java より Kotlin の方が簡単なのではないかという感じがしている。
少なくとも同じことやろうとしたら Java では記述が面倒になるものがある。
少なくとも同じことやろうとしたら Java では記述が面倒になるものがある。
892デフォルトの名無しさん
2017/10/17(火) 12:48:53.61ID:dhvYHJws 型名から書き始めるのがだるく感じるようになってしまった
893デフォルトの名無しさん
2017/10/17(火) 13:37:15.76ID:gQ4z+/LN >>891
簡単だよ、「教科書」の範囲を脱するとJavaの知識は絶対に必要だからちょっとアレだけど
所要時間の7割くらいはKotlinでざくざく書ける
残り3割は
・ 事例をKotlinでググったがJavaのしか出てこなかったので諦めてJavaを読んでいる
・ IntelliJでJavaコードを変換してもらったらジェネリクスやコンパニオンオブジェクトやアノテーションだらけになりしかも動かないので泣きながら修正している
・ IntelliJに変換してもらおうとしたらどうやらスニペットらしく何度ペーストしてもうんともすんとも言わないので吐きながら手作業でひとつひとつ置き換えている
のだいたいどれかだ
簡単だよ、「教科書」の範囲を脱するとJavaの知識は絶対に必要だからちょっとアレだけど
所要時間の7割くらいはKotlinでざくざく書ける
残り3割は
・ 事例をKotlinでググったがJavaのしか出てこなかったので諦めてJavaを読んでいる
・ IntelliJでJavaコードを変換してもらったらジェネリクスやコンパニオンオブジェクトやアノテーションだらけになりしかも動かないので泣きながら修正している
・ IntelliJに変換してもらおうとしたらどうやらスニペットらしく何度ペーストしてもうんともすんとも言わないので吐きながら手作業でひとつひとつ置き換えている
のだいたいどれかだ
894デフォルトの名無しさん
2017/10/17(火) 18:57:01.82ID:hVetZd8l ビット演算子とかすでに普及したC系の書法あるのになんで変えるんだろう?
895デフォルトの名無しさん
2017/10/17(火) 19:18:36.93ID:30A/rDEh AndroidのKotlin、2018年にはシェアでJavaを上回る可能性
http://news.mynavi.jp/news/2017/10/17/044/
http://news.mynavi.jp/news/2017/10/17/044/
896デフォルトの名無しさん
2017/10/17(火) 19:47:17.34ID:hVetZd8l イライラするな、そのグラフ。クリックしても全然拡大できねー。
897デフォルトの名無しさん
2017/10/17(火) 20:36:40.86ID:H+HUM8Ad >>896
スマホやタブレットなら拡大するを押した後はピンチできると思うよ。
スマホやタブレットなら拡大するを押した後はピンチできると思うよ。
898デフォルトの名無しさん
2017/10/17(火) 20:39:30.41ID:dhvYHJws お前ら時代についていけなくてプログラミングの仕事ができなくなるぞ
Kotlin以外にもRxとかdatabindingとかMVVM, flux, MVIとか
新しい技術がどんどんでてきてんのにどうすんだ
Kotlin以外にもRxとかdatabindingとかMVVM, flux, MVIとか
新しい技術がどんどんでてきてんのにどうすんだ
899デフォルトの名無しさん
2017/10/17(火) 20:50:31.20ID:H+HUM8Ad え?全部覚えればいいだけでは?
900デフォルトの名無しさん
2017/10/17(火) 20:55:29.61ID:y2IFefmv 調べ方さえ知っときゃいいのよ
基本はアルゴリズム
基本はアルゴリズム
901デフォルトの名無しさん
2017/10/17(火) 20:58:55.12ID:O+BDW8Aj902デフォルトの名無しさん
2017/10/17(火) 20:59:12.42ID:GiRVoeFb AndroidのKotlin、2018年にはシェアでJavaを上回る可能性
ttp://news.mynavi.jp/news/2017/10/17/044/
ttp://news.mynavi.jp/news/2017/10/17/044/
903デフォルトの名無しさん
2017/10/17(火) 21:27:02.26ID:kRPJAKch アセンブラに回帰するから大丈夫
904デフォルトの名無しさん
2017/10/17(火) 23:21:34.71ID:A1W0Ufl3905デフォルトの名無しさん
2017/10/17(火) 23:26:52.13ID:hVetZd8l Kotlinは最新鋭の言語だからな。ついていくにはかなりの勉強が必要。
オブジェクト思考なにそれじゃとても無理。
オブジェクト思考なにそれじゃとても無理。
906デフォルトの名無しさん
2017/10/17(火) 23:38:47.28ID:psnU0zFe Kotlinが分からないお前ら全員失業www無職ざまあwwwwww
907デフォルトの名無しさん
2017/10/18(水) 00:26:22.06ID:AVtT/z6f >>898
あなた「が」その技術を作って売っているのでないのなら、アタラシイギジュツというのは業務としては無視してよい
それの半数は1年で話題にならなくなり、2年でその半数が消える
3年経っても話題になり生き残っているのなら、そこで初めて検討すればいい(たとえばKotlinのように)
まあそれの多くは技術というよりは概念だからわりと生き残ってる部類だが
家のプログラミングで追いかけてりゃ十分じゃないかな
あなた「が」その技術を作って売っているのでないのなら、アタラシイギジュツというのは業務としては無視してよい
それの半数は1年で話題にならなくなり、2年でその半数が消える
3年経っても話題になり生き残っているのなら、そこで初めて検討すればいい(たとえばKotlinのように)
まあそれの多くは技術というよりは概念だからわりと生き残ってる部類だが
家のプログラミングで追いかけてりゃ十分じゃないかな
908デフォルトの名無しさん
2017/10/18(水) 09:11:29.05ID:rBz0muCO Kotlinの定数ってどう書くのが正しいんですか
全部大文字にしてアンダースコアで繋げる、
じゃないですよね
全部大文字にしてアンダースコアで繋げる、
じゃないですよね
909デフォルトの名無しさん
2017/10/18(水) 09:38:16.58ID:96L4BFY0 >>908
companion object{
const val hoge
}
Javaライブラリから定数だと思ってもらう必要がないならcompanion object{}はいらないはず
hogeの名前部分は好きに書け
仰る通り全部大文字アンダースコア区切りが普通ね
companion object{
const val hoge
}
Javaライブラリから定数だと思ってもらう必要がないならcompanion object{}はいらないはず
hogeの名前部分は好きに書け
仰る通り全部大文字アンダースコア区切りが普通ね
910デフォルトの名無しさん
2017/10/18(水) 12:26:44.80ID:iXMhk9b6 >>904
そうか。じゃあ問題ないな。
そうか。じゃあ問題ないな。
911デフォルトの名無しさん
2017/10/18(水) 15:49:53.65ID:ZPgodlCt912デフォルトの名無しさん
2017/10/18(水) 20:53:45.43ID:9Hfah7Rk ねえコトリン^^
913デフォルトの名無しさん
2017/10/19(木) 13:53:40.95ID:kzg66C9N こっち向いて
914デフォルトの名無しさん
2017/10/19(木) 14:09:52.81ID:ZSJg0roA ☆ ∬ ∬
|\ r;ェ、c3 シュンシュン
∴∴∴ _(_'フ__
(´・ω・`) |l三三三||¬|
( _ つ .|l三旦三|| |
(_(__ノ 「目 「:_]
|\ r;ェ、c3 シュンシュン
∴∴∴ _(_'フ__
(´・ω・`) |l三三三||¬|
( _ つ .|l三旦三|| |
(_(__ノ 「目 「:_]
915デフォルトの名無しさん
2017/10/19(木) 22:05:31.14ID:zAbDVwTY >>913
ロシアが攻めて来たのよ
ロシアが攻めて来たのよ
916デフォルトの名無しさん
2017/10/19(木) 23:19:09.40ID:v9LYhYCi ロ、ロ、ロ、ロシアン
917デフォルトの名無しさん
2017/10/20(金) 09:23:09.66ID:cIqzCW7A Kotlinのスキルを持たないAndroid開発者は恐竜のようになるリスクに直面。モバイルアプリプラットフォームのRealmが予測
ttp://www.publickey1.jp/blog/17/kotlinandroidrealm.html
ttp://www.publickey1.jp/blog/17/kotlinandroidrealm.html
918デフォルトの名無しさん
2017/10/20(金) 10:33:28.19ID:ogaeHTAB それはKotlinのスキル有無の問題ではなくて、
Kotlin程度、まともにJavaできる人なら適当に一日触ったら十分使いこなせるようになるんだから
それができないレベルの人には仕事はないという当たり前の話だと思う
Kotlin程度、まともにJavaできる人なら適当に一日触ったら十分使いこなせるようになるんだから
それができないレベルの人には仕事はないという当たり前の話だと思う
919デフォルトの名無しさん
2017/10/20(金) 11:04:30.15ID:q2wuGssb kotlinはjavaの唯一最大の参入障壁「やりたいことに対して無意味にも思える記述が多すぎる」を解消した
あとはちょっと変わった記述の適用広範囲Javaライブラリみたいなもんだからな、そりゃ使われるわ
実はKotlinよりもプログラミング言語的に素晴らしいScalaさんという一つ上くらいの先輩がいるのだが
Scalaさんは初動に集まった人がアカデミックだった上に記号魔術で遊び過ぎて印象悪くして失敗してしまったのだ(初動大事)
あとはちょっと変わった記述の適用広範囲Javaライブラリみたいなもんだからな、そりゃ使われるわ
実はKotlinよりもプログラミング言語的に素晴らしいScalaさんという一つ上くらいの先輩がいるのだが
Scalaさんは初動に集まった人がアカデミックだった上に記号魔術で遊び過ぎて印象悪くして失敗してしまったのだ(初動大事)
920デフォルトの名無しさん
2017/10/20(金) 12:09:50.84ID:+lt7TopC Javaオンリーな人が付け焼き刃でKotlin使うようになってほぼJavaなKotlinコードが量産されるんだろうな
921デフォルトの名無しさん
2017/10/20(金) 12:36:09.65ID:q2wuGssb >>920
たとえば??
たとえば??
922デフォルトの名無しさん
2017/10/20(金) 12:45:02.92ID:p6j5lSQw 何を今更
ジェットブレインが開発した時点でそういう言語だろ
ジェットブレインが開発した時点でそういう言語だろ
923デフォルトの名無しさん
2017/10/20(金) 12:53:16.47ID:4LtGa96p ジェットブレインってなんだろう…
924デフォルトの名無しさん
2017/10/20(金) 12:53:54.91ID:PCOS2CdI925デフォルトの名無しさん
2017/10/20(金) 12:55:55.90ID:q2wuGssb926デフォルトの名無しさん
2017/10/20(金) 12:56:22.84ID:cIqzCW7A ジェット脳
927デフォルトの名無しさん
2017/10/21(土) 08:55:05.79ID:SwYl7d2P バグだらけのWebアプリケーションをKotlinで実装してみました
https://qiita.com/tamura__246/items/ce2932809b9e4ec0297e
https://qiita.com/tamura__246/items/ce2932809b9e4ec0297e
928デフォルトの名無しさん
2017/10/21(土) 08:56:18.39ID:uavAERV8 言語を変えたらバグがなくなりす。Javaのときも言ってた気がします。
929デフォルトの名無しさん
2017/10/21(土) 10:49:40.33ID:uVD587X2 >>928
バグの一部はなくなった。もちろん全部はなくならない。
バグの一部はなくなった。もちろん全部はなくならない。
930デフォルトの名無しさん
2017/10/21(土) 14:07:32.75ID:DUYo3YXD 見てないけど、kotlinにしたら、世の中のプログラムのバグがなくなるのか
kotlin最強だな
kotlin最強だな
931デフォルトの名無しさん
2017/10/21(土) 15:57:07.83ID:pTq+5yjM プログラム言語の進化の歴史の基本パターンだしな
932デフォルトの名無しさん
2017/10/21(土) 22:52:03.68ID:l0C30vmt >>930
だから全部はなくならないってw
だから全部はなくならないってw
933デフォルトの名無しさん
2017/10/21(土) 23:05:33.46ID:uavAERV8 ヌルポがなくなるらしい。でもちゃんとテストしたらヌルポのバグって全部修正できるよね。
つまりkotlinにすればテストしなくていいということ。
結果さらにバグあり納品が増えてデスマーチ。いつかみた風景。
ポインタがなくなれば〜、GCがあれば〜
オープンソースにすれば〜ってのもあったね。最近多いのがAIにすれば〜
つまりkotlinにすればテストしなくていいということ。
結果さらにバグあり納品が増えてデスマーチ。いつかみた風景。
ポインタがなくなれば〜、GCがあれば〜
オープンソースにすれば〜ってのもあったね。最近多いのがAIにすれば〜
934デフォルトの名無しさん
2017/10/22(日) 03:25:09.30ID:e1gng41K Null非許容型も知らずヌルポがなくなるらしいとか言ってる奴が何言っても全然説得力が無い
935デフォルトの名無しさん
2017/10/22(日) 03:25:51.40ID:GA495a0M Null非許容型も知らずヌルポがなくなるらしいとか言ってる奴が何言っても全然説得力が無い
2017/10/22(日) 09:06:20.22ID:AhvojsY+
世の中のプログラムのバグがなくなるとかテストしなくていいとか
脳内の飛躍が半端ないなw
脳内の飛躍が半端ないなw
2017/10/22(日) 09:51:20.46ID:ThKraGOL
938名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 10:39:38.28ID:Aud0wCrn >>928
りす?
n_n
/ ・ \
/ヽ__・
/Ξミヽ/ (゚Д゚)
( ―、| (ノ |つ
\_人人__)_)
∪ ∪
りす?
n_n
/ ・ \
/ヽ__・
/Ξミヽ/ (゚Д゚)
( ―、| (ノ |つ
\_人人__)_)
∪ ∪
939名無しさん@そうだ選挙に行こう! Go to vote!
2017/10/22(日) 10:43:40.96ID:Aud0wCrn >>936
その辺は何れ何とかなるんじゃないかな。AIが発達して人間が何かする必要は特に無くなる。
もちろんAIはプログラミングなんかしない。自身が既にプログラムだしね。単に人間が望むであろう動きを自分がすればいいだけ。
その辺は何れ何とかなるんじゃないかな。AIが発達して人間が何かする必要は特に無くなる。
もちろんAIはプログラミングなんかしない。自身が既にプログラムだしね。単に人間が望むであろう動きを自分がすればいいだけ。
940デフォルトの名無しさん
2017/10/23(月) 01:55:41.23ID:abHVYf4D Pythonじゃダメなの?
941デフォルトの名無しさん
2017/10/23(月) 01:58:47.60ID:u5IDZl2p だめなの
942デフォルトの名無しさん
2017/10/23(月) 09:12:33.70ID:dbUGXOGc そういやPythonやったことないな。いつもLinuxいじってて目の前に既に使える環境があったんだがなぜか覚える気にならずPerlばかり使っていた。
いい加減学習するか。
いい加減学習するか。
943デフォルトの名無しさん
2017/10/23(月) 09:16:27.95ID:q13VoyIh ぱいそんなんて勉強が必要なものでもないがな
944デフォルトの名無しさん
2017/10/23(月) 09:49:53.15ID:dbUGXOGc いや、ほら、何も知らないからさ。
ファイル名の拡張子が .py ってことぐらいしか知らない。
ファイル名の拡張子が .py ってことぐらいしか知らない。
945デフォルトの名無しさん
2017/10/23(月) 10:00:47.84ID:QKnEuIrp 常用するLinuxBoxがあるのならPython/Rubyは良い選択肢
自分のために楽しくやりたいならRubyを、皆と一緒に便利にやりたいならPythonを選ぶといい
どっちか覚えたら片方はすぐなんで初期用途で選んでいいよ
自分のために楽しくやりたいならRubyを、皆と一緒に便利にやりたいならPythonを選ぶといい
どっちか覚えたら片方はすぐなんで初期用途で選んでいいよ
946デフォルトの名無しさん
2017/10/23(月) 19:00:30.13ID:puhk/g9t 未だにkotlinだとヌルポがなくなるとか言ってるやつがいるのか
947デフォルトの名無しさん
2017/10/23(月) 19:15:07.45ID:YIhcz2Te ひねくれた複雑な事やらなければだいたいはなくせないか?
948デフォルトの名無しさん
2017/10/23(月) 19:39:06.53ID:o6L3q82d Kotlin使ってもぬるぽ連発してんのか
949デフォルトの名無しさん
2017/10/23(月) 22:51:45.52ID:QKnEuIrp950デフォルトの名無しさん
2017/10/23(月) 23:04:44.08ID:zzY32qse 器用なことやるな
951デフォルトの名無しさん
2017/10/24(火) 02:21:21.48ID:IbgCT9FR kotlinが急進的に普及みたいな記事を
良くみるが、俺は到底そうとは思えない。
理由はKotlinの謳い文句の
KotlinからJava変換、KotlinからJavascript変換が
まだまだ使いずらいってことだ。
AndroidスタジオはPCによってはBuildが遅過ぎ
まったく開発にならない。Webプログラムのパイオニアみたいな
キャッチセースで最近注目を引いてるけど、まだまだ
美味しい時期ではないように思うえる。
今日とかWindow10/32ビットでコマンドラインから
JavaとJavasriptにコンパイルしようとしたけど
Javaspitに関しては資料が少なすぎて手も足も出ない。
コマンドプロンプトから
kotlinc-js -output hello -sourceFiles hello.kt -libraryFiles kotlin-jslib.jar
で良かったけ?なんか、情報が閑散としてて判らん
良くみるが、俺は到底そうとは思えない。
理由はKotlinの謳い文句の
KotlinからJava変換、KotlinからJavascript変換が
まだまだ使いずらいってことだ。
AndroidスタジオはPCによってはBuildが遅過ぎ
まったく開発にならない。Webプログラムのパイオニアみたいな
キャッチセースで最近注目を引いてるけど、まだまだ
美味しい時期ではないように思うえる。
今日とかWindow10/32ビットでコマンドラインから
JavaとJavasriptにコンパイルしようとしたけど
Javaspitに関しては資料が少なすぎて手も足も出ない。
コマンドプロンプトから
kotlinc-js -output hello -sourceFiles hello.kt -libraryFiles kotlin-jslib.jar
で良かったけ?なんか、情報が閑散としてて判らん
952デフォルトの名無しさん
2017/10/24(火) 03:06:11.96ID:PSxxe1n/ 全角で言語名書く奴の意見は参考にしない事にしている
953デフォルトの名無しさん
2017/10/24(火) 08:04:25.98ID:s8DNo2te 全角と半角が混じって気持ち悪いことこの上ない
プログラマーとは思えない美的感覚
プログラマーとは思えない美的感覚
954デフォルトの名無しさん
2017/10/24(火) 08:20:05.29ID:kOLVT7kL Javasript
Javaspit
という新しい言語が生まれたようだな
Javaspit
という新しい言語が生まれたようだな
955デフォルトの名無しさん
2017/10/24(火) 08:54:24.56ID:EMAIs2aC >>952-954
なんでそうやって構うの
なんでそうやって構うの
956デフォルトの名無しさん
2017/10/24(火) 08:54:33.53ID:rijisBQi spit = つばを吐く
ということだから、
Javaspit = Javaにつばを吐く
つまり熱狂的なKotlin信者ということ
ということだから、
Javaspit = Javaにつばを吐く
つまり熱狂的なKotlin信者ということ
957デフォルトの名無しさん
2017/10/24(火) 09:09:32.53ID:Y1f+CDs0 Window10
新しいOS
新しいOS
958デフォルトの名無しさん
2017/10/24(火) 09:51:43.85ID:99TFwYv/ キッズプログラマー
959デフォルトの名無しさん
2017/10/24(火) 10:24:42.63ID:rImCj7mr SRIPT
Shanghai Research Institute of Petrochemical Technology
Shanghai Research Institute of Petrochemical Technology
960デフォルトの名無しさん
2017/10/24(火) 10:28:35.28ID:YiJuDl3B961デフォルトの名無しさん
2017/10/24(火) 12:32:17.01ID:ILn03nC/962デフォルトの名無しさん
2017/10/28(土) 13:15:37.00ID:cK0+9veY ぬるぽ
963デフォルトの名無しさん
2017/10/28(土) 14:38:12.64ID:cK0+9veY 何気なくAmazon見てたらこんなの見つけた。無料。
Kotlin Programming Tutorial https://www.amazon.co.jp/dp/B074FXTTKL/ref=cm_sw_r_an_am_at_ws_jp?ie=UTF8
Kotlin Programming Tutorial https://www.amazon.co.jp/dp/B074FXTTKL/ref=cm_sw_r_an_am_at_ws_jp?ie=UTF8
964デフォルトの名無しさん
2017/10/28(土) 14:39:54.99ID:0x9+D/xv EclipseのエディタがJavaと同じぐらいKotlinサポートしてくれてるなら乗り換えてもいい
965デフォルトの名無しさん
2017/10/28(土) 14:44:54.44ID:Ng05dLeH KotlinはIntelliJ開発元のJetBrainsが作ってるからEclipseプラグインに期待するのは間違い
もしサードパーティによってIntelliJより使いやすいEclipseプラグインが出てきて開発者がそっちに流れそうになったりしたら
JetBrainsは法的手段を使ってでも全力で潰しに来るはず
もしサードパーティによってIntelliJより使いやすいEclipseプラグインが出てきて開発者がそっちに流れそうになったりしたら
JetBrainsは法的手段を使ってでも全力で潰しに来るはず
966デフォルトの名無しさん
2017/10/28(土) 14:58:11.85ID:ZGNKF2eF 極めて単純に「Eclipseは20年以上Javaをサポートしアプデし続けてきたので最強である」というだけなので
今のJava+EclipseをKotlinで再現するにはあとやっぱり20年くらい必要だと思われる
あれは年季の問題であって、NetBeans+Javaとか(困ったことに)IntelliJ+Javaも同じようなものだ
IDEサポートの分厚さという点ではKotlinはどの組み合わせにも及んでいない
とりあえずバックスペースで消していくだけでKotlinプラグインがクラッシュすることがあるのを直さんといかんレベル
今のJava+EclipseをKotlinで再現するにはあとやっぱり20年くらい必要だと思われる
あれは年季の問題であって、NetBeans+Javaとか(困ったことに)IntelliJ+Javaも同じようなものだ
IDEサポートの分厚さという点ではKotlinはどの組み合わせにも及んでいない
とりあえずバックスペースで消していくだけでKotlinプラグインがクラッシュすることがあるのを直さんといかんレベル
967デフォルトの名無しさん
2017/10/28(土) 15:54:42.82ID:LaChF7dA MSがVSCodeのプラグイン作ったら1年でJava超えるだろうけどね
968デフォルトの名無しさん
2017/10/28(土) 15:57:39.28ID:0x9+D/xv なんてこったい
Oracleはjava9でvar採用して
innullablejre.jarを別途提供すべき
Oracleはjava9でvar採用して
innullablejre.jarを別途提供すべき
969デフォルトの名無しさん
2017/10/29(日) 03:51:42.38ID:0yKrkLYC すばらしい使い捨て言語だ。
970デフォルトの名無しさん
2017/10/29(日) 09:51:25.77ID:nF8jP4ar >バックスペースで消していくだけでKotlinプラグインがクラッシュする
あれは繊細過ぎると思う
どっかでチェック開始間隔の設定がありそうだけどな
あれは繊細過ぎると思う
どっかでチェック開始間隔の設定がありそうだけどな
971デフォルトの名無しさん
2017/10/29(日) 09:56:52.64ID:0yKrkLYC kotlinでプラグインを書かないからヌルポになるんだよ。
972デフォルトの名無しさん
2017/10/29(日) 19:11:11.42ID:6hfILvPI さっき新宿の紀伊國屋書店行ったらKotlinイン・アクションもう置いてあったよ。
ということは多分大きい本屋ならもう売ってると思う。
ということは多分大きい本屋ならもう売ってると思う。
973デフォルトの名無しさん
2017/10/29(日) 21:42:48.27ID:Gu+Q8xiz 感想は?買いなん
974デフォルトの名無しさん
2017/10/29(日) 22:04:20.61ID:oFRxn/Jf >>973
まだパラパラめくって見ただけなので何とも言えないが、詳しく一通り書いてあるように見える。
まだパラパラめくって見ただけなので何とも言えないが、詳しく一通り書いてあるように見える。
975デフォルトの名無しさん
2017/10/30(月) 00:56:22.26ID:/vdlmG2A 初めてのまともな日本語の本でしょ
あのクソみたいなエバンジェリスト本(笑)をやっと駆逐できるな
あのクソみたいなエバンジェリスト本(笑)をやっと駆逐できるな
976デフォルトの名無しさん
2017/10/30(月) 02:59:15.21ID:nQXUW6Dj エバンジェリスト本?
ああ、まあ、 Technology evangelist か?
ああ、まあ、 Technology evangelist か?
977デフォルトの名無しさん
2017/10/30(月) 08:46:43.80ID:stDQ/FyB 長澤太郎もかかわっている
978デフォルトの名無しさん
2017/10/30(月) 21:53:49.20ID:pVIch9qW 今日から始めます。
今インストール中。
よろしくお願いします。
今インストール中。
よろしくお願いします。
979デフォルトの名無しさん
2017/10/30(月) 22:37:30.38ID:OufZdVP7 ここは!
あなたの!
日記帳!
Javaを読めないとしんどいから、もしまだ知らないなら並行作業でちょっとずつやるといいよ
今からやっておくとだいたいKotlinわかったころに何かやりたくなっても「あっこれ進研ゼミでやったやつだ!」となって捗ること請け合い
あなたの!
日記帳!
Javaを読めないとしんどいから、もしまだ知らないなら並行作業でちょっとずつやるといいよ
今からやっておくとだいたいKotlinわかったころに何かやりたくなっても「あっこれ進研ゼミでやったやつだ!」となって捗ること請け合い
980デフォルトの名無しさん
2017/10/30(月) 23:00:21.71ID:pVIch9qW981デフォルトの名無しさん
2017/10/31(火) 20:53:53.80ID:mFIgmMeH data?.let {
...
}
でdataがNULLじゃないときだけ処理を実行できることは分かりました。
これにdataがNULLのときの処理も追加したい場合はどう書いたらいいんでしょうか
data?.let {
...
}?: {
}
みたいに書けないです。
...
}
でdataがNULLじゃないときだけ処理を実行できることは分かりました。
これにdataがNULLのときの処理も追加したい場合はどう書いたらいいんでしょうか
data?.let {
...
}?: {
}
みたいに書けないです。
982デフォルトの名無しさん
2017/10/31(火) 21:01:44.57ID:mFIgmMeH ファイル入力の処理などの以下の処理が
while((line = br.readLine()) != null)
Kotlinだと、Assignments are not expressions, and only expressions are allowed in this context
のエラーになるんですが、Kotlinだとどう書いたらいいんでしょうか
while((line = br.readLine()) != null)
Kotlinだと、Assignments are not expressions, and only expressions are allowed in this context
のエラーになるんですが、Kotlinだとどう書いたらいいんでしょうか
983デフォルトの名無しさん
2017/10/31(火) 21:38:42.83ID:kBfCDZdZ984デフォルトの名無しさん
2017/10/31(火) 21:39:06.81ID:cTxMPZq4 >>981
普通に if 使って書けば良いのでは?
普通に if 使って書けば良いのでは?
985デフォルトの名無しさん
2017/10/31(火) 21:55:55.33ID:7/FAMo7N >>981
?: run {}
?: run {}
986デフォルトの名無しさん
2017/10/31(火) 22:06:34.40ID:mFIgmMeH data?.let {
...
}?: {
...
}.invoke()
というのを見つけたんですが、?: run {}の方がいいんでしょうか
...
}?: {
...
}.invoke()
というのを見つけたんですが、?: run {}の方がいいんでしょうか
987デフォルトの名無しさん
2017/10/31(火) 22:10:44.21ID:BGaLFLkz 癖のある言語ですね・・・
988デフォルトの名無しさん
2017/10/31(火) 22:16:51.16ID:kBfCDZdZ >>986
だから条件分岐は条件分岐として書いてくれ
letはもともと
val hoge = Hoge()
hoge.mes1()
hoge.mes2()
と書く代わりに
Hoge().let{ it.mes1(); it.mes2() }
と書くことができるという構造だ
条件分岐の代わりに使っていいものじゃない
ネット上で観測される彼らは「間違っている」
参考にしてはならない
だから条件分岐は条件分岐として書いてくれ
letはもともと
val hoge = Hoge()
hoge.mes1()
hoge.mes2()
と書く代わりに
Hoge().let{ it.mes1(); it.mes2() }
と書くことができるという構造だ
条件分岐の代わりに使っていいものじゃない
ネット上で観測される彼らは「間違っている」
参考にしてはならない
989デフォルトの名無しさん
2017/10/31(火) 22:20:26.16ID:mFIgmMeH えー。letってNULLチェック代わりに使うものじゃなかったの
990デフォルトの名無しさん
2017/10/31(火) 22:28:56.76ID:kBfCDZdZ nullチェックは ?. の部分だ
letの中身が長くなればなるほど、それはletで書くべきではないということになる
今ここでこれ使うと1行で書けて変数に入れられるぜえ、とかだとapplyとか使うの考えるがまあその程度
letをnull回避として紹介してた人が今どんだけそれを日常的に使ってるかは個人的に興味があるよ
最初の紹介で使っただけなんじゃないかと思うんだよねえ
>>990超したので新スレおねがいします
letの中身が長くなればなるほど、それはletで書くべきではないということになる
今ここでこれ使うと1行で書けて変数に入れられるぜえ、とかだとapplyとか使うの考えるがまあその程度
letをnull回避として紹介してた人が今どんだけそれを日常的に使ってるかは個人的に興味があるよ
最初の紹介で使っただけなんじゃないかと思うんだよねえ
>>990超したので新スレおねがいします
991デフォルトの名無しさん
2017/10/31(火) 22:29:35.46ID:6MYbZ/26 Wikipediaとか参考文献にしてそう
992デフォルトの名無しさん
2017/10/31(火) 22:47:55.01ID:wyGoJvua そもそものもともととして.?じゃ本当にnullが来たとき対処できないじゃないか
checkNotNull(value){ "valueがnullです" }
とかしないと不安にならないの
checkNotNull(value){ "valueがnullです" }
とかしないと不安にならないの
993デフォルトの名無しさん
2017/10/31(火) 23:34:28.34ID:E21Np2eC それならKotlin使うのやめろよ
994デフォルトの名無しさん
2017/10/31(火) 23:39:23.74ID:u3Drl61J >>992
何言ってんの
何言ってんの
995デフォルトの名無しさん
2017/10/31(火) 23:49:38.22ID:BBLfUUwS996デフォルトの名無しさん
2017/11/01(水) 00:08:55.25ID:jxmKQQAl 次スレ
http://mevius.5ch.net/test/read.cgi/tech/1509462463/
2ch.net でないとうまく開かない専ブラの人は以下のURL
http://mevius.2ch.net/test/read.cgi/tech/1509462463/
http://mevius.5ch.net/test/read.cgi/tech/1509462463/
2ch.net でないとうまく開かない専ブラの人は以下のURL
http://mevius.2ch.net/test/read.cgi/tech/1509462463/
997デフォルトの名無しさん
2017/11/01(水) 00:46:22.34ID:1EENXbRG x.?let {} ?: run {} は letのとこのブロックがnull返すと x がnullじゃなくても run のブロック実行しちまうだろ
x.?also {} ?: run {} にしとけよ
x.?also {} ?: run {} にしとけよ
998デフォルトの名無しさん
2017/11/01(水) 00:52:45.72ID:pp6VRjc6 >>992
?. を書いてメソッドチェーンを繋げなければならない状況自体、なにかおかしいからな
とっとと非nullを確定させるのが妥当
しかもわざわざスコープ内で覚えててくれるんだから、利用しない手はない
?. を書いてメソッドチェーンを繋げなければならない状況自体、なにかおかしいからな
とっとと非nullを確定させるのが妥当
しかもわざわざスコープ内で覚えててくれるんだから、利用しない手はない
999デフォルトの名無しさん
2017/11/01(水) 02:02:04.51ID:x/3omok5 999
1000デフォルトの名無しさん
2017/11/01(水) 02:02:35.06ID:x/3omok5 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 613日 0時間 16分 34秒
新しいスレッドを立ててください。
life time: 613日 0時間 16分 34秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★4 [ぐれ★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★5 [ぐれ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 早く世界滅べ
- 【速報】高市早苗、起床 [779938112]
- 【速報】ぺこーらさん、巨大地震後も配信を続けるwwwwwwwwwwwwwwwww
- お前らはデブ
