Kotlin 4 at TECH
[2ch|▼Menu]
[前50を表示]
850:デフォルトの名無しさん
18/10/28 17:53:59.71 kYm0OnSb.net
>>825
じゃJstarの開発マニュアルから初めてくれ
全て聞き流してあげよう

851:デフォルトの名無しさん
18/10/28 19:45:18.26 HCT7bRsv.net
>>824
Charでやっといてくれればnativeでコンパイルする時にもそのままにできるという利点がある。

852:デフォルトの名無しさん
18/10/28 20:35:21.54 rIZW9HtV.net
なんでByte型に符号が必要なんだろ。
扱いづらすぎ
c#のbyte型にしてたもんせ

853:デフォルトの名無しさん
18/10/29 10:36:46.12 kmR/sVLv.net
そして符号付きbitシフトとかどこで使うのか、今でも意味不明
Javaの負の遺産を引きずってるなー

854:デフォルトの名無しさん
18/10/29 10:45:27.47 f3zS/Ojj.net
Kotlinがそれなりに流行ったのはJavaの呪いを受け入れたからに他ならない
その代償がその程度であれば小さいもんだろう

855:デフォルトの名無しさん
18/10/29 11:08:01.70 6BFpO29N.net
そういや符号付きシフトライト使わんな

856:デフォルトの名無しさん
18/10/29 11:25:07.20 cH/HmFkL.net
javaつうか元々cの右シフトの挙動が定義されてなかったから、それを引きずってるだけ

857:デフォルトの名無しさん
18/10/29 13:20:28.49 pPcgFW80.net
まあそこらへんは存在したとしてもどうせ使うことはないだろうから別にいいよ

858:
18/10/29 20:41:03.84 MQrExvvX.net
>>830
シフトに関しては符号付き、符号無しの区別は重要だと思いますよ

859:デフォルトの名無しさん
18/10/29 20:46:14.26 cH/HmFkL.net
算術シフトなんて今時使わんのう

860:デフォルトの名無しさん
18/10/29 20:54:00.50 dR2v0XVE.net
ビットシフトはビットシフトで考えたほうが早いオールドタイプを宥めるために存在する
彼らの言う「ビットシフトでやったほうが速い処理」が必要な、いつか来る未来というのは結局来ずに終わる可能性のほうが高い
残りの折り返し見えた人生、来るほうにかけて生きてもいいけどさ

861:
18/10/29 21:01:19.06 MQrExvvX.net
>>837
冪剰余のバイナリ法をみても、ビットシフトは重要だと思いますよ…

862:デフォルトの名無しさん
18/10/29 21:12:23.49 /nQ888E/.net
符号無しシフトは非常に稀には使うけど 符号付きシフトは使った記憶がない
とはいえKotlinでは記号じゃないから負の遺産とは思わないな
C++みたいに右シフトがtemplate構文の邪魔するとかなったら呪縛もいいとこだけど

863:デフォルトの名無しさん
18/10/29 21:19:40.25 a61r9koc.net
ビットシフトを使うほどカリッカリにパフォーマンスに拘る時にkotlin、というかjvm言語を使うかって話よね。
必要な場面があるのは分かるけど、今時のサーバーで普通のシステムを動かす前提なら普通はまず求められないし、可読性を犠牲にしてまで使うべきだとは思わない。

864:デフォルトの名無しさん
18/10/29 22:03:26.21 WjcZBaAC.net
主に移植性や相互運用性のために残ってるだけで批判の対象になるようなケースはほとんど実在しないと思うけどな

865:
18/10/29 22:40:20.39 MQrExvvX.net
>>839
>右シフトがtemplate構文の邪魔するとか
C++11 lator でこの制限はなくなりました

866:デフォルトの名無しさん
18/10/29 23:00:18.21 pPcgFW80.net
使うシチュエーションは確かにあるけどものすごく稀だな
あれば2年に1回くらいは使うかもしれないけどなかったらなかったで別に困らない

867:デフォルトの名無しさん
18/10/30 13:02:10.09 yLOLSFfe.net
ビットシフトな。実務で使うことはまあないな。
何かの解析とか組み込み系なら多用するだろうけど、そんなところではそもそもこちょりん使わないだろう。

868:デフォルトの名無しさん
18/10/30 13:25:58.04 uh+5PDyF.net
ビットシフトは画像処理やBluetoothで使いまくるぞ

869:デフォルトの名無しさん
18/10/30 13:57:51.39 yLOLSFfe.net
だからそういうのを自前で実装するケースってそうそうないやろ、って話でしょ

870:デフォルトの名無しさん
18/10/30 14:20:24.64 XfhSBW4w.net
元々ビット単位で詰め込んであるようなデータの解析には使った方が見易くなるかも知れない。ネットワークのパケットとか、その他色々あるよね。
もちろん割り算や余り計算すれば特定のビット抜き出す事はできるし、


871:恐らく最適化されると最終的なコードは同じになるだろうけどね。 なのでどう書くと見易くなるかの問題だな。16で割って8の余り出すように書くか 4 ビット右シフトして 7 を and するように書くか。 だいたいは後者の方が見易く分かりやすいかも知れないが、場合によっては前者の方が良いかも知れない。



872:デフォルトの名無しさん
18/10/30 14:46:02.26 bp+Jjz8r.net
ビット操作するなら素直にビット操作演算子つかえばいいんじゃね
ことりんはわり算した時のビット内容に規定があるのかわからんし

