X



Kotlin 3
レス数が1000を超えています。これ以上書き込みはできません。
0631デフォルトの名無しさん
垢版 |
2018/06/24(日) 19:57:19.87ID:p+pduEru
じゃあちょっと質問の仕方を変えますね

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

これならわかるかな?
0634デフォルトの名無しさん
垢版 |
2018/06/24(日) 20:40:44.92ID:p+pduEru
そもそも、nullを代入しなければいいのでは?
もしくは初期化しておけばいいと思います

違いますか?
0638デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:05:43.17ID:VUEtZOMW
>>634
初めたばっかで良く分かって無いが、null使わないなら許容する意味が無くね-か
寧ろnullを使う意味が分からない
0639デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:22:24.66ID:YRVrDSwQ
例えばSwiftは言語仕様でnullを抹殺しているが、わざわざOptionalというnullでないものでnullを表現してる。nullがない世界など何処にもないのだ。
0640デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:25:55.36ID:p+pduEru
例えばファイルが読み込めなかった場合、どうなると思いますか?

答えられますか?

答えられるようになったら質問してください。
今はそういうレベルの話ではないです。
0641デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:38:37.19ID:/V8oJSwl
>>630
> なぜnull不許容が必要なのか教えてください
あなたの言う意味では不要。null許容にすることによってプログラミングが不可能になることはない。
nullによって発生する凡ミスが減るというメリットを必要とする人がいる。それだけ。

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

> 例えばファイルが読み込めなかった場合、どうなると思いますか?
ここでnullを許容する必要があるのではないかと言いたいんだと思うけど、
Kotlinがそうしているかどうはかは別にして、「ファイルが読み込めなかった」という
nullでない値を返すという考え方もある。
null許容のJavaだと例外を投げるところかな。
0642デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:40:24.82ID:p+pduEru
>>639
おっしゃる通りで、結局不正なデータのチェックは必要なわけで、null不許容だから安心して使えるわけでもなく、寧ろ何気にうまく動いている状態が一番怖いです
0643デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:52:05.84ID:p+pduEru
null不許容のクラスを作るとして
そこではあらゆるケースに対処を強いられるわけで、チェック項目は膨大になります
しかしそれを利用する側は単純にファイルが読めるか否かだけ知れればいいとします。
null不許容を取り入れるということは、開発コストが上がることを示唆しているのではないかと

どうですか?
0644デフォルトの名無しさん
垢版 |
2018/06/24(日) 21:54:49.09ID:YRVrDSwQ
Optionalは中身取り出すのにアンラップが要る。Kotlinはnullにならないようにコンパイラがチェックしてるだけ。よってアンラップ不要。副作用としてnullを許容してないのに場合によってはnullが入ってしまうこともある。。
0645デフォルトの名無しさん
垢版 |
2018/06/24(日) 22:02:12.48ID:p+pduEru
>>644
それは実行時の動的なnullですよね。
私が質問しているのは、null不許容型(言い換えれば静的なnullに関して)の必要性についてです。
0648デフォルトの名無しさん
垢版 |
2018/06/24(日) 22:10:34.25ID:GxIVu2Pg
おおかた大学のレポートなり試験なりでその質問をされて回答を探しにきたんだろ
ネットで煽りっぽく聞けばムキになった人が答えてくれるからね、君は賢いね、偉い偉い
0652デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:18:47.64ID:eSenA4KT
>>624
コンパイルする言語なのかインタープリタなのかという問題ではなくて、そういう仕様の言語というだけのこと。
というのはコンパイルしようがしまいが同じような言語は作れるから。
0654デフォルトの名無しさん
垢版 |
2018/06/24(日) 23:25:25.08ID:eSenA4KT
今ちょっと前にAmazon見たらこれのKindole版の方だけ1361円だった。55%offかな。だいたい半額ぐらい。
短期間のセール価格なのかも知れない。

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

紙の本はもう持ってるのにうっかり押しちゃうところだったw
0656デフォルトの名無しさん
垢版 |
2018/06/25(月) 00:03:59.42ID:MQFTLmTQ
>>655
宣伝にはなっちゃうが他に知らせる方法ないよな。
0657デフォルトの名無しさん
垢版 |
2018/06/25(月) 01:08:25.26ID:eZlTEzf8
>>648
だろうな
煽り質問は無視しとけば良い

