人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【ソースコードを読めるようになりたい】
コンピュータ言語を学んで幾星霜、何も書けるようになりません。
むかしLinuxを弄っていたときに、こんな話を読みました。
「XFree86のソースコードを読んで、後々役に立った」と。
また学生時代の同窓生は、先輩のC++のコードをJAVAに直して書いて卒論としました。

書けるようにならないのは、例えばフリーのソフトのソースを読めず、
それ故どう書けばいいのか分からない所為かと思うようになりました。

HTML → C++ → Perl → JAVA → C → Python →VB →VBScriptと来ましたが、挫折しました。
それで読む段階で何をやっているのか分からない事が多いですが、
今回の場合、教科書を理解できるレベルであると仮定して下さい。
その後にソースコードを読んで、C#/JAVA/C/C++に
移植する事で勉強したいと思っていますが、ここで本題の、
どんなプログラムのソースコードを読めばいいのか教えて頂きたく思います。
開発環境はWindows 7 です。必要に応じてUbuntu/Debianでも導入しようかと思っています。
要は、読めるようになれば書けるようになるのではないか、と言う事です。
ご回答お待ちしております。

●質問者: cpplearner000
●カテゴリ:コンピュータ
✍キーワード:C# C++ C/C++ debian HTML
○ 状態 :終了
└ 回答数 : 13/13件

▽最新の回答へ

1 ● ykanzaki
●14ポイント

読む以前にプログラムを作る必要があるのでないでしょうか

具体的に自分の行いたいことをはっきりさせ

最初は数行でもかまいませんが自分でプログラムを作り

動かし、色んなエラーがでます。

その原因を一つ一つ確認し修正し実際に

目的にかなうように動かしてみる

この作業を繰り返してみてください。

この基礎体力が身についた上で、参考になるプログラムの

ソースを読むことです。

実際に、プログラムのコーディング行い

エラーに遭遇し、そのエラーを自分で教科書を確認しながら

修正した経験無しに他のソースプログラムを読んでも分かりません


自分で動くプログラムを完成させたら、自然と次にすることが

分かってきます

◎質問者からの返答

メイクアンドトライという奴ですね。

小さいプログラムでも有効そうですね。


2 ● deflation
●14ポイント

Rubyコアのコードを読んでみましょう。

Rubyには数多くの機能があるので、まずは分野を決めて読み進めていけばいいでしょう。

◎質問者からの返答

無理でしょう・・・


3 ● tak
●14ポイント

質問の意図を完全には理解できていませんが、

ここで本題の、どんなプログラムのソースコードを読めばいいのか教えて頂きたく思います。

この字面に従うとすれば、

テスト駆動開発

失敗するテストを書く

できる限り早く、テストがパスするような最小限のコード本体を書く

コードの重複を除去する(リファクタリング)

目的達成のために必要最小限のコードだけが書かれたソースコードを読むべきです。


実際のシステムでは

余計なこと、複数目的用、デバッグ用、...など、プログラムの理解に邪魔なコードが多く在ります。

◎質問者からの返答

Sourceforge あたりからプログラムを落としてくればいいでしょうかね。。。


4 ● SweetSmile1978
●14ポイント

書けるようになるためには、やはり「書く」ことが必要かと思います。

通常の語学も外国語を聞かないと聞き取れるようにはなりませんし、

外国語を話さないと話せるようになるのは難しいですね。

コードが書けないというのはいくつか理由があると思います。

一つはただなんとなくプログラムを学んで

ただなんとなくプログラムを書こうと思っても

なんとなくだからいまひとつ身が入らないというかんじでしょうか。

そういう点では「こういうのを作りたい!」というものを

まず見つけないとだめですね。

そういうのを見つけた後次に躓くのが

言語を理解していても、目的を実現するために

どういう処理をすればいいのかわからないということでしょうか。

たとえば、mp3 を扱えるようになりたい!といったばあい

プログラミング言語とは別に mp3 についての知識が必要になります。

それがわからないとどうにもなりませんから。

そういう点でプログラミング言語に限らず

自分が作りたいプログラムに関して

なにかを学ぶ必要があることもあります。

そういう点では他の人がどういう処理をしているのか

読んで参考にすることは非常に有意義だと思います。

ただ、やはりプログラムは

その分野・目的に応じて処理はばらばらです。

ですので、特定の分野について理解したからといって

別の分野ですらすら書けるようになるほどかんたんではないと思います。

共通する部分はないわけではありませんが。

自分がどういうプログラムを作りたいか考え、

類似のオープンソースプログラムを探し

それを参考にしながらとにかく書いてみるしかないかなと思います。

◎質問者からの返答

上述のsourceforgeあたりか、そう言うコードのを載せているサイトから

落としてくるのが良いでしょうかね。。。


5 ● garyo
●14ポイント

私はいくつも言語を覚えて来ていますが、

GUI系の言語であればまず最初に行うプログラムというのがあります。


まず、「テキストボックスに入れた文字をボタンを押すとメッセージボックスで表示する」というプログラムです。

これができれば、基本の入出力ができていることになるので、後は演算の問題だけになります。

次は、「ファイル選択ダイアログ」を表示させて、「ファイルの入出力」ができれば、簡単なツールが作成できるようになります。

その後、スレッド・タイマーなどで時計アプリを作ったりします。

その次にネットワーク系のアプリを作ってみます。

このくらいまでできれば、大抵のことはできると思います。

本で行けば、入門書を1冊完読したら、次は逆引き本を買って、自分が作りたいプログラムに必要な所を読んで行けば良いと思います。

何か他のプログラムを読めば良いというより、質問者の方は作りたいプログラムが無いのではないでしょうか。

ごく簡単なツール(何かの作業を自動化するとか)で良いので、自分で色々作って行くのが一番の早道だと思います。

◎質問者からの返答

これですが、マイクロソフト公式の「プログラムを作ろう!Visual C# 2008 Express Edition"と言う、

教科書を持っています。

長らく眠らせていましたが、試してみます。

なるほど、GUIから勉強をしても良いのですね。


1-5件表示/13件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