873:デフォルトの名無しさん
18/10/30 17:13:35.01 yLOLSFfe.net
なんだ、低レベルな処理をkotlinで書きたい人って結構いるもんなのか。
そういうのはCか最近ならGoあたりを使うと思ってた。

874:デフォルトの名無しさん
18/10/30 17:37:55.08 9UQqj8fB.net
最初は普通にkotlinで書いて、ボトルネックになるようならネイティブに逃がすでしょ。画像処理とか明らかにヘビーなことやるなら最初からネイティブで書くけど。
ところでkotlinネイティブで、本体の部分はJVMとかでkotlinで書いて、ヘビーな部分はkotlinネイティブで書いて利用するとか芸当簡単にできるようになるのか?

875:デフォルトの名無しさん
18/10/30 17:40:45.12 9UQqj8fB.net
例えばandroid画像処理アプリ本体はdalvikのkotlinで動かして、画像処理本体はkotlinで書くけどネイティブでとか。

876:デフォルトの名無しさん
18/10/30 18:47:41.21 gLBwTwyT.net
論理的にはできるはずだから、パフォーマンス比較してみたいなそれは

877:デフォルトの名無しさん
18/10/31 00:32:35.54 vLSvux0L.net
透過的にできるようになるといいな。例えばメソッドに native 付けておけばそのメソッドは自動でネイティブにコンパイルされるとか。

878:デフォルトの名無しさん
18/10/31 00:37:12.39 l6hBIWd4.net
Androidならともかく、PCの方の非海賊版JVMのパフォーマンスをnativeが超えるのは相当難しそう

879:デフォルトの名無しさん
18/10/31 06:48:37.29 98pSB8cX.net
そこはnativeってかLLVMの範疇の話だべ

880:デフォルトの名無しさん
18/10/31 10:40:22.28 dR1y5/6Z.net
Kotlin1.3の新機能
URLリンク(aakira.app)
いろいろ面白い

881:デフォルトの名無しさん
18/10/31 11:08:01.55 3SYFbLW8.net
>>855
LLVMのコードってほとんどただの抽象化された機械語だから、
Kotlinを動かすならこれまでJVMに依存してたランタイムの機能を独自に相当作り込まなきゃいけないよ

882:デフォルトの名無しさん
18/10/31 13:31:42.08 Qq+hlwEM.net
1.3はcontractが地味に嬉しい

883:デフォルトの名無しさん
18/11/01 21:27:46.03 1iukrLVD.net
10月初めのと基本同じ情報だけど日本語で来てるから貼っとく
Kotlin 1.3リリース ? コルーチン、Kotlin/Nativeベータ
URLリンク(blog.jetbrains.com)

884:デフォルトの名無しさん
18/11/01 23:50:12.25 qS+FGnrA.net
これだけの大幅機能追加なら、そろそろJavaみたいにKotlin3とかに名前変更してもいいと思うけどな

885:デフォルトの名無しさん
18/11/02 06:54:17.88 vPK+PbBn.net
Goとかrustみたいに、システムプログラミング向けとしてもkotlin /native は使われる将来性はある?

886:デフォルトの名無しさん
18/11/02 07:04:17.48 sk3a5Htb.net
>>861
プリミティブのintと参照のIntを明示的に区別する仕様ではないから向いていないのではと思う。

887:デフォルトの名無しさん
18/11/02 07:05:33.59 jzdzUnCl.net
>>861
低いレイヤーを直接触るようなことはやりにくいから、あえて使う理由もないと思う
出来ないことはないだろうけど

888:デフォルトの名無しさん
18/11/02 07:23:29.85 7Yuyvv3H.net
参照型にnullを許さないってのも、微妙だな
書いてて疲れる。
hoge?.fuga
とか
hoge!!
とか返って可読性が落ちてる希ガス

889:デフォルトの名無しさん
18/11/02 07:41:58.45 99M9u1qg.net
>>864
そうだよ
面倒だから使いたくないでしょ
使わないように


890:オたいんだよ だからそうなっている



891:デフォルトの名無しさん
18/11/04 10:09:12.87 hIyIwIUL.net
情報少ないけどKotlin/NativeはGCでなくARCってことでいいのかな
参考
URLリンク(blog.jetbrains.com)
URLリンク(github.com)
URLリンク(github.com)
>>861
GoはGCによる停止時間を極小化するために学術レベルのことやってる
 (全体の処理効率が多少下がってもリアルタイム性優先)
RustはGCでない
Kotlin/NativeがARCならシステムプログラミング用途でも支障無いと思う

892:デフォルトの名無しさん
18/11/04 12:16:15.86 3vbFFfcV.net
arcだとすると既存プログラムはコードを書き換えないといけない場合があると思うけど、それを承知で採用してるの?

893:デフォルトの名無しさん
18/11/04 12:25:22.13 kw3WZhj1.net
やってみたかっただけでしょ
所詮オモチャなんだから

894:デフォルトの名無しさん
18/11/04 12:38:32.84 hIyIwIUL.net
ARC with cyclic collector というのをちらほら見る
弱参照を使わなくても既存コードのままで問題無いようだ
ただこれがGCのような停止時間を発生させるかなどはよく分からなかった

895:デフォルトの名無しさん
18/11/04 13:09:57.98 4F1Ldwnu.net
おもちゃなのか

