達人プログラマやハッカーになるなはどういう勉強をしていけばいいのでしょうか?(どの言語や分野をどういった順序で学べばいいかなど)

それから、ソースコードを読むことも重要だと聞きました。
それはどこで読めるのでしょうか?
ともにできるだけに具体的に教えてください。
また、基本的な技術は平均的にどのくらいの期間で身につけることができるのでしょうか?(1日○時間で△年程度など)
よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/05/19 18:43:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答12件)

id:l-lol-l No.1

回答回数310ベストアンサー獲得回数10

ポイント15pt

そのようなものにはなろうと思ってなるものではないですね。素質があり、経験を積んだらいつのまにかなっているものです。

もちろん、目指すことはよいことだとは思いますが、まずは普通のプログラマにならなくてはいけません。

ただ、ここで普通の職業プログラマになってしまうと達人にはなれないのでご注意を。

おこづかい帳をつけたり、体重をグラフにしてみたり、ゲームを作ってみたり。なにかやってみたいことはありませんか?これらやりたいことをコンピュータでやりましょう。

あいつらは目的と手段が逆転しています。別段おこづかい帳をつけたり、体重をグラフにしてみたりしたいわけではないんです。コンピュータで遊ぶために無理やり目的を見つけてるんですよ。

あと、ソースってどこにありますか?っていってるうちはソースなんて読まなくていいです。必要がなかったり、読みたくないうちにソース見てもいいことありません。

大概の場合は、人の作ったくそソースをながめては、こんなつくりにはしたくないなぁと反面教師になるくらいが落ちですので。

http://q.hatena.ne.jp/1147774201

id:kazak440

なるほど。

非常に参考になりました。

これから先ソース読みたくなった場合に、くそじゃないすごソースはどこで読めるのでしょうか。

2006/05/16 20:29:42
id:aiaina No.2

回答回数8179ベストアンサー獲得回数131

id:kazak440

ありがとうございます。

非常に参考になりました。

しかし、ソースコードはどこに・・・?

2006/05/16 21:06:44
id:harasima No.3

回答回数128ベストアンサー獲得回数7

ポイント15pt

http://www.google.co.jp:google]

・2の文書の最後から

Q: どこから手をつけたらいいですか。フリーの UNIX をどこで入手できますか。

 このページのあちこちに広く使われているフリー Unix を入手するためのポインタを入れてあります。ハッカーになるには、自分を教育する意欲と自主性と能力が必要です。さあ、それをいますぐ発揮して……


ポイントはいりません

id:kazak440

ありがとうございます。

2006/05/16 22:44:31
id:sera_yr No.4

回答回数123ベストアンサー獲得回数6

ポイント15pt

オープンソースで動作しているアプリケーションの、C言語で書かれたものを

理解し、少しずつ自分でアプリケーションをアレンジしながら勉強すると良いのではないでしょうか。

本気でプログラミングのみにのめり込むことができれば、1年程度でそこそこの腕にはなると思います。達人の域に到達するには更に1~2年程度必要になると思います。

ソースコードはこちらの記事を少し読むと閲覧できます。

http://japan.linux.com/opensource/04/11/10/0215245.shtml

オープンソースは人に見られることを前提に組まれているので、綺麗なソースコードが多いです。

id:kazak440

了解しました。

ありがとうございます。

2006/05/16 22:45:09
id:osamu_honma No.5

回答回数47ベストアンサー獲得回数1

ポイント15pt

スーパープログラマの青木淳さんのページです。

http://www.sra.co.jp/people/aoki/

id:kazak440

参考にします。

どうもです。

2006/05/16 22:45:39
id:hts1004 No.6

回答回数13ベストアンサー獲得回数2

ポイント15pt

私は凡人で、プログラマーでもないのですが、