世の中nullっとしてないと入るものも入らないんだよ
0661デフォルトの名無しさん
垢版 |
2018/06/25(月) 08:59:14.92ID://DXoKuS
とするともう大学で教えてる所があるということになるな
0662デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:02:09.61ID:1p6QEPdQ
null安全な言語はもうずっと前からあるから、それに触れる授業くらいはいくらでもあるでしょ
0663デフォルトの名無しさん
垢版 |
2018/06/25(月) 09:08:55.77ID://DXoKuS
>>657
【審議中】
.   ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’
0666デフォルトの名無しさん
垢版 |
2018/06/26(火) 06:08:18.39ID:2T7FQdCl
KotlinのターゲットJVMは、Java8の次はOracleJDK 11になるんだろうか、OpenJDK 11になるんだろうか。
0671デフォルトの名無しさん
垢版 |
2018/06/26(火) 15:46:55.60ID:JaGjn0N8
nativeっておもちゃとしては楽しいだろうけど、現実的にそこまでニーズあるかね
0673デフォルトの名無しさん
垢版 |
2018/06/26(火) 19:48:16.67ID:EJ9QuCpH
>>671
まずはおもちゃとして使って楽しんで、それから何かに使えないか考えれば良いのではないかな。
その内なにか丁度良い用途が見つかると思うよ。
0674デフォルトの名無しさん
垢版 |
2018/06/26(火) 21:43:33.91ID:94ok3+r+
趣味で何か作るなら是非使いたいね。
ビジネスプロダクトを作るならまたちょっと話が変わるけど。
0675デフォルトの名無しさん
垢版 |
2018/06/27(水) 07:38:02.49ID:6utZ2/C2
クロスプラットフォームって、出始めの頃のhtmlベースのそび糞達のせいで普及が5年は遅れてると思う。
いまだにあの頃のイメージは抜けきれてない
0676デフォルトの名無しさん
垢版 |
2018/06/27(水) 08:32:56.41ID:mCGbxVOO
Kotlinを選ぶ時点で、既に自分の得意な特定の言語に固執する低レベルな段階を卒業してる人が多いだろうから
無理にKotlin使うよりプラットフォームに合わせた適切な言語を使うべきと考える人が多数派だろうね
0677デフォルトの名無しさん
垢版 |
2018/06/27(水) 08:41:17.54ID:EhxoKQAq
うちもいくつかアプリ作ってるけど、結局それぞれのネイティブで並行開発が1番間違いないって感じになってるな。
Xamarin使ってるのもあるけど、やっぱり色々辛い。RNはもっとアレだったからプロダクトに使う前にやめた。
0682デフォルトの名無しさん
垢版 |
2018/06/27(水) 12:18:58.79ID:+kJys0PI
単純にプラットフォームのバージョンアップに加えて、Xamarinの更新や仕様変更にもついていかなくちゃいけないのが割と大きいんだよね。
レイヤーが1枚増えるぶんこちらの意思とは無関係にメンテしなくちゃいけないものが増える。
0683デフォルトの名無しさん
垢版 |
2018/06/27(水) 18:40:46.48ID:joyJ67qD
ネイティブでクロスコンパイルだとgoがいい感じなんだがいかんせん言語仕様がアレじゃん?
rustもつらみが深いし。
kotlinがそこ狙ってくれないかなー
0686デフォルトの名無しさん
垢版 |
2018/06/27(水) 20:31:33.36ID:9CxCJ+s3
GoはGoogleAppEngineとセットで推されてる感じ
Dartはモバイルアプリに使えるようになったけど、PWAにも対応されるのかな
0687デフォルトの名無しさん
垢版 |
2018/06/27(水) 21:31:14.11ID:/7xWx8r1
Google A 「KotlinはAndroid開発の第一級言語」
Google B 「Dartならクロスプラットフォーム開発出来るよ」
Google C 「社内ではTypeScriptが標準開発言語ですけどね」
Google D 「Goはさらに進化する」
0689デフォルトの名無しさん
垢版 |
2018/06/27(水) 21:54:44.06ID:058nb6Zd
そういうカオスなのがGoogleっぽくて嫌いじゃない
Googleはインド系
Appleは中国系
0690デフォルトの名無しさん
垢版 |
2018/06/27(水) 22:06:52.35ID:M3lpNFO8
Google的にはWebAssemblyはどの言語なんだろ
Kotlin/Nativeを推してくれたりしないものか
0691デフォルトの名無しさん
垢版 |
2018/06/27(水) 22:36:51.97ID:09Lu5AaC
GoogleはSEO最強だからどんなものでもそれなりに凄いもののように見えるけど、
実際にはGoogle自身も全く本気でやってないお遊びレベルのゴミが多いでしょ
Googleって社内的には非常に一貫性の高い独自のプラットフォームがあって、世間のOSSベースな開発とはかけ離れた世界になってるらしいし
0692デフォルトの名無しさん
垢版 |
2018/06/28(木) 05:21:24.48ID:lL281Rpl
ソースは?
0693デフォルトの名無しさん
垢版 |
2018/06/28(木) 08:16:52.30ID:1UW06GNd
googleのソースリポジトリへのコミット要件が割と厳し目なのは有名かな。
その割にgithubにあげてるのはそもそもまともに動かないものもたまにある。
0696デフォルトの名無しさん
垢版 |
2018/07/01(日) 08:01:17.25ID:/DvFOeR7
すみません、どちらに質問させて頂けるのか分からなくてこちらで教えていただければと考えてます。よろしくお願いします。
0697696
垢版 |
2018/07/01(日) 08:15:08.30ID:/DvFOeR7
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}を実行しているという理解でいいのでしょうか?
0698デフォルトの名無しさん
垢版 |
2018/07/01(日) 08:18:15.23ID:nOlX7v2j
>>681
Unityの「だってお前らこれではゲームしか作らんだろ」という割り切りっぷりは清々しい
ゲーム的文法で作る以外のルートがねえw
0699デフォルトの名無しさん
垢版 |
2018/07/01(日) 10:29:25.00ID:7m3QggRW
>>697
1行目はLという名前の関数にxを渡してるだけ
 fun func(x:int, y:(Int)->Int) {
   return L(x)
 }
の省略表記
ただ、引数のyが無視されているので
L(x) じゃなくて y(x) の間違いなんじゃねって気がする

2行目は代入云々はその理解で合ってるけど
「実行している」のではなく「定義して渡している」
実際そのコードではyが呼ばれてないのでその掛け算は実行されない
0704デフォルトの名無しさん
垢版 |
2018/07/01(日) 19:41:23.70ID:zdyprq44
以前はPASCAL, ML, Haskell、最近なら Scala, Go もこういう形で、
「型 変数」っていう順序のCスタイルの方が本来異色なんだけど。
0706デフォルトの名無しさん
垢版 |
2018/07/01(日) 20:49:55.44ID:8aTW58+O
val name : String = " 名前"
" String "に代入してる感覚があるから、わかりにくのは事実だわなw
0709デフォルトの名無しさん
垢版 |
2018/07/01(日) 21:31:28.10ID:sOb0a/fB
文芸的プログラミングというやつで、
val name: String
はname of Stringと見えるから英語の順序的にはこのほうが自然
0710デフォルトの名無しさん
垢版 |
2018/07/01(日) 21:38:16.02ID:nOlX7v2j
てゆーか>>702の例の時点でさくっと英語理屈を出してあげたほうが混乱がなかったと思う
じゃあなんでC族がそうなってないかって?
Cだからそんな面倒なことしねーんだよお前側が機械に合わせろw
0711デフォルトの名無しさん
垢版 |
2018/07/01(日) 22:01:00.11ID:q7RVjG2e
日本語話者の一般的な認知様式は
鳥の模型>模型の鳥
名前を表す文字列>文字列で表された名前
だし、日本語でも 変数名:型 の方が言語的には自然では
0713デフォルトの名無しさん
垢版 |
2018/07/01(日) 22:26:56.25ID:nicbhK38
言葉的にはそうかもしれないが
抽象度の順じゃないつうのがねー
これがモヤっとする原因

哺乳類>人間>山田
0717デフォルトの名無しさん
垢版 |
2018/07/01(日) 23:01:37.60ID:8aTW58+O
kotlinの基本に慣れる為に

val name : String = " 名前"

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

と言う解釈がすんなり行けるかな
0718デフォルトの名無しさん
垢版 |
2018/07/01(日) 23:08:56.02ID:raAwvdUY
val name: String = "..."

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