896:デフォルトの名無しさん
18/11/04 13:11:27.17 Ujv6OCQm.net
諸々の問題の解決を試みているうちに、気がついたら出来上がったものはGCそのものだったというオチになりそう
既存の枯れた技術を舐めてかかって自分で実装してみてはじめてそれが十分に優れていたことに気付く
技術の過度な抽象化による間違った万能感に陥りがちなITエンジニアにはよくあること

897:デフォルトの名無しさん
18/11/04 13:21:16.17 yZ41sxSU.net
オリジナル言語を頑張って作ったが結局動作的にLispになったみたいな話だな

898:デフォルトの名無しさん
18/11/04 14:17:20.37 gWJ/1CAI.net
そのまんまでしょ。弱参照ないARCで管理するが、循環参照用に定期的にGCは走らせる。

899:デフォルトの名無しさん
18/11/04 14:21:36.32 gWJ/1CAI.net
だから循環参照するクラス大量だとフルGC走らせるのと同じことになるが、大抵のプログラムでは循環参照するクラスはそんな大量じゃないので大抵のケースではARC with cyclic collectorの方が速くなるとか

900:デフォルトの名無しさん
18/11/04 14:23:51.54 gWJ/1CAI.net
ところでkotlinにweak reference見たいのあったっけ?

901:デフォルトの名無しさん
18/11/04 14:54:43.50 eEexL0w4.net
>>870
大人の

902:デフォルトの名無しさん
18/11/04 14:58:25.67 hIyIwIUL.net
>>875
nativeでは kotlin.native.ref.WeakReference
jvmでは java.lang.ref.WeakReference が有る
jsには無いからcommonにも無い

903:デフォルトの名無しさん
18/11/04 19:14:10.57 0dNetsrH.net
javaや.netにあるのは知ってるから質問けど
そっか、所詮、最大公約数になるから他の言語に引きずられまくりでjsとかにねぇからkotlinで標準で用意されてねぇのか。

904:デフォルトの名無しさん
18/11/04 20:08:53.22 yQqM28AX.net
いやKotlinに無い理由はJavaにあるからだよ
建前はともかく、実態はAltJavaとしてしか使われてないしJBもそれを前提に開発してるのが実情

905:デフォルトの名無しさん
18/11/04 22:06:08.12 MOVpxqlB.net
現状だとメモリ管理は対応プラットフォームの機能に寄生するみたいな感じになってるのは気になるね
iOS向けだとiOSのARCを利用するし、Cなら手動で開放してる
Kotlin/Native として統一的なメモリ管理機構を作らないと、プラットフォームを超えたコードの共有化とかはかなり限定的なものになりそう
しかし統一的なメモリ管理機構を言語で用意すると、プラットフォーム側で用意してるメモリ管理機構と重複部分ができて無駄だなとも思う
Xamarinとかはそんな感じだし

906:デフォルトの名無しさん
18/11/04 22:31:08.12 hIyIwIUL.net
ARCはOS関係無くね、


907:Swiftと同じく普通にコンパイラとランタイムによる実装でしょ 現時点でcommon書くときメモリに関して支障は感じないけど メモリ管理機構ってJVM上やJS上でどういうのを想定してる?



908:デフォルトの名無しさん
18/11/04 23:19:36.30 MOVpxqlB.net
JS はランタイム側でGCやってくれるし、JVMもGCやってくれるので、
アプリケーション側の kotlin コードでメモリ開放する必要ないし、循環参照とかも意識する必要ないでしょう
Kotlin iOS では、Swift や Obj-C と同じランタイム側にあるARCを使っているのではないのかな?
この場合アプリケーション側の kotlin コードでは、循環参照とかを意識しなくてはいけないのでは?
Cライブラリを使ってLinux上で直接動くような Kotlin Native コードの場合には、
malloc や free に相当するもので手動でメモリ確保開放とかやる必要があったりしますよね?
URLリンク(kotlinlang.org)

909:デフォルトの名無しさん
18/11/05 00:00:51.88 L+6WacOy.net
んなわけあるかい
LLVMで普通に直接動く実行コードを生成してるだけで、iOSのオブジェクトモデルとは別物だ
iOSに循環参照を自動的に見つけて解放してくれるって事実上の独自GCやぞ
そんなもん勝手に組み込めるんならみんなとっくにやっとる

910:デフォルトの名無しさん
18/11/05 00:53:31.72 gUcvv7gK.net
var x = Foo()
Bar(x)
x = Boo()
以上のような Kotlin コードをコンパイルしたときに、Boo()の結果を x に代入するまえに x に入っていた Foo() への参照をどう処理するかってこと
Bar(x)の結果、だれかが x に入っていた Foo オブジェクトへの参照を保持している可能性がある
JVMやJSだと単に x を上書きするコードにコンパイルすればいいよね
iOS向けにコンパイルするときには release(x) みたいなのを含んだ LLVM コードに変換される?
もしくは、Kotlin が独自の ARC みたいなの持っていて、それに応じた処置がおこなわれるの?
Linux 向けの Kotlin / Native でコンパイルはこのままできるのかな?

911:デフォルトの名無しさん
18/11/05 01:36:44.15 2KUKl2mx.net
>>882 >>884
ObjCランタイムは普通にCのABIのライブラリ群だから
純粋なC言語から呼べるしKotlin/Nativeからも呼べる
iOSでもLinuxでもプラットフォームのAPIを使うには
それに沿ったメモリ構造や解放関数の呼び出しなどのリソース管理が必要だけど
外部呼び出しを除いたKotlin/Nativeの部分にmalloc/free/releaseなどは必要無いよ

