X



Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0496デフォルトの名無しさん
垢版 |
2017/07/30(日) 09:16:23.60ID:AatiOL5G
>>487
主要言語の「Effective 何々」という本を読めば、わかるけど、
すべての言語でほぼ同じ

本では、equals, hashCode, toString の三種の神器を、
最初にオーバーライドしましょうって書いてあるけど、

Kotlin では、データクラスと言って、最初から用意されている
0497デフォルトの名無しさん
垢版 |
2017/07/30(日) 10:13:47.62ID:1EcJb2Jm
またお前か
ミュータブルなクラスでequalsやhashCodeをオーバーライドするのは多くの場合不適切
0498
垢版 |
2017/07/30(日) 15:50:13.09ID:P5Qwr2jW
Haskell大人気だな。
ただのflattenとmapで、ほんとにlispの頃からある。
0499デフォルトの名無しさん
垢版 |
2017/07/30(日) 18:11:16.75ID:X+REAxPs
型システムと共にMonadやFunctorとして整理された経緯を知らないと
そう思うのも無理は無い
Lispやさらに前段の数学も由来として合ってはいるが
関数単体で導入されたわけでなく包括的な概念で導入されている
0500
垢版 |
2017/07/30(日) 18:24:32.50ID:P5Qwr2jW
包括的な概念で導入された、って、関数型言語なら当たり前の概念を集めて来たって話で、
Haskellで知った、って話をドヤ顔されても、って話なんじゃないの?
0501デフォルトの名無しさん
垢版 |
2017/07/30(日) 22:02:52.21ID:4pngWMeM
Javaは(意外と)シンブルな言語なんだから、3言語ぐらい精通してる人ならばkotlinなんて難しくないよ。
Javaをマスターしてないとって思う人もいるみたいだけど、Javaの持ってる要素なんて、プログラミングの様々な要素からしたらそんなに多くないから大丈夫だよ
0502デフォルトの名無しさん
垢版 |
2017/07/30(日) 22:16:46.98ID:W7NHR4pI
>>501
良かった。
typeScriptとswift2とobjcとgo
が使えてる俺はなんの問題もなく使いこなせるって事だね?
0505デフォルトの名無しさん
垢版 |
2017/07/31(月) 14:27:59.07ID:luO5NyKL
elixirのパターンマッチに感動したんだけど、バイナリ列にパターンマッチングできるんでバイナリデコーダが簡単にできそうなんですが
kotlinもそういうことできます?
0506
垢版 |
2017/07/31(月) 18:32:19.26ID:/DHTAviI
>>504
知ってるよ。そもそも物理屋、工学屋は圏論自体から入っとる。
0507デフォルトの名無しさん
垢版 |
2017/08/01(火) 00:27:55.71ID:PARHYe6N
>>481だけがわりと正確な物言いしてるが「解説の大部分がJavaプログラムに依存してる」ことが学習上の問題
自然言語でほとんど書いてないからJavaの動作を斟酌して理解しないといけないのだ
時間と人手が解決する問題ではあるが、今から学びたい人にはあんまり嬉しくなかろうな

理解に必要なのはJavaの文法そのものではなくJavaの個々の動作と実装のされ方なのでJava使ったことない人はしばらく戻ってこれないぞ
ただ、遠回りだけど近道なので頑張ってくれ
0508デフォルトの名無しさん
垢版 |
2017/08/01(火) 01:54:59.02ID:sayqMREC
>>502

>>475
の順番に読めば、OK
0512デフォルトの名無しさん
垢版 |
2017/08/01(火) 09:50:52.12ID:5VpZIsuu
kotlinやってみたくなったけど
入門者向けの情報がjava前提の物ばかりなので
javaやり始めました

で、思ったんだけど
javaって言語仕様以外の部分で覚えなきゃならない事多すぎ
kotlin入門者向けのライトなjava入門の情報が欲しい今日この頃
0513デフォルトの名無しさん
垢版 |
2017/08/01(火) 14:33:06.94ID:bOmdPaNn
何はともあれHello worldよ
色々丸コピでもいいから手持ちのAndroid端末上に画面を出す

