[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/24 22:08 / Filesize : 204 KB / Number-of Response : 1023
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Kotlin 3



1 名前:デフォルトの名無しさん [2018/03/19(月) 04:26:26.03 ID:GqsfT9Tb.net]
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin 2
https://mevius.5ch.net/test/read.cgi/tech/1509462463/

641 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 19:10:39.22 ID:zUb4/N1b.net]
>>628
いや、答えになってるよ
頑張って

642 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 19:57:19.87 ID:p+pduEru.net]
じゃあちょっと質問の仕方を変えますね

なぜnull不許容が必要なのか教えてください

これならわかるかな?

643 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 20:21:05.34 ID:YRVrDSwQ.net]
ifでのnull判定がめんどくさい

644 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 20:22:39.29 ID:RQ8Q2AIa.net]
それよりも帰ってプレステやろうぜ

645 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 20:40:44.92 ID:p+pduEru.net]
そもそも、nullを代入しなければいいのでは?
もしくは初期化しておけばいいと思います

違いますか?

646 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 20:51:32.85 ID:Lm+QSQ9f.net]
COBOLとかFORTRANはそういうコンセプトだねぇ
kotlin止めるの推奨

647 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 20:59:37.06 ID:RPmVTiLU.net]
>>635
1人で全て開発するならそれでいいと思うよ。

648 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:03:58.17 ID:p+pduEru.net]
つまり、null不許容型は人的ミスのためであって他意はないと?

649 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:05:43.17 ID:VUEtZOMW.net]
>>635
初めたばっかで良く分かって無いが、null使わないなら許容する意味が無くね-か
寧ろnullを使う意味が分からない



650 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:22:24.66 ID:YRVrDSwQ.net]
例えばSwiftは言語仕様でnullを抹殺しているが、わざわざOptionalというnullでないものでnullを表現してる。nullがない世界など何処にもないのだ。

651 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:25:55.36 ID:p+pduEru.net]
例えばファイルが読み込めなかった場合、どうなると思いますか?

答えられますか?

答えられるようになったら質問してください。
今はそういうレベルの話ではないです。

652 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:38:37.19 ID:/V8oJSwl.net]
>>631
> なぜnull不許容が必要なのか教えてください
あなたの言う意味では不要。null許容にすることによってプログラミングが不可能になることはない。
nullによって発生する凡ミスが減るというメリットを必要とする人がいる。それだけ。

>>641
> 今はそういうレベルの話ではないです。
わからないで聞いているというより、わかってて煽ってるわけだ。

> 例えばファイルが読み込めなかった場合、どうなると思いますか?
ここでnullを許容する必要があるのではないかと言いたいんだと思うけど、
Kotlinがそうしているかどうはかは別にして、「ファイルが読み込めなかった」という
nullでない値を返すという考え方もある。
null許容のJavaだと例外を投げるところかな。

653 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:40:24.82 ID:p+pduEru.net]
>>640
おっしゃる通りで、結局不正なデータのチェックは必要なわけで、null不許容だから安心して使えるわけでもなく、寧ろ何気にうまく動いている状態が一番怖いです

654 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:52:05.84 ID:p+pduEru.net]
null不許容のクラスを作るとして
そこではあらゆるケースに対処を強いられるわけで、チェック項目は膨大になります
しかしそれを利用する側は単純にファイルが読めるか否かだけ知れればいいとします。
null不許容を取り入れるということは、開発コストが上がることを示唆しているのではないかと

どうですか?

655 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 21:54:49.09 ID:YRVrDSwQ.net]
Optionalは中身取り出すのにアンラップが要る。Kotlinはnullにならないようにコンパイラがチェックしてるだけ。よってアンラップ不要。副作用としてnullを許容してないのに場合によってはnullが入ってしまうこともある。。

656 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:02:12.48 ID:p+pduEru.net]
>>645
それは実行時の動的なnullですよね。
私が質問しているのは、null不許容型(言い換えれば静的なnullに関して)の必要性についてです。

657 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:02:30.58 ID:RQ8Q2AIa.net]
>>644
>>642が答え書いてるじゃん

658 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:07:56.87 ID:GxIVu2Pg.net]
ていうか日本語の文章おかしいし、確実に酔っ払いかただのキチガイじゃん

659 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:10:34.25 ID:GxIVu2Pg.net]
おおかた大学のレポートなり試験なりでその質問をされて回答を探しにきたんだろ
ネットで煽りっぽく聞けばムキになった人が答えてくれるからね、君は賢いね、偉い偉い



660 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:30:46.16 ID:F0/bv6/d.net]
>>628
たとえが下手すぎて

661 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:36:12.55 ID:RQ8Q2AIa.net]
だってこの子見るからに頭悪そうじゃない

662 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 22:37:28.39 ID:1JRb/tn1.net]
高圧的に質問すれば、逆に皆反応してくれる良い例だね

663 名前:デフォルトの名無しさん [2018/06/24(日) 23:18:47.64 ID:eSenA4KT.net]
>>625
コンパイルする言語なのかインタープリタなのかという問題ではなくて、そういう仕様の言語というだけのこと。
というのはコンパイルしようがしまいが同じような言語は作れるから。

664 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 23:20:17.58 ID:eSenA4KT.net]
>>626
それによるバグをコンパイル時にエラーを出すことによって防げる。

665 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 23:25:25.08 ID:eSenA4KT.net]
今ちょっと前にAmazon見たらこれのKindole版の方だけ1361円だった。55%offかな。だいたい半額ぐらい。
短期間のセール価格なのかも知れない。

Androidアプリ開発のためのKotlin実践プログラミング 現場で求められる設計・実装のノウハウ
amzn.asia/iM5AGQY

紙の本はもう持ってるのにうっかり押しちゃうところだったw

666 名前:デフォルトの名無しさん mailto:sage [2018/06/24(日) 23:40:28.01 ID:454A8npo.net]
遠回しな宣伝だなぁ

667 名前:デフォルトの名無しさん [2018/06/25(月) 00:03:59.42 ID:MQFTLmTQ.net]
>>656
宣伝にはなっちゃうが他に知らせる方法ないよな。

668 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 01:08:25.26 ID:eZlTEzf8.net]
>>649
だろうな
煽り質問は無視しとけば良い

世の中nullっとしてないと入るものも入らないんだよ

669 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 02:22:50.92 ID:qxY2M36r.net]
>>655
見る価値がないわぁ



670 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 08:15:38.14 ID:+UpY7hie.net]
null安全に文句つけるひとほどnull安全を大袈裟に捉えてる現象

671 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 08:19:39.17 ID:1p6QEPdQ.net]
本人あっさり逃げたな
マジで>>649が図星だったのかw

672 名前:デフォルトの名無しさん [2018/06/25(月) 08:59:14.92 ID://DXoKuS.net]
とするともう大学で教えてる所があるということになるな

673 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 09:02:09.61 ID:1p6QEPdQ.net]
null安全な言語はもうずっと前からあるから、それに触れる授業くらいはいくらでもあるでしょ

674 名前:デフォルトの名無しさん [2018/06/25(月) 09:08:55.77 ID://DXoKuS.net]
>>658
【審議中】
.   ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’

675 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 09:10:40.50 ID:l5OlESCl.net]
kotlin流行らんなあ

676 名前:デフォルトの名無しさん mailto:sage [2018/06/25(月) 12:17:54.99 ID:VJwqAc5V.net]
BASICはnul安全

677 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 06:08:18.39 ID:2T7FQdCl.net]
KotlinのターゲットJVMは、Java8の次はOracleJDK 11になるんだろうか、OpenJDK 11になるんだろうか。

678 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 08:30:26.76 ID:T66Du/32.net]
Jetbrainオリジナルのkdkになるよ

679 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 09:17:28.24 ID:j47hmKh+.net]
そんなん作ってくれるならそれはそれで助かる



680 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 09:36:33.84 ID:DwsAXqqT.net]
絶対に必要なのはJVMでJDKは要らなくする方向になるんだろな

681 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 15:19:07.75 ID:Pch/7s9D.net]
nativeはやく整備しよ?
jetbrainとgoogle様ならわけないっしょ?

682 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 15:46:55.60 ID:JaGjn0N8.net]
nativeっておもちゃとしては楽しいだろうけど、現実的にそこまでニーズあるかね

683 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 18:39:53.31 ID:94ok3+r+.net]
明日JBの中の人が来日してkotlinイベントあるね
何か面白い話聞けるかな

684 名前:デフォルトの名無しさん [2018/06/26(火) 19:48:16.67 ID:EJ9QuCpH.net]
>>672
まずはおもちゃとして使って楽しんで、それから何かに使えないか考えれば良いのではないかな。
その内なにか丁度良い用途が見つかると思うよ。

685 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:43:33.91 ID:94ok3+r+.net]
趣味で何か作るなら是非使いたいね。
ビジネスプロダクトを作るならまたちょっと話が変わるけど。