912:デフォルトの名無しさん
18/11/05 02:10:02.43 gUcvv7gK.net
>>885
そうすると、 Kotlin / Native で普通に確保したオブジェクトの解放はどういう方式で行われているのかな?
リファレンスカウンタ? GCでは無いよね?
リファレンスカウンタだとすれば、Kotlin/JVMでは問題無いオブジェクト同士が参照しあう構造は、避けないとダメだよね

913:デフォルトの名無しさん
18/11/05 06:27:49.62 DuzbnuJe.net
ここで不毛な言い争いするくらいなら実際にコード書いて試せばいいのでは。。

914:デフォルトの名無しさん
18/11/05 07:27:17.05 2KUKl2mx.net
>>886
>>873-874 と
URLリンク(github.com)
> Q: What is Kotlin/Native memory management model?
> A: Kotlin/Native provides an automated memory management scheme, similar to what Java or Swift provides. The current implementation includes an automated reference counter with a cycle collector to collect cyclical garbage.

915:デフォルトの名無しさん
18/11/05 07:52:42.52 gUcvv7gK.net
>>888
ありがとう。参考になった

916:デフォルトの名無しさん
18/11/06 11:37:39.99 13CfGTjW.net
Kotlin 1.3 には Kotlin Native がバンドルされているみたいに書いてあるWebページがあるが、されてないよね?
bin ディレクトリ以下はいつも通りのスクリ


917:プトやバッチファイルがあるだけで kotlin-native はないんだけど。 何かオプションで変わるのか?



918:デフォルトの名無しさん
18/11/06 19:55:52.84 MUP1fE6Q.net
>>890
ということはNativeがバンドルされているみたいに書いてある可能性があるな

919:デフォルトの名無しさん
18/11/06 23:53:17.85 BD76rR44.net
どうやら KotlinConf 2018 の基調講演では1.3 に native バンドルすると発表していたようだ。
URLリンク(www.publickey1.jp)
それでこういう記事になったのかも知れない。
URLリンク(www.publickey1.jp)
で、実際バンドルされているのかいないのか?

920:デフォルトの名無しさん
18/11/07 04:08:57.36 uTkGbVYN.net
古いIntelliJ(1.3) + Kotlin1.3プラグイン: 表示されず
最新IntelliJ(2.5) 素の状態(1.2.51)   : 表示されず
最新IntelliJ(2.5) + Kotlin1.3プラグイン: 新規プロジェクトでKotlin/Nativeが表示された
IntelliJ側も一定以上のバージョンが必要みたい
Gradleプラグインは混ぜる意味無いし、
GitHubのリポジトリ直リリースの方も別のリポジトリと混ぜたりしないだろうから
バンドル云々は関係無いと思う

921:デフォルトの名無しさん
18/11/14 11:15:27.33 m5bayMOd.net
Native使ってみたいけどNativeの恩恵にあずかれそうなアプリねーな

922:デフォルトの名無しさん
18/11/14 12:44:13.09 ouXx+ttu.net
開発環境をインストール出来ない会社のPCで威力を発揮

923:デフォルトの名無しさん
18/11/14 13:13:51.91 bryEJhFF.net
>>895
そらならKotlinだろうがnativeだろうがインストールできないのでは?

924:デフォルトの名無しさん
18/11/14 13:14:35.60 bryEJhFF.net
タイプミスった
スマホのタイプミスは変になるなあ
とほほ

925:
18/11/14 21:03:33.84 1oDeoExT.net
>>897
フリック入力には早く慣れたい、今30文字/分レベル

926:デフォルトの名無しさん
18/11/15 10:16:23.76 9CKUsg3j.net
ATOKのフラワータッチでブラインド余裕だわ

927:デフォルトの名無しさん
18/11/15 19:41:57.59 /p28cUOS.net
AWSのJDKってKotlinでも使えるの?

928:デフォルトの名無しさん
18/11/15 21:01:05.69 GB4CWMFp.net
どうやったらKotlinを使えなくできると思うのか、逆に聞きたい

929:デフォルトの名無しさん
18/11/15 21:59:02.19 Zxq7WOdf.net
kotlinを何だと思ってるんだ?

930:デフォルトの名無しさん
18/11/15 22:05:51.83 7h5p3DlT.net
>>897
そんな些細なミスでいちいち訂正と言い訳しなくていいよ

931:デフォルトの名無しさん
18/11/15 22:34:05.06 cJq6eeYE.net
>>900
Kotlinで書いたコードが動くまでの仕組みの基礎中の基礎を調べた方が良いよ

932:デフォルトの名無しさん
18/11/15 22:41:22.51 LMGGLgEy.net
つまりkotlinは一回javaに変換してからコンパイルしてるってこと?

933:デフォルトの名無しさん
18/11/15 23:18:48.42 TNWk/8K+.net
いいえ
直接Javaクラスファイルが作られます

934:デフォルトの名無しさん
18/11/15 23:34:43.61 thmm/mkW.net
JVMはバイトコードを読むもの
Kotlinソースコードはバイトコードを吐く
Javaソースコードもバイトコードを吐く
他のJVM言語(Groovy、Scala、JRuby、Jython等)もバイトコードを吐く
ドゥユゥアンダースタン?

935:デフォルトの名無しさん
18/11/16 02:51:53.33 RZeahJQu.net
>>905
概念的にはそうなんだけど実際にはそういう人間にとってわかりやすい中間的な状態はすっ飛ばして内部でいきなりバイトコード作っている。

