JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org
探検
Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/02/27(土) 01:46:01.68ID:Ag8w7//2
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
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨 [931948549]
- 【悲報】山里亮太(南海キャンディーズ)さん [329329848]
- 統一教会っていらない田んぼ畑ビルディング(アスベスト)も引き取ってくれるの? [358382861]
- 【高市悲報】日本が🇨🇳輸出規制したフォトレジスト、早速韓国企業が中国に売り込みかけて日本の対抗手段もうなくなるwww [709039863]
- 中国父「日本の一般大衆は高市を支持しておらず、反対している人も多い。悪いのは日本国民ではなく高市!」 すまんこれほんと? [271912485]
- 高市「中国さんお願い電話で話そ、このままじゃ武力衝突になっちゃう😭」日中間の専用電話に日本側からかけるも無視される [931948549]