打ってる時はだいたいこういう感じの思考の流れがある
0721デフォルトの名無しさん
垢版 |
2018/07/01(日) 23:27:05.41ID:yaDvqYhr
昔々PascalというかDelphiをよく使っていたので変数名、形の順でも違和感なし。
Oracle の PL/SQL も確かそうだったな。

Cも昔からよく使ってるけどね。Javaは趣味で使う程度かな。
0722デフォルトの名無しさん
垢版 |
2018/07/01(日) 23:30:37.32ID:yaDvqYhr
そういやKotlinは val a, b, c : Int みたいに書いてまとめて宣言できないんだっけ?できた?
0726デフォルトの名無しさん
垢版 |
2018/07/02(月) 04:08:17.17ID:M/CoMLX8
>>725
エラー出ないから言語としては良いのでは?

関係ないが>>722で書いたやつは試したらダメだった。
0729デフォルトの名無しさん
垢版 |
2018/07/02(月) 15:54:18.89ID:fF3oZnn5
そうそう型と継承が同じ記法だからごちゃごちゃするよな
どうせならすべて動的型付けにすればよかったのに
0730デフォルトの名無しさん
垢版 |
2018/07/02(月) 16:24:41.26ID:6MU/ELtX
動的型付けだと、存在意義全否定だろ。
Groovyでも使っとけ。
0732デフォルトの名無しさん
垢版 |
2018/07/02(月) 21:15:16.60ID:BzTTxziN
>>699
お礼が遅れてすみません。
仰る通り、記載ミスで、y(x)です。

ご解説ありがとうございます。
すっきりしました。ありがとうございます。
0734デフォルトの名無しさん
垢版 |
2018/07/02(月) 23:00:47.89ID://b/At4I
慣れたら型が後の方が可読性高く感じる
それと構文解析しやすくなるのもあるんじゃね

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

型が先だと関数型(function type)が他の構文と衝突しないよう識別子やジェネリクス型を置くことになる
0736デフォルトの名無しさん
垢版 |
2018/07/03(火) 00:39:55.52ID:TIu9/k2l
関数の返値の変数の型も指定できるから、そっちのほうはわかりやすいんじゃないかな

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

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

val hoge: () -> String = fun(): String = "ぬるぽ"
0738デフォルトの名無しさん
垢版 |
2018/07/03(火) 10:05:34.13ID:2Hrfam1D
慣れの問題じゃなあかなあ
0739デフォルトの名無しさん
垢版 |
2018/07/03(火) 10:06:19.13ID:2Hrfam1D
うう。スマホのフリック入力で失敗した。
0740デフォルトの名無しさん
垢版 |
2018/07/03(火) 10:07:52.88ID:ng0Ex9q0
>>738
人間歳をとると新しいものに慣れるのに時間がかかるようになる
そしてこのスレはおっさんのすくつだ
0741デフォルトの名無しさん
垢版 |
2018/07/03(火) 10:19:34.86ID:lMsOY+nb
このスレの人たち、今だにガラケー使ってそうだな
いつまで慣れの問題でギャーギャー言ってんだよ
0745デフォルトの名無しさん
垢版 |
2018/07/03(火) 15:56:30.11ID:k8WNCQ/C
もう一つ質問させてください

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

1はコンストラクタは持たない
2は自動でパラメータのないコンストラクタが生成される
3は( )内でパラメータを初期化し{ }がコンストラクタになる
という理解でいいのでしょうか?
0747デフォルトの名無しさん
垢版 |
2018/07/03(火) 20:19:53.43ID:rBmEiF9u
>>745
以下4行は同一、下に行くほど省略表記なだけ
コンストラクタは自動的に作られる

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

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

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

リファレンス
https://kotlinlang.org/docs/reference/classes.html
0748デフォルトの名無しさん
垢版 |
2018/07/03(火) 20:54:14.27ID:ODNzvHJa
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を作るようなコードが載っているので、
そのままコピペして試してみたんですが、コンパイルが通らないんですがどうしたらいいですか
0751デフォルトの名無しさん
垢版 |
2018/07/03(火) 21:34:21.57ID:ODNzvHJa
Kotlinに変換しても同じだった
エラーメッセージは以下だが、何を治したらいいのか
Cannot resolve constructor 'ObservableField(...)'
0752デフォルトの名無しさん
垢版 |
2018/07/04(水) 04:50:43.63ID:deFmQ17L
スレ違いの
0756デフォルトの名無しさん
垢版 |
2018/07/04(水) 07:42:41.16ID:d8xWcdxC
初心者でせっかくだらjavaよりも新しいkotlinでやろうと勉強中なんだけど、結局javaも知らんといかんのね…
0757デフォルトの名無しさん
垢版 |
2018/07/04(水) 07:54:41.64ID:qSU3AFLq
「こんぱいるとおりません」は実際なんも説明してねーからな