936:デフォルトの名無しさん
18/11/16 06:20:06.46 7Oyx3zj5.net
>>905
Javaで書かれたコードはClassファイルに変換される
Kotlinで書かれたコードもClassファイルに変換される
つまり、OpenJDK (JVM)から見たら、実行する時点でそのコードがもともとJavaで書かれていたのかKotlinで書かれていたのかの区別はできない。

937:デフォルトの名無しさん
18/11/16 07:42:39.93 SxJuNQsd.net
なるほど ありがとうございます
JDKっていうのはコンパイラだけじゃなくて


938:インタプリタも含まれてるのか



939:デフォルトの名無しさん
18/11/16 09:09:35.65 j42pfltv.net


940:デフォルトの名無しさん
18/11/16 12:09:05.80 cFUtGW68.net
そもそもAWSのJDKっても普通のOpenJDKに対して長期的にバグフィックスとセキュリティ修正をするってだけだからな。

941:デフォルトの名無しさん
18/11/16 12:35:30.76 f+AE9bwu.net
>>912
それだけでもありがたい。

942:デフォルトの名無しさん
18/11/16 12:51:50.09 InCl5VjB.net
Kotlin使っといてJavaのLTS期間がどうとかアホかよ
Kotlinって常に最新バージョンしかサポートされてなくて、
新しいバージョンリリースされた瞬間にサポート切れなんだけど、そこ理解してる?

943:デフォルトの名無しさん
18/11/16 13:21:45.24 ffAbnTNN.net
>>910
JDKってか、JVMにバイトコードのインタープリタとJITコンパイラ(実行時によく使用されるメソッドとかをバイトコードから機械語にコンパイルする)が含まれてる

944:デフォルトの名無しさん
18/11/16 13:25:37.10 cFUtGW68.net
>>913
あ、すまん、文脈としては「だからAWSのJDKでだけ動かないなんてことはない」と言いたかった。

945:デフォルトの名無しさん
18/11/16 13:26:14.79 cFUtGW68.net
>>914
それとJDKのサポート期間と、なんの関係もないじゃん。いったい何と戦ってるのか。

946:デフォルトの名無しさん
18/11/16 13:32:19.68 InCl5VjB.net
>>917
どのみち放置運用するようなものには全く使えないんだから、半年毎にJDKを更新するくらい大した問題じゃないでしょ

947:デフォルトの名無しさん
18/11/16 13:48:45.91 wIRSNKmo.net
Xamarinみたいな糞でやるからそうなる

948:デフォルトの名無しさん
18/11/16 14:10:05.60 cFUtGW68.net
>>918
最高に頭の悪い見解をありがとう。
そうだね、うんうん、君の言う通りだよ。

949:デフォルトの名無しさん
18/11/16 18:19:57.19 7Oyx3zj5.net
>>918
それが大した問題だからここ何ヶ月も世界中で大騒ぎしてたわけで。。
まあアプリ本体とJDKをDockerかなんかでまとめてコンテナ化とかしてりゃ何の苦労もないけどな、
現実に本番環境でそこまで出来てるところはまだ少数派だろう。

950:デフォルトの名無しさん
18/11/16 19:42:48.03 4Z/2Zn+l.net
うわー。Pleiades インストールしたら IntelliJ IDEA が日本語に!
慣れてないと違和感あるなこれw

951:デフォルトの名無しさん
18/11/17 07:34:08.71 KWZ5EwMD.net
eclipseで開発してるやつおる?
最近 eclipse の Kotolin のプラグイン更新されてるみたいだけど、やっぱり IntelliJ の方が断然快適なんだろうか
eclipse ずっと使ってきたから、今から開発環境変えるのも苦労しそう

952:デフォルトの名無しさん
18/11/17 08:00:43.63 SiZmC7/H.net
むしろそういったIME使わずに作ってる人いない?
どうも自分で制御出来ない感じが慣れなくって

953:デフォルトの名無しさん
18/11/17 08:05:44.83 vtnmvVoJ.net
日本人のITリテラシーは土人並みやで

954:デフォルトの名無しさん
18/11/17 08:33:58.05 WPCLsCCD.net
>>923-924
おぢさん達、気持ちはわかるけどその程度のことくらい頑張らないと仕事なくなるよ

955:デフォルトの名無しさん
18/11/17 10:32:10.09 Lyuticwx.net
>>923
IntelliJの良いところは開発環境周りの苦労がほぼないことだよ
eclipseから移るとマジで別世界で漏らしそうになる

956:デフォルトの名無しさん
18/11/17 11:38:32.70 tnhZ/1Ed.net
eclipse使っててよくストレス溜めずにいられるよな

957:デフォルトの名無しさん
18/11/17 11:46:54.76 8wpf7s1e.net
>>924
IMEワロス
変数名を日本語にしちゃう人ですかぁ?

958:デフォルトの名無しさん
18/11/17 11:52:52.29 B4GISbTr.net
自演乙

959:デフォルトの名無しさん
18/11/17 12:03:25.62 Lyuticwx.net
>>929
日本語で命名するの、騙されたと思ってやってみたらみやすくてワロタわ。
個人プロジェクトでしかやってないけど、テストケースを日本語にしておくとめっちゃ見


960:やすい。



961:デフォルトの名無しさん
18/11/17 12:22:39.88 W3t77A42.net
自分も趣味のプロジェクトはテストだけ日本語で書いてる

