Kotlin [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
JetBrainsが開発した期待の新言語Kotlinについて語りましょう https://kotlinlang.org >>488 ライブラリ系の学習って遅延学習じゃ駄目なの? その手の奴はだいたいLisp由来とか言っとけば当たる >>487 主要言語の「Effective 何々」という本を読めば、わかるけど、 すべての言語でほぼ同じ 本では、equals, hashCode, toString の三種の神器を、 最初にオーバーライドしましょうって書いてあるけど、 Kotlin では、データクラスと言って、最初から用意されている またお前か ミュータブルなクラスでequalsやhashCodeをオーバーライドするのは多くの場合不適切 Haskell大人気だな。 ただのflattenとmapで、ほんとにlispの頃からある。 型システムと共にMonadやFunctorとして整理された経緯を知らないと そう思うのも無理は無い Lispやさらに前段の数学も由来として合ってはいるが 関数単体で導入されたわけでなく包括的な概念で導入されている 包括的な概念で導入された、って、関数型言語なら当たり前の概念を集めて来たって話で、 Haskellで知った、って話をドヤ顔されても、って話なんじゃないの? Javaは(意外と)シンブルな言語なんだから、3言語ぐらい精通してる人ならばkotlinなんて難しくないよ。 Javaをマスターしてないとって思う人もいるみたいだけど、Javaの持ってる要素なんて、プログラミングの様々な要素からしたらそんなに多くないから大丈夫だよ >>501 良かった。 typeScriptとswift2とobjcとgo が使えてる俺はなんの問題もなく使いこなせるって事だね? >>500 >概念を集めて来たって話 是非ともMonadやFunctorとして整理された経緯を調べてみてくれな elixirのパターンマッチに感動したんだけど、バイナリ列にパターンマッチングできるんでバイナリデコーダが簡単にできそうなんですが kotlinもそういうことできます? >>504 知ってるよ。そもそも物理屋、工学屋は圏論自体から入っとる。 >>481 だけがわりと正確な物言いしてるが「解説の大部分がJavaプログラムに依存してる」ことが学習上の問題 自然言語でほとんど書いてないからJavaの動作を斟酌して理解しないといけないのだ 時間と人手が解決する問題ではあるが、今から学びたい人にはあんまり嬉しくなかろうな 理解に必要なのはJavaの文法そのものではなくJavaの個々の動作と実装のされ方なのでJava使ったことない人はしばらく戻ってこれないぞ ただ、遠回りだけど近道なので頑張ってくれ kotlinってアンチパターンすぎる。 純粋な実装を隠蔽するんだから。 >>505 Byte Stream に変換して、その中から探せば? kotlinやってみたくなったけど 入門者向けの情報がjava前提の物ばかりなので javaやり始めました で、思ったんだけど javaって言語仕様以外の部分で覚えなきゃならない事多すぎ kotlin入門者向けのライトなjava入門の情報が欲しい今日この頃 何はともあれHello worldよ 色々丸コピでもいいから手持ちのAndroid端末上に画面を出す そこで登場したよく分からないものを全てググって その後はやりたいことをベースに調べていけばいい 本読むのはその後でも JavaとKotlinなんて文法以外にさほど違いがないから、覚えることが多いことに変わりない罠 覚えるって発想がよくわからない 調べたらいいと思う >>510 案外bytecodeはjavacより賢いと思う。 kotlin nativeにも期待たし、隠蔽ってのはそこまで深く考えんで良いのでは? あんまり隠蔽と言い出すと、アセンブラ書くしか無くなる。 じゃあそう読めばいいんじゃない? 伝わらないと思うけど (´・ω・`)いまね、wiki見たらことりんってかいてたー さっきTwitterみてたらコーリンってよむってウソ情報ながれてたのー すいません ここやTwitterのような有象無象発信の情報は一度調べることをオススメする 1次情報や文責のある情報なら話は別だけどね この言語でiosアプリも開発できるの? ならSwiftもJavaもいらなくね? >>475 に書いてある 定番もクソも、Kotlin の本は、ユーザーグループ代表の本だけ kotlin自体はそんなに変な仕様じゃないから androidとの組み合わせで変わるとこが知りたい。 基本的にはimportはjavaの時と同じなの? andrid全般の学習をする時にjavaで書かれたコードが単純にkotlinのコードに変換すれば動くってことでいいのかな。 その認識だと先にKotlinを数日みっちり勉強したほうが早く理解できる気がするぞ >>528 どうなんだろね。単純にjavaのコードの部分を変換してみて なんで動かないのか検証したほうが早い気もする(遅延学習) androidのチュートリアル自体はjavaで書かれてるものが大半だし。 Swift, Clang/LLVMの発明者のラットナー がKotlinの開発に参加するってマジ? IntellijにKotlinのREPL付いていて便利だろうと思ったけど REPLは入力途中でけっこう固まってしまう。 あとprintlinが改行しなかったり、まだ不安定なのかな。 >>530 GoogleでAI関連の部署に入ったみたいだぞ? >>533 マジかー、まぁ、Googleに入ったならSwiftよりはKotlinよりか Alloに関わるなら無いこともない? Kotlinに関わるならJetBrainsに行くやろ あるいはGoogleのなかでも特にBrainsチームに入る意味がない 本人がAIやるって言ってんだからそれ以上でもそれ以下でもない SwiftとKotlin/Nativeはコンセプトや立ち位置が同じだからワンチャンあるで GoMobileもAndroid Studio C/C++ NDK Pluginも死に体だから、Android + Kotlin/Nativeに期待したいね これかな Apple「Swift」のクリス・ラトナー氏、Teslaを経てGoogle Brain入り ttp://www.itmedia.co.jp/enterprise/articles/1708/15/news043.html 騒ぐことか? たかがswift()の開発者なんだろ? Swiftの開発者だけど、Kotlin/Nativeで使うLLVMの開発者でもあるんだよなぁ Googleへの転職も短期らしいしApple(Swift)からJetBrains(Kotlin)にすぐに転職したら 倫理的にAppleからクレームが来るのは当然だしお茶濁しかもね KotlinにLLVMのノウハウ投入してくれることを期待しようじゃないの googleって20%ルールってまだあるんでしょ? その20%の中でkotlinに手を出すのは自由なんじゃないの。 ただ、swiftの言語仕様の変遷を見るにkotlinの言語仕様に口出したら とんでもないことになりそう C#から来たけど、C#ではヌル安全もコンストラクタとメンバ定義が一体になってるやつも一向に入らないからKotlinの方がいいと思うようになったね IDEが少しモッサリしてるのとコンパイルが遅いのが難点だけどね SwiftはGCがないから論外じゃない? >>547 GCないから論外ってそれRustに向かって言えるの? Kotlin/Native PreviewはGCじゃなくARCなんだけど? そして、GCがベストというわけじゃないし今後はどうするかは知らんとも言ってる >>548 Rustはスゴイよな 使いこなせればあれが理想なんだろうな rustはどうなんだろうね。 いずれ学習したい言語ではあるけど、今のところ活躍場所がないからなぁ。 Kotlin勉強してるけどベターJavaとしてのScalaは相当辛いなあ。 Scalaは何目指せばいいんだろ Scalaって当時のサーバサイドJava(J2EE)の代替として出たものでしょ サーバ上で動かすJavaVMに既存資産(ソフト&人員)の再利用以外の価値を見出せるなら使えるんじゃないの Java EE が、大げさすぎるから、 2001年、Struts 2004年、Ruby の、Rails 2006年、Groovy の、Grails 2006年、Scala の、Play 今は、Kotlin が出たけど、型を書くのが面倒くさいから、 型を書かない、Ruby, Groovy は残るだろう >>555 javaばっか触ってる人は型がない方が素敵って思ってるのかね。 俺はTypescriptでかなり幸せだけど。確かにjsよりタイプ量が増えるけど それ以上に安心感がパない 型があろうがなかろうがどうせバグはテストで潰すからな js界隈にはテスト文化がないのか 直受けの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万台にならなくて済む >>555 Railsより長く使われてるTomcat(Servlet)とPHPを忘れてんよ どっちもRailsに淘汰されるかと思ったらなんだかんだで未だに生き残ってやがるから困る テスト云々より動的型付け(TypeScript含む)は実行時速度がなぁ 動的型付け+型チェックは苦肉の策で、静的型付け+型推論が今の流行りよな よってKotlinは素晴らしい ひところJIETがネガキャンされてて最近は逆に急にこのありさま どこに首根っこつかまれたんだ 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') なんか設定間違ってるのだろうか… ぬーん原因らしきものわかった 「Javaをktファイルに変換する(Ctrl+Shift+Alt+k)」は/app/src/main/javaを選択した状態でやったほうがいいらしい 下手に/appとかプロジェクトルート選択した状態で変換すると余計なのまでkt化されてIDEサポート動作に支障が出るようだ こんなミスする人そんなにいないと思うけど数文字打つたびIDEエラー出まくるという人は気をつけてみてくれ そうでもなかった IlligalStateExcptionは別枠らしい Failed to create expression from text: '<ERROR FUNCTION>' ターミナルから起動すると標準エラー出力にスタックトレースが出ることがわかったのだが追跡めんどいな 前のと違ってこのエラー出ても補完とかは動くからもう無視したいした ちょっと関係ない話だがKotlinの入門書の最初に説明用のサンプルとして出てきた最大公約数を求める関数のアルゴリズムに驚いた ユークリッドの互除法なんてものがあることを今まで知らなかった 証明見てもまだよくわからん よくこんなことに気付いたな 紀元前300年の数学者すげー ユークリッドの互除法って有名で プログラミングの題材としてもよく出てくるけど 紀元前に生まれてたら自力で思いつかないとは思う 有名だったのか。確かに再帰処理の題材としては丁度いいねこれ。 Kotlinなんて最新言語じゃなくて 何十年も前のBASICやCの頃から 互除法の例題はあったよ 正直あれは脚注でもなんでもいいから一言解説がついててもいいと思う どこかで一度でもやったことさえあれば一発で見当がつくが そうでなきゃ何がなんだかさっぱりわからんはずだ 別にユークリッドの互除法を教えるのが目的じゃないからなあ Nクイーンとかもそうだけど 使い回されてるアルゴリズムを載せるのって 他言語でもう読み書きしたことがある人が 「この言語だとどう書くの?」ってのを 確認するためにあるようなものだからね 「※ユークリッドの互除法」と一言書いてあるだけで100人単位で手間が救われたはずではある もともとページ数ギリギリな書籍だから難しいのかもしれんが ま、しかし、少なくとも計算に関しては数学知ってるか否かでかなりプログラムが変わって物凄く効率化できる可能性あるな。 ユークリッドの互除法は、中学生レベルだろ。 知らなかったら、最大公約数を求められない プログラムの本で、素数を求めるのに、√N まで、求めれば良いのに、 それを知らない著者もいる N = 1,000 なら、32 まで試せば良いのに、1,000 まで試してる著者もいるw >>575 ユークリッドの互除法は4年前から高校の数学Aに記載されるようになった それ以前では教育課程では学ばない >>574 使うこともあるよ。使った方が簡単になる場合。 こないだやったのは(Kotlinではないが)XMLの階層構造をRDBの表に入れるとかそこから戻すとかの処理。 XMLって入れ子になってるから再帰で書いた方が楽だ。というか再帰使わないと複雑怪奇なプログラムになるんじゃないか? 互除法は繰り返しでもわりと自然にコーディングできるが、XMLとかの木構造の処理は再帰が自然だよね。 operator キーワードの意味が良く分からないんですがこれって何のために必要なんでしょうか >>579 operatorが書かれてない場合はそういう名前の普通のメソッド定義だとみなされる operatorが書かれてる場合はそれに対応する記号の演算子のメソッド定義だとみなされる ギアパワーの組み合わせで性能が見れるアプリを作ってみようかと思うんだが、 どういう機能があったら嬉しいかね 単に57表記が見れるだけじゃ意味ないよねえ それはプログラミング言語の手法の話ではないと思うよ そのアプリを使うであろう人たちに直接聞いてみてはいかがかな ミスった 引数がIntのメソッドにByteとかShortとかつっこみたいときの賢い方法ってない? いちいち.toInt()付けるのアホらしくて …いっそのこと全部Intにしてしまうか 「引数をとりあえずIntにして当該メソッドを呼ぶ」というメソッドを作ってそっちを使うようにする 具体的にどういうことをしたいときなのか言うと案外別アプローチあるやもしれず 拡張プロパティで短縮 val Byte.i:Int get() = toInt() fun f(b:Int) { println(b) } fun test() { val b:Byte = 100 f(b.i) } >>586 は何気にbytecodeにコンパイルすると最速処理に最適化されるのではと悩む val b:Byteはクラス型じゃなくプリミティブ型intに置換されて、+0は無意味な処理として削除される的なね toIntoをメソッドとしてコールするようなオーバーヘッドは無いに越したことはないよねー ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる