##質問内容
幅広いジャンルの家電プロダクトを作れるようになりたいです。
家電プロダクトを作るにはC++、またはjavaの言語を習得する必要があると聞いたのですが、どちらが良いのでしょうか?
調べてみたところ、C++はプロダクトに組み込むマイコンのリソースが少なくて済み、大量生産時に安上がりになるため、多くのメーカーで採用されているとありました。
では、個人が趣味で(または少量生産販売)する場合は、(C++に比べて)コード量が少なくてある程度何でもできるjavaの方が開発スピードの点から考えて適しているということでしょうか?
###補足
現在はRuby on Railsでウェブサービスを複数運営している。
今後はunityでC#を使い、ゲーム開発をする予定。(まだC#は使ったことないですが笑)
#ご回答よろしくお願いします!!
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
家電プロダクトを作るにはC++、またはjava(中略)どちらが良いのでしょうか?
組み込みならC/C++が定番です。
一部の情報家電ではJavaも使えますが。
大量生産時に安上がりになるため
その通りなんですが、イメージできるように言うと、
家電は何百万台、何千万台も出荷するものなので、
一台あたり数円、数十円高いだけで、全体だと何億円ものコスト増です。
開発の人件費の差より、ハードの差が大きくなります。
コスト面の問題だけでなく、タイミング制御がシビアな分野では、
Javaのガベコレすら邪魔で、メモリ管理を自前でやる必要があります。
そのように人間が機械に歩みよる世界です。だから機械に近いC/C++で書きます。
個人が趣味で
質問者の方が仕事で書く状況を想定していましたが、
もしかして趣味でラズパイをいじりたいとかでしたら、
逆に機械の方から人間に歩みよらせて、
Javaやそれ以外の言語で、書きやすく書く、好きに書くのもアリでしょう。
unityでC#を使い、ゲーム開発をする予定
それならどうせ使うのだから、
C、C++、C#のCファミリーを覚えてしまうのは、
系統的に分かりやすい選択だと思います。
その場合の学習法は、基本となるCから覚えるのがお勧めです。
言語を好きに選べる環境なら、後発のC#が一番書きやすいです。
C++は一番難しいので、最初はベターCで使いつつじょじょに覚えましょう。
あと組み込みメインなら、状態遷移図(表)の読み書きも覚えるのがお勧めです。
投稿2016/07/10 11:09
総合スコア5592
0
組込み系といっても具体的にどんなものをターゲットにしているのかによります。
本当に、OSなしでマイコンをじかにいじりたいのであれば、C/C+言語一択だと思います。
あらゆる開発環境で、C言語がスタンダードなので、C言語がわかればあらゆるマイコンをいじれるはずです。
OSありのものだと、内容によります。
たとえばAndroidはスマホだけと思われがちですが、スマホ以外のデバイスでも使えますので、組み込みといってもいいとおもいます。
C#をやる予定なのであれば、C++は覚えておいて損はないと思いますが、まずはC言語から始めるのがよろしいかと思います。
投稿2016/07/08 09:05
総合スコア1939
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
製品にOSが載っているかどうかとOSがどういうものかによっても左右されますね。
リモコンのようなものだと、1チップのCPUでC言語だと思います。厳しいタイミング制御が必要な所はもしかしたらアセンブラを使っているかもしれません。
OSもLinux系ならC/C++またはJavaでしょうね。
iTRONの様なOSの場合はC言語が一般的です。(内の会社は産業機械の制御をやってますが、iTRON+C言語です。)
JavaもC++も似たような言語なので、片方を習得すればもう片方の習得はさほど難しくはないと思います。
最近はスマートフォン対応とかも増えてますから、そうなるとAndroidならJavaまたはC/C++、iPhoneならObjective-C/Swiftになりますね。WEB系ならJavaがほとんどでしょうか。
投稿2016/07/08 08:24
総合スコア3579
0
いわゆる情報家電(テレビとかSTBとか)レベルではC/C++が主流ではないでしょうか。私が過去に携わったSTB(メディアプレイヤー)もC/C++で作りました。
やはり、限られたメモリ搭載量で高いパフォーマンスを発揮するにはC/C++が最適です。C/C++ならその気になればメモリ使用量を完璧にコントロールできます。一方のJavaやC#は実行環境だけでもメモリを消費し、設計段階でメモリ使用量を把握することは難しく、ある程度メモリに余裕がないとパフォーマンスが出せません。
とはいえ、例えば今時のゲーム機の中身はほぼPCですし、携帯ゲーム機やリッチな家電の中身はほぼスマホで、数百メガバイトオーダーでメモリを搭載していたりしますから、システムの構築ではなくコンテンツの制作においてならJavaやC#も有効な選択肢に入ると思います。
今後はunityでC#を使い、ゲーム開発をする予定。(まだC#は使ったことないですが笑)
Unity大人気ですね。ゲーム開発においてはJavaよりはC#の方が有用性が高いように思います。
投稿2016/07/08 06:02
総合スコア5938
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
家電と言っても範囲は広いです。
冷蔵庫や洗濯機系のいわゆる白物家電の場合は、Javaを使うケースは極稀と思います。
TVやHDDレコーダのような情報家電の場合は、Javaも使われると思いますが、CやC++も使うでしょう。
Javaだけで構築されることはないと思います。
組み込み系メインならば、C++がお薦めです。
投稿2016/07/08 04:33
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/08 04:39
2016/07/08 04:48
2016/07/08 06:37
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。