962:デフォルトの名無しさん
18/11/17 13:01:34.66 By/5vlbY.net
>>923
一回使ってみてから決めたら?
そもそもkotlinやるならintellijのほうがいいと思うが

963:デフォルトの名無しさん
18/11/17 13:47:53.54 rc62Vrp5.net
Kotlin使うなら開発元のJetBrainsを支援する意味でもIntelliJの有償版を使うべき
最近はJavaがゴタゴタしてるし、JBが強いスマホ分野ではIDE離れの動きが出てきてるし、開発環境市場はVSCodeが席巻してる
このままだと会社無くなってKotlinも終わっちゃうよ

964:デフォルトの名無しさん
18/11/17 13:48:05.80 KWZ5EwMD.net
SWT使うから、eclipseのWindowBuilderないとちょっときついのよね
IntelliJ は魅力的だしとりあえずインストールしてみたけど、IDE2つ起動しないといけなくなりそう

965:デフォルトの名無しさん
18/11/17 21:54:40.24 ftBRdYwQ.net
>>923
プラグインが0.7.2くらいの時に使ったことがあったが、Javaのプログラミングの時にまでエラーが出るようになって、
たまらずアンインストールした。
その後どうなったか知らないが、まだアルファ版のままみたし、もともとのContributorはほとんど関与していなくて、
現在のContributorは実質ほぼ一人だけみたいだから、IntelliJのサポートレベルには
遠く及ばないんじゃなかろうか。
URLリンク(github.com)

966:デフォルトの名無しさん
18/11/18 00:00:27.08 GJ109gfR.net
>>934
支援させてやるから、俺にも買ってくれよ

967:デフォルトの名無しさん
18/11/18 19:31:38.08 2vqoBI/V.net
>>936
やる気なさすぎてワロタ
まあJBがeclipseを手厚くサポートするメリットが何もないもんな

968:デフォルトの名無しさん
18/11/22 21:37:26.67 WC7mf3YT.net
kotlin勉強してみたけど、なんていうんだろこれまでだと泥臭い書き方になるものが
すっきりかけるようになっていいな
JavaよりC#のほうがいいと思ってたがC#もdelegateを導入したあたりから複雑化して
いまとなってはkotlinのほうがなんか直感的にわかる

969:デフォルトの名無しさん
18/11/22 21:53:40.76 BxA30JEc.net
本当に使ってるの?
C#のdelegateは最初のバージョンからあるし、KotlinってC#をリスペクトしてて
盲目的にC#にあるものは全部取り入れてるからC#より複雑だぞ

970:デフォルトの名無しさん
18/11/22 23:32:14.84 36KvwJdV.net
C#よりいい点はレシーバ付きラムダ式と拡張関数の書き方かな
ジェネリクスは…
reifiedはがんばってる気がするけど

971:デフォルトの名無しさん
18/11/23 00:02:58.62 jI4KYN6E.net
あんま使ってないんだと思うしスレチだが
最近のC#はdelegate負の遺産として使わないぞ

972:デフォルトの名無しさん
18/11/23 01:25:32.06 fYjwDIpD.net
この流れはチャンスだ
使った事ないけどデリゲートって何ですか?
デリケートなら知ってます

973:デフォルトの名無しさん
18/11/23 12:09:30.81 uLRLCLS/.net
easy scalaとしてkotlin開発始めたんだからC#関係ないぞw
てかC#もscalaの記法パクってるの多いからな

974:デフォルトの名無しさん
18/11/23 12:13:14.21 2OhrHiHK.net
エヴァしか知らないとアニメ表現が全部エヴァのパクリに見える現象がここにも

975:デフォルトの名無しさん
18/11/23 14:30:09.94 88YT2KBI.net
作ろうとしていたのは静的型付けのgroovyで、静的型付け言語の先輩のC#やScalaの記法を参考にしただけなんですけどね

976:デフォルトの名無しさん
18/11/23 14:53:48.45 mswwi/pb.net
他の言語やった後に C# やると
event や delegate キーワードはなんじゃこれって思うよね

977:デフォルトの名無しさん
18/11/23 17:00:12.01 ZfEOkgRs.net
>>945
Cのパクリ言語の多さには驚かされます。

978:デフォルトの名無しさん
18/11/23 19


979::26:48.74 ID:R6GgleAv.net



980:デフォルトの名無しさん
18/11/23 20:30:04.34 sjUJivrs.net
B→Cは本人達による改良だぞ

981:デフォルトの名無しさん
18/11/23 22:54:35.99 8BniVbk+.net
>>943
最後の一文から知りたいのでなくて、ネタをやりたかったのだろうとは思うが、一応説明すると、
基底クラスを継承する代わりに、継承したい基底クラスのインスタンスを指定すると、
あたかも継承したかのように振る舞う機能。
基底クラスのメソッド呼び出しは、上記で指定したインスタンスに委譲(delegate)され、
そのインスタンスのメソッドが呼ばれる。
Effective Javaによると継承は一般的に間違いを起こしやすとしてdelegateするよう勧めている。
overrideするメソッドがたくさんあるけど具象クラスがないインターフェースを実装する時に
ヘルパークラスから生成したインスタンスに委譲すると便利。

982:デフォルトの名無しさん
18/11/29 16:05:57.68 nHLSJTBx.net
KotlinでWindowsとかのデスクトップアプリ作ろうと思ったら、やっぱTornadoFXとかになるの?
ネイティブで作れたら嬉しいんだけど