686 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 07:38:02. ]
[ここ壊れてます]

687 名前:49 ID:6utZ2/C2.net mailto: クロスプラットフォームって、出始めの頃のhtmlベースのそび糞達のせいで普及が5年は遅れてると思う。
いまだにあの頃のイメージは抜けきれてない
[]
[ここ壊れてます]

688 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 08:32:56.41 ID:mCGbxVOO.net]
Kotlinを選ぶ時点で、既に自分の得意な特定の言語に固執する低レベルな段階を卒業してる人が多いだろうから
無理にKotlin使うよりプラットフォームに合わせた適切な言語を使うべきと考える人が多数派だろうね

689 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 08:41:17.54 ID:EhxoKQAq.net]
うちもいくつかアプリ作ってるけど、結局それぞれのネイティブで並行開発が1番間違いないって感じになってるな。
Xamarin使ってるのもあるけど、やっぱり色々辛い。RNはもっとアレだったからプロダクトに使う前にやめた。



690 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 08:44:02.48 ID:eZ/QptdS.net]
そうそう
クロスPFなんてもうunityくらいしか使われていない

691 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 09:01:55.92 ID:tEiv7Ngd.net]
Xamarin程の糞はない

692 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 10:28:55.92 ID:WNG+0R1n.net]
>>679
Unityって触ったことないけど、ゲーム以外にも使えんの?

693 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 10:31:24.77 ID:Ei1nEpEL.net]
使えない

694 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 12:18:58.79 ID:+kJys0PI.net]
単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。

695 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 18:40:46.48 ID:joyJ67qD.net]
ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん?
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー

696 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 19:00:28.69 ID:FvMz1kHT.net]
Googleがgo諦めてKotlin推しになったんだと思ってるんだが

697 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 19:40:54.39 ID:qKnsPtkx.net]
Google的にはTypeScriptとPWAでしょ

698 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 20:31:33.36 ID:9CxCJ+s3.net]
GoはGoogleAppEngineとセットで推されてる感じ
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな

699 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 21:31:14.11 ID:/7xWx8r1.net]
Google A 「KotlinはAndroid開発の第一級言語」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」



700 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 21:47:53.30 ID:UhwNkHWJ.net]
Googleも一枚岩ではないからな

701 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 21:54:44.06 ID:058nb6Zd.net]
そういうカオスなのがGoogleっぽくて嫌いじゃない
Googleはインド系
Appleは中国系

702 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 22:06:52.35 ID:M3lpNFO8.net]
Google的にはWebAssemblyはどの言語なんだろ
Kotlin/Nativeを推してくれたりしないものか

703 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 22:36:51.97 ID:09Lu5AaC.net]
GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし

704 名前:デフォルトの名無しさん [2018/06/28(木) 05:21:24.48 ID:lL281Rpl.net]
ソースは?

705 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 08:16:52.30 ID:1UW06GNd.net]
googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。

706 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 11:23:25.80 ID:m6ikkjV1.net]
>>693
オリバーかイカリ使ってる

707 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 20:53:17.24 ID:eWG25u0M.net]
この前のHadi Haririのイベント行った奴いないの?

708 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 08:01:17.25 ID:/DvFOeR7.net]
すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。

709 名前:696 mailto:sage [2018/07/01(日) 08:15:08.30 ID:/DvFOeR7.net]
1 fun func(x:int,y:(Int)->Int)=L(x)
2 func(1,{it*5})

1行目のL(x)は何を意味しているのでしょうか?
また、var y:(Int)->Int={x:Int->x*2}をfunc関数に代入するために
1行目にy:(Int)->Intを引数にして
2行目で、{x:Int->x*2}を実行しているという理解でいいのでしょうか?



710 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 08:18:15.23 ID:nOlX7v2j.net]
>>682
Unityの「だってお前らこれではゲームしか作らんだろ」という割り切りっぷりは清々しい
ゲーム的文法で作る以外のルートがねえw

711 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 10:29:25.00 ID:7m3QggRW.net]
>>698
1行目はLという名前の関数にxを渡してるだけ
 fun func(x:int, y:(Int)->Int) {
   return L(x)
 }
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする

2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない

712 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:20:40.37 ID:nicbhK38.net]
なんで、宣言のとき型と変数名逆にしたんだろうなあ、苛つくわあ

713 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:23:38.80 ID:nOlX7v2j.net]
>>701
省略したいときウルトラ面倒になるのでやりたくなかったのだろう

714 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 16:58:23.83 ID:nicbhK38.net]
val 人間:文字列=山田

気持ち悪いわあ

715 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 18:15:00.04 ID:kOaBFF1V.net]
>>701
型が省略されてるものとされないものが混在したら可読性ウンコになるだろ

716 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 19:41:23.70 ID:zdyprq44.net]
以前はPASCAL, ML, Haskell、最近なら Scala, Go もこういう形で、
「型 変数」っていう順序のCスタイルの方が本来異色なんだけど。

717 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 20:18:17.04 ID:dWb7F20p.net]
>>704

val a=0
int b=1
みたいな感じじゃだめだったのか気になる

718 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 20:49:55.44 ID:8aTW58+O.net]
val name : String = " 名前"
" String "に代入してる感覚があるから、わかりにくのは事実だわなw

719 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 20:53:31.14 ID:dWb7F20p.net]
>>707
これよこれ
Aをhogeという型で代入
hogeという型のAに代入
好みかな…



720 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 21:01:29.33 ID:kOaBFF1V.net]
>>706
それだと
val int a = 0
val b = 1
になるやん

721 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 21:31:28.10 ID:sOb0a/fB.net]
文芸的プログラミングというやつで、
val name: String
はname of Stringと見えるから英語の順序的にはこのほうが自然

722 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 21:38:16.02 ID:nOlX7v2j.net]
てゆーか>>703の例の時点でさくっと英語理屈を出してあげたほうが混乱がなかったと思う
じゃあなんでC族がそうなってないかって?
Cだからそんな面倒なことしねーんだよお前側が機械に合わせろw

723 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:01:00.11 ID:q7RVjG2e.net]
日本語話者の一般的な認知様式は
鳥の模型>模型の鳥
名前を表す文字列>文字列で表された名前
だし、日本語でも 変数名:型 の方が言語的には自然では

724 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:20:03.34 ID:InQHnS3f.net]
数字の n は 42
文字列の s は "42"

725 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:26:56.25 ID:nicbhK38.net]
言葉的にはそうかもしれないが
抽象度の順じゃないつうのがねー
これがモヤっとする原因

哺乳類>人間>山田

726 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:31:27.77 ID:R8XGd50K.net]
>>714
うるせーそれが仕様だ
慣れろバカ

727 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:50:43.53 ID:q7RVjG2e.net]
>>713
それも大抵の日本人は
nは数字の42
sは文字列の"42"
と表現すると思うよ

728 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 22:55:24.40 ID:+8z4/crF.net]
単純に慣れだと思うんだけどなぁ
コード読むときに
>>713
>>715
みたいな考えいちいち経由しないでしょ

729 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:01:37.60 ID:8aTW58+O.net]
kotlinの基本に慣れる為に

val name : String = " 名前"

"定数"の"name"には"String型"の"値"を入れる

と言う解釈がすんなり行けるかな



730 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:08:56.02 ID:raAwvdUY.net]
val name: String = "..."

"name" is a string: "John Smith"
「名前」は文字列、"山田花子"

打ってる時はだいたいこういう感じの思考の流れがある

731 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:19:27.43 ID:CPfYnrTw.net]
>>718
define a variable "name" as a string and assign a value "名前" to it って読むんだよそれ

732 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 23:20:47.61 ID:InQHnS3f.net]
valなのにvariable wwwww

733 名前:デフォルトの名無しさん [2018/07/01(日) 23:27:05.41 ID:yaDvqYhr.net]
昔々PascalというかDelphiをよく使っていたので変数名、形の順でも違和感なし。
Oracle の PL/SQL も確かそうだったな。

Cも昔からよく使ってるけどね。Javaは趣味で使う程度かな。

734 名前:デフォルトの名無しさん [2018/07/01(日) 23:30:37.32 ID:yaDvqYhr.net]
そういやKotlinは val a, b, c : Int みたいに書いてまとめて宣言できないんだっけ?できた?

735 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 00:28:48.57 ID:QmQNg+H0.net]
>>709
javaとかこんなんじゃなかったっけ

736 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 00:29:30.51 ID:QmQNg+H0.net]
>>709
>>706のことね

737 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 02:31:32.49 ID:oF5BHAcS.net]
変数名とコロンの間にスペース入れるのは規約違反?

738 名前:デフォルトの名無しさん [2018/07/02(月) 04:08:17.17 ID:M/CoMLX8.net]
>>726
エラー出ないから言語としては良いのでは?

関係ないが>>723で書いたやつは試したらダメだった。

739 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 10:54:34.73 ID:sDkOSnE9.net]
>>726
IntelliJのCode Style設定ではどちらも選べるようになってるから、どちらでもいいんでない



740 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 12:07:35.37 ID:eli6Ofbc.net]
>>727,728
そーなのか
なんとなく型はスペース無しで継承はスペース有りかと
ありがとりん

741 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 15:54:18.89 ID:fF3oZnn5.net]
そうそう型と継承が同じ記法だからごちゃごちゃするよな
どうせならすべて動的型付けにすればよかったのに

742 名前:デフォルトの名無しさん [2018/07/02(月) 16:24:41.26 ID:6MU/ELtX.net]
動的型付けだと、存在意義全否定だろ。
Groovyでも使っとけ。

743 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 20:41:56.60 ID:nCi8FeLN.net]
型推論と動的型付けを混同すんなよ

744 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:15:16.60 ID:BzTTxziN.net]
>>700
お礼が遅れてすみません。
仰る通り、記載ミスで、y(x)です。

ご解説ありがとうございます。
すっきりしました。ありがとうございます。

745 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 21:24:23.77 ID:EvLqbtyu.net]
>>733
うむ。精進なされよ。

746 名前:デフォルトの名無しさん mailto:sage [2018/07/02(月) 23:00:47.89 ID://b/At4I.net]
慣れたら型が後の方が可読性高く感じる
それと構文解析しやすくなるのもあるんじゃね

Kotlinでの
 (T1,T2)->R
はJavaでは
 BiFunction<T1,T2,R>

型が先だと関数型(function type)が他の構文と衝突しないよう識別子やジェネリクス型を置くことになる

747 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 00:00:46.54 ID:GdB7bYPq.net]
(TT^TT)

748 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 00:39:55.52 ID:TIu9/k2l.net]
関数の返値の変数の型も指定できるから、そっちのほうはわかりやすいんじゃないかな

fun hoge(): String = "ぬるぽ"

関数型プログラミングだと、そういう形式のほうがわかりやすいんじゃないかと思う

val hoge: () -> String = fun(): String = "ぬるぽ"

749 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 09:23:57.08 ID:5ohzf/bH.net]
>>737
ガッ



750 名前:デフォルトの名無しさん [2018/07/03(火) 10:05:34.13 ID:2Hrfam1D.net]
慣れの問題じゃなあかなあ

751 名前:デフォルトの名無しさん [2018/07/03(火) 10:06:19.13 ID:2Hrfam1D.net]
うう。スマホのフリック入力で失敗した。

752 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 10:07:52.88 ID:ng0Ex9q0.net]
>>739
人間歳をとると新しいものに慣れるのに時間がかかるようになる
そしてこのスレはおっさんのすくつだ

753 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 10:19:34.86 ID:lMsOY+nb.net]
このスレの人たち、今だにガラケー使ってそうだな
いつまで慣れの問題でギャーギャー言ってんだよ

754 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 10:40:19.23 ID:pQbF/VH/.net]
>>740
「い」の入力失敗率はあじょう。
人間工学的におかしあ。
あちばん遠あからな。

755 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 11:32:14.53 ID:jh9a6Llj.net]
>>742
幸か不幸かどこぞの板と違って末尾で判断できない

756 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 15:12:48.33 ID:k8WNCQ/C.net]
kotlinのコロン( : )ってどんな働き・役割なのですか?

757 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 15:56:30.11 ID:k8WNCQ/C.net]
もう一つ質問させてください

1. class chiba{ }
2. class chiba(){ ]
3. class chiba(city:String="--"){ }

1はコンストラクタは持たない
2は自動でパラメータのないコンストラクタが生成される
3は( )内でパラメータを初期化し{ }がコンストラクタになる
という理解でいいのでしょうか?

758 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 16:38:20.61 ID:h4wqJ0lA.net]
>>745
単独では何の働きも役割もない
ただの区切り文字

759 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 20:19:53.43 ID:rBmEiF9u.net]
>>746
以下4行は同一、下に行くほど省略表記なだけ
コンストラクタは自動的に作られる

class chiba constructor() { }
class chiba() { }
class chiba { }
class chiba

コンストラクタ(プライマリコンストラクタ)の中身は
初期化ブロック( init{...} )とインスタンス変数の初期化

具体的にコードで
https://ideone.com/KpwsQl

リファレンス
https://kotlinlang.org/docs/reference/classes.html



760 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 20:54:14.27 ID:ODNzvHJa.net]
ObservableFieldの説明を見ていたら、
https://developer.android.com/reference/android/databinding/ObservableField

public final ObservableField<String> first = new ObservableField<String>();
public final ObservableField<String> last = new ObservableField<String>();
public final ObservableField<String> display = new ObservableField<String>(first, last) {
    @Override
    public String get() {
        return context.getResources().getString(R.string.name, first.get, last.get());
    }
};

既存のObservableFieldを組み合わせて新しいObservableFieldを作るようなコードが載っているので、
そのままコピペして試してみたんですが、コンパイルが通らないんですがどうしたらいいですか

761 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:10:49.57 ID:egr/fzRr.net]
>>749
コンパイルエラーのエラーメッセージを読む

762 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:13:11.08 ID:b3yF7W7d.net]
それJavaじゃん
Kotlinで書く

763 名前:デフォルトの名無しさん mailto:sage [2018/07/03(火) 21:34:21.57 ID:ODNzvHJa.net]
Kotlinに変換しても同じだった
エラーメッセージは以下だが、何を治したらいいのか
Cannot resolve constructor 'ObservableField(...)'

764 名前:デフォルトの名無しさん [2018/07/04(水) 04:50:43.63 ID:deFmQ17L.net]
スレ違いの

765 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 04:54:54.94 ID:/r54tfMO.net]
コトリヌス

766 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:37:22.00 ID:QS1wdrQw.net]
>>752
だからKotlinで書けよ
自動変換は完璧じゃない

767 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:37:52.39 ID:K6PpspCw.net]
基礎からやっていくか、状況をちゃんと説明出来るようになるか

768 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:42:41.16 ID:d8xWcdxC.net]
初心者でせっかくだらjavaよりも新しいkotlinでやろうと勉強中なんだけど、結局javaも知らんといかんのね…

769 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 07:54:41.64 ID:qSU3AFLq.net]
「こんぱいるとおりません」は実際なんも説明してねーからな

で、「ほんとうに」全部自分でゼロから作るならJavaの知識は不要なのだけど
実際はJavaの内部ライブラリやJava製の外部ライブラリを利用するorさせられることが多いので
Javaは少なくとも読めて呼び出し法くらいは知っておかないと現状余裕で詰まる



770 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:34:41.84 ID:dJOGt5Qc.net]
普通に、コンストラクタの引数がちがうか、importしてないか、importするための設定をbuild.gradleに書いてないかだろ

771 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:39:44.33 ID:hww1W9rh.net]
ああそのレベルならimportしてないが有力だな、確かにw

772 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 08:42:59.27 ID:bgzrJhKa.net]
ビルド通ったやついるん?

773 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 10:08:54.78 ID:lcEaonpe.net]
importしてないならその前でコケるだろjk
sdkのバージョン違いじゃないの?

774 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 10:40:04.79 ID:dJOGt5Qc.net]
build.gradleのandroid {} のなかに dataBinding { enable = true } 書いて、ObservableField のとこで Alt + Enter すれば、必要なimport が追加されたよ

775 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 11:34:18.64 ID:Fv6I2084.net]
return context.getResources().getString(R.string.name, first.get, last.get();
ここの行のfirst.getもfirst.get()のはずだし、公式のサンプルコードがおかしいんじゃねえの

776 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 11:39:55.59 ID:PJj9ZCzu.net]
>>748
ありがとうございました!

777 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 14:18:24.41 ID:6R9abQ63.net]
kotlinはネット投稿越しの説明デバッグが面倒くさい…

778 名前:デフォルトの名無しさん [2018/07/04(水) 15:27:56.70 ID:hVA06Lo9.net]
>>723に書いたやつはできないがこういうのはできるのな。

val (a, b, c, d, e) = listOf(1, 2, 3, 4, 5)

ただし5つまで。理由は component1() 〜 component5() を使うため。

779 名前:デフォルトの名無しさん [2018/07/04(水) 16:47:52.07 ID:n4h9hTEh.net]
はい
https://goo.gl/k4ehdm



780 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:03:02.55 ID:Uqt21yY2.net]
>>768
グロ

781 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:20:22.52 ID:dJOGt5Qc.net]
>>766
kotlin はテキストのコピペで説明できるから簡単じゃね?
VS使ってるとスクリーンショット使わないと説明できないこと多くて大変