趣味でPHPというWEB向けのプログラミング言語を勉強したりしています。(http://www.php.gr.jp/

本など買ったりしていろいろ読んでいるのですが、ある本に

「PHPの上達を望むのであればPEARのソースを読むといいよ」

的な内容が出ていました。

PEARというのは、PHP本体とは別に世界中の人が寄ってたかって

作られているPHP用のライブラリです。

(ここでいうライブラリとは、「使うと便利につかえるプログラム群」だと思ってください)

で、PEARのソースどう読むかというと、中古PCを買ってくるか、

昔使ってたDOS/Vパソコンなどを引っ張り出して、自分で

Linuxをインストールします。Linuxにも種類があったりするのですが、それはここでは説明は省略します。

で、LinuxというOSをインストールした後に、Linuxの中にPHPを

インストールします。そしてその中にPEARという物が含まれており、ソースコードもそのLinux上で閲覧できます。

※インストール手順などは主旨が変わってくるのでここでは省きます。

あとはLinuxの中で使われているアプリケーションは全てソースコードを読むことができます。

世界中の頭の良い人たちが作り上げたソースコードばかりだと思いますので、勉強するのには参考になるのでは?

長くなりましたががんばってください。

id:kazak440

どうもありがとうございます。

非常に参考になりました。

早速インストールしてみます。

2006/05/16 22:46:48
id:kazu1107 No.7

回答回数199ベストアンサー獲得回数14

ポイント15pt

プログラムの事を基本に勉強すれば良いと思いますが、そのために突き詰めていくと英語・・・それもそれなりの用語が飛び交う文章を読めるぐらいの読解力が必要になってきます。理由は、オープンソースプロジェクトでは英語を使った会話が多いのと、インターネット上の資料の約80%は英語とも言われているので、必要な資料が少なければ少ないほど読めないと不利になることが多くなってくるからです。UNIXやLinuxが吐くメッセージなども基本は英語ですしね。

日本人が作ったオープンソースプログラムでもソース読むとコメントが英語・・・という事はよくある話です。

あと、プログラミングのネタ作りでおすすめなのは、自分が使っているプログラムをソースなど見ずに自分で調べたり考えたりしながら作っていくことです。

これは製作を進めていくと、本家はここが使いにくいなどという部分を拡張して便利にするとかすることも面白いと思います。

私はハッカーじゃないのであくまで私的に思うことですが、「ハッカー」とは勉強してなれるものではなく、好きなことに夢中になってたら、いつの間にか他人からハッカーと呼ばれるようになってた・・・という感じのものかと思います。

あまり勉強、勉強と気張らず好きなことを追求していってください。

http://www.linux.or.jp/JF/JFdocs/hacker.html

id:kazak440

英語ですね。今猛勉強中です。

回答ありがとうございました。

2006/05/17 07:12:51
id:Gravity No.8

回答回数10ベストアンサー獲得回数0

ポイント15pt

まず重要な事は、何事にもあきらめない精神だと思います。

プログラムって手順を踏んでゆくと、とても時間と労力のかかる作業です。

特に実用的(何かソフトのようなものを作りたい)というときは簡単なものであればVisualBasicというとてもはいりやすいプログラムがあります。こちらはVisualStudioというソフトを使いながら作成していきます。ちなみにこのプログラムの言語を作ったのはマイクロソフトです。

VisualStudio

http://www.microsoft.com/japan/msdn/vstudio/

もっと本格的なプログラムがやりたい!という人はC言語をお勧めします。本職がプログラマの人が「プログラムをしたかったらCからが・・・」と言っているのを聞きましたのでC言語がお勧めかと思います。ゲームボーイなどのゲームソフトはもちろん、パソコンでの代表的なソフトもC言語等で作られています。

C言語講座

http://www.sgnet.co.jp/c/

id:kazak440

ありがとうございます。

2006/05/17 07:12:02
id:ecchie No.9

回答回数63ベストアンサー獲得回数0

ポイント15pt

http://sourceforge.jp/

オープンソースのプロジェクトが集まっています。

いろいろなプログラムのソースコードが見れますので

参考にしてみてください。

id:kazak440

ありがとうございます。

2006/05/17 07:11:30
id:Wafer No.10

回答回数103ベストアンサー獲得回数0

ポイント15pt

Rubyソースコード完全解説

Rubyソースコード完全解説

  • 作者: 青木 峰郎 まつもと ゆきひろ
  • 出版社/メーカー: インプレス
  • メディア: 単行本

Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法

  • 作者: トップスタジオ まつもと ゆきひろ 平林 俊一 鵜飼 文敏
  • 出版社/メーカー: 毎日コミュニケーションズ
  • メディア: 単行本

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリュー ハント デビッド トーマス
  • 出版社/メーカー: ピアソンエデュケーション
  • メディア: 単行本

達人プログラマーへの道、目指しておられますか。

意気込みあふれるご質問、すばらしいです。

上記に上げました書籍は、初心者にはかなり難しい内容ですのでお気をつけ下さい。

学習の順序としては

1.コンピューターの仕組みについて理解する

2.16進数、2進数について理解する。

3.C++言語を履修する。

が、現在日本では比較的進みやすい道かと思います。

蛇足ですが私は

1.16進数、2進数について勉強(なぜか小学校のとき通っていた塾の先生が教えてくれました)

2.コンピューターの仕組みについて理解する

3.マシン語の習得

4.C言語の習得

5.オブジェクト指向についての理解。

6.C++言語、Ruby、Perlの習得

という順番で習得しました。

1から6に至るまで20年かかっております。

ちなみに達人でもハッカーでもありません。ご期待に沿えず申し訳ありません。

コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~

コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~

  • 作者: 矢沢 久雄 日経ソフトウエア
  • 出版社/メーカー: 日経BP社
  • メディア: 単行本(ソフトカバー)

プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識

プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識

  • 作者: 矢沢 久雄 日経ソフトウエア
  • 出版社/メーカー: 日経BP出版センター
  • メディア: 単行本

このシリーズの本は、どれもわかりやすいですのでお勧めです。

CyberLibrarianトップページ

ここには2進数、16進数についても書かれています。

独習C++

独習C++

  • 作者: ハーバート・シルト 神林 靖
  • 出版社/メーカー: 翔泳社
  • メディア: 単行本(ソフトカバー)

C++言語はこれで覚えられるといいでしょう。

習得しておくとよりよい技能・知識としては

数学・英語

があげられます。

習得時間についてですが、私は上記の通り20年かかっており、また新たな技術を身につけるため現在も勉強中です。これは、人によってピンキリです。出来る人と出来ない人との技術の差が、ものすごく開くのがプログラマだとおもっていただいていいと思います。

さて、最後に。

初心者を抜け出した後のプログラマに必要なのは

・向上心

・自己啓発能力

・理解力

この3つだと思います。

 はじめはみんな素人ですから、人に聞いて回るというのは正しいのですが、「自己啓発能力」という点から言うと、「自分でネット上からオープンソースを探してきてダウンロードすることができない」というのはほめられた事ではありません。上のほうの回答でも書かれていますね。あれは怒っているのでも、意地悪しているのでもありません。プログラマを目指す人は必ず一度は通る洗礼だと思ってください。

ご参考になれば幸いです。

id:kazak440

ご親切にありがとうございました。

とても参考になりました。

2006/05/17 07:11:08
id:hamster009 No.11

回答回数3431ベストアンサー獲得回数50

ポイント15pt

・とりあえずPC-UNIXを導入し、運用する

 半年以上

・プログラミングの本を買ってくる(C, C++)

・それを200頁くらいはやる

1ヶ月〜2ヶ月くらい

・自分がつくりたいソフトに似たソースを探して、改造してみる。


ということで、最短1年くらいでしょうか。

http://www.yahoo.co.jp/

id:kazak440

なるほど。

やはりUNIXですね。

早速導入してみます。

2006/05/17 07:13:51
id:Xegnyph No.12

回答回数66ベストアンサー獲得回数1

ポイント15pt

http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83%E3%82%AB%E3%83%B...

(ノーポイントで結構です)

「どの言語や分野をどういった順序で学べばいいか」

そんなものに正解などはありません。

達人や(良い意味での)ハッカーとか、そういう常人を超えたところに達するのに必要なのは、常人以上の貪欲なまでの好奇心と探究心です。

「○○するにはどうしたらよいですか」といった、他人に解を求める姿勢は探求者の姿勢ではありません。

何をすれば良いのか、何を学べばよいのか、そういったことを探ることから自力でやるのが探求者の姿勢です。

まず第一に「自分が何に対して興味を持っているか」から攻めるのが正攻法ではないでしょうか。

すぐに他に興味が移って何でも少しかじるだけ…、興味本位の探求では大半の人がそうなってしまいます。(なにしろゴールなどないのですから)

最新の技術動向を追うだけならば、それは単なるミーハーです。

流行の技術から適当に選んでそれを深く身に着ければ「自称:ハッカー」やあるい「レベルの高い技術者」という程度にはなれるでしょう。しかしそれだけです。

自他共に認める達人やハッカーというのはそのレベルではありません。

興味のある言語、関心のある分野を片っ端から学び、習得し、究め、さらに次を学ぶのです。

流行に左右されるのではなく、自らの興味と関心のある限り際限なく突き進むのです。

マイナーなハード・ソフトや、使い古された旧来のOSや言語であっても、徹底的に探求していけば達人にもハッカーにもなれます。

ハッカーも、達人も、目指してなれるものではありません。

徹底的に探求し続けた結果、いつの間にかそう呼ばれるようになるのです。

「何をやればよいのかわからない」程度の興味しか持てないのであれば…、目指す道が違うのかもしれません。

id:kazak440

貴重なアドバイスどうもありがとうございました。

身近なことから徹底的に探求していこうと思います。

2006/05/18 12:30:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません