C++ Builder vs C# どっちがいいか教えて©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/03/26(土) 22:51:31.60ID:KKewP24J
やるならどちらがいいんでしょうか?
2デフォルトの名無しさん
垢版 |
2016/03/27(日) 00:28:14.47ID:bIAa7Orq
普通にC++ Builder
比較になりません
終了
3デフォルトの名無しさん
垢版 |
2016/03/27(日) 01:28:19.69ID:ZQ3edef2
C++ Builderに一票
2016/03/27(日) 02:15:55.75ID:lViptD/i
そのどちらかなら考えるまでもなくC#一択だろ
2016/03/27(日) 02:33:08.88ID:JhGVb+Su
C#は遅すぎてプロの世界じゃ通用しない
C++ Builderだろうな
2016/03/27(日) 03:14:10.86ID:UGnRhUEw
悪いことは言わんからC#にしとけ
2016/03/27(日) 03:39:11.47ID:YL8N7tUM
>>6
でもC#って遅いんだよね?
2016/03/27(日) 04:31:21.40ID:e2zIkGsk
>>7
そりゃC++のほうが速いよ
せっかく作っても遅いから作り直しさせられたりする
2016/03/27(日) 07:06:45.14ID:8I3ts8K5
Cプラビルダーなんぞ、明日消えてもおかしくないほどヤバい。
絶対にやめとけ。
そのすべての資産が吹っ飛ぶとおもっておいたほうがいい。
2016/03/27(日) 08:39:52.68ID:gRNwsXl+
>>9
じゃあ、何を使った方がいいの?
11デフォルトの名無しさん
垢版 |
2016/03/27(日) 10:35:53.01ID:mmtD5E4R
>>10
C++ Builderしかないでしょう。
WindowsとiOSとAndroidとMac OS XのGUIプログラムを同一ソースで開発できますから。
2016/03/27(日) 11:19:05.24ID:tuBIqIOP
>>1
クソスレ乱発してんじゃねぇカス
13デフォルトの名無しさん
垢版 |
2016/03/27(日) 12:20:31.18ID:pGxqaW48
やっぱりC#はださい
これもできないあれもできない
C#やめといた置いたいいよ
2016/03/27(日) 12:23:02.90ID:dzEo+tED
>>13
具体的に
2016/03/27(日) 12:39:10.34ID:XGu9z7+0
C++みたいなごちゃごちゃクソ仕様よりはC#はマシだと思うけどな
16デフォルトの名無しさん
垢版 |
2016/03/27(日) 12:51:57.10ID:5P1z9q7E
>>14
C#は
かっこわるい
C#で作ったと聞いただけで敬遠される
起動が遅くていらいらする
もっさり動作で遅い
メモリ消費が多い
負荷がかかるのでバッテリーがすぐ減る
開発者の都合でC#を選んでもユーザーにはなかなか使ってもらえないから結局C++に書き直すことになる
C#で作ったというだけで、遅くなくても遅いとケチをつけられて納品したものも作り直しさせられる
C言語の記述を書くとエラーになる
主流のC++と異なるヘンテコ言語
Javaとも互換がない
使えるライブラリが少ない
Androidに不利
iOSに不利
Mac OS Xに不利
インストールしたてのOSでは動作しないのでユーザーにキレられる
2016/03/27(日) 13:16:36.08ID:HhNrW7B8
多分彼はC#のトゲトゲに刺さったんだろ
2016/03/27(日) 14:36:41.97ID:16qVVvu7
>>16
よほど腐ったOSとPC使ってるんだろうな
でもそれはJavaも同じだぞ
JITコンパイル言語は基本的に富豪的プログラミング
2016/03/27(日) 14:43:47.94ID:XGu9z7+0
>>18
>富豪的プログラミング
なにそれ
2016/03/27(日) 14:45:29.47ID:XGu9z7+0
念のためググったら出てきたから回答不要です
2016/03/27(日) 14:51:21.58ID:16qVVvu7
だいたいスマホのアプリですらJavaかC#なんだが
どんだけ腐ったPCなんだよ
22デフォルトの名無しさん
垢版 |
2016/03/27(日) 15:49:05.31ID:C5Gjgek2
>>21
スマホのアプリも大きなプログラムはC/C++/Objective-Cで書かれているよ。
C#はスマホ規模の小さいプログラムならまだなんとかなるかも知れないけど
パソコンの大きな規模のプログラムを作るならC/C++でやっとかないと他の競合ソフトに勝てないよ。
俺だけが使う俺ソフトの需要を満たす言語と、プロが作るシェア争いに勝つ言語は違うさ
そこでC++ Builderですよ
2016/03/27(日) 15:53:18.46ID:3kFBEoEP
規模小さければ、速度必要なソフトでもC++選ばないっていうことですか?
24デフォルトの名無しさん
垢版 |
2016/03/27(日) 16:22:04.89ID:fI+awN4B
>>23
>規模小さければ、速度必要なソフトでもC++選ばないっていうことですか?
別にC++を選んでもいいし、Hello World. を表示するだけならC++でなくてもいいだろう。
だが、Androidの場合はマルチCPUだから事情が異なってJava CPUという仮想のネイティブCPUがあると仮定しているんだ。
もちろん、開発者がそれを無視してC/C++を使うのも自由だし、実際よく使われているけどね。
Androidは、ARM Intel Atom、MIPSなどいろんなCPUがあるからね。
AndroidタブレットAtomが増えてきているよね。
MIPSのAndroidなんかねーよとか思うかも知れないけど、少なくとも過去にあったな。
http://juggly.cn/archives/47873.html
Atomの場合は、非JavaソフトをARMからAtomに変換する技術(バイナリトランスレーション)を使ってAtomでも動くようにしているらしいけど
変換できないソフトもあるし変換できてもパフォーマンスもいいかどうか分からない。