782 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 19:41:26.22 ID:yHhNx3G5.net]
>>770
>VS使ってるとスクリーンショット使わないと説明できないこと多くて大変
たとえば?

783 名前:デフォルトの名無しさん mailto:sage [2018/07/04(水) 21:42:39.79 ID:KFDu9ptB.net]
それもまたスクリーンショットを使わないと説明できないのです。

784 名前:デフォルトの名無しさん [2018/07/04(水) 21:47:17.49 ID:gFgZc5FG.net]
9MT

785 名前:デフォルトの名無しさん [2018/07/05(木) 06:52:07.84 ID:3UdVdS3q.net]
つまりVSは抽象概念だった?

786 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 18:11:14.13 ID:1+w/aSOe.net]
JVM系でのことりんのポジションって.Net系だと何になるの?

787 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 18:25:29.62 ID:em8VdMHP.net]
すみません。ラムダ式について質問させてください。
純粋にkotlinじゃなくてすみません。

import kotlin.concurrent.*
fun main(args:Array<String>){
var a1=Pn("A")
var a2=Pn("B")
var a3=Pn("C")

thread{a1.en()}
thread{a2.en()}
thread{a3.en()}
}

class Pn(nm:String){
fun en(){
for(i in 1..5){
println("${nm}:${i}")
}
}
}

thread{a1.en()}の波括弧内はラムダ式ということなのですが、
もともとの関数の記述って、どんな記述になりますか?
a1:Pn->a1.eat()
とかですか?

788 名前:デフォルトの名無しさん [2018/07/05(木) 18:48:07.71 ID:9m4qXusF.net]
質問の意味がわからない

789 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 19:37:20.63 ID:gU4M+kls.net]
>>776
いや、そのラムダは引数に何も受け取ってないよ

クロージャになってて外側のa1とかの変数をキャプチャしてるだけ

JavaScriptとかの書き方で言えば
() => { a1.en() }
みたいな感じ



790 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 20:08:46.41 ID:bx98WRX+.net]
クロージャ使うのは一苦労じゃ

791 名前:デフォルトの名無しさん [2018/07/05(木) 20:17:49.90 ID:9m4qXusF.net]
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’

792 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 20:57:09.18 ID:n+w19a7Z.net]
>>776

fun lambda1() {
 return a1.en()
}

thread( lambda1 )

793 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:45:45.28 ID:zhHpKoz0.net]
コチン星は他に転用できないでしょ
Javaは何にでも使える
コチン星がそうなったら移住してやんよ

794 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:54:46.98 ID:gU4M+kls.net]
逆なんだよなあ

795 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 22:58:33.72 ID:y9cLPe3E.net]
現実には逆だね
Kotlin使ってるような奴はJavaはもちろん他にも複数の言語使える

796 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 07:14:19.59 ID:BcpJI+Hp.net]
今kotlin使ってるやつはJavaとSwiftは書けそうだよな
あと聞くところによるとずっとRuby使ってたweb系の人たちの間でkotlinの人気があるらしい

797 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 08:51:02.46 ID:8OYGWEQ0.net]
KotlinとSwiftは似ているから
iOSとAndroidでお互いのコードを参考にしやすいという点でも
Kotlinを使ったほうが良いよね

798 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:06:38.50 ID:QElqX86J.net]
>>778
>>781
ありがとうございました!
納得できました。またよろしくお願いします!感謝です

799 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:16:06.34 ID:mA2hlx7s.net]
>>786
うちはまさにそれでやってる。
細かい違いはあれど、両者で大体同じ感じに作れるからだいぶ生産性が上がる。



800 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:32:23.49 ID:abpU4SXk.net]
「あれをああいうふうにつくりたい」で片方が概念から違うコード塊だとめげるものね
せめて見る方向は一緒でないと困る

801 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:39:15.11 ID:M3cpa2kA.net]
Kotlin, Swift, TypeScript, C#あたりはいいかげん合体して一つになれよとは思う
似たような言語増えすぎ

802 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 09:58:03.13 ID:HP0oeisi.net]
アーキテクチャもMVVMで統一しておくとさらにいいね

803 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:37:25.30 ID:SXzPAxPV.net]
合体して!

804 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:43:05.75 ID:zksWstCG.net]
>>785
ruby の特徴が groovy 経由で kotlin にとりこまれてるからねぇ

805 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 10:50:59.18 ID:dSjMYi7e.net]
まあHello Worldレベルならどれも大差ないよね

806 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 11:30:17.98 ID:2AM7zbcj.net]
>>789
一度作って終わりなら何でもいいけど、機能追加やらメンテやら考えたら極力設計レベルで近づけておきたいからね。
俺は経験ないけどObjectiveCとJAVAでこれやってた人たちほんとすごい。

807 名前:デフォルトの名無しさん [2018/07/06(金) 13:21:00.56 ID:49COMX7t.net]
Ruby由来の特徴って?
Pythonから取ってきたようなのはちらほらあるけど。

808 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 13:28:11.07 ID:nxtJThkD.net]
信者の布教

809 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 13:44:46.19 ID:q/ghlqNX.net]
>>796
なんでもかんでもそれで実装しようとして一応作り上げ公開はするもののメンテできず放置するムラ気の情熱



810 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 14:05:18.34 ID:LdCqv7/c.net]
>>796
ヒント:ワシが育てた

811 名前:デフォルトの名無しさん [2018/07/06(金) 15:32:07.66 ID:kKlMDWU3.net]
>>799
いいや、わしが育てた。

812 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 15:58:16.16 ID:zvJYjc+f.net]
kotlin配列めんどくさすぎwwwwワロタwwwww

813 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:02:32.49 ID:zksWstCG.net]
>>796
Kotlin 公式のこのページなんだけど
https://kotlinlang.org/docs/reference/type-safe-builders.html
むかしは Type-Safe Groovy-Style Builders と呼ばれてた
https://github.com/JetBrains/kotlin-web-site/commit/2ed39c423cb7924538551f6fe9a600a333300bb9#diff-67d5deb10a27f44d364720fd321bc192
ドキュメントは修正されちゃったけど、機能が修正されたわけじゃない
lambdaを { } で書くのとか、カッコの外に出せるのとか、これ実現するために必須

814 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:15:00.75 ID:CcG3LQ04.net]
Kotolinて変数にプリミティブ型が無いけど、
画像処理とか大量にデータ処理すると、Javaより遅くならない?

815 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 16:28:27.50 ID:zksWstCG.net]
>>803
ByteArray使えばよいでしょう

816 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 17:00:50.17 ID:CcG3LQ04.net]
>>804
配列はDoubleArrayとかあるのね
bit演算はushrがあるから、Javaより見易そう(Javaの>>>と>>が見辛過ぎ)なのがいいな
そろそろ切り替える踏ん切りがつきそうになった、ありがとう

817 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 20:20:35.42 ID:AbsrypZ1.net]
>>803
プリミティブに出来るものは勝手にプリミティブになる

Kotlinの
  fun f1(a:Int, b:Int?, c:List<Int>){}
はJavaでの
  void f1(int a, Integer b, List<Integer> c){}
になる

https://kotlinlang.org/docs/reference/basic-types.html#representation

818 名前:デフォルトの名無しさん [2018/07/06(金) 21:01:12.71 ID:g8uAR+7L.net]
プリミティブ型がなくてもうまいこと最適化されてだいたいは問題なくなるのではないかな?

819 名前:デフォルトの名無しさん [2018/07/06(金) 21:02:17.37 ID:g8uAR+7L.net]
うう。リロードし忘れてたらかぶった。



820 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 22:24:17.82 ID:QG6T2BVC.net]
>>806-807
Javaのラッパー型とか考え無くていいのか
上手く出来ているんだな

821 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 23:30:21.00 ID:4Ugvbwaw.net]
ByteArrayとかIntArrayはJavaの呪い

822 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 23:33:34.92 ID:gLP4VBNq.net]
えっと

823 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 07:47:51.03 ID:uYnOjfeF.net]
>>810
何でそう思う?

824 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 08:02:53.54 ID:1JBcciC6.net]
>>810
ほんとそう

825 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 19:26:53.37 ID:XhDuF4YP.net]
data classのcopy()というメソッドは
新しいインスタンスを作るの?
それともインスタンス変数を書き換えるの?

826 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:07:44.59 ID:LTqMROwD.net]
>>814
新しいインスタンスを作るよ
その際に新しいインスタンスに対してプロパティの差し替えを指定できる

827 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 20:15:10.40 ID:VybllwrG.net]
イミュータブルデータ

828 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 22:09:42.29 ID:XhDuF4YP.net]
>>815
そうですかコピるんですね、インスタンスはイミューダブルだから


ところでデリゲートって何ですか?

829 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 22:10:48.19 ID:uYnOjfeF.net]
>>817
繊細とか壊れやすいとか、そういう意味だよ



830 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 23:35:57.76 ID:Ty8z3s6n.net]
それはフラジャイルだろ!

831 名前:デフォルトの名無しさん mailto:sage [2018/07/07(土) 23:38:31.93 ID:qgEX9CeR.net]
小麦粉のこと?

832 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 00:50:39.49 ID:Ju8r78kR.net]
Androi

833 名前:dにはデリゲートなんて用語はない []
[ここ壊れてます]

834 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 00:55:04.92 ID:sfogbTE4.net]
>>817

data class のインスタンスはイミュータブルに作ることもできるけど
別にイミュータブルな保証ないよ
普通に var プロパティ宣言できるし

835 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 04:35:49.01 ID:PDRntQm6.net]
>>819
デリケートだろとつっこむところ?
>>817
クラスAを継承したクラスBを作るときに、継承を使う代わりに、クラスB内にクラスAのインスタンスを持たせて、
クラスBにおけるクラスAのAPI実装をそのインスタンスに丸投げすること。
インターフェースしか定義されておらず、インスタンスはヘルパークラスからしか作れないような場合に便利。

836 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 08:39:29.95 ID:A+oeHsIU.net]
>>817
デリゲートは手動で書く手間を減らす機能だし
動作分かってないと初学者にとって混乱の元だから
「委譲書くの面倒」と思うようになるまで使わなくていい

仕様を知っておきたいならbyキーワードの具体例をググって読むべき

837 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 08:53:04.34 ID:GTRmE3gZ.net]
よくあるのは破壊的操作だけ決まった手順でやりたい可変リスト

内部に可変リストを持たせてListインターフェースをこの可変リストに委譲しつつ、
破壊的操作をするメソッドは自分で実装する

838 名前:デフォルトの名無しさん mailto:sage [2018/07/08(日) 13:09:11.90 ID:I8JQ03ez.net]
デリゲートゾーンの痒みにデリケア

839 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 15:42:24.09 ID:k14wcRqL.net]
2次元配列てどうやって作るの?
ググっても、一次元配列の説明しかないんだけど



840 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:07:50.43 ID:HEVR++FY.net]
「Kotlin 多次元配列」とかでググれば出てくるけど、もっと簡単に作れるようにしてほしいよな
Kotlinはコレクション周りが面倒

841 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:22:32.46 ID:uw3CHAwx.net]
ありがとう!多次元配列ででました
リストの中のリストみたいな作り方しかできないんですね

842 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 16:25:07.73 ID:a7X8gOns.net]
Java11で多次元配列が追加されるっぽいし
そのとき一緒にKotlinにも追加されるんじゃないかな

843 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:41:02.60 ID:2W9i2TNQ.net]
>>829
でもそれは多次元配列ではないからな
全世界から激しくツッコミ入るからな
「ネストした配列」とかきちんと表現しよう

844 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:42:26.58 ID:CMpb5of+.net]
本当の多次元配列とネストした配列の違いってなんなの

845 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 19:59:47.17 ID:upwaJxXn.net]
だっちゅーの

846 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 20:40:00.23 ID:2EXLNjt4.net]
>>832
配列の配列: n個入る内箱をm個並べて入れた外箱、実際には内箱に入る数はそれぞれ違うこともある
二次元配列: 最初からn*mで仕切られた箱

得意なこと、苦手なことも、箱を入れた箱と最初から全部仕切られた箱の関係と似ている

Java自体が真性の多次元配列ないからKotlinにもないんじゃね
ScalaとかGroovyにも真性の多次元配列はないのだろう

847 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 20:55:27.19 ID:CMpb5of+.net]
それって、メモリは所詮一次元だけど
n×mの連続領域確保して[][]でアクセスできるインターフェース提供できれば二次元配列って言えるってこと?
ポインタの配列にしなければいいってことかな??

848 名前:デフォルトの名無しさん [2018/07/09(月) 20:56:07.10 ID:NIgnyVo4.net]
多次元配列みたいにアクセスできるクラス作って中で一次元配列を全容素数作ってアクセスする時に n * y + x のように計算してアクセスするの作れば、まあなんとなく気分を味わう事はできるな。
あとはうまいこと最適化されて効率よくなる事を祈るのみ。

849 名前:デフォルトの名無しさん [2018/07/09(月) 20:57:03.20 ID:NIgnyVo4.net]
うう。リロードしてなかったらなんとなく内容が被った。orz



850 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 21:13:13.46 ID:2EXLNjt4.net]
>>835
おおむねそういうこと
配列の配列は縦方向と横方向でアクセスのコストが違うとか
多次元配列は、行をまるごと取り出そうとすると新規に配列を作る必要があるとか、違いがいろいろある

Kotlinに真性の多次元配列はないけど、仮にあったらイテレーションする時も変わってくるはず。

for (item in twoDimesionalArray) { println(item) }

for (innerArray in arrayOfArray) {
for (item in innerArray) { println(item) }
}

851 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 22:15:19.94 ID:NSgi36DG.net]
普通のプログラミングよりPythonのnumpyとかMATLABとか科学技術計算やってた人はイメージしやすいかもね

852 名前:デフォルトの名無しさん mailto:sage [2018/07/09(月) 23:30:34.66 ID:1ah1GiNN.net]
マンピー?

853 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 00:37:38.55 ID:lPJyrY2R.net]
>>838
なるほどありがとう

854 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 06:58:10.69 ID:IxsE6k10.net]
>>840
なるほどありがとう

855 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 07:38:02.37 ID:LbQkaO6y.net]
ほとんどの言語は、配列の配列(jaggy 配列)だろ

表で言えば、同じ行内の列データは連続しているけど、
各行のデータは連続していない

1行目の各列は連続しているけど、
1行目と2行目は、別の場所にある

856 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 08:14:20.19 ID:UVYr8NpU.net]
計算コストを度外視すれば多次元配列でできることは大抵配列の配列で実現できるから、そこまで気にする必要はないんだけどね

857 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 09:17:54.93 ID:xdf1qrhG.net]
さも重大事のように煽っといてなんだその結論は

858 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 11:02:23.47 ID:4/WJyavM.net]
まあよっぽどカリッカリのパフォーマンスを求められるシビアな要件じゃない限りいらんわな
もしその差がそんなに重要ならとっくに色々な言語で実装されてる

859 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 14:19:24.23 ID:nhRVi4l7.net]
tensorkotlin



860 名前:デフォルトの名無しさん mailto:sage [2018/07/10(火) 22:11:35.45 ID:y/3n5Cpu.net]
>>835が言ってる通りで
糖衣構文的なものがあるかどうか程度の差

パフォーマンスが必要な部分はハードウェアアクセラレーションのため
java.awt.imageみたいにAPI経由するからDSL表現力さえあれば後はライブラリの役割

861 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 06:23:53.16 ID:xk2F4E8W.net]
配列は一次元、嫁は二次元だからそれぞれ1つずつ次元が上がって欲しい。

862 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 09:10:45.05 ID:A6luu057.net]
現在三次元の嫁はどうなりますか

863 名前:デフォルトの名無しさん [2018/07/11(水) 09:18:11.28 ID:/4kd3SWK.net]
3次元嫁は都市伝説

864 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 09:29:45.16 ID:RuBHX//D.net]
オンデマンドで呼び出せるんじゃね

呼び出し料金かかるけど

865 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 11:23:31.16 ID:xhtZxHU1.net]
Kotlinで書けるSPAフレームワークって無いの?
JSとかTS面倒なんだけど

866 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 11:38:40.09 ID:nnJijZVz.net]
TSなら面倒というほど大した差はないだろ
むしろVSCodeで鬼のように補完が効

867 名前:く分、フロントでの生産性は圧倒的にTSのほうが上 []
[ここ壊れてます]

868 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 12:25:18.13 ID:ut9WLbMZ.net]
補完に関してはKotlin+IntelliJIDEAのほうが上だろ
TSのフロントでの生産性が圧倒的なのには同意だが

869 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 13:25:44.38 ID:9wyU7EsK.net]
VSCode程の糞はない



870 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 14:32:59.18 ID:3OhKsAp4.net]
え?
VSCodeが糞かはともかくそれ以上の糞なんかJava系に限ってもeclipseとかNetBeansとかいくらでもあるだろ

871 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 18:21:16.24 ID:EedZr1tw.net]
Netbeansはひどいよなあ
あれMPLABのベースに使われててクソイライラする
ファイルの管理周りがとくにひどい
microchipはatmel買収したんだからatmelスタジオに追加すればいいのに糞が

872 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 19:05:58.45 ID:ZfcOFQ2e.net]
>>857
このスレのお約束フレーズだからマジレスすんな

873 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 19:07:03.83 ID:ZfcOFQ2e.net]
そういやeclipseにもkotlinプラグインあるらしいけど、わざわざeclipse使ってる奴いるのだろうか