983:デフォルトの名無しさん
18/11/29 16:56:34.05 ExWFlvb4.net
そもそもWindowsのデスクトップアプリを作るなら、C#かC++だろ
なんでわざわざKotlinで作るんだ

984:デフォルトの名無しさん
18/11/29 17:09:39.01 xQKvJzEq.net
Kotlinが好きなのかKotlinしか知らないからやろ

985:デフォルトの名無しさん
18/11/29 17:24:12.38 OofVoAKX.net
windows「とかの」
まぁクロスプラット狙ってるならそれでもいいんじやねぇの

986:デフォルトの名無しさん
18/11/29 17:26:42.57 tIHf4qpT.net
Javaでクロスプラットフォームなクライアントアプリを作ろうとしたが、クリップボードひとつまともに機能しかった悲しい思い出が甦る

987:デフォルトの名無しさん
18/11/29 18:27:18.48 93l6OrKk.net
TornadeFXとかあかんやろ(見もせずに言ってます)
ティアが嵩むほどシステムの信頼性は下がる(見もせずに言ってます)
Java JavaFX Kotlin あかんやろ、Java標準からも外されるくらいクソなJavaFX、あかんやろ(見もせずに言ってます)

988:デフォルトの名無しさん
18/11/29 19:16:53.65 8tueZiBH.net
とりあえずAndroid用アプリでも作っときなさい。
今はその方が使ってくれる人は多そうだしな。
GUIも問題なし。
そうでなければGUIなしの主にサーバ用プログラム作るかかな。
GUIはクライアント側に任せる。クライアント側は何でも良い。

989:デフォルトの名無しさん
18/11/29 19:33:01.28 iATAGwWK.net
一つのことにこだわって新しいことの習得がおっくうになるのは老化してる証拠

990:デフォルトの名無しさん
18/11/29 19:36:46.41 L2YcYUgx.net
JavaのAWTがつかえるんじゃないの

991:デフォルトの名無しさん
18/11/29 19:43:58.47 8tueZiBH.net
そうだな。ボケ防止にもなるから新しいことやった方が良い。
ただしボケ防止の場合は完璧な状態になる必要はない。
学習を続けるという脳を使い続ける行為が重要なのであって、完璧になってゴールしてしまったらそこで学習が終わってしまうからだ。

992:デフォルトの名無しさん
18/11/29 22:30:52.83 BEC3KPap.net
>>959
尊師のお言葉にもあるけど、経験値が増えるにつれて、わざわざ自分で使い込んでみなくてもある程度わかるようになってしまうんだよな
Kotlinなんてまさにそうで、Javaに十分精通してる人なら「ああ、記述をライトにしたAltJavaね。機会があれば使おう。」で終わり

993:デフォルトの名無しさん
18/11/29 22:49:53.88 anCZlMXk.net
Javaで出来ることをKotlinで書くだけだから普通に出来るでしょ
まあそもそもデスクトップアプリをJavaで作ること自体あんまりおすすめしないけど

994:デフォルトの名無しさん
18/11/30 02:32:19.54 KY1rTXDt.net
まあそのうちnativeできるし、何かできるんじゃなかろうか。

995:デフォルトの名無しさん
18/11/30 07:59:18.39 pFci1ptA.net
>>962
確かに老い先


996:Zくなると、学習する期間で縮む余命の方が、残りの余命の間に得られる利益を上回るよね。



997:デフォルトの名無しさん
18/11/30 08:47:06.15 JSlOh1Qz.net
>>965
余命の問題だけじゃないけどな
・この程度なら必要になったときにググれば十分だ
・類似技術を習得済みだから最悪でも今持ってるスキルの範囲でカバー可能
経験を積めば大抵こうなるから、わざわざ使い込んで試す利益は限りなく低くなる

998:デフォルトの名無しさん
18/11/30 12:25:01.05 J79R14WK.net
少なくとも触らないで理解した気になってる奴は成長しない

999:デフォルトの名無しさん
18/11/30 12:56:15.42 vx8Iixcx.net
Kotlinに慣れてくるとJavaに戻る気は失せてくる。
型推論とか色々とコンパイラが面倒見てくれるから楽だ。

1000:デフォルトの名無しさん
18/11/30 13:50:09.33 SLlZ3057.net
C#も型推論とかあるし、Kotlinが出来るなら、
学習コストは少ないだろ

1001:デフォルトの名無しさん
18/11/30 14:01:04.03 LHvn0OZF.net
最新のJava使えるなら型推論あるし、javaでもそこまでいらいらしなくったな。

1002:デフォルトの名無しさん
18/11/30 15:21:36.33 GKWVzoy/.net
つうかどの言語も似たような感じになってる

1003:デフォルトの名無しさん
18/11/30 21:50:01.48 vx8Iixcx.net
٩( ᐛ )و

1004:デフォルトの名無しさん
18/12/03 11:14:21.81 m1M1hiPd.net
Kotlinは言語としてとてもよくできている、しかし現実的な用途がピーキーだ
おすすめできる人
 ・現在Javaでプログラミングしている人
おすすめできない人
 ・まだJavaでプログラミングしていない人
