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


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

C#, C♯, C#相談室 Part95



1 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 04:02:10.51 ID:/jJUZ/t7.net]
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
mevius.2ch.net/test/read.cgi/tech/1492843013/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。

654 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:25:24.90 ID:EnMpGyAP.net]
>>631
範囲を扱うアルゴリズムに使わせる目的で使うイディオムだよ
こうしておけばプリミティブの数値も数値っぽい型(例えば巨大整数クラス)も同じように扱える
ようするにただのストラテジだな

655 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:45:43.34 ID:EnMpGyAP.net]
まあ正直C#で>>631は無意味とは言わないまでも違和感あるけどな
>>631もC#だけでなくc++とか経験してみるとこういう短い関数の真価を理解できるんじゃないかな

656 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 11:56:21.61 ID:T3P5Wj+0.net]
巨大整数とか仕様にカスリもしない未来を妄想して複雑化して「これがシンプルなんだよ!」と強弁するとかアホの典型だな
グループ開発の経験もない無職かよ

657 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:03:50.05 ID:EnMpGyAP.net]
>>636
一例に過剰反応バカキター

658 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:12:43.78 ID:qPjZABJK.net]
最初から無駄に俺様カスタマイズしたがるのはこじらせたC++erによくあるYAGNIだね
そして、Incrementの例のように基礎的な部分には異常に拘るくせに普通のアプリケーションコード部分は巨大なメソッドを生産する奴が多い
その割にはポインタ演算は大好きで、配列操作になるとウッキウキしてクソ低レベルなアスタリスクと++だらけのコードを垂れ流す
そういう連中だよ

659 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:36:30.52 ID:d99K3tnG.net]
昨日からNG大繁盛だわ

660 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:42:38.07 ID:5IsFylKp.net]
ふらっとも伸びているようだし承認欲求に飢えているアホどもが暴れているのか

661 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:53:48.82 ID:EnMpGyAP.net]
>>638
でもそれってお前の妄想じゃん
c++の仕事任されるほどスキルないっしょ?

662 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 12:59:36.34 ID:Q3bP29mI.net]
>>641「巨大整数にも対応してるオレ様のフレームワークを使えー!」



663 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:07:10.47 ID:wUP/Qru9.net]
どんな面白い問題で盛り上がってるのかと思ったらしょうもな。

(1) 道具が多すぎる道具箱は使いづらい

からと言って

(2) 短すぎるメソッドは「無駄な道具」である

などと言えるわけがない。
そうである場合もない場合もあるに決まってる。

こんなくだらない話でよく盛り上がれるな

664 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:16:23.13 ID:Q3bP29mI.net]
>>643
だから無駄な道具を乱造して散らかす奴が悪いんだろ?
いくら「これが正しい!」と喚いてもゴミ屋敷をスマートとは言えんわ

665 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:24:59.02 ID:EnMpGyAP.net]
なんかずれてんな
いやわざとか?

みんな「1行コードはクール」
みんな「いや害悪だ」

>>631「1行コードにはこんな意味不明な頭悪いコードが実在するんだぜぇ」

>>634「いやーそれはストラテジでしょ。普通のコードだよ」

あほ「巨大整数ガー!ゴミ屋敷ガー!」

途中から明後日の方向に向かってんだよ
一例に過剰反応バカが湧いてきたあたりからね

666 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:28:56.88 ID:IPSX8M4/.net]
一つ言えるのは、一行コードをセンスが無いやつが書くとゴミク

667 名前:Yになるってことだな
まあ何行でもゴミと言えるかもしれんが、一行のゴミはメンテする時腹が立つ
[]
[ここ壊れてます]

668 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 13:30:25.54 ID:EnMpGyAP.net]
1行メソッドの利点を理解できないアホが逆ギレしてるだけのパターンもあるということは忘れないで

669 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:14:15.06 ID:tywMjCxA.net]
一行のゴミにも何か利点はあるはずだと頑なに改めようとしない>>647なのであった

マジでゴミ屋敷の主だな