874 名前:デフォルトの名無しさん [2018/07/12(木) 19:15:27.87 ID:cdBPRXqc.net]
>>860
他のプロジェクトも色々やっててそうしないと切り替えるのが面倒とか、あるいは会社でそれしか使っちゃ駄目って事になってるとか。

875 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 19:59:34.30 ID:aA43Ofcz.net]
>>860
一度使おうとしたけど、インテリさん使ったらインテリすぎて戻れなくなった
ただ、インテリさんはWeb関連の便利機能が有料なんで、そこらへんは月食さんの方が良いな

876 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 20:02:55.71 ID:WF2aS5Vl.net]
Androidで連続計測アプリを作るなら、
RxKotlinがいいの?

877 名前:デフォルトの名無しさん mailto:sage [2018/07/12(木) 22:51:04.77 ID:mvC68ILq.net]
>>860
1年以上前に使ってみたことがあるが、Javaのプロジェクトにまでエラーが頻発して使い物にならなかった。
なお、KotlinがAndroid公式に採用されて以降、この1年でほとんど開発は進んでいない模様。
釣った魚に餌はやらない、みたいな。

878 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 05:53:34.32 ID:m41AHQph.net]
>>862
IDEAの年額って、どう考えても払うだけの価値はあるほどエクリプスンより生産性上がるだろ
少なくともツール自体を動かすために余計な苦労は要らなくなる

879 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 06:43:02.63 ID:EUOoQR1t.net]
大量のプラグインのバージョン管理とか設定調整とかどう考えても時間の無駄だからなー



880 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 06:55:12.32 ID:Ee6EtEgb.net]
30日試用もあるけどひとまず1年分買って試すのも良いと思うな

881 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 07:58:16.06 ID:ov74f2Px.net]
>>866
年間通したらそれだけで数万円分の工数はとられるよな

882 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 08:09:45.54 ID:ov74f2Px.net]
Vimとかも自分で育てていく楽しさはあるんだけど、道具として割り切るなら箱出してほぼ何もせずとも全て揃ってるIDEAさんが最強なんだよなあ。
AndroidとiPhoneもそんなイメージだけど。

883 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 09:03:03.39 ID:CVNDg+4c.net]
xcode程の糞はない

884 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 09:20:51.97 ID:5TLJeRCv.net]
VSCodeはJava開発環境としてはMS自身によるプラグイン開発によって既に普通に使えるレベルに達してる
さすがにKotlinはJBとガチ喧嘩になるからMS自身は手を出さないだろうけど、
IntelliJが死んだらKotlinも当然自動的に消えるわけで、MSを調子に乗らせないためにもJBにはなんとか頑張ってほしい

885 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 09:21:39.47 ID:7kFLYEGJ.net]
VScodeほどの神はいない

886 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 09:46:20.22 ID:n ]
[ここ壊れてます]

887 名前:6HMRhww.net mailto: マジレスすると、
MS嫌いだけどVScodeは使いやすいよね
昔はEmacsとか使ってたけど、VScode使い始めて戻れなくなった
[]
[ここ壊れてます]

888 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 09:56:45.72 ID:cQfKwCET.net]
Emacsはマジで瀕死みたいだな。Atomに食われてVSCodeでとどめを刺された。

889 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 10:04:34.44 ID:SHnopJX1.net]
むかしむかし使い古しpcにDebianいれてゴニョゴニョ設定してxemacsを起動できたときめっちゃ感動した



890 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 11:55:19.72 ID:CVNDg+4c.net]
vimの完全勝利

891 名前:デフォルトの名無しさん [2018/07/13(金) 12:44:49.86 ID:fxcd0vFw.net]
ま、vimは軽いし何も考えなくて良いのがいいよな。
ただしサンプルプログラムのようなとても短くて小規模なプログラム作る時なw

892 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 13:16:53.00 ID:CVNDg+4c.net]
vimは単体で使うだけでなく、
プラグインという形で各種エディタ, IDEに組み込まれている
もはやコードを書くという行為はvimを使うことと同等
vimも使いこなせないようなやつはエンジニア向いてないね

893 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 13:24:28.27 ID:vWSrkCkJ.net]
お、そうだな

894 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 13:46:43.72 ID:r56MKyep.net]
VSCodeはVimプラグインもクソ優秀なんだよな
IDEとしての機能性とVimらしい快適性をこれほど高い次元で両立できるエディタは10年煮詰めたVimを除けば他にない

895 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 14:03:48.40 ID:5yynDKDH.net]
VSCodeのプラグインが優秀過ぎて他に移れない
シーケンス図とか描くのもすげー便利だし

896 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 14:15:06.91 ID:LloFxrI0.net]
IntelliJで開いたときに、赤も黄色も出ないコードを書くものだけが、Vimを使いなさい。

897 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 15:38:16.85 ID:RC8GAzHb.net]
シーケンス図なんて作らせるようなところでもkotlinだのvscodeだの使わせてくれるものなのか

898 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 17:17:34.83 ID:4N3JeixC.net]
intellijよりvsのほうがコード補完優秀だよね
頻繁に使うものが上位に来るし
intellijだとcって打つとCamera()とか一度も使ってないものががいきなり候補に出るし

899 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 17:37:39.30 ID:L1uFjowm.net]
intellij+補完で検索すると、わりと多機能で驚く



900 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 17:47:43.71 ID:r56MKyep.net]
VSの補完は機能とかそういう段階をとっくに卒業してる
ついに機械学習を使って文脈を理解する超補完を搭載するらしいな

901 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 18:36:03.53 ID:n6HMRhww.net]
みんなインテリとVSCどう使い分けてんの?
Kotlinはインテリで、それ以外の言語はVSCって感じ?

902 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 18:47:06.02 ID:m41AHQph.net]
jsだけVSで他はインテリんだな
正直Rubyとかどちらで書いても大差ないから、わざわざ乗り換えてない

903 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 19:34:40.82 ID:ojWLt4Rx.net]
cだけでCameraとかでてこないぞ?
Camまで打つとCameraクラスが候補の二番目に出てくるが
小文字のcじゃ下まで見てもCameraが候補に無い

904 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 19:39:27.08 ID:Uh3oS1ye.net]
黙って猫を使うべ

905 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 19:58:31.98 ID:FZV/D1H9.net]
Camera程の糞はない

906 名前:デフォルトの名無しさん [2018/07/13(金) 20:48:04.46 ID:WQBoNRJ+.net]
>>878
今日は釣れませんね。

907 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 20:53:25.87 ID:WQBoNRJ+.net]
>>882
「彼らはそれを聞くと、年長者たちから始めて、ひとりひとり出て行き、
そしてvimを使う者は誰もいなくなった。」

908 名前:デフォルトの名無しさん [2018/07/13(金) 22:09:00.10 ID:FGelWouYx]
>>886
もう搭載されてるよ
今はC#しかサポートされてないけど

intellicodeって言う機能で
GithubのStarが多いリポジトリで絶賛機械学習してる

909 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 22:19:5 ]
[ここ壊れてます]



910 名前:2.15 ID:4N3JeixC.net mailto: >>889
何が候補にでるかマチマチ
Colorが出てきたりもするし
とにかく直前に入力したやつが出てこなくてイライラするわ
[]
[ここ壊れてます]

911 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 22:58:51.51 ID:e4KiRV9a.net]
>>895
日本語入力じゃないんだから直前に入力したのに優先的に出てこられても困る
Android Studio kotlin は文法的に入力可能なものがだいたい順番変わらず出てくるんで、候補がまちまちってことは無いと思うぞ?

直前に入力したやつが文法的に正しくて、その名前を文法的に正しい位置に再度挿入しようとするなら、普通2〜3文字入力すれば出てこない?

912 名前:デフォルトの名無しさん mailto:sage [2018/07/13(金) 23:00:22.87 ID:e4KiRV9a.net]
あと俺の環境じゃ、小文字 c で、Camera や Color は絶対でてこない感じ

913 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 00:34:59.12 ID:Aep6lVRC.net]
まあCameraが出るかはライブラリによるんだけど
頼むからまず変数名優先してほしい
すぐ上にval cellがあるのに…
使ったこともないメソッドやクラスが第一候補になるんだよ

914 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 07:51:18.68 ID:JQ0iUrKc.net]
だから普通のAndroidのプロジェクトだとCameraはimportすれば使える状態なんだってば
だからCameまで入力すれば候補の一番に出てくる
でも小文字cだと候補全部見ても出てこない
大文字小文字区別するから

あと、関数内のローカル変数は候補の一番上にでてくるよ?
val cell がある関数内なら、cell が候補の最初にでてくる
アルファベット順みたいだから val ccc があればそっちが先になるけど

915 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 08:21:46.85 ID:JQ0iUrKc.net]
いま気が付いたけど補完候補のウィンドウの右下のアイコンで順番変更できるね
Aとπを切り替えられる
Sort by relevance がπで、これはローカル変数が先に出てくる
Sort lexicographically がAで、種類に関係なくアルファベット順にソートされて出てくる