そこで登場したよく分からないものを全てググって
その後はやりたいことをベースに調べていけばいい
本読むのはその後でも
0514デフォルトの名無しさん
垢版 |
2017/08/01(火) 19:23:29.20ID:A6tuVNB3
JavaとKotlinなんて文法以外にさほど違いがないから、覚えることが多いことに変わりない罠
0516
垢版 |
2017/08/01(火) 20:43:30.74ID:ps+Dq31M
>>510
案外bytecodeはjavacより賢いと思う。
kotlin nativeにも期待たし、隠蔽ってのはそこまで深く考えんで良いのでは?

あんまり隠蔽と言い出すと、アセンブラ書くしか無くなる。
0517デフォルトの名無しさん
垢版 |
2017/08/01(火) 23:16:53.17ID:NbT5I2SP
(´・ω・`)これって、コーリンって読むらしいね
0519デフォルトの名無しさん
垢版 |
2017/08/01(火) 23:56:00.53ID:NbT5I2SP
(´・ω・`)いまね、wiki見たらことりんってかいてたー
さっきTwitterみてたらコーリンってよむってウソ情報ながれてたのー
すいません
0520デフォルトの名無しさん
垢版 |
2017/08/02(水) 00:30:22.22ID:Mrcj6vwl
ここやTwitterのような有象無象発信の情報は一度調べることをオススメする

1次情報や文責のある情報なら話は別だけどね
0521デフォルトの名無しさん
垢版 |
2017/08/03(木) 02:14:23.09ID:dP8PygxN
コトリチャンって読むんやで
0522デフォルトの名無しさん
垢版 |
2017/08/04(金) 02:49:08.32ID:C9CuhslM
この言語でiosアプリも開発できるの?
ならSwiftもJavaもいらなくね?
0523デフォルトの名無しさん
垢版 |
2017/08/05(土) 22:07:19.73ID:q6QkhQr1
初心者向けの定番本教えて
0527デフォルトの名無しさん
垢版 |
2017/08/06(日) 08:37:01.72ID:exhLY8Mw
kotlin自体はそんなに変な仕様じゃないから
androidとの組み合わせで変わるとこが知りたい。
基本的にはimportはjavaの時と同じなの?
andrid全般の学習をする時にjavaで書かれたコードが単純にkotlinのコードに変換すれば動くってことでいいのかな。
0528デフォルトの名無しさん
垢版 |
2017/08/06(日) 11:16:41.83ID:8894pkNA
その認識だと先にKotlinを数日みっちり勉強したほうが早く理解できる気がするぞ
0529デフォルトの名無しさん
垢版 |
2017/08/06(日) 11:37:11.88ID:exhLY8Mw
>>528
どうなんだろね。単純にjavaのコードの部分を変換してみて
なんで動かないのか検証したほうが早い気もする(遅延学習)
androidのチュートリアル自体はjavaで書かれてるものが大半だし。
0531デフォルトの名無しさん
垢版 |
2017/08/15(火) 19:45:47.28ID:wxesOBVY
IntellijにKotlinのREPL付いていて便利だろうと思ったけど
REPLは入力途中でけっこう固まってしまう。
あとprintlinが改行しなかったり、まだ不安定なのかな。
0534デフォルトの名無しさん
垢版 |
2017/08/17(木) 12:41:21.77ID:Am4yUvQo
>>533
マジかー、まぁ、Googleに入ったならSwiftよりはKotlinよりか
Alloに関わるなら無いこともない?
0536デフォルトの名無しさん
垢版 |
2017/08/17(木) 14:10:07.16ID:P168fr1d
Kotlinに関わるならJetBrainsに行くやろ
あるいはGoogleのなかでも特にBrainsチームに入る意味がない
本人がAIやるって言ってんだからそれ以上でもそれ以下でもない
0537デフォルトの名無しさん
垢版 |
2017/08/17(木) 17:50:59.53ID:8HfS9wXv
SwiftとKotlin/Nativeはコンセプトや立ち位置が同じだからワンチャンあるで
GoMobileもAndroid Studio C/C++ NDK Pluginも死に体だから、Android + Kotlin/Nativeに期待したいね
0538デフォルトの名無しさん
垢版 |
2017/08/17(木) 20:15:47.27ID:uHinuZ07
これかな

