• ベストアンサー

フリーソフトの作成

暗号化ソフト、インターネットブラウザをフリーとして開発してみたいのですが、どうやって作成するのか(開発ソフトウェア)を探しています。 フリーソフトを作る場合どのようなソフトを使うのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.2

将来的な目標としての暗号化ソフトやインターネットブラウザーで それを前提にした、開発言語の選択肢の問題ってとこにいるんだと思います。 たとえば、著名なフリーの暗号化ツールであるGnuPGは C言語で書かれていたと思います。たぶんテキストエディタで書いてgccでコンパイルです。 具体的には、プログラミングはソースファイルの編集と そのコンパイル等という二つの要素でなりたつわけです。 (例外はあります) プログラミング言語の仕様は、言語の仕様として CやBASIC,PASCAL,COBOLなどなど、性質の違うものが多々あり さらに同じCでもそのコンパイラの仕様や付属ライブラリの違いで ソースコードをそれなりに合わせて書く必要があります。 また、動作するOSが違えば、OS特有のライブラリは使えない場合があり 汎用のライブラリを活用する必要に迫られることもあります。 Windows用ではVisual CやVisual BASIC、あるいはDelphiなど 統合開発環境と呼ばれるひととおり完結して開発できるソフトも売られています。 Windows用ソフトの相当数がこれらで開発されていると思います。 対して、Linuxに代表されるようなオープンソースのソフトウェアでは そのソースをコンパイルするために、市販の開発環境が必要では いろいろと不便なので、同じくオープンソースのgccが主流です。 本質的には、ほとんどのソフトは特定の開発言語、特定の開発環境に 依存するということはありません。向き不向きは多少ありますが… プログラミングの本質はアルゴリズムやデータ構造やプログラム構成を考える事だと言えますから 慣れると、違う開発言語でもこなせるという人もめずらしくありません。 形から入るのであれば、市販の開発環境を買ってしまうのも一つの手です。 (学生割引が使える人は使えるうちに買ったほうがいい場合もあるでしょう) 逆に、オープンソースのソースコードを参考に学ぶなら 無償で利用できるgccで始めるのもいいでしょう。 どちらにしても、それなりに入門書等も売られています。 暗号化は暗号強度と復元保証、この二点で信頼性が重要なので 既存の暗号化ライブラリを使ったツールを開発するのもいいと思います。 インターネットブラウザも、HTMLレンダリングエンジンとして Gecko,WebKitなどを利用するのが定番と言えるでしょう。 もちろんWindowsであればIEコンポーネントも良い選択肢です。 正直言って、暗号化ライブラリもHTMLレンダリングライブラリも 複雑でバグを排除することが困難なものです。 より簡単で、地味でも役に立ち、利用者の感謝を得られるソフトで やる気を維持しながら、力をつけていくといいと思います。

Aoox
質問者

お礼

詳細な情報を適切にかつ見やすく書いていただきありがとうございます。 市販ソフトウェアを買うのもオープンソースを使うのも手だとわかりました。 ありがとうございます。 バグの修正も難しくなってくる場合もありますね。  今回はオープンソースから勉強していこうと思いました。 また質問があれば質問させていただくと思いますので回答よろしくお願いします。 回答ありがとうございました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

貴方の得意な言語のソフトを使えば良いでしょう。 すべて一からプログラミングを行うか、フリーやOS標準機能のライブラリを使うなど、作り方も貴方次第です。 暗号化については適切なアルゴリズムの勉強が必要でしょう。 簡単に解析される程度のものでは暗号化する意味はありませんし、セキュリティとしては落第点ですからね。 また、ソフトを逆コンパイルされてアルゴリズムまで解析される可能性もあるので、そういったソフトの解析対策も必要かと思います。

Aoox
質問者

お礼

確かに逆にコンパイルされてしまっては意味がありませんね(笑) 確かに得意な言語で開発するのが一番賢い方法だと思います。 回答ありがとうございました。

関連するQ&A