- ベストアンサー
電卓ソフトを作成したいのですが、どの言語を勉強すればよいでしょうか?
自分はハード(回路設計)エンジニアとして働いているものですが、プログラミングに興味があり、勉強したいと思っています。 現在のレベルは、入社時の研修で学んだ入門レベルのC言語ができる程度です(業務では一切使用しませんので、現状忘れております)。 自分には、ハードエンジニア向け電卓ソフトを作成し、フリーソフトとして公開したいという最初の目的(夢)があるのですが、どの言語で勉強をはじめるべきかを迷っています。そこで、次の質問をさせてください。 ・おすすめの言語とその理由、もしくは、選定する方法・基準をお教えください。 ・その言語の開発環境は無償版でと考えているが、その考えは正しいでしょうか? ・ひととおりの文法をマスターしてから、ソフト作成に着手という流れで良いでしょうか?(作成しながら覚えるのが良いという習得方法がありますでしょうか?) 環境の選択だけは自信を持って決めたいと考えております。そうしないと、設計時に迷ったときに、違う言語にすればよかったと迷ってしまいそうだからです・・・よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 >Visual C# またはVisul Basicがおすすめとのこと、ありがとうございます。 >ちなみにこれらは、Visul C++よりも入門者向け、ということなのでしょうか、それともこういったソフト作成向きということなのでしょうか。 個人的には、入門者向けであるという回答が、30%、こういったソフト作成向きであるという回答が70%であると考えています。 Visual C++(以下VC)でGUIのソフトを作成するには、非常に敷居が高く、作成方法を習得するのに非常に時間がかかります。それに対して、Visual C#(以下VC#) (またはVisual basic(以下VB))の場合は、直観的に、GUIのソフトを作りやすくなっています。これは、1つの例ですが、この業界に入ってC言語の経験が1年のプログラマに、簡単なGUIのソフト(画面でスタートボタンを押して、なにがしかの処理をさせ、その実行時間を画面に表示させるもの)を作らせたことがあります。 全く同じ処理を行うものを、VC,VC#,VBで作成させました。(同じ処理の内容を実行したとき、作成した言語により、処理の実行時間がどれだけ違うかを計測するのが目的でした。) その時点で、そのプログラマはC言語のみの経験だけで、VC,VC#,VBはいずれも未経験でした。 それで、結果ですが、VC#,VBで作成した場合は、2~3日で、プログラムが完了しました。一方、VCで作成した場合は、1週間たっても、プログラムが完成しませんでした。 上記のことから、いかにVCでGUIのソフトを作るのが難しいかが、わかります。 VBよりもVC#の方がC言語に近いので(またこれから普及する可能性も高いので)VC#をおすすめします。
その他の回答 (4)
- jacta
- ベストアンサー率26% (845/3158)
作りやすさでいえば、Visual C#かVisual Basicでしょうね。 一応、Visual C++ 2008 Express Editionでも、C++/CLIとしてであればGUIをデザインできますが、わざわざそんな選択をする理由もないと思います。逆に、(過去のバージョンでもよいので)有償版のVisual C++またはVisual Studioをお持ちであれば、MFCで作るのも悪くないと思います。 .NETアプリケーションにした場合、若干起動に時間がかかりますので、使い込んでくるとイライラする可能性がないわけではありませんが、小さなプログラムであれば、そんなに気にする必要はないかもしれません。 .NET以外であれば、Turbo C++やTurbo Delphiのような選択肢もあります。容易にGUIアプリケーションを作れますが、情報量はマイクロソフトの製品に比べると明らかに少ないのが難点です。 ハードウェアの設計ツールではTclを使うことも少なからずあるかと思います。Tclが使えるなら、Tcl/Tkも選択肢としては悪くありません。
お礼
ご回答いただきありがとうございます。 今後は独学で進めることになると思いますので、作りやすさと情報量+自分のわずかな経験を重視したいと思います。よって、Visual C++を検討しております。 Tclについてはほとんど経験がありません。Tcl/Tkについて、ちょっと調べてみましたが、やはり情報量が少ない印象を受けましたので、自分にとってはハードルが高いかなと考えております。
- zwi
- ベストアンサー率56% (730/1282)
私もC#かVBをお勧めします。 VC++は無料版だとGUIデザインするツールが付属しませんので大変苦労する上に難易度が高いです。 ネット上の情報量の多さではVBに軍配が上がりますが、C言語との文法の近さではC#です。あとは、ご自分で試して決めていただければと思います。どちらにしても、損することは無いと思いますが。
お礼
ご回答ありがとうございます。 重要な情報をいただき、VC#かVBを使用することで確信が持てました。 自分のC言語の知識を生かせるよう、まずはVC#でのソフト作成を目指し、プログラミング勉強に着手したいと考えております。
- jacta
- ベストアンサー率26% (845/3158)
言葉通りに解釈すると、「電卓」すなわち「電子卓上計算機」のプログラムですので、まず候補に挙がるのはアセンブリ言語、ついでC言語ということになるかと思います。 本来であればHDLの類も選択肢に入れるべきでしょうが、「ソフト」とのことですので、今回は除外とします。 いずれにしても、どんなものを作りたいのかを明確にすることをお勧めします。 ところで、エンジニア向けの電卓とのことですが、もしPCで動作するものであれば、GUIよりコマンドラインツールの方が便利だったりします。
お礼
ご回答、誠にありがとうございます。 本来、計算機を作るということであれば、仰られている通り、加減乗除を実現するための回路にはじまり、アセンブリ言語でのレベルでの処理の理解が不可欠だと思います。特に私はハード屋ですから、なおさらそうだと思います。ただし、今回の電卓ソフト作成については、ソフト屋さんレベルでのアプローチにて始めたいと思っております。 ソフトとしては、単位の変換や回路設計特有の便利機能?などを盛り込みたいのと、公開して誰でも使えるとっつきやすさを目指し、GUIを想定しています。
- tatsu99
- ベストアンサー率52% (391/751)
ハードエンジニア向け電卓ソフト とは、windowsのアクセサリの電卓のようなものと考えてよいのでしょうか。 もし、そうだとして、それはwindowsでのみ動作すればよいのでしょうか、それとも、linuxとかmacなどでも動作するようものを想定しているのでしょうか。 その回答により、選択子も異なってきます。 1.動作環境(OS)は、何ですか。 windows,linux,mac,solaris等、または、すべてを対象にする。 2.電卓はGUI(画面上に絵がでるもの)ですか、CUI(コマンドプロンプトで動作すればよいもの)ですか。 上記について、補足されれば、より、明確な回答が期待できますよ。 もし、windowsのみで動作すればよく(他のOSは考慮しない)、GUI(アクセサリの電卓のようなもの)での動作することが、条件なら、 Visual C# またはVisul Basicがおすすめです。 Visual studio 2008が無償で入手できますので、両方ともそれについてきます。
お礼
ご回答いただき誠にありがとうございます。 想定しているソフトについてですが、仰られた通り、windows上で、GUIで動作するものを考えています。windows以外のOSは考慮しなくて良いと考えています。 Visual C# またはVisul Basicがおすすめとのこと、ありがとうございます。ちなみにこれらは、Visul C++よりも入門者向け、ということなのでしょうか、それともこういったソフト作成向きということなのでしょうか。C#は新しい言語というイメージがあり自分だけでは選択しなかったと思います。検討したいと思います。 無償版であるExpress Editionと有償版の違いをMSのサイトで確認し、現状理解できませんでしたが、無償版でソフト作成は可能と考えておいて良いとのことですよね。ありがとうございました。
お礼
ご回答いただきありがとうございます。 有用な比較情報を提示いただき、大変参考になりました。Visul C++にこういった側面があることは他の情報からは全く分からなかったことでした。 VC#習得目標にプログラミングをはじめることで、迷いなく進んでいくことができそうです。