残念ながら、Androidに完全に対応するのはJavaだけで、C/C++でもC#でも各CPUにコンパイルしなおさなければ動かない機種が存在するということ。
かといってコンパイルし直す開発環境を用意できなかったり面倒だったりして、CPUの種類ごとにコンパイルするこは少ない。
どちらにしろ、AndroidでJavaが使われる場合があってもC#は採用しがたい。
Java仮想マシンはAndroidにとっての仮想ネイティブCPUなんだから。
だからJavaで作れられたAndroidソフトはネイティブソフトと呼ばれる。
2016/03/27(日) 16:27:13.15ID:fI+awN4B
>>23
規模が小さいけど速度が必要ってパターン、あると思うけどあまりないと思う。
規模が大きいほどメモリも多く使うし読み込み時間も長くなるし速度に影響が出ることか多いと思う。
特にVMを使う言語は影響が出やすい。
もちろん、規模に関わらず速度が必要ならC/C++でしか実現できないことはあるでしょう。
2016/03/27(日) 16:44:23.36ID:Bsd2GHZR
ふむふむ
C++ Builderのほうが良さそうですね
2016/03/27(日) 16:55:40.52ID:c5EVjRBy
Delphiがいい
2016/03/27(日) 17:06:13.06ID:13Gt4Wr7
C++がすでにできるならC++Builderでもいいかもしれんが、わかんないならC#からの方がいいと思うな
未定義の処理や処理系定義の互換性については入門書では扱いきれない内容だし、メモリを破壊しても処理が続行して結果がおかしくなるとかは初心者は原因すらつかめなくてコンパイラのバグを疑ったりしてる例はわりとある
C#ではそういうことはないし、速度的にも初心者のうちは困ることはない