670 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:20:30.29 ID:G1/6VWB7.net]
>>645はstrategyも理解してないアホの子だから許してあげて
ただのラッパーを戦略と勘違いしてるなんて、きっと今年の春から働き始める新人だから

671 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:28:00.99 ID:tywMjCxA.net]
上司「なんでこのインクリメントを関数に分けてんの?」

新人「様々な型に対応する為のストラテジです!巨大整数などにも対応できます!」

何というか無能な働き者って言葉がしっくり来るな
たぶんこいつは誰からも理解されずに五月病患って数ヶ月で退職するわ

672 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:39:00.26 ID:yKN9r4eJ.net]
インクリメントの(多相じゃなくて正しい意味での)ストラテジって何だろうね
++とInterlocked.Incrementを切り替えるとか?
エイプリルフールネタにもならんな



673 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:39:37.29 ID:gIH0xNQX.net]
>>640
春休み

674 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 14:47:04.79 ID:Huwl0iS3.net]
ここには初心者スレに行ったほうがいいような連中しか居ないようだな

675 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:13:55.41 ID:WEVo4Vkx.net]
ゆとり世代はなんでも揃ってるところからスタートだから楽でいいよな
iteratorの実装なんて考えたことすらないんだろう
羨ましいよ

676 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 15:50:22.39 ID:3GY4sGoy.net]
老害

677 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:15:29.85 ID:4YlUj4T1.net]
>>650
何で巨大整数に対応する必要ない状況を前提としてるの?
対応すべきという状況を前提とした途端に真逆の結論になると思うけど

678 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:31:26.23 ID:8TyNtssw.net]
仕様上ありえない予測
それを人は 妄想 と呼ぶのだ

679 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:45:28.27 ID:Ek+Kt6QK.net]
巨大整数対応を勝手に仕様上あり得ないことにしている点
「○○にも対応できるように」の○○に巨大整数を入れるのはあくまで一例であり他にも山ほどあり得る点
この辺りが問題かな
言われた通りの物を納品すればいい所謂IT土方系の環境なら問題にならないんだろうけど

680 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:47:21.74 ID:Aa3HndXz.net]
>>656
対応すべきという状況を前提にしたとしても、>>650の新人がストラテジパターンを誤解している阿呆であるという結論は覆らない
>>631を型ごとに用意するのは一般にはパラメータ多相、あるいは単にオーバーロードと呼ぶんだよ

681 名前:659 mailto:sage [2018/04/01(日) 17:49:35.48 ID:Aa3HndXz.net]
すまん訂正
パラメータ多相じゃなくてアドホック多相だな

682 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:49:42.89 ID:Ca3RLpqD.net]
この手のっていつも「自分の前提」の元に議論初めてかみ合わないんだから止めとけよ
ネタが下らないことだし、そんなことにこだわるしかやることないのかよ



683 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:53:38.19 ID:8TyNtssw.net]
int型をBigInt型に切り替える必要が生じたとして、
型宣言から書き直さないといけないのにインクリメントを分離しておいて何が効率化できたというのかと


684 名前:烽サもオブジェクト指向に則ればその型自体にインクリメントを備えるだろっていう

現実に設計したこともない新人が本の知識で言ってるだけだなこりゃ
[]
[ここ壊れてます]

685 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:21:49.73 ID:8TyNtssw.net]
正しい設計
INum num = new Num()
// INum num = new BigNum() ←クラス名を変えるだけ
num++ ←機能は型で規格化されてるので変更無用

間違った設計
Num num = new Num()
// BigNum num = new BigNum() ←型から変える必要がある
Increment(ref num) ←何これ?

void Increment(ref Num n) 処理
void Increment(ref BigNum n) 処理
↑型の数だけオーバーロードする必要がある

686 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:47:25.76 ID:IPSX8M4/.net]
どーでもいいことかもしれんが、セミコロンがないのが凄く気になる

687 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 19:40:56.03 ID:WEVo4Vkx.net]
>>660
はぁ? どう見てもストラテジだろカス

void func<T>(T mi, T mx, FuncObj<T> increment) {
for(T i = mi; ! i.Equals(mx); increment.Exec(i)) {
//
}
}