「いまからJava勉強してアプリとかサービスとか作ろうと思うんです」という初心者の人がいたらアホかやめとけと言うと思う
それはKotlinにも当てはまる
「いまさらJavaで作らなくてもいいぞ」という進言はJavaの文法の小難しさというより周辺の環境を考慮しての物言いなはずである
KotlinはJavaの環境のJava文法部分を変更するもので、たとえばJavaでのゲームGUIのつくりにくさや外部ライブラリの面妖さを変更してはくれない
「いやあちょうどJavaでプログラミングしようかと思ってたとこなんですよ」という人がたまたまいたならもう全力でおすすめできるのだが

1005:デフォルトの名無しさん
18/12/03 12:14:09.57 7ySpxLkd.net
ピーキー?

1006:デフォルトの名無しさん
18/12/03 12:18:13.71 sXa35AcC.net
Javaの文法が小難しいとか小学生かよ

1007:デフォルトの名無しさん
18/12/03 12:19:55.67 XSpjUKkp.net
Scalaとかいう意識高い系の先輩を倒したと思ったらまさか大地主様に後ろから殴られるとはな

1008:デフォルトの名無しさん
18/12/03 12:25:19.72 hZ1xmoNV.net
×小難しさ
○クソさ

1009:デフォルトの名無しさん
18/12/03 12:30:15.88 hZ1xmoNV.net
確かに今現在Java使ってるやつには折伏したくなるがプログラミング初心者ですって奴にJVM言語は勧められないな

1010:デフォルトの名無しさん
18/12/03 12:38:10.63 GZdJt5rg.net
初心者ですって奴には何勧めるの?

1011:デフォルトの名無しさん
18/12/03 12:47:01.90 OUmDU7Ge.net
もともと、既存Javaユーザーを救おうというのがコンセプトっぽいしなKotlin
>>979
本当にまったく何もわからなければC#(とUnity)
なにか新しくてそれなりに作れる言語やってみたいとか骨のあること口走ったらGo
みんなと同じがいいのならPython

1012:デフォルトの名無しさん
18/12/03 12:52:57.12 tXuBcYwL.net
Androidはkotlinかdartになりつつある

1013:デフォルトの名無しさん
18/12/03 13:57:28.32 ygSmLhmH.net
Androidアプリ作りたいって初心者は多いから、普通にコトリン勧めるよ。
そこで慣れていく頃にはサーバーサイドKotlinももうちょっとはメジャーになってるだろうし

1014:デフォルトの名無しさん
18/12/03 19:03:59.84 qI5Yf4Oh.net
慣れていくが潰れていくに見えて
厳しい世界を海馬見た

1015:デフォルトの名無しさん
18/12/03 19:36:33.5


1016:6 ID:czODpH2j.net



1017:デフォルトの名無しさん
18/12/04 12:23:41.67 j/4iahuf.net
理論上最速って理由でC++に挑んで潰れてく初心者は大勢見た

1018:デフォルトの名無しさん
18/12/04 12:34:54.66 zGwuExf2.net
理論上はVM言語が最速でしょ
実行時の統計に基づいた最適化が可能だから

1019:デフォルトの名無しさん
18/12/04 12:51:09.49 HMynH27O.net
どんな最適化してくれるかに掛かっていると言える。
その辺の自由度はあまりない。

1020:デフォルトの名無しさん
18/12/07 22:57:19.96 xWcDprPO.net
Javaだと1週間かかっていた機能追加が、Kotlin移行後は2〜3日でできるようになりました。
―工数が半分以下に減ってるんですね……! Android版Yahoo!ニュースではまだJavaを使っている部分もあるかと思いますが、今後Kotlinへ完全移行する予定はあるのでしょうか?
URLリンク(employment.en-japan.com)

1021:デフォルトの名無しさん
18/12/08 11:23:56.70 4y6zqDWu.net
今プログラミング始めるなら最初はWeb公用語のJS(TS)からでいいよ

1022:デフォルトの名無しさん
18/12/08 12:15:52.25 PDZ5mPet.net
>>989
プログラミングすることだけが目的の勧め方じゃないですかァー!

1023:デフォルトの名無しさん
18/12/08 20:33:31.47 oXOQORcd.net
そろそろかと思い次スレたてた。
Kotlin 5
スレリンク(tech板)

1024:デフォルトの名無しさん
18/12/08 23:16:31.24 xmV4OmOO.net
>>991


1025:デフォルトの名無しさん
18/12/09 14:57:26.51 rgDJoSoN.net
有難き早漏

1026:デフォルトの名無しさん
18/12/09 16:42:39.11 +OEVv2Al.net
println("乙")

1027:デフォルトの名無しさん
18/12/10 14:37:10.12 aAESLT1a.net
>>990
何作りたいのかまったくヒアリングできないのならJSでもいいような気がする
実はiPhoneアプリ作りたいんでしたーでもなんとか…なんとか…いやどうだろう、なんとか

1028:デフォルトの名無しさん
18/12/11 12:41:59.76 l2VtJ3NB.net
大丈夫、JSでもiPhoneアプリは作れる

1029:デフォルトの名無しさん
18/12/11 23:48:54.57 eLKcPM1+.net
そろそろ埋める?

1030:デフォルトの名無しさん
18/12/12 10:40:30.38 I3Mp/+TW.net
Kotlin 5
スレリンク(tech板)

1031:デフォルトの名無しさん
18/12/12 11:02:21.85 XAdiQzbb.net
1000への道はKotlinで敷き詰められている。

1032:デフォルトの名無しさん
18/12/12 11:02:47.76 XAdiQzbb.net
ま、いいや。次行こう次。

1033:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 147日 17時間 2分 20秒

1034:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1954日前に更新/214 KB
担当:undef