WPF(.NET4.x, .NET Core) GUIプログラミング Part23
レス数が900を超えています。1000を超えると表示できなくなるよ。
Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
https://mevius.5ch.net/test/read.cgi/tech/1513175747/
関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/ 主にコア部分の性能面での問題を抱えたまま
一級開発環境としてねじ込もうとしてたのが原因なので
WinformsだのWPFだのは関係ないのだ WPFの遅さが気にならない奴はプログラマの才能がない。 昔はjavaは遅いからダメだ!って主張多かったよねー
じゃあ今のjavaは良いのか?って言われると困るけど結果的には広がりは見せたわけで
速度なんてあとからどうにでもなるんじゃね?って思う
20年前のハード性能の向上比率と今のそれは違うので比較するようなものでは無いかもしれんが JavaのGUIコンポーネントはクソ遅いしダメダメだろ
結果的に広がってませんが。 javaの代わりにspanだの今後はutf8string?とか高速化を頑張ってるc#で書けば、クラウド代金3割くらい減らせたりしないものなのか? WPFは見た目がしょぼくて客から金を取れないのがすべて バックエンドはクラウド時代になって多少遅くてもとか言えなくなっちゃったからしんどい
まあでもWPFはデスクトップだから多少遅くてもいいけど >>825
さすがにJavaとC#なら有意な差は出ない
少なくとも、書き直してる暇があったらその手間をボトルネックの最適化に注ぎ込んだほうが間違いなく速くなる
MS製のものを除けばC#はJavaに比べてOSSライブラリの品質が低い傾向があるしな >>828
SpringとASP.NET Core、みたいなFrameworkの観点で考えると圧倒的な差があるけどね javaが昔遅くてダメだって言われてたのはJVMを経由するからという部分
世界的には微妙かもしれんが国内では間違いなく相当普及してる
20年前のエンジニアに言えば卒倒するレベルには普及してる
これを普及してないと言うなら普及してる言語ってなんだよw Java開発してておせーしねって思ったことは数え切れないほどあるけどC#では滅多にない
ビルドも実行も速い Javaは100%完全にサーバー向けにチューニングされてるし、
MSスタックほど開発環境とランタイムが統合されてるわけじゃないから、
開発中に手元では遅く感じやすいよね >>831
昔は、ローカル変数をスタックではなくヒープで確保するアホ実装してたからだよ。
一度書けばどこでも動くなんていうJavaの理想はコードを碌に書いたことのないアホどもの夢だったのさ。
JVMの最適化が始まれば途端に処理系によって動きが違うようになって速度は速くなったが理想は捨てられ、
世界的なJavaブームは終わった。なのになぜか日本だけがずっと使い続けて今に至る。
Javaは日本ではCOBOLの代替の地位は得たが、C#は何も得てない。 仕事はJavaでwebアプリ作ってるけどめっちゃ速いぞ 速さは究極的にはプログラマの能力次第
C#erってVBの存在のお陰でJavaに比べると平均的な能力は高いけど、
上位層同士で比べるとクラウドや分散処理には強くないイメージだな Javaで優秀だった人はみんな他の言語に行っちゃって今は残りカスしかいない
C#は今も昔も高スキル人材が安定してる 親方のMSにも言えることだけど、C#の高スキル層って何でもC#のコード書いて解決しようとして
結果的に事業や開発のスケーラビリティを制約するような方法を選んでしまう傾向がある気がする
その辺、CLIツールやクラウドサービスなど出来合いの小道具をうまく使ってチョチョイとやっちゃうのはUNIX系の人のほうが遥かに上手い >>840
良いか悪いかは別にして、少なくとも「何でもC#書いて解決しようとする」は自分で心当たりあるだろ?
俺が今まで会った「C#が得意」 失礼
「C#が得意」を自称する人は例外なくそうだったわ >>842
C#が得意と言った奴がたまたまC#だけが得意だったんじゃないか?色々できる人はわざわざC#が得意だなんて言わないだけで。
そもそも自分が会っただけの狭い範囲で語られても... なんでもC#で書いて解決
CLIツールやクラウドサービスなどの小道具
これ並列に語るもんなの?
C#erだってクラウドサービスは使うやろ 今時はなんでもコンテナにして疎結合しちゃうから様々な言語やツールをそれなりに使えたほうがいい
既存資産ファーストで言語を選んでコンテナを実装することがやたら増えた
逆に言うと既存資産が無い新規開発のときは何を選んでもいいわけで
なんでもいいならC#やGoなど強力な言語が出揃ってる今、あえてJavaを選ぶ意味は殆どない
レガシーとコンテナの橋渡しが今のJavaが担ってる仕事 javaとC#比べて速さ問題を比べてもあまり意味がない
ある程度しか変わらないから
10倍速いとかじゃないからな
速さを競うならC++
ネットゲームとか激しくパフォーマンスが要求される分野はC++が強い
俺は死んでもC++はもう触りたくない unmanagedのinlineでAVXを実装すればC#でも大差ないような。 >>846
言語じゃなくてFrameworkならC#(ASP.NET Core)が圧倒的ってもう結論出てる jqとか使えば一瞬で済むことをLINQ Pad笑で書いちゃうのはC#erあるある でも、C#は遅いプログラムが多い。
M/Bに付属のドライバや基本アプリなどのインストーラーも遅かったし、
MSのC# 製のExpression Web 4も同等のC++製のFrontPageよりだいぶ遅い。
PIXELAのテレビキャプチャーカードに付属のテレビ視聴/録画再生アプリも
極端に遅い。途中でGCが入って30秒間くらい全く何も出来なくなる事が
あるし、テレビ番組表を表示するのも数十秒掛かるし。
一番技術が分かってるはずのVisual Studioも遅い。 他のC#スレ見ても、C#信者は配列が遅い、LINQが遅い、WPFが遅いと言っても受け付けない低スキルの馬鹿が多い。
CPUに関する知識が皆無。まるで20年前のJava信者、MIPS信者のようだ。 配列遅いって言って受け付けないって人は何使うの?
linqは言ってる人居るけど配列遅いなんて人居る? >>856
おそらく、
僕(>>855)が遅い遅いって言っているのに誰も取り合ってくれなかった!僕の話を聞かないアイツらがバカなんだ!
っ言いたいんだと思う。 C++使ってる人はあらゆることにパフォーマンス求める人がが多いからなあ
C#使ってるとそこまで気にしない
例え10倍処理が速くても自分の糞アプリにはなんのメリットがないので速さはいらない >>841
まっっっっっったくありません
で、説得力は? 配列が遅いって言うならポインタ使えばいいだろ
C#の昔からの標準機能だ ポインタ使ったら早くなる?
配列使ったほうが最適化しやすくて早そうだけど
ケースバイケースかな? >>862
ケースバイケース
配列のインデックスを計算で求めてるような場合は最適化が効かず境界チェックが毎回実行されて遅い
そういう場合はポインタにするとめちゃくちゃ早くなる 逆に言えばC++なら糞みたいなロジックでもよく検討されたロジックのC#より余裕で早い可能性もある
でも大体はC++プログラマの方が一段上 >>866
でも free()/delete が難しい環境では GC はありがたいですね >>867
組み込みなどの事を言ってるなら、GCの中でfree()/deleteが呼び出されるので同じ
どころか、もっと複雑になってしまう。 GCが遅いってGen0はそこまでじゃないだろ
まさかGen2前提じゃないだろうな コントロールを縮小して印刷するのにおすすめの方法を教えてください テンプレートはc++よりc#の方が早かったり
するので使い方次第だと思うのですけどね >>873
それはコンパイル時間なのではないですか? 定期的に湧く、C++より速いとか、C#は遅くないと言ってる低スキル君が、Java信者と言ってることがいつも同じでむかつく。 >>874
同じ内容の処理でC#がC++より速くなるケースが想像できないのだが、具体的なケースを教えてくれないか? >>877
coreclr見てみ。ネイティブからマネージドコードに置き換えてパフォーマンスとメンテナンス性向上させてるPRいっぱいあるから。 バカの自作C++コードよりC#libraryの方が当然早いだろう。
libraryの中身はC++だったりするが
C++の演算libraryも中身はアセンブラだから同じこと。 それはC++が遅いんじゃなくて呼び出しのオーバーヘッドが大きかったりOSやネイティブライブラリの機能が不必要に豪華で遅かったりするのを回避してるだけ C++/CLIでWPFをやる私は異端ですか?(*´・ω・) 昔試してみたような記憶があるが、C++/CLIでWPFってできたっけ? もう10年以上C#使って、自前ツールはほぼC#オンリーだけど、C#が速いと思ったことないよ。
ストールしまくる配列の遅さとか致命的だからライブラリとか作るには向かないが、
むしろ使い捨て、やっつけツールを作るにはちょうどよい。ポジション的は昔のPerlの立ち位置だな。
そういう立ち位置と理解すればWPFが普及しない理由も分かる。 >>886
>ストールしまくる配列の遅さ
詳しくお願いします。
>そういう立ち位置と理解すればWPFが普及しない理由も分かる。
C#のポジションが昔のPerlの立ち位置であることが、WPFが普及しないこと
にどのように結びつくのか解説をお聞かせくだされば幸いです。 今はマシンパワーでゴリ押し出来るからねぇ
苦労してC++で組むメリットは少ない >>888
実は、C++を苦労と思わない人なら、C#で組む必要性も低いのです。つまり、
「C++が出来るなら、C#を使う必要はない」
のです。 >>887
> >ストールしまくる配列の遅さ
> 詳しくお願いします。
マジかw こんなとんでもない低スキルの馬鹿がWPFスレにいるのか。
こんな基本的なことはパソコン少年でも知ってると思うが、条件分岐はストールする。
君のようなパソコンはじめて素人君はあと5年くらいROMってろなw それもMSの経営戦略なのですが、Visual Studio は、C++ と C# で分かれて無い
ので、使われ方の比率は誰にも分からない状態になっていますね。
果たしてどっちがすかれているのかも、本当ははっきりしません。
「層」によって好みが明確に分かれている可能性も有り得ます。
また、新しいものは、時代に乗り遅れまいと試しに使う人も多いので、
その影響もあります。 「新し物好き層」なるものがあり、その人達は新しいものが素晴らしいと思います。
ネットにはそのタイプの人による新しいものを褒める記事が多く見受けられます。
逆に新しいもの、古いものに限らず、ネットでは物事の欠点や負の側面
を書く人は少数派です。何故かは分かりませんが、炎上を恐れる人が多い
からかも知れません。 C#で10年ツール作り続けていることを誇る が紛れ込んでしまった C#界隈はWebやスマホへ移行できずに時代に取り残された人達が老害化してる印象だなあ
趣味でフリーウェアやシェアウェアを作って公開してた人も一昔前には沢山いたけど、みんな今どうしてるんだろうね
俺もその一人だけど、もうクラウド開発しかやってないわ 一応てかスマホゲーは大体UnityでC#じゃね
なんならC#の最大手まである スマホゲーでは最大手ではあるだろうけどcocosも未だに強いしunrealも頑張ってる、どっちもC++
サーバー側までC#はあんま居ないはず asp.net coreって人気ないのかな?
スマホもxamarinがあるし クライアントがUnityだからサーバーにもC#を使ってるゲームはわりとあるらしい
ドカタITではASP.NET Coreは全く使われてないね 分野ちがうがxamarinとasp.net coreどっちがまだ使われてるかっていったらasp.netの方? 最強の一人neueccとかゲームプログラマー頑張ってるし 彼はすごい人だから良いけど
大体はまだPHPかよくてruby
webソシャゲの頃の鯖エンジニア結構残ってるからね 時代とかトレンドとか言っても、スタンドアロンで十分なものをわざわざWebにしたりしないしなぁ。 いまトレンド来てるだろ
752 デフォルトの名無しさん 2019/11/04(月) 01:41:28.60 ID:uqYdx4m2
どうも、Microsoftのこれからの方向性
この1年で大きく変化しているのを理解できていない投稿が
多いように見受けられんだけど。
来週のIgniteを楽しみにしよう。 UWPのゴリ押しがうまくいかなかったからWPFもそれなりにサポートするみたいなのは見た気がする デスクトップアプリとスマホアプリに互換持たせても根本的に違うし、泥に展開出来ない時点で何の意味もない そうか?モダンアプリ使いやすいだろ
UWPがどうというより、デスクトップアプリ自体がWebのフロントエンドの一つに成り下がってしまい、
簡易なUIで十分になっちゃったんだよなあ 相談させてください。C# で
static class MyBindingHelper
{
public static bool GetModeIsTwoWay(Binding binding)
=> binding.Mode == BindingMode.TwoWay;
public static void SetModeIsTwoWay(Binding binding, bool value)
=> binding.Mode = value ? BindingMode.TwoWay : BindingMode.Default;
}
のようなクラスを作成すると XAML で
@
<TextBox>
<TextBox.Text>
<Binding Path="Hoge" local:MyBindingHelper.ModeIsTwoWay="True" />
</TextBox.Text>
</TextBox>
のような書き方ができるようになりますが、
A
<TextBox Text="{Binding Hoge, local:MyBindingHelper.ModeIsTwoWay=True}"/>
と書いても期待に反して
Markup Extension の解析時に、型 'System.Windows.Data.Binding' に対する不明なプロパティ 'BindingHelper.ModeIsTwoWay' が見つかりました。
というエラーになってしまいました。
@のような書き方は冗長に感じるのでできればAに近い書き方をしたいのですが、
何か良い方法をご存じの方がいらっしゃればお知恵を拝借できないでしょうか。
どうぞよろしくお願いいたします。 Blazorのデスクトップアプリ流用がすごすぎて既存のデスクトップフレームワークの存在意義が完全に消滅しちゃった
何も考えなくても自動的にクロスプラットフォームになるし既存のWeb系エコシステムも使い放題だ
FormsやWPFはメンテナンスすることはあっても新規で作ることはもう無いだろう さすがにWPFはもう絶滅したと言ってもいいが、現代においても未だにWinFormsが採用されることがあるのは
どっちかというと開発者のスキルの問題だからなあ
Blazorを採用できるだけのまともなWebのスキルがあるチームならとっくの昔にWeb MVC系へ行ってる スキルの問題じゃなく慣れてるからというだけ。未だにvi使い続けてる人がいるのと同じ。
同じことするのに言語やフレームワーク、ライブラリをコロコロ変える馬鹿はいないよ。
そんなに脳みそにキャパが余ってるなら医者に職業変えたほうがいいw Blazorでデスクトップアプリって、今だとどれくらいのことができるようになってる?
WPFやMFCを置き換えられるくらいになってたら検討したいが。 レス数が900を超えています。1000を超えると表示できなくなるよ。