Kotlin 4
■ このスレッドは過去ログ倉庫に格納されています
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
https://kotlinlang.org
※前スレ
http://mevius.5ch.net/test/read.cgi/tech/1521401186/ さあ。
自分は、プロジェクト開いていないときでもREPLを使えるようにstandalone版も入れているけど。
GradleだけでREPLを「簡単に」使える方法あるのかな(イメージ的には、npm install -g)? >>750
使わないんじゃなくて、スキルがなくて使えないんだろ 確かにないよw
でも、たかがREPL動かすためにGradleで苦労する必要もない。
システムにインストール(ダウンロードしてPATH通すだけ)すれば済む話だし。
Gradleはwrapperオンリーで、プロジェクト専用でしか使わない、と自分は決めてる。 だから、Ruby をやっておけって言ってる
Ruby == Groovy
Rails == Grails
Ruby, Groovy に型推論を付けたら、Kotlin, Haxe になる。
基本は、クロージャ Gradle, Ruby のBundler, npm は、ほぼ同じ なんかめんどくさい奴だなほんと
トラブル起きた時にこのスレでクレクレするだけで自分で何もせず回答待ち、おまけにスキルがないのを開き直りかい
ついでに関係ないRuby基地外までやって来てカオスw >>757
複数の人を十把一絡げにして一人だと考えてないか?
なお、最初にWindowsのx64版がおかしいと書いたのは俺だ。 rubyはム版に生息してるいつものrubyガイジだろ あいつ他のスレでも見かけるけど、板中のスレ全部巡回してるのかな Kotlinではあまりやらないけど、LLだとたまに使う
巨大XMLの一部構造を解析する必要があるときなんかに、
「この要素でこの子要素持ってないやついる?」
「この要素の子要素でこの属性持ってないヤツいる?」
「この要素のこの属性が取りうる値一覧くれ」
みたいなのを逐一繰り返し聞く必要がある場合なんかにはREPLの方が楽 俺もIDEAのEvaluate Expression使う。完全にREPLの上位互換だと思う。 android studio3.2で、カーソルがある行のみ整形するショートカットを教えてください >>770
Shift+下 の後 Ctrl+Alt+l (エル) >>771
ありがとうございます。
けっこう手順を踏まないとダメなんですね
次に書く行がある場合Ctrl+Shift+Enterで整形できたのですが、
}前など最終行の場合にイライラしてました・・ >>772
Settings の Keymap の Editor Actions の中に、Emacs Tab というのがある
押すと、カーソルがある行だけを、前の行に合わせてインデントしてくれる
たぶんデフォルトだとキーに割り当てられてないので、何か適当なキーに割り当てて使う
じぶんはこれを Ctrl + I と Tab に割り当てて使っている
Tabを直接入力できなくなるけど、特に困ったことは無い 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。 ずっとkotlinばっか書いてると久しぶりにjavaを書いた時に==で文字列比較とかしそうになって危険 そういやnative試しにやってみたらちゃんとコンパイルできて感動した あれってKotlinだけでiOSのGUIまで全部いけるの? 自分で調べたけど行けそうだね、今週末にでもなんか作ってみるか どうせ日本語文字処理とか日本語表示とか日本語フォントとか日本語入力とかで(どう)しようもないバグとかあるんだろ
お前ら使ってわかりやすく報告しろ サーバー側もiOSもAndroidもKotlinのみでできてJVMからも独立して最強じゃん Flutterとkotlin native どっちが将来性あるんだろうか いまモノがあるという時点で後者
まあ仮に3年後に乗り換えだとしても3年は便利に使えるわけだし充分だろう 俺はFlutterの方が将来性あるし、シェアも大きくなると思うけどな。
特にグーグルがまじでAndroidを捨て去るならそうなると思う。
が、Dartとかいう古き悪しきJavascriptみたいなゴミは書きたくないからNativeを書くぞ俺は >>784
当方はプログラミングの勉強を始めたいと考えている初心者です
ド素人の質問ですみませんが、
Kotlin nativeだとJVM(Oracle JDKやOpen JDKを含む)の制約から解放されるのですか?
ライブラリとかまだKotlin独自のものが少ないので、色々難しい課題があるとは思いますが、
とりあえずOracleからの著作権侵害訴訟のリスクに怯えなくてもKotlinで開発出来るように
なるなら、安心して開発に取り組めるようになるのではないかと思いまして
もし見当違いの質問でしたら、申し訳ありません >>783
emojiのおかげでそのへん心配する必要はほぼ無くなったな >>788
代わりに極めて高い確率でKotlin nativeそのものが頓挫しコード資産や経験がパーになるリスクを背負うことになるけど、それでもよければ >>783
あるかなあ?元から国際化考えて作られたものだからnativeになったからといって新たにそれのバグが追加されるとは思えんが。 >>790
私がKotlin native習得に挫折するなら話は分かりますが、Kotlin nativeそのものが頓挫することは
ないんじゃないでしょうか? >>793
普通にあるよ
何を勘違いしてるのか知らないが、たかが小さな会社の俺プラットフォームでプロダクションには現状誰も使ってないんだぞ?
そんなもん毎日のように腐るほど生み出されては消えていっている
逆に成功したら超ラッキー、くらいのレベルだ
Kotlinユーザーってほぼ例外なく他の言語も使えるから、Javaがゴタゴタしてるからって無理にKotlinに固執する理由もない
言っちゃ悪いけど、他に選択肢を持っている人がオモチャとして観察するフェーズであり、キャリアを賭けるようなもんじゃない これから新規でクロスプラットフォームでアプリ作るとしたらflutterとkotlin nativeどっちがいいんすか >>794
なるほど、社内でのKotlin nativeプロジェクトにおける開発という意味で頓挫と仰っておられたのですね
了解しました
Kotlin自体の開発元のJetBrains社によるKotlin native開発の頓挫のことを指してるのかと思ってしまったので。。
確かに現場視点から見ると、著作権云々より色々考慮しなくてはいけないことがあるんでしょうね
私の元々の質問の意図は、Kotlin nativeで作成したネイティブバイナリのコードであれば、Oracleの著作権
侵害とは一切関わりのないコードが生成できるのかと確認することでした
実際の現場での開発運用までいくと、会社による顧客へのサポート対応とか諸々の課題を当然考慮しないと
いけないでしょうが、今回の質問はそこまで踏み込んでおらず、あくまでOracleの著作権の影響範囲とその
回避について、Kotlin nativeの開発は有用か尋ねたつもりでした
多分私を学生だと思われて、現場の泥臭いことを教えていただいたのですね
勘違いさせてすみません
50近いオッサンが、趣味と好奇心の延長で質問したことですので >>797
そうじゃなくてJetBrainsによるKotlin native開発が頓挫する話だ
JetBrainsはMSやOracle、Googleといった力押しで言語を普及させることのできるような企業と比較すれば遥かに「小さな会社」だよ
趣味なら好きにすればいいし、頓挫しても経験は決してゼロにはならないけど、
Javaロックインよりも遥かに大きなリスクを抱えることになるというのは理解しておきなさい >>794に禿げ上がるほど同意しすぎて禿げたわ
まだまだおもちゃとしか言えないレベルだよな。
とは言え一年前に比べたらだいぶ進化してるから、一年後にどうなってるかはわからない。 >>798
なるほど、まだKotlin nativeは使い物になるレベルに達していない代物なのですね
色々ご教授いただき、ありがとうございました。
正直、従来のKotlinとKotlin nativeとの言語としての完成度の差を知らなかったので、
大変勉強になりました
今は、(Kotlin nativeではなく)ノーマル(従来)のKotlinを触って勉強したいと思います 現状大差ない
どちらもプロダクトに投入してる例はあるけどまだまだこれから React Native + Kotlin/JS + Objective-C でアプリ書いてるけど
React Native + Kotlin/Common + Kotlin/Native (RCT_EXPORT_MODULEだけObjC) を考えてる >>804
Kotlin使ってるならObjCじゃなくSwift使えよ
構文とか似てるし >>804
なんでそんな目に見える苦行の道を選んだのかw >>806
以前別アプリで使ってたけど型推論あるとビルドクッソ遅いの直ったの? ちょっとでも欠点を見つけるとそれを理由にして新しいものを拒否するやつってどこの世界にも必ずいるよな それ以上に、古いものの欠点を過剰に騒ぎ立てて新しいものをゴリ押ししようとする奴のほうが多い気がする あと個人的な経験でいうと、新しいものの欠点はむしろ検討段階で見落とされて後で問題になることが非常に多い
新規導入におけるビジネス判断って、フィーチャーだけに目が行って非機能仕様や細かい制約はあまり考慮されないもんだ 今ある問題に目を瞑って現状維持に固執するやつは多い
新しいものを見ると特に検証もせず推し進めるやつもいる 新しいものを受け入れられなくなった時が老化の始まりだと思っている 人は歩みを止めた時に、そして挑戦を諦めた時に年老いてゆくのだと思います。
このソフトを使えばどうなるものか。 危ぶむなかれ、危ぶめば道はなし。
踏み出せばその一足が道となり、その一足が道となる。
迷わず使えよ、使えばわかるさ ありがとう! 都合よく自分の使いたいものを想定して一般論を語るのはいけない
こんな糞パッケージや糞製品導入した奴は子ねって思ったこと、ITエンジニアならあるだろ? 自社が製品として販売しているオリジナルフレームワークを自社サービスで使っているせいで仕事を辞めたことはある。
本当に、本当にゴミフレームワークだった。 >>814
その新しいものとやらが実際には価値のないものだったら動かない方が勝りますね 重要なのは新しいか古いかではなく、自分の望みを叶える事に使える道具かどうかだ。 >>819
叶えるのに最適かどうか、と言わないとC言語でなんでもできるおじさんがやって来るぞ。 >>820
そういやそうだな。
C、そしてアセンブラ最強になってしまう。 Kotlin の Char には isAlphabetic() がないのな。
しょうがないからプログラムの上の方にこんなの作って使っている。
fun Char.isAlphabetic() = Character.isAlphabetic(toInt())
こういうのってこうやって簡単に作れちゃうから最初から標準のライブラリに入れてないんだろうか?
しかし最初からあってくれた方が楽と言えば楽だなあ。 直接JavaのAPIを呼ぶべきだからだよ
そんな基準でKotlin版作ってたらキリがない
そもそもCharacterのメソッドってプログラマの使いやすさよりもUnicodeの仕様を正しく反映することを意図して作られていて、
そんなに頻繁に使うようなものではないだろ
知ってると思うけどisAlphabeticって平仮名とか含むんだぞ? おっUnicodeのクソさならおじさん語っちゃうぞ クロスプラットフォーム狙うなら用意しなきゃ駄目だな >>825
じゃJstarの開発マニュアルから初めてくれ
全て聞き流してあげよう >>824
Charでやっといてくれればnativeでコンパイルする時にもそのままにできるという利点がある。 なんでByte型に符号が必要なんだろ。
扱いづらすぎ
c#のbyte型にしてたもんせ そして符号付きbitシフトとかどこで使うのか、今でも意味不明
Javaの負の遺産を引きずってるなー Kotlinがそれなりに流行ったのはJavaの呪いを受け入れたからに他ならない
その代償がその程度であれば小さいもんだろう javaつうか元々cの右シフトの挙動が定義されてなかったから、それを引きずってるだけ まあそこらへんは存在したとしてもどうせ使うことはないだろうから別にいいよ >>830
シフトに関しては符号付き、符号無しの区別は重要だと思いますよ ビットシフトはビットシフトで考えたほうが早いオールドタイプを宥めるために存在する
彼らの言う「ビットシフトでやったほうが速い処理」が必要な、いつか来る未来というのは結局来ずに終わる可能性のほうが高い
残りの折り返し見えた人生、来るほうにかけて生きてもいいけどさ >>837
冪剰余のバイナリ法をみても、ビットシフトは重要だと思いますよ… 符号無しシフトは非常に稀には使うけど 符号付きシフトは使った記憶がない
とはいえKotlinでは記号じゃないから負の遺産とは思わないな
C++みたいに右シフトがtemplate構文の邪魔するとかなったら呪縛もいいとこだけど ビットシフトを使うほどカリッカリにパフォーマンスに拘る時にkotlin、というかjvm言語を使うかって話よね。
必要な場面があるのは分かるけど、今時のサーバーで普通のシステムを動かす前提なら普通はまず求められないし、可読性を犠牲にしてまで使うべきだとは思わない。 主に移植性や相互運用性のために残ってるだけで批判の対象になるようなケースはほとんど実在しないと思うけどな >>839
>右シフトがtemplate構文の邪魔するとか
C++11 lator でこの制限はなくなりました 使うシチュエーションは確かにあるけどものすごく稀だな
あれば2年に1回くらいは使うかもしれないけどなかったらなかったで別に困らない ビットシフトな。実務で使うことはまあないな。
何かの解析とか組み込み系なら多用するだろうけど、そんなところではそもそもこちょりん使わないだろう。 ビットシフトは画像処理やBluetoothで使いまくるぞ だからそういうのを自前で実装するケースってそうそうないやろ、って話でしょ 元々ビット単位で詰め込んであるようなデータの解析には使った方が見易くなるかも知れない。ネットワークのパケットとか、その他色々あるよね。
もちろん割り算や余り計算すれば特定のビット抜き出す事はできるし、恐らく最適化されると最終的なコードは同じになるだろうけどね。
なのでどう書くと見易くなるかの問題だな。16で割って8の余り出すように書くか 4 ビット右シフトして 7 を and するように書くか。
だいたいは後者の方が見易く分かりやすいかも知れないが、場合によっては前者の方が良いかも知れない。 ビット操作するなら素直にビット操作演算子つかえばいいんじゃね
ことりんはわり算した時のビット内容に規定があるのかわからんし なんだ、低レベルな処理をkotlinで書きたい人って結構いるもんなのか。
そういうのはCか最近ならGoあたりを使うと思ってた。 最初は普通にkotlinで書いて、ボトルネックになるようならネイティブに逃がすでしょ。画像処理とか明らかにヘビーなことやるなら最初からネイティブで書くけど。
ところでkotlinネイティブで、本体の部分はJVMとかでkotlinで書いて、ヘビーな部分はkotlinネイティブで書いて利用するとか芸当簡単にできるようになるのか? ■ このスレッドは過去ログ倉庫に格納されています