Apple「Swift」のクリス・ラトナー氏、Teslaを経てGoogle Brain入り
ttp://www.itmedia.co.jp/enterprise/articles/1708/15/news043.html
0541デフォルトの名無しさん
垢版 |
2017/08/18(金) 10:12:07.26ID:vRHq3miw
Swiftの開発者だけど、Kotlin/Nativeで使うLLVMの開発者でもあるんだよなぁ

Googleへの転職も短期らしいしApple(Swift)からJetBrains(Kotlin)にすぐに転職したら
倫理的にAppleからクレームが来るのは当然だしお茶濁しかもね
KotlinにLLVMのノウハウ投入してくれることを期待しようじゃないの
0544デフォルトの名無しさん
垢版 |
2017/08/18(金) 10:35:41.64ID:+X0+m8dy
googleって20%ルールってまだあるんでしょ?
その20%の中でkotlinに手を出すのは自由なんじゃないの。
ただ、swiftの言語仕様の変遷を見るにkotlinの言語仕様に口出したら
とんでもないことになりそう
0546デフォルトの名無しさん
垢版 |
2017/08/18(金) 11:43:17.65ID:a7R6z0dh
3秒ルールはないのかな
0547デフォルトの名無しさん
垢版 |
2017/08/19(土) 05:05:31.91ID:pqlrWbIe
C#から来たけど、C#ではヌル安全もコンストラクタとメンバ定義が一体になってるやつも一向に入らないからKotlinの方がいいと思うようになったね
IDEが少しモッサリしてるのとコンパイルが遅いのが難点だけどね
SwiftはGCがないから論外じゃない?
0550デフォルトの名無しさん
垢版 |
2017/08/19(土) 13:13:50.07ID:yjxWeDHX
Kotlin/Native PreviewはGCじゃなくARCなんだけど?
そして、GCがベストというわけじゃないし今後はどうするかは知らんとも言ってる
0551デフォルトの名無しさん
垢版 |
2017/08/19(土) 13:17:42.75ID:pqlrWbIe
>>548
Rustはスゴイよな
使いこなせればあれが理想なんだろうな
0552デフォルトの名無しさん
垢版 |
2017/08/19(土) 14:47:09.74ID:a8QxREVh
rustはどうなんだろうね。
いずれ学習したい言語ではあるけど、今のところ活躍場所がないからなぁ。
0553デフォルトの名無しさん
垢版 |
2017/08/19(土) 14:56:51.77ID:t3rqEI6U
Kotlin勉強してるけどベターJavaとしてのScalaは相当辛いなあ。
Scalaは何目指せばいいんだろ
0554デフォルトの名無しさん
垢版 |
2017/08/19(土) 15:51:07.03ID:+F5+cWTJ
Scalaって当時のサーバサイドJava(J2EE)の代替として出たものでしょ
サーバ上で動かすJavaVMに既存資産(ソフト&人員)の再利用以外の価値を見出せるなら使えるんじゃないの
0555デフォルトの名無しさん
垢版 |
2017/08/19(土) 17:29:36.37ID:9KU7ntuJ
Java EE が、大げさすぎるから、
2001年、Struts
2004年、Ruby の、Rails
2006年、Groovy の、Grails
2006年、Scala の、Play

今は、Kotlin が出たけど、型を書くのが面倒くさいから、
型を書かない、Ruby, Groovy は残るだろう
0556デフォルトの名無しさん
垢版 |
2017/08/19(土) 22:54:27.97ID:a8QxREVh
>>555
javaばっか触ってる人は型がない方が素敵って思ってるのかね。
俺はTypescriptでかなり幸せだけど。確かにjsよりタイプ量が増えるけど
それ以上に安心感がパない
0558デフォルトの名無しさん
垢版 |
2017/08/19(土) 23:02:14.25ID:p9Z5WLWG
型があろうがなかろうがどうせバグはテストで潰すからな
js界隈にはテスト文化がないのか
0559デフォルトの名無しさん
垢版 |
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万台にならなくて済む
0560デフォルトの名無しさん
垢版 |
2017/08/20(日) 00:15:05.28ID:kaazzj5o
>>555
Railsより長く使われてるTomcat(Servlet)とPHPを忘れてんよ
どっちもRailsに淘汰されるかと思ったらなんだかんだで未だに生き残ってやがるから困る

テスト云々より動的型付け(TypeScript含む)は実行時速度がなぁ
動的型付け+型チェックは苦肉の策で、静的型付け+型推論が今の流行りよな
よってKotlinは素晴らしい
0561デフォルトの名無しさん
垢版 |
2017/08/20(日) 00:37:21.64ID:C3zH0fui
ひところJIETがネガキャンされてて最近は逆に急にこのありさま

どこに首根っこつかまれたんだ
0562デフォルトの名無しさん
垢版 |
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')
なんか設定間違ってるのだろうか…
0563デフォルトの名無しさん
垢版 |
2017/08/20(日) 20:28:01.43ID:X7HXBqNm
ぬーん原因らしきものわかった
「Javaをktファイルに変換する(Ctrl+Shift+Alt+k)」は/app/src/main/javaを選択した状態でやったほうがいいらしい
下手に/appとかプロジェクトルート選択した状態で変換すると余計なのまでkt化されてIDEサポート動作に支障が出るようだ
こんなミスする人そんなにいないと思うけど数文字打つたびIDEエラー出まくるという人は気をつけてみてくれ
0564デフォルトの名無しさん
垢版 |
2017/08/20(日) 21:38:37.79ID:X7HXBqNm
そうでもなかった
IlligalStateExcptionは別枠らしい
Failed to create expression from text: '<ERROR FUNCTION>'
ターミナルから起動すると標準エラー出力にスタックトレースが出ることがわかったのだが追跡めんどいな
前のと違ってこのエラー出ても補完とかは動くからもう無視したいした
0565デフォルトの名無しさん
垢版 |
2017/08/22(火) 01:05:28.57ID:hpqXPKX7
ちょっと関係ない話だがKotlinの入門書の最初に説明用のサンプルとして出てきた最大公約数を求める関数のアルゴリズムに驚いた
ユークリッドの互除法なんてものがあることを今まで知らなかった
証明見てもまだよくわからん
よくこんなことに気付いたな
紀元前300年の数学者すげー
0566デフォルトの名無しさん
垢版 |
2017/08/22(火) 01:14:54.99ID:tq0/mRJT
ユークリッドの互除法って有名で
プログラミングの題材としてもよく出てくるけど
紀元前に生まれてたら自力で思いつかないとは思う
0568デフォルトの名無しさん
垢版 |
2017/08/22(火) 02:31:08.97ID:tq0/mRJT
Kotlinなんて最新言語じゃなくて
何十年も前のBASICやCの頃から
互除法の例題はあったよ
0569デフォルトの名無しさん
垢版 |
2017/08/22(火) 02:37:43.49ID:i38qdLYb
正直あれは脚注でもなんでもいいから一言解説がついててもいいと思う
どこかで一度でもやったことさえあれば一発で見当がつくが
そうでなきゃ何がなんだかさっぱりわからんはずだ
0571デフォルトの名無しさん
垢版 |
2017/08/22(火) 02:49:09.46ID:tq0/mRJT
Nクイーンとかもそうだけど
使い回されてるアルゴリズムを載せるのって
他言語でもう読み書きしたことがある人が
「この言語だとどう書くの?」ってのを
確認するためにあるようなものだからね
0572デフォルトの名無しさん
垢版 |
2017/08/22(火) 12:09:02.60ID:IWEK7hu0
「※ユークリッドの互除法」と一言書いてあるだけで100人単位で手間が救われたはずではある
もともとページ数ギリギリな書籍だから難しいのかもしれんが
0573デフォルトの名無しさん
垢版 |
2017/08/22(火) 12:48:19.23ID:AcxdB0/s
ま、しかし、少なくとも計算に関しては数学知ってるか否かでかなりプログラムが変わって物凄く効率化できる可能性あるな。
0575デフォルトの名無しさん
垢版 |
2017/08/22(火) 14:14:28.90ID:IVfvVmbm
ユークリッドの互除法は、中学生レベルだろ。
知らなかったら、最大公約数を求められない