class BigIntIncrent : FuncObj<BigInt> {
public Exec(ref BigInt x) {
x = x.Add(1);
}
}

688 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 19:44:56.66 ID:WEVo4Vkx.net]
>>663
なんでBigIntのソースが手元にある前提なんだよ
まあ素人は標準のパッケージ以外を持ってきて使うなんて経験はないのかもしれんから間違えても仕方がないか
君素人っぽいし

689 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:02:44.23 ID:c1epJvM3.net]
>>665
惜しい。一旦クールダウンしてよく考えよう。
同じ入力(コンテキスト)に対して複数のStrategyを定義し、状況によって使い分けるのがStrategyパターンだ。
一方incrementの場合、実装は入力の型に応じて一意に決まるだろ?「同じ入力」に対して複数の実装があるわけじゃない。
そういう、引数の型に応じて静的に実装を選択するのを一般に「多相」という。
特に、君のコードは関数型言語で型クラスと呼ばれるものに近い。ググってみると勉強になるよ。

690 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:08:31.72 ID:WEVo4Vkx.net]
>>667
1つ飛ばしでイテレートしたい場合とか同じ型でも幾らでもバリエーションは考えられるわけだがわかんねえだろうな用意されたもの使うだけのゆとりには

691 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:10:41.80 ID:PinoCRrg.net]
>>665
なにこの頭悪すぎるゴミ
意図が読めない典型じゃん

692 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:13:25.61 ID:WEVo4Vkx.net]
>>669
あらゆる物事に対してそれを理解するために必要な知能の下限が存在する
これって1つの真理だと思うのよ



693 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:20:07.28 ID:PinoCRrg.net]
>>670
funcって何?
funcObjって何?
miって何?
mxって何?
Execって何?どういう機能?
BigIntでAdd?コレクションなん?

パッと見ただけでこれだけ疑問が湧くんだが、
プログラマ百人に聞いたら百人が死ねって返すレベルのクソだぞこれ
命名だけでバレる実力なら無理して書くなよ

694 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:22:40.27 ID:c1epJvM3.net]
>>668
そうだね。確かに君の言う通りだ。
じゃあ君はなぜ>>665でわざわざジェネリックを使ったのかな?
>>665を見た殆どの人は、型に応じて++の実装を切り替えたいのだろうと思うだろうね。それを君はストラテジだと言っている。
このままでは誤解してしまう人もいるだろうから指摘したんだよ。
君自身はもしかしたら本当は正しく理解してたのかもしれないけど、衆目に晒すにはあまりにも不適切なレスだ。

695 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:25:32.72 ID:WEVo4Vkx.net]
文脈読めない、中心になってる話題を理解して枝葉末節を気にしない、っての実践するにもある程度の知能が必要なんだろうなー
そういうの苦手な人ってミーティングの時とか相当鬱陶しがられてると思うから注意したほうがいいよ

696 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:28:38.03 ID:G1/6VWB7.net]
>>665
これforでローカルに代入してるが値型のつもりなのか?

697 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:30:19.04 ID:Aa3HndXz.net]
>>673
悪いけど、文脈を読んだら>>665のコードは100人中100人が型++を切り替えようとしてるのだろうと解釈すると思うぞw

698 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:35:04.55 ID:WEVo4Vkx.net]
>>675
ほらな
読めてない

699 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:40:22.21 ID:WEVo4Vkx.net]
>>672
ジェネリックかどうかは関係ない話だろ
この例も仮にスクリプト言語だったら型引数は無くても動作する
たまたま型の指定が必要な言語を例に使ったからジェネリックになっているだけ
しかしそのエッセンス自体は何も変わってない
まずはそこを理解しよう

700 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:54:39.80 ID:G1/6VWB7.net]
>>665を読むとこいつうちにいた新人より頭悪い気がする
ストラテジとか言いながらやってることが関数型だし
これでデザパタのつもりなら学校通い直すのを勧める

701 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:55:42.47 ID:WEVo4Vkx.net]
ここでいうエッセンスというのは
* 処理の一部を外部から与えることによってアルゴリズムを交換可能にするテクニックをストラテジーパターンと言う
* ストラテジーはしばしばインクリメント処理のように非常に小さな処理になることがある
* その一例が>>631であり>>631馬鹿げたコードでもなんでもなく実用的なコードの断片である
という3点のことな

702 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:59:08.51 ID:WEVo4Vkx.net]
>>678
λや関数オブジェクトがサポートされる言語では暗黙的にストラテジーの考え方が利用されている
そうと意識してないだけだ
ちょうどいい時期だ上司に頼んでお前も新人研修受けてこい



703 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:00:23.18 ID:GxluVQTa.net]
何も見せてなければ何とでも言えたろうが、
>>665を見せてしまったらもう無理だな
レベルの低さが露呈してるから言い訳にもならない

正直>>665を見たあとだと>>631が優秀に見えるくらいだし

704 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:03:04.23 ID:G1/6VWB7.net]
>>680
世間一般的にstrategyというのは>>663の例を指す
お前のは違う

705 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:04:15.87 ID:WEVo4Vkx.net]
>>682
君は論外なのでまた今度な

706 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:11:29.38 ID:G1/6VWB7.net]
そもそも関数の細分化は可読性を損ねるって話なのに、
抽象的で省略しまくりの名前付けてる時点でな
設計に口出すのは十年早いと思うわ

707 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:17:25.87 ID:GxluVQTa.net]
どうでも良いが>>665をよく見るとこいつrefの使い方すら知らないど素人くさいな
値次第でループバグ起こす構造だしこんなコード実務で仕込まれたら俺ならテロ認定する

708 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:22:05.92 ID:WEVo4Vkx.net]
>>685
>>673

709 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:24:13.70 ID:GxluVQTa.net]
本気で書いたコード貶されたら

「あれは手抜きだからw」と言い出す

まあリアルにいるよな

710 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 22:24:04.17 ID:HDWO3ua8.net]
ミーティングとか言い出して露骨に話題を避けようとしてるの笑える

711 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 09:41:43.90 ID:OHYuqcPP.net]
皆Do()にすればええんや

712 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 16:05:17.38 ID:h/TS8w43.net]
stringが参照型ってことはさ

string str;
void Reset() => str = "";

とするより

string str;
string None = "";
void Reset() => str = None;

と生成済みのテキストを使い回した方が効率良いの?



713 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 16:35:31.54 ID:huLwCiLW.net]
String.Empty

714 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 18:12:04.75 ID:v0eOpRGB.net]
str =null;
ってやってたは・・・

715 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 18:30:15.85 ID:K+0BZuJc.net]
>>692
null代入するのはC#8.0で警告対象

716 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 20:17:49.55 ID:dY0QYfwJ.net]
>>690 変わらないと思われ

string Func0(){return "test";}
string Func1(){return "test";}
string Func2(){return "te"+"st";}
string Func3(){return "TEST".ToLower();}

string a=Func1(), b=Func2();
Console.WriteLine(Object.ReferenceEquals(a,b));

717 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:03:49.28 ID:jN80m2St.net]
>>694が何を言いたいのかまるで理解できない

718 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:46:17.62 ID:v0eOpRGB.net]
>>693
非推奨になるのか!
って、C#5.0から変える気が無いけどもw

719 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:48:58.58 ID:qPaa0JsU.net]
>>690
これILはどっちも一緒の結果にならないのかね

720 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:59:51.77 ID:T8BktjHU.net]
>>696
またvs2013使ってんの?

721 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:47:32.40 ID:v0eOpRGB.net]
>>698
Formしか使わないからね
まぁ最近はスマホが多いのもあるけど

722 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 03:02:50.85 ID:cEKXRYXO.net]
C#ってどんどん惨くなってねーか。業務じゃもう使えないだろ。



723 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 08:16:57.82 ID:G4evJUNh.net]
アメリカではソフトウェアの内製化やクラウド化により、
ソフトウェアは自己責任でどんどんリリースできるようになってるの
自己責任ならデグレ出したらこっそり直してすぐにリリースしちゃえばいいの
SI型ビジネスとは違い、過剰にリスクを避ける必要がない
VSやC#もそういう変化に適応して開発やリリースのポリシーが変わってしまった
もうジャップランドのSIでは使えないよ