その後、やりたければC++もやればいい
2016/03/27(日) 17:21:53.00ID:kVDqRQ+A
C++ Builderが対応しているFireMonkeyっていうクラスプラットフォームのGUIライブラリはどうなんですかね
C#にFireMonkeyみたいなものはあるんですか?
2016/03/27(日) 17:36:46.46ID:WowjK6nr
独りでデカイ物なにかを造るならビルダー
1から10までイロイロ揃っている
2016/03/27(日) 17:55:24.55ID:jU5k11Ye
>>16
バカ発見
2016/03/27(日) 18:18:19.60ID:wNuMHxUf
フリーソフトかなんかダウンロードしたら.NETのインストールが必要とか出てきて
めんどくさくて使わずに削除とかよくやった。
動けば試してやったのにな
33デフォルトの名無しさん
垢版 |
2016/03/27(日) 20:44:18.33ID:oZPPiEpI
今年のC++ BuilderのロードマップにLinux Serverってあるけど、コマンドラインだけなんだろうなあ。
それでもlibcがボーランドのライブラリならLGPL感染しなくて済むから便利かも知れない
34デフォルトの名無しさん
垢版 |
2016/03/27(日) 20:50:51.50ID:xKhiQxW2
>>28
>>24
APP_ABI= all
付けるだけでサポートしてる全CPUでビルドしてくれるんだけど
2016/03/27(日) 21:00:10.01ID:oZPPiEpI
>>34
どういう開発環境で?
2016/03/27(日) 21:00:56.69ID:g3HgW6mc
>>34
でも完全に同じにはならないでしょ?
37デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:05:04.42ID:xKhiQxW2
>>35
Android NDK
>>36
完全に同じにする必要性がわからんけど
2016/03/27(日) 21:07:49.04ID:g3HgW6mc
>>37
初心者が入門するには不向きだよねってこと
39デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:11:03.42ID:xKhiQxW2
>>38
同じだったら初心者にどんなメリットがあるの?
2016/03/27(日) 21:17:59.29ID:lViptD/i
何で今更エンバカなんだよ
Del6でピーク迎えて今使っている奴なんて当時の人間だけでわざわざ新規いないだろ
それどころかDel使いも殆どがC#に移行しているしさ
DelphiでそうだからC++Builderとか尚更
色々バグも残っているし今時開発環境でボッタくってるし
2016/03/27(日) 21:26:35.47ID:oZPPiEpI
>>37
そんなに簡単に各CPUをコンパイルできるなら
なんで、FacebookとかLINEはARMバイナリしか配布してないのかなあ
2016/03/27(日) 21:27:18.22ID:g3HgW6mc
>>39
自分の環境では(偶然)動いたけど、別環境やバージョンによって動かないとか、他環境の不具合が再現しないとかそういうことが少なくてすむ
>>28の通り、根本的にC/C++はバグを埋め込みやすいし、見つけにくいので、そっちのほうがメインの理由だけどね
2016/03/27(日) 21:27:40.53ID:oZPPiEpI
>>40
欠点なければC#でもいいけど
欠点だらけじゃん
44デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:37:51.74ID:xKhiQxW2
>>41
ほぼ誰も使わないのにアプリサイズがでかくなるのが理由でしょ

>>42
CPUの命令セットの違いでハマった事無いからわからんわ。
GPUの違いでハマった事なら何度もあるが。


最近はデバックツールも充実してきてるからC++でもそれらのツールの使い方さえ知ってればデバックもそれ程難しくないけど、初心者ならC#使えばいいと思う
どちらにせよ、C++Builderは無いかな。
45デフォルトの名無しさん
垢版 |
2016/03/27(日) 22:04:36.62ID:F4Ta+g3v
なんだかんだいってもどこへ行ってもC/C++が一番よく使われているんであって
バグが出やすいとか難しいとかいうのは詭弁とか言い訳
C#なんて独自言語。
Mac OS Xなど他のOSがC#サポートしているんならまだ分かるけど孤立しているよね。
本格的に作るならC/C++しか有り得ないよ
Androidも上位人気ソフトは80%ぐらいがC/C++らしい。
人気ないソフトは逆にJavaが増えるのかも知れないけど。
C#なんてOSで直に動くソフトじゃないから。
.NETという無駄な物をかましているからエコじゃなくてパフォーマンスも悪い
電気も無駄に食うから福島の原発再稼働してからC#使ったほうがいいよ。
2016/03/27(日) 22:10:55.33ID:g3HgW6mc
>>44
知り合いが学校の授業で未定義の処理があったけど、自分の環境だとうまく動いたので気が付かずに提出
先生のところではうまく動かなくて減点されたって話を聞いた

一定のレベル以上の人なら当然未定義動作によるミスなんてそうそうしないだろうけど、C++BuilderとC#どっちがいいとか聞く奴はそのレベルに達してないんじゃないかな
2016/03/27(日) 22:18:48.97ID:g3HgW6mc
>>45
一番よく使われてることとバグが出やすいこと、難しいことは別問題だよね?