プログラムの本で、素数を求めるのに、√N まで、求めれば良いのに、
それを知らない著者もいる

N = 1,000 なら、32 まで試せば良いのに、1,000 まで試してる著者もいるw
0576デフォルトの名無しさん
垢版 |
2017/08/22(火) 14:21:03.39ID:IWEK7hu0
>>575
ユークリッドの互除法は4年前から高校の数学Aに記載されるようになった
それ以前では教育課程では学ばない
0577デフォルトの名無しさん
垢版 |
2017/08/22(火) 16:24:42.17ID:ZXHHpxC4
>>574
使うこともあるよ。使った方が簡単になる場合。

こないだやったのは(Kotlinではないが)XMLの階層構造をRDBの表に入れるとかそこから戻すとかの処理。
XMLって入れ子になってるから再帰で書いた方が楽だ。というか再帰使わないと複雑怪奇なプログラムになるんじゃないか?
0578デフォルトの名無しさん
垢版 |
2017/08/24(木) 02:30:54.84ID:YbxxOGZ9
互除法は繰り返しでもわりと自然にコーディングできるが、XMLとかの木構造の処理は再帰が自然だよね。
0579デフォルトの名無しさん
垢版 |
2017/08/31(木) 23:08:32.05ID:67nUNCV4
operator キーワードの意味が良く分からないんですがこれって何のために必要なんでしょうか
0580デフォルトの名無しさん
垢版 |
2017/08/31(木) 23:18:11.21ID:pWykFKbQ
>>579
operatorが書かれてない場合はそういう名前の普通のメソッド定義だとみなされる
operatorが書かれてる場合はそれに対応する記号の演算子のメソッド定義だとみなされる
0581デフォルトの名無しさん
垢版 |
2017/09/01(金) 15:48:55.97ID:yBuOlbxF
ギアパワーの組み合わせで性能が見れるアプリを作ってみようかと思うんだが、
どういう機能があったら嬉しいかね
単に57表記が見れるだけじゃ意味ないよねえ
0582デフォルトの名無しさん
垢版 |
2017/09/01(金) 16:36:37.15ID:xNWoFI1L
それはプログラミング言語の手法の話ではないと思うよ
そのアプリを使うであろう人たちに直接聞いてみてはいかがかな
0584デフォルトの名無しさん
垢版 |
2017/09/07(木) 03:43:26.98ID:Ua+ABG0j
ミスった

引数がIntのメソッドにByteとかShortとかつっこみたいときの賢い方法ってない?
いちいち.toInt()付けるのアホらしくて
…いっそのこと全部Intにしてしまうか
0587デフォルトの名無しさん
垢版 |
2017/09/07(木) 18:23:41.25ID:dmOyOqaZ
「引数をとりあえずIntにして当該メソッドを呼ぶ」というメソッドを作ってそっちを使うようにする
具体的にどういうことをしたいときなのか言うと案外別アプローチあるやもしれず
0588デフォルトの名無しさん
垢版 |
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)
}
0589デフォルトの名無しさん
垢版 |
2017/09/07(木) 21:28:09.40ID:wVi6dnoF
>>586は何気にbytecodeにコンパイルすると最速処理に最適化されるのではと悩む
val b:Byteはクラス型じゃなくプリミティブ型intに置換されて、+0は無意味な処理として削除される的なね

toIntoをメソッドとしてコールするようなオーバーヘッドは無いに越したことはないよねー
0590デフォルトの名無しさん
垢版 |
2017/09/07(木) 21:37:35.68ID:10GmZssK
class MainActivity : AppCompatActivity() {
  fun func(value: Int) : String {
  }
}

: の前って空白をいれるべきなんでしょうか
入れないでおくべきなんでしょうか
クラスの継承の時だけ入れるべきなんでしょうか
0592デフォルトの名無しさん
垢版 |
2017/09/08(金) 10:15:45.38ID:IL9yY2pX
関数定義の時はコロン前の空白無しって感じか
■ このスレッドは過去ログ倉庫に格納されています

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