724 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 09:34:30.77 ID:ywrxikBc.net]
ジャップ式業務かぁ…

725 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:08:48.47 ID:d442a5v8.net]
>>700
おじいちゃんには無理かな

726 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:24:27.07 ID:nTjyMSuJ.net]
>>700
具体的にどこがそうなのか教えて

727 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:39:36.05 ID:9mHHHg+P.net]
リッチテキストボックスでDetectUrlsをTrueにしてハイパーリンクを開けるようにしたんだけど、
ハイパーリンクをクリックして既定のブラウザで開くと、勝手に最終行までジャンプしてしまう。
仕方がないのでEnabledをいったんfalseにして、その後開き、もう一度trueに戻すとジャンプはしなくなったんだけど、
リッチテキストボックスの任意の場所をクリックすると、やっぱり変な場所に表示が移ってしまう。
なんか対策ないでしょうか?

728 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:43:10.44 ID:L1xJuAmc.net]
>Enabledをいったんfalseにして、その後開き、もう一度trueに戻す
ごめん何言ってるのか全然わからない

729 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:44:33.22 ID:9mHHHg+P.net]
>>706
すいません、こうです
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
richTextBox1.Enabled = false;
System.Diagnostics.Process.Start(e.LinkText);
richTextBox1.Enabled = true;
}

730 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 01:34:01.86 ID:CRWC4s8a.net]
treeViewのちらつき防止ってどうやるんだろう?
5chブラウザとか、mousemoveでテキストにアンダーラインが出るようにしても全然ちらつかないよね
ダブルバッファでいけるのかと思ったら、treeViewはそれでは解決しないようで・・・

731 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 17:11:38.73 ID:YfcQQia/.net]
>>705
ミニマムコード書いて確認しろよ
クリックした位置にカーソ

732 名前:居oないのなら分かるが勝手に最終行までジャンプとか意味不明
あと初心者スレ池
[]
[ここ壊れてます]



733 名前:デフォルトの名無しさん [2018/04/06(金) 19:56:07.03 ID:/br3WlRA.net]
>>700
もうここ10年新規案件やってないな。全部Javaに持ってかれたまま。
当然といえば当然だな。老害ヘジの暴走を誰も止めることができなかった。
ID:d442a5v8 ←みたいな低スキル信者の取り巻きばっかなんだろうな。

734 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:07:45.08 ID:Qe7eZ8vz.net]
CAD系だから低身の見物
流石にJAVAでやれと言われた事は無いな

735 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:29:12.80 ID:z7q8Sb4V.net]
会社で生産管理ソフト導入したらそれ.netだった
描画はネイティブのDLLに丸投げだったけど

736 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 20:31:28.54 ID:z7q8Sb4V.net]
業務で言えばjava : c# = 1000 : 1 ぐらいなイメージ

737 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 07:53:48.13 ID:qEuioEYI.net]
業務だと冗長でもいいからバカでも使える単純な機能だけで組まなきゃいけない
三項演算子程度のものも使用禁止
C#とは無縁の世界

738 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 07:59:59.71 ID:h+NQtj0i.net]
それだけじゃ足りない
どんな初心者、いろんな人が保守しても長期間にわたって大きく崩さないような土台を建てる必要がある
超絶技法で難解なプログラムを作るよりよほど難しい

739 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 08:48:38.33 ID:4H5fCx9/.net]
そして冗長でコピペだらけの巨大なシステムが出来上がって別の意味で保守できなくなるんだろ
業務系ってそんなシステムばっかりじゃん
誰でも読めるようにひらがなだけで六法全書を書く並みにバカ
余計わかりにくくなるだけ

740 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 09:06:01.54 ID:JAl7hTiY.net]
それは分かりやすさというより開発のスケーラビリティの問題
日本のSEってトップダウンのコード設計が全くできないから、
開発規模をスケールさせようとすると重複上等でなるべく個別の機能ごとに独立した形にするしかないの