>Androidも上位人気ソフトは80%ぐらいがC/C++らしい。
ソースは?
2016/03/27(日) 22:42:16.06ID:UGnRhUEw
>>45
アスペ
2016/03/27(日) 23:17:25.44ID:OtCxpMph
>>47
>http://www.geocities.jp/andosprocinfo/wadai14/20140503.htm
>ARMのRod Watt氏はGoogle Playストアの上位25のアプリと上位25のゲームを含む100種のアプリを調査し,
>Dalvik VMだけで動いているのは20%しかなく,残りの80%はARM ネーティブのコートを含んでいると述べています。

ちょっと正確ではなかった。
80%は「ネイティブコードを含んでいる」なので、部分的にJavaも使っている可能性があるし、C/C++で書いたとも限らないが、
Javaだけで書いたものは20%しかないということ。
仮にC/C++だけで書くとして、GUIライブラリはどうするんだろう?
C++ BuilderならAndroid、iOS、Windows、Mac OS X共通のGUIライブラリがあるけど。
上位の人気ソフトがネイティブコードを出す言語を使ったのは、速度のためもあるけど、

JavaとかC#って逆コンパイルしたソースがそのまま復元できるから人気の公開ソフトとしてはC/C++使いたくなるかな。
50デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:21:33.20ID:OtCxpMph
C#は、逆コンパイルしたらソースそのまま復元できるんで、まともな会社なら使わんよ。
特定のクライアントだけにソースごと納品してソース内容を守秘義務契約していて気にならないって会社もあるだろうけど、
ソース出す契約してない仕事のほうが多いからね。
不特定多数の人に使ってもらうソフトならなおさら、C#はソース漏洩するんで使えない。
2016/03/27(日) 23:26:26.37ID:4viO5rAv
>>50
まともな会社は使ってないってソースを教えて先生!
2016/03/27(日) 23:36:25.45ID:OtCxpMph
よく知らないんで想像にすぎないけど
Androidが、Javaよりも C/C++(Android NDK)のほうが難しいと言われているのは
言語が難しいんじゃなくて、GUIを実現する方法が難しいんじゃないかな?

C++ BuilderだとIDEで適当にコンポーネントをマウスで貼り付けて実行するだけで簡単にAndroidで動くよ。
そしてそのAndroidとプロジェクトでiOS、Mac OS X、Windowsでも動くんですけど。
OS固有の機能を使わないで互換性考えてソース書く必要はあるけどね。
53デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:52:47.63ID:OtCxpMph
>>51
逆に聞くけど、逆コンパイルされてソース漏洩、知的財産侵害して欲しいからC#使いたいって会社あるかな?
逆コンパイルされたくなく、ソース保護、知的財産を守りたいからC/C++を使いたいって会社は多い。

ソースというか、検索したらみんな逆コンパイルの対策で悩んでいるよ。
C#しかできない人は諦めているんだろうけど。
難読化とかあるけど、効果あるものがないね。
C/C++の人は対策する必要もなければ悩む必要ない。

ま、君が逆コンパイルされてソース見られていいんならそれでいいだろうけど、
俺は知的財産守るべきソフトは守りたい。
俺も作ったソフトによってはオープンソースにしているけど、オープンソースにするか否かは製品ごとに自分の意思で選びたい。
選べる言語を使いたい。
自分の意思に関わらずソース漏洩するC#とか嫌だ!!!!!
2016/03/28(月) 00:04:05.77ID:mNPc3vI9
>>53
つまり先生の妄想ってことですね!よく分かりました!
2016/03/28(月) 00:06:49.44ID:h9yZCrPP
windows鯖やazure使ってる会社はまともじゃないってか
2016/03/28(月) 00:13:28.45ID:LM4RKihH
>>55
C#は鯖にしか使えないって言いたいの?
ソース保護のためにサーバーで動くソフトしか作れないとか不便すぐる。
鯖だとJavaサーブレットとかPHPとかあるんでC#の出番ないっすwww
2016/03/28(月) 00:15:21.81ID:6x6jw7qE
>>56
お前日本人じゃないだろ
てかサーブレットワロタwww
2016/03/28(月) 00:16:48.49ID:p9kcRGxx
>>53
C# 難読化
で検索することと
C/C++の逆アセンブラはDOSの時代から
使われていたことを受け止めてください
2016/03/28(月) 00:18:38.05ID:mNPc3vI9
>>56
PHPってC#の代替になるんですね!初めて知りました!PHPってほんとすごい!!
60デフォルトの名無しさん
垢版 |
2016/03/28(月) 00:25:05.73ID:fQ8u45d7
C#を使うと誤認逮捕される!
.NETはセキュリティーの問題があるので削除しましょう。
Visual Studioをインストールしていないくても.NETが入っているだけでC#のコンパイルができます。
iesys.exeというマルウェアがあります。
C#のソースを他人のパソコンに送り込みコンパイルしてから実行するという手段です。
.NETを削除してC#を使えなくすると誤認逮捕されずに安心して眠れます。
2016/03/28(月) 00:31:20.46ID:PB7zzP7z
>>58
逆コンパイラをダウンロードして、難読化した君のプログラムを逆コンパイルしてからまた書き込んでほしい。
難読化とか意味ないから。
逆コンパイルしたことない人にはピンと来ないんだろうな。
逆アセンブルと、逆コンパイルは意味が全然違います。
逆アセンブルしてもらって結構です。
逆コンパイルが困るだけ
2016/03/28(月) 00:54:59.12ID:fJ5+kaez
>>49
ARMの宣伝か。人気ランキングなんてタイミングによって変わるし、ある程度恣意的に調整したんじゃね?
ライブラリに若干含まれていて自分では書いてないか、3DゲームのためにOpenGLを叩いてるアプリがほとんどじゃないかな?