で、「ほんとうに」全部自分でゼロから作るならJavaの知識は不要なのだけど
実際はJavaの内部ライブラリやJava製の外部ライブラリを利用するorさせられることが多いので
Javaは少なくとも読めて呼び出し法くらいは知っておかないと現状余裕で詰まる
0758デフォルトの名無しさん
垢版 |
2018/07/04(水) 08:34:41.84ID:dJOGt5Qc
普通に、コンストラクタの引数がちがうか、importしてないか、importするための設定をbuild.gradleに書いてないかだろ
0762デフォルトの名無しさん
垢版 |
2018/07/04(水) 10:40:04.79ID:dJOGt5Qc
build.gradleのandroid {} のなかに dataBinding { enable = true } 書いて、ObservableField のとこで Alt + Enter すれば、必要なimport が追加されたよ
0763デフォルトの名無しさん
垢版 |
2018/07/04(水) 11:34:18.64ID:Fv6I2084
return context.getResources().getString(R.string.name, first.get, last.get();
ここの行のfirst.getもfirst.get()のはずだし、公式のサンプルコードがおかしいんじゃねえの
0766デフォルトの名無しさん
垢版 |
2018/07/04(水) 15:27:56.70ID:hVA06Lo9
>>722に書いたやつはできないがこういうのはできるのな。

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

ただし5つまで。理由は component1() 〜 component5() を使うため。
0769デフォルトの名無しさん
垢版 |
2018/07/04(水) 19:20:22.52ID:dJOGt5Qc
>>765
kotlin はテキストのコピペで説明できるから簡単じゃね?
VS使ってるとスクリーンショット使わないと説明できないこと多くて大変
0772デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:47:17.49ID:gFgZc5FG
9MT
0773デフォルトの名無しさん
垢版 |
2018/07/05(木) 06:52:07.84ID:3UdVdS3q
つまりVSは抽象概念だった?
0775デフォルトの名無しさん
垢版 |
2018/07/05(木) 18:25:29.62ID:em8VdMHP
すみません。ラムダ式について質問させてください。
純粋に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()
とかですか?
0776デフォルトの名無しさん
垢版 |
2018/07/05(木) 18:48:07.71ID:9m4qXusF
質問の意味がわからない
0777デフォルトの名無しさん
垢版 |
2018/07/05(木) 19:37:20.63ID:gU4M+kls
>>775
いや、そのラムダは引数に何も受け取ってないよ

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

JavaScriptとかの書き方で言えば
() => { a1.en() }
みたいな感じ
0779デフォルトの名無しさん
垢版 |
2018/07/05(木) 20:17:49.90ID:9m4qXusF
【審議中】
    ∧,,∧  ∧,,∧
 ∧ (´・ω・) (・ω・`) ∧∧
( ´・ω) U) ( つと ノ(ω・` )
| U (  ・) (・`  ) と ノ
 u-u (l    ) (   ノu-u
     `u-u’. `u-u’
0781デフォルトの名無しさん
垢版 |
2018/07/05(木) 22:45:45.28ID:zhHpKoz0
コチン星は他に転用できないでしょ
Javaは何にでも使える
コチン星がそうなったら移住してやんよ
0783デフォルトの名無しさん
垢版 |
2018/07/05(木) 22:58:33.72ID:y9cLPe3E
現実には逆だね
Kotlin使ってるような奴はJavaはもちろん他にも複数の言語使える
0784デフォルトの名無しさん
垢版 |
2018/07/06(金) 07:14:19.59ID:BcpJI+Hp
今kotlin使ってるやつはJavaとSwiftは書けそうだよな
あと聞くところによるとずっとRuby使ってたweb系の人たちの間でkotlinの人気があるらしい
0785デフォルトの名無しさん
垢版 |
2018/07/06(金) 08:51:02.46ID:8OYGWEQ0
KotlinとSwiftは似ているから
iOSとAndroidでお互いのコードを参考にしやすいという点でも
Kotlinを使ったほうが良いよね
0787デフォルトの名無しさん
垢版 |
2018/07/06(金) 09:16:06.34ID:mA2hlx7s
>>785
うちはまさにそれでやってる。
細かい違いはあれど、両者で大体同じ感じに作れるからだいぶ生産性が上がる。
0788デフォルトの名無しさん
垢版 |
2018/07/06(金) 09:32:23.49ID:abpU4SXk
「あれをああいうふうにつくりたい」で片方が概念から違うコード塊だとめげるものね
せめて見る方向は一緒でないと困る
0789デフォルトの名無しさん
垢版 |
2018/07/06(金) 09:39:15.11ID:M3cpa2kA
Kotlin, Swift, TypeScript, C#あたりはいいかげん合体して一つになれよとは思う
似たような言語増えすぎ
0794デフォルトの名無しさん
垢版 |
2018/07/06(金) 11:30:17.98ID:2AM7zbcj
>>788
一度作って終わりなら何でもいいけど、機能追加やらメンテやら考えたら極力設計レベルで近づけておきたいからね。
俺は経験ないけどObjectiveCとJAVAでこれやってた人たちほんとすごい。
0795デフォルトの名無しさん
垢版 |
2018/07/06(金) 13:21:00.56ID:49COMX7t
Ruby由来の特徴って?
Pythonから取ってきたようなのはちらほらあるけど。
0797デフォルトの名無しさん
垢版 |
2018/07/06(金) 13:44:46.19ID:q/ghlqNX
>>795
なんでもかんでもそれで実装しようとして一応作り上げ公開はするもののメンテできず放置するムラ気の情熱
0799デフォルトの名無しさん
垢版 |
2018/07/06(金) 15:32:07.66ID:kKlMDWU3
>>798
いいや、わしが育てた。
0801デフォルトの名無しさん
垢版 |
2018/07/06(金) 16:02:32.49ID:zksWstCG
>>795
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を { } で書くのとか、カッコの外に出せるのとか、これ実現するために必須
0802デフォルトの名無しさん
垢版 |
2018/07/06(金) 16:15:00.75ID:CcG3LQ04
Kotolinて変数にプリミティブ型が無いけど、
画像処理とか大量にデータ処理すると、Javaより遅くならない?
0804デフォルトの名無しさん
垢版 |
2018/07/06(金) 17:00:50.17ID:CcG3LQ04
>>803
配列はDoubleArrayとかあるのね
bit演算はushrがあるから、Javaより見易そう(Javaの>>>と>>が見辛過ぎ)なのがいいな
そろそろ切り替える踏ん切りがつきそうになった、ありがとう
0806デフォルトの名無しさん
垢版 |
2018/07/06(金) 21:01:12.71ID:g8uAR+7L
プリミティブ型がなくてもうまいこと最適化されてだいたいは問題なくなるのではないかな?
0807デフォルトの名無しさん
垢版 |
2018/07/06(金) 21:02:17.37ID:g8uAR+7L
うう。リロードし忘れてたらかぶった。
0813デフォルトの名無しさん
垢版 |
2018/07/07(土) 19:26:53.37ID:XhDuF4YP
data classのcopy()というメソッドは
新しいインスタンスを作るの?
それともインスタンス変数を書き換えるの?
0814デフォルトの名無しさん
垢版 |
2018/07/07(土) 20:07:44.59ID:LTqMROwD
>>813
新しいインスタンスを作るよ
その際に新しいインスタンスに対してプロパティの差し替えを指定できる
0816デフォルトの名無しさん
垢版 |
2018/07/07(土) 22:09:42.29ID:XhDuF4YP
>>814
そうですかコピるんですね、インスタンスはイミューダブルだから


ところでデリゲートって何ですか?
0821デフォルトの名無しさん
垢版 |
2018/07/08(日) 00:55:04.92ID:sfogbTE4
>>816

data class のインスタンスはイミュータブルに作ることもできるけど
別にイミュータブルな保証ないよ
普通に var プロパティ宣言できるし
0822デフォルトの名無しさん
垢版 |
2018/07/08(日) 04:35:49.01ID:PDRntQm6
>>818
デリケートだろとつっこむところ?
>>816
クラスAを継承したクラスBを作るときに、継承を使う代わりに、クラスB内にクラスAのインスタンスを持たせて、
クラスBにおけるクラスAのAPI実装をそのインスタンスに丸投げすること。
インターフェースしか定義されておらず、インスタンスはヘルパークラスからしか作れないような場合に便利。
0823デフォルトの名無しさん
垢版 |
2018/07/08(日) 08:39:29.95ID:A+oeHsIU
>>816
デリゲートは手動で書く手間を減らす機能だし
動作分かってないと初学者にとって混乱の元だから
「委譲書くの面倒」と思うようになるまで使わなくていい

仕様を知っておきたいならbyキーワードの具体例をググって読むべき
0824デフォルトの名無しさん
垢版 |
2018/07/08(日) 08:53:04.34ID:GTRmE3gZ
よくあるのは破壊的操作だけ決まった手順でやりたい可変リスト

内部に可変リストを持たせてListインターフェースをこの可変リストに委譲しつつ、
破壊的操作をするメソッドは自分で実装する
0826デフォルトの名無しさん
垢版 |
2018/07/09(月) 15:42:24.09ID:k14wcRqL
2次元配列てどうやって作るの?
ググっても、一次元配列の説明しかないんだけど
0827デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:07:50.43ID:HEVR++FY
「Kotlin 多次元配列」とかでググれば出てくるけど、もっと簡単に作れるようにしてほしいよな
Kotlinはコレクション周りが面倒
0828デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:22:32.46ID:uw3CHAwx
ありがとう!多次元配列ででました
リストの中のリストみたいな作り方しかできないんですね
0829デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:25:07.73ID:a7X8gOns
Java11で多次元配列が追加されるっぽいし
そのとき一緒にKotlinにも追加されるんじゃないかな
0830デフォルトの名無しさん
垢版 |
2018/07/09(月) 19:41:02.60ID:2W9i2TNQ
>>828
でもそれは多次元配列ではないからな
全世界から激しくツッコミ入るからな
「ネストした配列」とかきちんと表現しよう
0833デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:40:00.23ID:2EXLNjt4
>>831
配列の配列: n個入る内箱をm個並べて入れた外箱、実際には内箱に入る数はそれぞれ違うこともある
二次元配列: 最初からn*mで仕切られた箱

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

Java自体が真性の多次元配列ないからKotlinにもないんじゃね
ScalaとかGroovyにも真性の多次元配列はないのだろう
0834デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:55:27.19ID:CMpb5of+
それって、メモリは所詮一次元だけど
n×mの連続領域確保して[][]でアクセスできるインターフェース提供できれば二次元配列って言えるってこと?
ポインタの配列にしなければいいってことかな??
0835デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:56:07.10ID:NIgnyVo4
多次元配列みたいにアクセスできるクラス作って中で一次元配列を全容素数作ってアクセスする時に n * y + x のように計算してアクセスするの作れば、まあなんとなく気分を味わう事はできるな。
あとはうまいこと最適化されて効率よくなる事を祈るのみ。
0836デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:57:03.20ID:NIgnyVo4
うう。リロードしてなかったらなんとなく内容が被った。orz
0837デフォルトの名無しさん
垢版 |
2018/07/09(月) 21:13:13.46ID:2EXLNjt4
>>834
おおむねそういうこと
配列の配列は縦方向と横方向でアクセスのコストが違うとか
多次元配列は、行をまるごと取り出そうとすると新規に配列を作る必要があるとか、違いがいろいろある

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

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

for (innerArray in arrayOfArray) {
for (item in innerArray) { println(item) }
}
0838デフォルトの名無しさん
垢版 |
2018/07/09(月) 22:15:19.94ID:NSgi36DG
普通のプログラミングよりPythonのnumpyとかMATLABとか科学技術計算やってた人はイメージしやすいかもね
0842デフォルトの名無しさん
垢版 |
2018/07/10(火) 07:38:02.37ID:LbQkaO6y
ほとんどの言語は、配列の配列(jaggy 配列)だろ

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

1行目の各列は連続しているけど、
1行目と2行目は、別の場所にある
0843デフォルトの名無しさん
垢版 |
2018/07/10(火) 08:14:20.19ID:UVYr8NpU
計算コストを度外視すれば多次元配列でできることは大抵配列の配列で実現できるから、そこまで気にする必要はないんだけどね
0845デフォルトの名無しさん
垢版 |
2018/07/10(火) 11:02:23.47ID:4/WJyavM
まあよっぽどカリッカリのパフォーマンスを求められるシビアな要件じゃない限りいらんわな
もしその差がそんなに重要ならとっくに色々な言語で実装されてる
0847デフォルトの名無しさん
垢版 |
2018/07/10(火) 22:11:35.45ID:y/3n5Cpu
>>834が言ってる通りで
糖衣構文的なものがあるかどうか程度の差

パフォーマンスが必要な部分はハードウェアアクセラレーションのため
java.awt.imageみたいにAPI経由するからDSL表現力さえあれば後はライブラリの役割
0850デフォルトの名無しさん
垢版 |
2018/07/11(水) 09:18:11.28ID:/4kd3SWK
3次元嫁は都市伝説
0853デフォルトの名無しさん
垢版 |
2018/07/12(木) 11:38:40.09ID:nnJijZVz
TSなら面倒というほど大した差はないだろ
むしろVSCodeで鬼のように補完が効く分、フロントでの生産性は圧倒的にTSのほうが上
0854デフォルトの名無しさん
垢版 |
2018/07/12(木) 12:25:18.13ID:ut9WLbMZ
補完に関してはKotlin+IntelliJIDEAのほうが上だろ
TSのフロントでの生産性が圧倒的なのには同意だが
0856デフォルトの名無しさん
垢版 |
2018/07/12(木) 14:32:59.18ID:3OhKsAp4
え?
VSCodeが糞かはともかくそれ以上の糞なんかJava系に限ってもeclipseとかNetBeansとかいくらでもあるだろ
0857デフォルトの名無しさん
垢版 |
2018/07/12(木) 18:21:16.24ID:EedZr1tw
Netbeansはひどいよなあ
あれMPLABのベースに使われててクソイライラする
ファイルの管理周りがとくにひどい
microchipはatmel買収したんだからatmelスタジオに追加すればいいのに糞が
0859デフォルトの名無しさん
垢版 |
2018/07/12(木) 19:07:03.83ID:ZfcOFQ2e
そういやeclipseにもkotlinプラグインあるらしいけど、わざわざeclipse使ってる奴いるのだろうか
0860デフォルトの名無しさん
垢版 |
2018/07/12(木) 19:15:27.87ID:cdBPRXqc
>>859
他のプロジェクトも色々やっててそうしないと切り替えるのが面倒とか、あるいは会社でそれしか使っちゃ駄目って事になってるとか。
0861デフォルトの名無しさん
垢版 |
2018/07/12(木) 19:59:34.30ID:aA43Ofcz
>>859
一度使おうとしたけど、インテリさん使ったらインテリすぎて戻れなくなった
ただ、インテリさんはWeb関連の便利機能が有料なんで、そこらへんは月食さんの方が良いな
0863デフォルトの名無しさん
垢版 |
2018/07/12(木) 22:51:04.77ID:mvC68ILq
>>859
1年以上前に使ってみたことがあるが、Javaのプロジェクトにまでエラーが頻発して使い物にならなかった。
なお、KotlinがAndroid公式に採用されて以降、この1年でほとんど開発は進んでいない模様。
釣った魚に餌はやらない、みたいな。
0864デフォルトの名無しさん
垢版 |
2018/07/13(金) 05:53:34.32ID:m41AHQph
>>861
IDEAの年額って、どう考えても払うだけの価値はあるほどエクリプスンより生産性上がるだろ
少なくともツール自体を動かすために余計な苦労は要らなくなる
0865デフォルトの名無しさん
垢版 |
2018/07/13(金) 06:43:02.63ID:EUOoQR1t
大量のプラグインのバージョン管理とか設定調整とかどう考えても時間の無駄だからなー
0868デフォルトの名無しさん
垢版 |
2018/07/13(金) 08:09:45.54ID:ov74f2Px
Vimとかも自分で育てていく楽しさはあるんだけど、道具として割り切るなら箱出してほぼ何もせずとも全て揃ってるIDEAさんが最強なんだよなあ。
AndroidとiPhoneもそんなイメージだけど。
0870デフォルトの名無しさん
垢版 |
2018/07/13(金) 09:20:51.97ID:5TLJeRCv
VSCodeはJava開発環境としてはMS自身によるプラグイン開発によって既に普通に使えるレベルに達してる
さすがにKotlinはJBとガチ喧嘩になるからMS自身は手を出さないだろうけど、
IntelliJが死んだらKotlinも当然自動的に消えるわけで、MSを調子に乗らせないためにもJBにはなんとか頑張ってほしい
0872デフォルトの名無しさん
垢版 |
2018/07/13(金) 09:46:20.22ID:n6HMRhww
マジレスすると、
MS嫌いだけどVScodeは使いやすいよね
昔はEmacsとか使ってたけど、VScode使い始めて戻れなくなった
0874デフォルトの名無しさん
垢版 |
2018/07/13(金) 10:04:34.44ID:SHnopJX1
むかしむかし使い古しpcにDebianいれてゴニョゴニョ設定してxemacsを起動できたときめっちゃ感動した
0876デフォルトの名無しさん
垢版 |
2018/07/13(金) 12:44:49.86ID:fxcd0vFw
ま、vimは軽いし何も考えなくて良いのがいいよな。
ただしサンプルプログラムのようなとても短くて小規模なプログラム作る時なw
0877デフォルトの名無しさん
垢版 |
2018/07/13(金) 13:16:53.00ID:CVNDg+4c
vimは単体で使うだけでなく、
プラグインという形で各種エディタ, IDEに組み込まれている
もはやコードを書くという行為はvimを使うことと同等
vimも使いこなせないようなやつはエンジニア向いてないね
0879デフォルトの名無しさん
垢版 |
2018/07/13(金) 13:46:43.72ID:r56MKyep
VSCodeはVimプラグインもクソ優秀なんだよな
IDEとしての機能性とVimらしい快適性をこれほど高い次元で両立できるエディタは10年煮詰めたVimを除けば他にない
0880デフォルトの名無しさん
垢版 |
2018/07/13(金) 14:03:48.40ID:5yynDKDH
VSCodeのプラグインが優秀過ぎて他に移れない
シーケンス図とか描くのもすげー便利だし
0881デフォルトの名無しさん
垢版 |
2018/07/13(金) 14:15:06.91ID:LloFxrI0
IntelliJで開いたときに、赤も黄色も出ないコードを書くものだけが、Vimを使いなさい。
0882デフォルトの名無しさん
垢版 |
2018/07/13(金) 15:38:16.85ID:RC8GAzHb
シーケンス図なんて作らせるようなところでもkotlinだのvscodeだの使わせてくれるものなのか
0883デフォルトの名無しさん
垢版 |
2018/07/13(金) 17:17:34.83ID:4N3JeixC
intellijよりvsのほうがコード補完優秀だよね
頻繁に使うものが上位に来るし
intellijだとcって打つとCamera()とか一度も使ってないものががいきなり候補に出るし
0885デフォルトの名無しさん
垢版 |
2018/07/13(金) 17:47:43.71ID:r56MKyep
VSの補完は機能とかそういう段階をとっくに卒業してる
ついに機械学習を使って文脈を理解する超補完を搭載するらしいな
0886デフォルトの名無しさん
垢版 |
2018/07/13(金) 18:36:03.53ID:n6HMRhww
みんなインテリとVSCどう使い分けてんの?
Kotlinはインテリで、それ以外の言語はVSCって感じ?
0887デフォルトの名無しさん
垢版 |
2018/07/13(金) 18:47:06.02ID:m41AHQph
jsだけVSで他はインテリんだな
正直Rubyとかどちらで書いても大差ないから、わざわざ乗り換えてない
0888デフォルトの名無しさん
垢版 |
2018/07/13(金) 19:34:40.82ID:ojWLt4Rx
cだけでCameraとかでてこないぞ?
Camまで打つとCameraクラスが候補の二番目に出てくるが
小文字のcじゃ下まで見てもCameraが候補に無い
0891デフォルトの名無しさん
垢版 |
2018/07/13(金) 20:48:04.46ID:WQBoNRJ+
>>877
今日は釣れませんね。
0892デフォルトの名無しさん
垢版 |
2018/07/13(金) 20:53:25.87ID:WQBoNRJ+
>>881
「彼らはそれを聞くと、年長者たちから始めて、ひとりひとり出て行き、
そしてvimを使う者は誰もいなくなった。」
0893デフォルトの名無しさん
垢版 |
2018/07/13(金) 22:19:52.15ID:4N3JeixC
>>888
何が候補にでるかマチマチ
Colorが出てきたりもするし
とにかく直前に入力したやつが出てこなくてイライラするわ
0894デフォルトの名無しさん
垢版 |
2018/07/13(金) 22:58:51.51ID:e4KiRV9a
>>893
日本語入力じゃないんだから直前に入力したのに優先的に出てこられても困る
Android Studio kotlin は文法的に入力可能なものがだいたい順番変わらず出てくるんで、候補がまちまちってことは無いと思うぞ?

直前に入力したやつが文法的に正しくて、その名前を文法的に正しい位置に再度挿入しようとするなら、普通2〜3文字入力すれば出てこない?
0896デフォルトの名無しさん
垢版 |
2018/07/14(土) 00:34:59.12ID:Aep6lVRC
まあCameraが出るかはライブラリによるんだけど
頼むからまず変数名優先してほしい
すぐ上にval cellがあるのに…
使ったこともないメソッドやクラスが第一候補になるんだよ
0897デフォルトの名無しさん
垢版 |
2018/07/14(土) 07:51:18.68ID:JQ0iUrKc
だから普通のAndroidのプロジェクトだとCameraはimportすれば使える状態なんだってば
だからCameまで入力すれば候補の一番に出てくる
でも小文字cだと候補全部見ても出てこない
大文字小文字区別するから

あと、関数内のローカル変数は候補の一番上にでてくるよ?
val cell がある関数内なら、cell が候補の最初にでてくる
アルファベット順みたいだから val ccc があればそっちが先になるけど
0898デフォルトの名無しさん
垢版 |
2018/07/14(土) 08:21:46.85ID:JQ0iUrKc
いま気が付いたけど補完候補のウィンドウの右下のアイコンで順番変更できるね
Aとπを切り替えられる
Sort by relevance がπで、これはローカル変数が先に出てくる
Sort lexicographically がAで、種類に関係なくアルファベット順にソートされて出てくる
0902デフォルトの名無しさん
垢版 |
2018/07/14(土) 16:47:47.10ID:+xcHO0vt
IntelliJでUML書いたらKotlinのコード吐き出したり
逆にKotlinのコードからUML作ったり出来ないかな
0903デフォルトの名無しさん
垢版 |
2018/07/14(土) 18:58:50.43ID:6PGIbnJP
売ってるソフトでJava用があるから何れはできるんだろうな。IntelliJ用のプラグインができるかどうかはわからないが。
0907デフォルトの名無しさん
垢版 |
2018/07/15(日) 17:38:53.88ID:uIOFDJwQ
UML自体は普通に有用だと思うけど
コードと同じくらいの粒度で使うのは無理があると思う

プログラマくらいにしか分からんような複雑なUMLが出てきたり
時間掛けた割にはしょぼいコードが生成されるだけ
0909デフォルトの名無しさん
垢版 |
2018/07/15(日) 18:25:40.94ID:+eT7t0LR
プログラマ以外に理解してもらうツールじゃなくね?
プログラマ以外に使ったらクラス図で「矢印の方向は逆だろ!常識で考えろ!」とか言われそう…
0910デフォルトの名無しさん
垢版 |
2018/07/15(日) 18:40:13.88ID:Hceo1yYw
「UMLを理解してるプログラマ」と「UMLを理解してるプログラマ以外の人」とのコミュニケーションの為の共通言語
0918デフォルトの名無しさん
垢版 |
2018/07/15(日) 22:54:05.52ID:6dWIKdS7
>>914
ああしっくりきた。
新卒で入ったSIerではたまに使ったけど、転職してからは見たことないわ。
基本的に大規模開発のドキュメントくらいでしか使わんかもね。
0920デフォルトの名無しさん
垢版 |
2018/07/16(月) 09:06:08.21ID:uw6hw0Ul
自分がお堅い受託やってたの5年くらい前だけど、その頃にはUMLってすでにあまり聞かなくなってたな。
上に挙げられてるような用途では有用なんだけど、だいたいあれを使って説明したい相手がUMLを知らないから作る意味がなかった。
あとドキュメントのメンテで死ぬ。
0921デフォルトの名無しさん
垢版 |
2018/07/16(月) 11:42:34.36ID:+8yEYxZh
UMLに限らないけど、あまり実装の中身に踏み込んだドキュメントは作るべきじゃない
何もいいことはないし、第1大抵は誰も見ない
0925デフォルトの名無しさん
垢版 |
2018/07/16(月) 13:40:04.44ID:GVNh7z7o
クラス図、コミュニケーション図、シーケンス図あたりは日常的に使うわ。
ソフトウェアの静的&動的構造を図示したかったらUML以外を選ぶ理由がないもの。

機械生成や詳細設計まで踏み込んで使用するのはまったくおすすめしないね。要約してppt一枚に収まり切るくらいが丁度いい。
あくまで人に見せる&説明する用。
0926デフォルトの名無しさん
垢版 |
2018/07/16(月) 13:44:27.92ID:fVJkfJ21
お遊びならppt一枚でいいかもしれないけど
仕事では何百、何千ページの要件定義、基本設計、詳細設計を書かなければならないんだぜ
そのページ数に比例する枚数のUML作図コストはあまりにも高すぎる
0929デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:17:39.16ID:7c+rCVk/
×仕事では
○自分の会社では

この世の99%のプロジェクトでは数千ページに及ぶドキュメントとか不要
0930デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:21:58.27ID:fVJkfJ21
小規模のショボいシステムしか知らないのだろうけど
そういう人たちは気楽でいいよねぇ
典型的なカジュアルプログラマって感じ
遊び半分って表現がピタリ
0933デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:35:21.08ID:fVJkfJ21
そりゃ大変だよ
でもそれが無かったら大変どころか完成すらできない
行き当たりばったりのライブコーディングで完成まで持っていけるオモチャじゃないんだからさ
0934デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:43:26.70ID:ohzE/Xv8
UML要るか要らんかで揉めてるけど、結局のところ作ってるソフトの規模の違いじゃね?
趣味とか社内で使うもんとかなら要らんだろうし、そこそこの規模になったら必要だろうし
0935デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:44:52.24ID:BXgPiXpB
むかし現場にいたころは何か問題あったときのためにいちいちドキュメント作ってたな
テスト仕様書なんてものもあって、誰でもわかるようにテストケースごと図示して承認もらってた
そして心が病んだ
0937デフォルトの名無しさん
垢版 |
2018/07/16(月) 14:59:30.28ID:BXgPiXpB
小学生でも理解できるようにって言葉を使うやつは大抵悪だったな
むかしの話
0938デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:02:20.87ID:fyxTFisU
Linuxのような大規模オープンソースプロジェクトでもgithubでソースコード共有だけで成長していけてる
ドキュメントやUML作成してから開発してるかと
ソースコードの読めない無能が仕事してる振りするためにやってるだけで無くなっても誰も困らない
0939デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:08:54.36ID:uw6hw0Ul
うちはドキュメントは最低限のものしか作らんな
なんでもかんでもドキュメント化してしまうと、それをメンテするだけの無駄すぎる人間が必要になってしまうから
あんなのは何をするにもスタンプラリーの必要な多重下請け開発のためのものだ
0942デフォルトの名無しさん
垢版 |
2018/07/16(月) 15:55:43.32ID:BXgPiXpB
まあ、納品するためにはそれなりのドキュメントは必要だけどな
若いころはその辺の扱いが不器用だったかもな
0945デフォルトの名無しさん
垢版 |
2018/07/16(月) 18:52:41.76ID:akLRrngB
仕様書はあった方がいいけど設計書は無い方がいいな
大抵メンテされなくて実装と違ってくるもんだろ
0946デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:06:31.04ID:uw6hw0Ul
アジャイルで開発してるのになぜかWFの納品時と同じドキュメントをリリースごとに作成することになって担当者をうつ退職に追い込んだプロジェクトは見たことある
0951デフォルトの名無しさん
垢版 |
2018/07/16(月) 23:23:23.55ID:m2D0dvJF
>>950
いやいや全く具体的じゃねーだろwww
なんのために設計書に貼り付けるの?他人に何をどう説明するために使うの?
0953デフォルトの名無しさん
垢版 |
2018/07/16(月) 23:36:04.89ID:7c+rCVk/
>>930
この世の99%のプロジェクトはその"小規模のショボいシステム"とやらなんで
というよりもひとつひとつが小規模になるように問題を分割するのがまともな開発だからなー
ぶくぶくに膨れ上がったプロジェクトは大変そうですね
0955デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:06:24.03ID:bOB/b2Td
詳細設計なんて必要になるのはプログラマーですらないコーダーだけだからな
0958デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:38:44.90ID:bG8bFXyk
詳細なUMLを書くことなんてもうないが
シーケンス図いらないと言ってるのは自己完結してるショボいコードしか書いたことない奴だろ
0960デフォルトの名無しさん
垢版 |
2018/07/17(火) 06:13:16.99ID:PDZGrLP2
UML書かないと趣味レベルとか、どんだけ狭い世界で仕事してたらそういう発想になるのよ
自分の人生のために転職を勧める
0961デフォルトの名無しさん
垢版 |
2018/07/17(火) 08:29:20.72ID:drgUPcWy
まあサーバとクライアントと別の人が実装するような場合はシーケンス図で仕様検討したりするかな
0963デフォルトの名無しさん
垢版 |
2018/07/17(火) 09:10:23.42ID:Ph8+CP2q
マ板と真逆の反応でわろた
あっちはドカタしかいないから設計書なんて要らんと言ったらリンチされる
0964デフォルトの名無しさん
垢版 |
2018/07/17(火) 10:06:51.40ID:4VCkuZ0T
実装と完全に同期するように設計書をメンテできているものだけがそのリンチに参加しなさい。
0965デフォルトの名無しさん
垢版 |
2018/07/17(火) 10:30:42.92ID:lbJGoJLr
プログラムがドキュメントのようになっているのが良い、なんて言われてた時代もあったな。

まあしかし設計書読ませてそのまんま動くようなのはその内AIできたりして、そこで大半のプログラマーは終了。
プログラミングは職業ではなくなり趣味と老人のボケ防止のための頭の体操になる。
0966デフォルトの名無しさん
垢版 |
2018/07/17(火) 10:37:43.31ID:4VCkuZ0T
それよく聞くけど、そんなレベルのAIがもし出来たらプログラマに限らず大抵のオフィスワーカーは要らなくなるわ
0967デフォルトの名無しさん
垢版 |
2018/07/17(火) 11:23:39.79ID:TjYmue+F
UMLの話題でこんなにスレが荒れるとは思わなんだ
それだけことりんが大規模開発から趣味レベルまで幅広く使われてるってことかもしれんが
0968デフォルトの名無しさん
垢版 |
2018/07/17(火) 12:46:32.48ID:FO/D1Qz9
単に他に話題がないところにみんなが一見識持ってる話題が投下されただけな気がする
0970デフォルトの名無しさん
垢版 |
2018/07/17(火) 16:02:40.63ID:hPJdqeLg
次はエディタやIDEで大論争になってあっという間に3スレぐらい消費か
0971デフォルトの名無しさん
垢版 |
2018/07/17(火) 16:04:56.05ID:hPJdqeLg
なお、俺は規制で次スレ立てられないので誰か作ってくれ。よろしく。
0973デフォルトの名無しさん
垢版 |
2018/07/17(火) 17:35:21.89ID:ml19nnIF
今のゲームて説明書薄いよね
昔のゲームは分厚くて読んでてワクワクしたもんだけど
これは流れとは関係なかったか
0978デフォルトの名無しさん
垢版 |
2018/07/17(火) 18:35:44.38ID:ZWBv+70m
>>977
使えるよ。無料のと有料のがある。
0981デフォルトの名無しさん
垢版 |
2018/07/18(水) 04:07:15.67ID:7Z3eO87O
これからの時代はフローチャート
0990デフォルトの名無しさん
垢版 |
2018/07/18(水) 13:46:54.63ID:9IEVAZpR
やだ。
0991デフォルトの名無しさん
垢版 |
2018/07/18(水) 15:06:45.58ID:Tap3QeHW
デフォルトでvarに下線がつくのは、不快な見た目にすることでなるべく使わないようにするためだってJBの中の人が言ってた
0993デフォルトの名無しさん
垢版 |
2018/07/18(水) 16:28:23.81ID:4ELcifB5
vim使ってるので特に下線は出ない
0998デフォルトの名無しさん
垢版 |
2018/07/18(水) 20:58:06.45ID:3T+bsJq5
class 埋
1000デフォルトの名無しさん
垢版 |
2018/07/19(木) 01:18:39.08ID:KhbPDXNN
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 =>>1000

if(1000 == レスCount ){
val url: String = "http://mevius.5ch.net/test/read.cgi/tech/1531818027/";
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(url)
startActivity(intent)
}
}
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 121日 20時間 52分 13秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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