741 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 09:59:33.70 ID:4H5fCx9/.net]
重複した分だけ開発・保守工数が増えてくから重複上等じゃスケールしないよ
あっちでバグがあった、仕様が変わった、横展開しろ、って炎上の王道パターンだよね

つかわかりやすさの問題だ
言語機能は便利でわかりやすいから追加された
それを使わないということはそれだけわかりにくくなるということ

ベタなループ書くよりLinqの方がわかりやすいからLinqが発明された
そういうこと

742 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 10:56:32.14 ID:BpE5vbQJ.net]
20年以上前から言語機能では勝負してないと思う
そういうのよりミドルウェアの有無などのほうが業務でjavaが選ばれる理由だと思う

一から新しいものを作らないといけないか既存のものを使えるかが分かれ目
業務で必須のDIとかそういうのをしっかり土台ができているのか

c#はそういう所でjavaに負ける



743 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 11:18:40.70 ID:9qiuAsep.net]
Javaなんて、Android向けのクライアント開発なければどうなのよ??
今業務でもサーバーサイドJavaなの??
んなわけないよね?

744 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 11:22:17.68 ID:BpE5vbQJ.net]
業務系のロジックは大体javaだよ
一般的に開発求人といえばjava

大規模になればなるほどjava以外の選択肢はなくなる

745 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 11:30:53.53 ID:e9I+7Iw0.net]
今時ミドルウェアやサービスに大した差はないってのが現実
そもそもプラットフォームや言語を選ぶ時点でそのミドルウェアは候補から外していい

>>720
Javaで書かれたサーバーサイド資産は大部分がメンテナンスモード
新規開発はかなり減ってる

746 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 11:50:32.46 ID:BpE5vbQJ.net]
webプログラマーと業務プログラマーは別
業務はほぼjava一択

747 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 12:18:23.05 ID:/Jq01ntZ.net]
>>716
ちゃっかり業務系を六法全書に例えるなよw
あれは絵本だぞひらがなが最適なんだよ

748 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 16:44:15.68 ID:1YUEtCB1.net]
EXCEL(xls形式)のデータを読み取って何らかの処理を施して別ファイルに書き込みたくてNPOIについて調べてるんだけど
セル内文字列の一部に文字飾り(取り消し線、上付き、下付き)がある場合にどの文字飾りか判定できる方法ってない?(文字飾りを反映させて別ファイルに移すために)
HSSFRichTextStringとして読み取ればnumFormattingRunsが文字飾り有無で文字列を分割した際の部分文字列数となることは分かった
getFontAtIndex、getFontOfFormattingRunで指定箇所の文字飾り情報が分かると思ったんだけどこれで得られる数値が同じ文字飾り種類でもコロコロ変わってよく分からない状態

749 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 16:47:16.96 ID:tI04O4km.net]
Javaエンジニア「インスタンスメソッドは難しい。インスタンスを禁止して初心者でも理解できるstaticメソッドを使おう。」

Javaエンジニア「ファイルが沢山あると初心者が混乱する。クラスを禁止してファイルをまとめよう」

Javaエンジニア「関数は初心者には難しい。すべてMainに書こう」

750 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 17:54:25.23 ID:EvpDwywp.net]
C#はVBがカスPGカス案件の受け皿になってるお陰で、Javaに比べると平均レベルは高い気がする
というかJavaのスキル幅が広すぎる

751 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 17:58:00.95 ID:azDAuSKq.net]
VB.netは何のメリットもないのになんでつかってんだろ?

752 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 18:11:21.85 ID:tI04O4km.net]
C#は上級者向けって散々プロパガンダしてきたから自覚のある雑魚がVB.NETに吸収されてくれた
Javaは誰でもウェルカム初心者に最適の言語みたいな空気を出し続けた結果底辺が爆発的に増えて悲惨な事になった



753 名前:デフォルトの名無しさん [2018/04/07(土) 18:45:08.89 ID:yyzWBMut.net]
(自称)上級者うけるw

754 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 18:49:19.91 ID:mS0vp79o.net]
多分VB.netのほうが難しい
少なくとも見づらい






[ 続きを読む ] / [ 携帯版 ]

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

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