質問: フリーソフトについて フリーソフトの作り方について調べたいのですが、なかなか情報がでてきません。こういったソフトはデスクトップアプリケーションと呼ぶのでしょうか? c言語を勉強してるのですが、どうもそちらにはインストールを必要とするソフトについて載っていないのです。
回答: http://oshiete1.goo.ne.jp/qa4408518.html この質問も合わせての事だったのですね. ものすごく広い範囲をカバーする質問なので,回答が難しいですね. 基本的にはどんなソフトウェアも,あなたの言う「プログラミングの本」の 内容の延長上にあります. 複雑な構文解析ライブラリなども,細かく見ていけば,「ファイル入出力」や 「データの保持」,「文字列処理」,「四則演算」,「比較」,「条件分岐」, etc....,これらの「繰り返し」で出来ています. どんなプログラムを作るにしても,これらの要素は必ず使います. このあたりは本を三冊勉強したと言うことなのでマスターしたのだと思います. その次には, guiウィンドウ(linuxだと「x-windowプログラミング」とかで検索)の 作り方だとか, os依存のapi(application programming interface,たとえば画像を一発で読み込んで 配列に展開してくれる関数)の使い方だとか, 誰かが作った便利なライブラリ(関数)(画像処理だと「opencv」ライブラリだとか 数値計算だと「octave」ライブラリだとか)の取り込み方だとか, の勉強に発展していけば良いと思います. (これらライブラリも実は,上記の基本的な機能の組み合わせだけで出来ています. ただし数千~数万行のプログラムになりますが) そういった知識を得ながら,目的とする理論・機能をプログラミング上でどう実現して ゆけばよいか,考えるべきです. (また,既存のソフトウェアがどうやって実現されているのか,理解していくべきです) 完全に無目的だと覚えるべき事が多すぎて(それこそ本数十~数百冊分になります)勉強しきれ ないので,まずはkuraを例に,機能がどのように実装されているのか考えていくのが 良いかもしれませんね.(ファイルを読み込んで配列に入れるにはどうするんだろう? その配列の中から特定の文字を抜き出すにはどうするんだろう?抜き出した文字列を 役割ごとに分類して保持しておくにはどういった変数や配列が必要なんだろう?etc) また,例としてあげて頂いたkuraの説明を見て,「インストールとか言ってファイルをいろんな 場所に配置したり設定をいじったりしているけれど,あれは何の意味があるんだ」と お思いかもしれません. あれは,どんな場所からでもコマンド一発で呼び出したり,いろんなところに配置してある いろんなプログラムから機能を呼び出したりするのに必要だからやっています. このあたりを理解するには,osの知識が必要です. http://www.atmarkit.co.jp/flinux/index/indexfiles/theoryindex.html 道のりは長いですが,がんばってください.