916 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 09:26:42.24 ID:dkGtAehS.net]
>>900
お前神かよ
ご褒美にXamarinのライセンス買っていいぞ

917 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 14:54:16.91 ID:5xLt9ZqN.net]
うわ知らなかったわ
ありがとん

918 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 15:56:46.57 ID:Aep6lVRC.net]
>>900
大文字小文字は設定で区別しないようにしてるよ

919 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 16:47:47.10 ID:+xcHO0vt.net]
IntelliJでUML書いたらKotlinのコード吐き出したり
逆にKotlinのコードからUML作ったり出来ないかな



920 名前:デフォルトの名無しさん [2018/07/14(土) 18:58:50.43 ID:6PGIbnJP.net]
売ってるソフトでJava用があるから何れはできるんだろうな。IntelliJ用のプラグインができるかどうかはわからないが。

921 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 13:45:49.84 ID:Hz5XkdO4.net]
UMLって久しぶりに聞いたな
まだ作ってるところあるのか

922 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 16:24:31.04 ID:3xY3bcKj.net]
あかんの?

923 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 17:07:41.02 ID:raVPXb0K.net]
いや普通に使うけど。
設計書に貼り付けたり他人への説明に利用したり。

924 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 17:38:53.88 ID:uIOFDJwQ.net]
UML自体は普通に有用だと思うけど
コードと同じくらいの粒度で使うのは無理があると思う

プログラマくらいにしか分からんような複雑なUMLが出てきたり
時間掛けた割にはしょぼいコードが生成されるだけ

925 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:20:11.68 ID:CEbRprL7.net]
いまどきUMLって…

926 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:25:40.94 ID:+eT7t0LR.net]
プログラマ以外に理解してもらうツールじゃなくね?
プログラマ以外に使ったらクラス図で「矢印の方向は逆だろ!常識で考えろ!」とか言われそう…

927 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:40:13.88 ID:Hceo1yYw.net]
「UMLを理解してるプログラマ」と「UMLを理解してるプログラマ以外の人」とのコミュニケーションの為の共通

928 名前:言語 []
[ここ壊れてます]

929 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:48:47.40 ID:wQ4YHCTS.net]
シーケンス図はかなり需要がある



930 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:49:50.14 ID:8t2eejTv.net]
>>913
たとえば?

931 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 18:53:38.68 ID:wQ4YHCTS.net]
>>914
>>908

932 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 19:18:47.75 ID:Ukh8Tanz.net]
>>912
まあその程度だな
学術分野におけるドイツ語くらいの需要

933 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 19:20:27.67 ID:cKZpz8ou.net]
UML程の糞はない

934 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 20:02:07.66 ID:8t2eejTv.net]
>>915
具体的に

935 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 22:53:24.26 ID:gJmfo5mB.net]
>>917
なんでもクソにしたがるのはNG

936 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 22:54:05.52 ID:6dWIKdS7.net]
>>916
ああしっくりきた。
新卒で入ったSIerではたまに使ったけど、転職してからは見たことないわ。
基本的に大規模開発のドキュメントくらいでしか使わんかもね。

937 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 23:06:21.06 ID:VHVK8HfR.net]
SIer程の糞はない

938 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 09:06:08.21 ID:uw6hw0Ul.net]
自分がお堅い受託やってたの5年くらい前だけど、その頃にはUMLってすでにあまり聞かなくなってたな。
上に挙げられてるような用途では有用なんだけど、だいたいあれを使って説明したい相手がUMLを知らないから作る意味がなかった。
あとドキュメントのメンテで死ぬ。

939 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 11:42:34.36 ID:+8yEYxZh.net]
UMLに限らないけど、あまり実装の中身に踏み込んだドキュメントは作るべきじゃない
何もいいことはないし、第1大抵は誰も見ない



940 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 12:33:18.70 ID:01iJluUg.net]
全部印刷して見てもらえばいいの?

941 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 12:38:25.05 ID:xJBxrgfC.net]
UML流行らなかったな
需要はありそうだったんに

942 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 13:12:45.40 ID:uzDS2N3a.net]
糞はない大喜利してるやつはスルーしとけよ

943 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 13:40:04.44 ID:GVNh7z7o.net]
クラス図、コミュニケーション図、シーケンス図あたりは日常的に使うわ。
ソフトウェアの静的&動的構造を図示したかったらUML以外を選ぶ理由がないもの。

機械生成や詳細設計まで踏み込んで使用するのはまったくおすすめしないね。要約してppt一枚に収まり切るくらいが丁度いい。
あくまで人に見せる&説明する用。

944 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 13:44:27.92 ID:fVJkfJ21.net]
お遊びならppt一枚でいいかもしれないけど
仕事では何百、何千ページの要件定義、基本設計、詳細設計を書かなければならないんだぜ
そのページ数に比例する枚数のUML作図コストはあまりにも高すぎる

945 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 13:51:34.31 ID:fyxTFisU.net]
古い体質の会社で働いてるんだな
秀丸エディタとか使ってそうw

946 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:07:08.64 ID:BXgPiXpB.net]
プログラミングに図は不要、グローバル変数ぐらいevil

947 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:17:39.16 ID:7c+rCVk/.net]
×仕事では
○自分の会社では

この世の99%のプロジェクトでは数千ページに及ぶドキュメントとか不要

948 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:21:58.27 ID:fVJkfJ21.net]
小規模のショボいシステムしか知らないのだろうけど
そういう人たちは気楽でいいよねぇ
典型的なカジュアルプログラマって感じ
遊び半分って表現がピタリ

949 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:23:30.12 ID:UinAaMlN.net]
それをkotlinで構築するのは大変そうですね



950 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:35:01.85 ID:BXgPiXpB.net]
日本でドキュメントが多くなるのは承認したいからだろ

951 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:35:21.08 ID:fVJkfJ21.net]
そりゃ大変だよ
でもそれが無かったら大変どころか完成すらできない
行き当たりばったりのライブコーディングで完成まで持っていけるオモチャじゃないんだからさ

952 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:43:26. ]
[ここ壊れてます]

953 名前:70 ID:ohzE/Xv8.net mailto: UML要るか要らんかで揉めてるけど、結局のところ作ってるソフトの規模の違いじゃね?
趣味とか社内で使うもんとかなら要らんだろうし、そこそこの規模になったら必要だろうし
[]
[ここ壊れてます]

954 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:44:52.24 ID:BXgPiXpB.net]
むかし現場にいたころは何か問題あったときのためにいちいちドキュメント作ってたな
テスト仕様書なんてものもあって、誰でもわかるようにテストケースごと図示して承認もらってた
そして心が病んだ

955 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:49:32.23 ID:GVNh7z7o.net]
>>928
全部網羅しようとするから使わなくなるんだよ。使いどころが間違ってる。

956 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 14:59:30.28 ID:BXgPiXpB.net]
小学生でも理解できるようにって言葉を使うやつは大抵悪だったな
むかしの話

957 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:02:20.87 ID:fyxTFisU.net]
Linuxのような大規模オープンソースプロジェクトでもgithubでソースコード共有だけで成長していけてる
ドキュメントやUML作成してから開発してるかと
ソースコードの読めない無能が仕事してる振りするためにやってるだけで無くなっても誰も困らない

958 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:08:54.36 ID:uw6hw0Ul.net]
うちはドキュメントは最低限のものしか作らんな
なんでもかんでもドキュメント化してしまうと、それをメンテするだけの無駄すぎる人間が必要になってしまうから
あんなのは何をするにもスタンプラリーの必要な多重下請け開発のためのものだ

959 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:29:59.18 ID:Rr4RdhNM.net]
今なら、Markdown 使ってドキュメント書くみたいに、PlantUML 使って UML を書く

IntelljIDEA 上で書くためのこんなツールもある
https://qiita.com/ot-aoyagi/items/d2bfbff219c592822d53



960 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:35:17.92 ID:Rr4RdhNM.net]
>>940
Linuxカーネルリポジトリの Documentation ディレクトリ程度のメモは残してほしいものだよ

961 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 15:55:43.32 ID:BXgPiXpB.net]
まあ、納品するためにはそれなりのドキュメントは必要だけどな
若いころはその辺の扱いが不器用だったかもな

962 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 16:45:20.43 ID:ovPZyHUy.net]
このスレがたまに伸びてる時はkotlinとまったく関係ない話題の時だけだな

963 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:20:14.85 ID:ulCGKy5b.net]
ドキュメント程の糞はない

964 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 18:52:41.76 ID:akLRrngB.net]
仕様書はあった方がいいけど設計書は無い方がいいな
大抵メンテされなくて実装と違ってくるもんだろ