逆コンパイルに関してはC/C++でも逆アセンブルを解析されないようにするならパッカー使ったりエントリーポイントをアセンブラで書いたりいろいろ工夫してるし、「対策する必要もなければ悩む必要ない」っていうのは言いすぎだろう
まぁ、.NETやJVMがソースの隠匿に適さないのは確かだけどね
難読化すれば素人の解析程度は防げるから全く効果がないというわけではないけど
2016/03/28(月) 01:08:13.83ID:fJ5+kaez
C++Builderちょっと調べて見たけど、情報が少ないなー
http://blogs.embarcadero.com/teamj/2014/06/08/4534/
あたりを見ると、OS固有の機能ってAndroidのインテントとかも含むのね
Android、iOS、Windows、Linux、MacでのAPIを熟知し、C++を少ない情報で書ける程度には習得しており、C++Builderを購入する程度の財力
これを考えると言語によらずマルチプラットフォーム対応って敷居高いなぁ
Webアプリにするところの気持ちもわかる
2016/03/28(月) 01:18:08.75ID:OFRXUbw3
>>62
>難読化すれば素人の解析程度は防げるから全く効果がないというわけではないけど

いや、全く効果がない。
ほとんど元のまんまだぜ。
Javascriptの難読化と勘違いしてない?
なぜ逆コンパイラをダウンロードすらせずに意見をするの?
変えても問題ないメソッド名とか変数名が変わるだけで、逆コンパイルして出て来るソースほぼ丸ごと同じだぜ。
むしろ使っていない変数やコードを削除してくれて逆に読みやすくなるぐらいだ。
あと、効果ないわりには難読化したよく動かなくなるよ。
開発期間が延びる。
2016/03/28(月) 01:35:56.59ID:BJaLc/gi
>>63
FireMonkeyというフレームワーク内で作るなら全く知識は要らない。
Windowsで直接動くわけじゃないから実行環境の構築に知識がいるけどね。
Windows上のAndroid SDKのエミュレータ使うか、実機につなぐ必要がある。
財力ない人は黙ってクラックして無料で使うから問題ない。
新しい開発環境に慣れることは並大抵ではないし、今何かやっているならそれを続けるればいいんじゃない?
WebアプリはJavascriptのみですめばいいけど、
サーバー使うならサーバー代金はかかるわ、難しいわで大変だと思うよ。
2016/03/28(月) 02:17:08.19ID:fJ5+kaez
>>64
いや、逆コンパイルはしたことあるよ
前うまく表示されなかったのをもう一回検証してみたら、不正な命令を追加することで逆コンパイルをさせない仕組みだった
実際ILSpyとdotPeekでは表示されない

ILのペインではそこそこ表示されるけど、ここだとyield returnとかまでは再現されないし、ILの知識がほしいかな
名前を記号とか制御文字に変えるのと組み合わせればjavascriptの圧縮と同程度の効果、つまりそこそこ詳しい人がある程度時間をかける必要が出てくると思う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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