965 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:06:31.04 ID:uw6hw0Ul.net]
アジャイルで開発してるのになぜかWFの納品時と同じドキュメントをリリースごとに作成することになって担当者をうつ退職に追い込んだプロジェクトは見たことある

966 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 19:07:38.39 ID:uw6hw0Ul.net]
>>947
仕様書とテストコードがあればいいと思うわ

967 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 21:55:11.38 ID:6QeLbbGB.net]
>>949
同感。設計書なんてどうせメンテしなくなる。仕様とテストコードがあれば十分

968 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:12:36.82 ID:m2D0dvJF.net]
>>915
まだ?

969 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:20:41.13 ID:CUlrxwgg.net]
>>951
十分具体的と思うけど、どんな回答期待してるん?



970 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:23:23.55 ID:m2D0dvJF.net]
>>952
いやいや全く具体的じゃねーだろwww
なんのために設計書に貼り付けるの?他人に何をどう説明するために使うの?

971 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:26:32.64 ID:bD3YDSN2.net]
何をどう解釈すればあれで具体的と思えるのか謎

972 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:36:04.89 ID:7c+rCVk/.net]
>>932
この世の99%のプロジェクトはその"小規模のショボいシステム"とやらなんで
というよりもひとつひとつが小規模になるように問題を分割するのがまともな開発だからなー
ぶくぶくに膨れ上がったプロジェクトは大変そうですね

973 名前:デフォルトの名無しさん mailto:sage [2018/07/16(月) 23:37:28.41 ID:MC8nA4Wg.net]
>>953
具体的な質問ありがとう。
あとは>>915よろしく

974 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 00:06:24 ]
[ここ壊れてます]

975 名前:.03 ID:bOB/b2Td.net mailto: 詳細設計なんて必要になるのはプログラマーですらないコーダーだけだからな []
[ここ壊れてます]

976 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 00:20:10.10 ID:sRCRxM3T.net]
コーディング作業自体が設計
コンパイルが仕様
以上

977 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 00:28:56.47 ID:Z83QhDM9.net]
管理しかしないでコードの読み書きしないやつほどの糞はない

978 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 00:38:44.90 ID:bG8bFXyk.net]
詳細なUMLを書くことなんてもうないが
シーケンス図いらないと言ってるのは自己完結してるショボいコードしか書いたことない奴だろ

979 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 04:20:12.48 ID:fhQFSH5P.net]
>>960
Kotlinのシーケンス図よろ



980 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 06:13:16.99 ID:PDZGrLP2.net]
UML書かないと趣味レベルとか、どんだけ狭い世界で仕事してたらそういう発想になるのよ
自分の人生のために転職を勧める

981 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 08:29:20.72 ID:drgUPcWy.net]
まあサーバとクライアントと別の人が実装するような場合はシーケンス図で仕様検討したりするかな

982 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 08:43:06.59 ID:ECl1Ni9J.net]
>>963
別にそれは誰も否定してないけどね

983 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 09:10:23.42 ID:Ph8+CP2q.net]
マ板と真逆の反応でわろた
あっちはドカタしかいないから設計書なんて要らんと言ったらリンチされる

984 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 10:06:51.40 ID:4VCkuZ0T.net]
実装と完全に同期するように設計書をメンテできているものだけがそのリンチに参加しなさい。

985 名前:デフォルトの名無しさん [2018/07/17(火) 10:30:42.92 ID:lbJGoJLr.net]
プログラムがドキュメントのようになっているのが良い、なんて言われてた時代もあったな。

まあしかし設計書読ませてそのまんま動くようなのはその内AIできたりして、そこで大半のプログラマーは終了。
プログラミングは職業ではなくなり趣味と老人のボケ防止のための頭の体操になる。

986 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 10:37:43.31 ID:4VCkuZ0T.net]
それよく聞くけど、そんなレベルのAIがもし出来たらプログラマに限らず大抵のオフィスワーカーは要らなくなるわ

987 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 11:23:39.79 ID:TjYmue+F.net]
UMLの話題でこんなにスレが荒れるとは思わなんだ
それだけことりんが大規模開発から趣味レベルまで幅広く使われてるってことかもしれんが

988 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 12:46:32.48 ID:FO/D1Qz9.net]
単に他に話題がないところにみんなが一見識持ってる話題が投下されただけな気がする

989 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 13:18:30.63 ID:YXVoul7I.net]
言語自体の話でスレが伸びないのは良言語である証拠



990 名前:デフォルトの名無しさん [2018/07/17(火) 16:02:40.63 ID:hPJdqeLg.net]
次はエディタやIDEで大論争になってあっという間に3スレぐらい消費か

991 名前:デフォルトの名無しさん [2018/07/17(火) 16:04:56.05 ID:hPJdqeLg.net]
なお、俺は規制で次スレ立てられないので誰か作ってくれ。よろしく。

992 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 17:10:32.96 ID:TXrmOekB.net]
ということでおまえらはやっぱりIntelliJなの?っと

993 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 17:35:21.89 ID:ml19nnIF.net]
今のゲームて説明書薄いよね
昔のゲームは分厚くて読んでてワクワクしたもんだけど
これは流れとは関係なかったか

994 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 17:55:55.43 ID:cQRkMzpw.net]
てか付いてない。ゲーム内説明書なんでで。

995 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 18:00:43.42 ID:PDZGrLP2.net]
立てれた

Kotlin 4
mevius.5ch.net/test/read.cgi/tech/1531818027/

996 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 18:18:17.27 ID:aTT7MA8j.net]
>>974
KotlinをIntelliJ以外で書く意味がなさすぎる

997 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 18:29:37.86 ID:7/fv/TQ9.net]
>>978
intelijって無料で使えるの?
pycharmみたいに

998 名前:デフォルトの名無しさん [2018/07/17(火) 18:35:44.38 ID:ZWBv+70m.net]
>>979
使えるよ。無料のと有料のがある。

999 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 20:11:09.05 ID:7/fv/TQ9.net]
>>980
community editionあるんですね!
サンクス



1000 名前:デフォルトの名無しさん mailto:sage [2018/07/17(火) 22:29:31.95 ID:wwWdKnHw.net]
インテリ嬢

1001 名前:デフォルトの名無しさん [2018/07/18(水) 04:07:15.67 ID:7Z3eO87O.net]
これからの時代はフローチャート

1002 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 09:04:55.18 ID:qyrLOrk5.net]
学校ではPADしか教えてくれなかった

1003 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 10:34:35.20 ID:fwbxdkPY.net]
普通 HCチャート(嘘)

1004 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 10:47:52.80 ID:x6hF3G2g.net]
>>978
AndroidStudio<・・・

1005 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 12:20:49.72 ID:npF2jrft.net]
>>986
それはIntelliJに数えていんてりじぇー

1006 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 13:01:16.07 ID:bhG7+Dwu.net]
>>987
審議中・・・

1007 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 13:10:13.28 ID:uZBORPFp.net]
VARで確認中...

1008 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 13:40:34.38 ID:dIg+157P.net]
優秀な人間よりも、無能でも許される人間になりたい

1009 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 13:40:56.05 ID:MeT4hb8w.net]
varなんて使うなよ、valにしろ



1010 名前:デフォルトの名無しさん [2018/07/18(水) 13:46:54.63 ID:9IEVAZpR.net]
やだ。

1011 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 15:06:45.58 ID:Tap3QeHW.net]
デフォルトでvarに下線がつくのは、不快な見た目にすることでなるべく使わないようにするためだってJBの中の人が言ってた

1012 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 16:12:43.64 ID:4nmakiD0.net]
いないいないvar

1013 名前:デフォルトの名無しさん [2018/07/18(水) 16:28:23.81 ID:4ELcifB5.net]
vim使ってるので特に下線は出ない

1014 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 18:09:21.85 ID:nmJYq7on.net]
セクシーvim

1015 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 18:12:21.63 ID:tI4FNPRT.net]
普段Kotlin書かないからVSCode

1016 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 20:35:54.38 ID:9cXEZeuX.net]
fun main(args:Arrey<Strings>){
println("うめる")
}

1017 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 20:45:17.32 ID:OIFrVuMx.net]
class Xamarin {
fun toString(): String = "糞"
}

1018 名前:デフォルトの名無しさん [2018/07/18(水) 20:58:06.45 ID:3T+bsJq5.net]
class 埋

1019 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 01:17:44.05 ID:KhbPDXNN.net]
Kotlinプロジェクト作成



1020 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 01:18:39.08 ID:KhbPDXNN.net]
package Kotlin 3

import android.content.Intent;
import android.net,Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class UMeinActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

var レスCount : Int =>>1002

if(1000 == レスCount ){
val url: String = "mevius.5ch.net/test/read.cgi/tech/1531818027/"
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(url)
startActivity(intent)
}
}

1021 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 121日 20時間 52分 13秒

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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<204KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef