質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • MacOS(OSX)

    1902questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Windows

    1439questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • ネットワーク

    538questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    463questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 情報処理技術者

    15questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。

「グル」や「ウィザード」と呼ばれるレベルのハッカーになりたいです

解決済

回答 7

投稿

  • 評価
  • クリップ 9
  • VIEW 19K+

mello

score 43

「グル」や「ウィザード」と呼ばれるレベルのハッカーになりたいです

年齢は23です。

コンピューターに精通し、使いこなせるレベルの人を「グル」や「ウィザード」と呼ぶそうですが、そ
のレベルにまで到達するには、どういった学習プロセスを踏むのが一番良いでしょうか?

知識量が膨大になってくると学習効率というか、
才能が重要になってくると思うので、誰しもがなれる訳ではないと思うのですが、

仮にグルレベルまで行ったら日本だけでなく他の先進国ではまず食いっぱぐれる事はないと思いますし、今後、IT社会におけるビジネスで何らかの先見の明を見出せる可能性もあると思っています。

過程が、よほど獣道でなければ、学習に何年か費やす価値はあると思っているのですが、一体何からどういう道筋で学習していけば良いのか、わかりません。

とりあえず何もしていないという訳ではなく、
これが出来たら他の言語(機械語・アセンブリを除いて)は大体なんでも出来ると教わった
「C++」を学習していて、ポインタとか構造体とかテンプレートがある程度、理解できるようなった段階です。

グルレベルに向けて、今後の効率的な学習プロセスを教授して頂けませんか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2017/09/18 08:55

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 7

checkベストアンサー

+28

何をもって「グル」や「ウィザード」と言えるレベルになるのかは少し曖昧なので、そこをはっきりさせてから話す必要があると思います。


「グル」は、スゴイ技術力がある人、ということよりも、偉大な何かを作り出した人、と私は考えています。だからこそ、Linuxカーネルの生みの親であるLinus Torvaldsが「グル」と言われていることに納得します。日本人の「グル」はいるのかと言われれば、Rubyのパパであるまつもとゆきひろは「グル」だと私は思っています。

さて、松本さんがスゴイ腕前で、C++がばりばり書けるのか、というと、そうでも無いようです。もっというとCに関してすら、そうでも無いようです。松本さんが書いた初期のRubyは本当に遅く、Rubyのコア部分(インタプリンタの根幹をなす部分)は笹田耕一さんが書いたYARVに置き換わり、現在のRubyのコアも笹田さんが中心になって書いているようです。

なんだ、まつもとゆきひろはたいしたことがないな、ということではありません。松本さんの言語そのものに対する知識や研究の度合いはかなり深い物があります。現在のRubyはコミュニティーでの合議で仕様が決まっていきますが、最後はMatzがそう言うならで決まっている場合も少ないないようです。新しい言語を作ることは、その実装よりも、その設計の方が、遥かに重要で、遥かに難しいのです。

何を言いたいかというと、もし、「グル」と言われたいのであれば、何かを新たに作るしか無いと言うことです。どんなに技術力があっても、「グル」にはなれません。ただ、「グル」だからといってスゴイ技術力があるとかそういうことでもありません。ただ、面白いことに、リーナスさんや松本さんが「グル」になりたくてLinuxやRubyを作ったわけではありません。安価なx86でUNIXのプログラムを(高価なUNIXを買わずに)動かしかったから、純粋オブジェクト指向なPerlっぽい言語が欲しかったら、と、彼らは必要に迫られて、そして、それに興味があったから、作ったに過ぎないのです。「グル」はなろうとしてなれるものと言うより、自分が欲しいものを作ったら、いつの間にかみんな使ってくれて、「グル」になっていたと言うことだと思います。


「ウィザード」が普通のハッカーの最上級だと考えています。もし、それを超えるものがいれば、Wizard King(魔法使いの王)でしょうか、暗黒面に落ちればWitch King(魔王)になるかも知れません。

彼らは「十分に発達した科学技術は、魔法と見分けがつかない。」を地で行く人達です。10分かかる処理の高速化を彼らに任せれば、1時間後は5分になり、1日後は1分になり、1週間後は10秒になり、1ヶ月後は1ミリ秒になるでしょう。彼らは、最適化のためなら演算ユニットを自作することすら否みません。見積もり工数1人月の開発案件を「うちのウィザードが一晩でやってくれました」というのもよくあることです。

さて、「ウィザード」はどれぐらいの人なのでしょうか。まずは、広くて深い知識です。ハードウェア(PNPやNPNと言ったトランジスタの基本的な事からトンネル効果によるリーク電流が流れる仕組みなどの半導体の物性はもちろんの事、UTPが撚線である理由や同軸ケーブルの光より遅い伝搬速度、HDDやCD等の仕組みと青色LEDを使ったBDがなぜ高密度が実現できるか、電波の周波数の違いによる干渉度合いや回折性、アルミなどの素材による熱伝導率の違い等)からソフトウェア(UEFI->OS->アプリというのはもちろんの事、言語だけでは無くてコンパイラ毎の特性、ライブラリやフレームワーク、古い時代から最新までのパラダイムやアルゴリズム等)といったコンピューター全般は当たり前のこと、計算科学を初めとした数学(チャーチ=チューリングのテーゼや圏論、暗号論等)や社会心理学(ソーシャルエンジニアリングには必須)等の学問も必要です。最先端の技術文書は全て英語ですので、英語が読めることは最低条件になります。

知識だけがあってもそれを生かしきれなければ意味がありません。彼らの仕事は今まで誰もやってこなかったことを創造することです。といっても、既存の道具を使わないというわけでは無く、そのほとんどは、既にあるものの組合せに過ぎません。ただ、目的を達成するには何を組み合わせれば良いのか、そして新たな組合せによって何ができるようになるのか、そういったことをシミュレートや実践を繰り返し、最適を探り出すのが彼らです。その組合せにこそ新しさがあり、彼らの仕事が「魔法」に変わるのです。

全くの未知の何かを作り出すのは研究者の仕事であり、彼らの仕事ではありません。彼らがやっていることは既存技術の応用にすぎません。と言っても、何を適用するかというのは本当に難しいことです。言ってみれば、数学の応用問題を解いていくようなものです。数学の応用問題は既に習った基本的な手法を使えば解くことができます。ですが、複数の手法の中から、最適なものを選び出し、かつ、適切に組み合わせなければ解くことができません。そこには「この場合はこれをする」という決まり切ったマニュアルなんてものは無く、色んな事例や、これまでの知識から、一つ一つできそうなことを試していくしかないのです。

知識については、誰でも詰め込めば、それなりに身に付きます。しかし、応用力となると才能と言うより勘やセンスの問題になります。頑張れば、センター試験レベルの数学は(私は取れませんでしたが)誰でも満点がとれるようになれますが、国立大学二次試験レベルの数学になると勉強だけでは補いきれない壁があると私は思っています。「ウィザード」に求められる応用力もそれと同じだと思います。そういった応用力は、単なる努力では身に付かず、人格や世界の見方すら変わるような発想の転換みたいなものが訪れない限り、後から身に付くことは無理だと思います。


大昔に読んだハッカーに関する本に「ハッカーはなろうとしてなるものではなく、気付いたらなっていたというものだ。」というのが書いてあったような気がします(凄くうろ覚え、本もどっかいったし)。面白そうだから、あると便利だから、お金が無いから、趣味です、そんな動機でコンピューターの深部を触り始め、誰も思いつかないような手法を編み出し、多くの知識と高度な応用力が身に付いてしまって、気付いてみたら周りからはハッカーだと思われていた。それが彼らだと思います。

ハッカーになるためにC++を勉強しても続かないと思います。C++の知識が必要な何かをするために、C++について勉強していたら、いつの間にかできるようになっていた、ぐらいで無ければ、ハッカーと言われる人にはたぶんなれません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/19 11:03

    そんな人が実在したらと考えるとワクワクしますね。
    完全ではなくとも補い合える数人がいたら、きっと世界を変えてくれますね。

    キャンセル

+11

端的に言えば、目指してなるものではない、と考えます。寝食を忘れてのめり込むような人が、「気づいたらなっている」ようなものです。

そして、「食いっぱぐれる事はない」かどうかも怪しいものです。「IT系のことを仕事にする」ということは技術の発展の最先端に立つわけですので、少しうかうかしていればあっという間に置いてきぼりを食らってしまいます。

よほど尖った技術力を持っていれば別かもしれませんが、「好きでたまらない」人にはかなわないものです。対人交渉力、デザインスキルなど、別な要素を掛け合わせできたほうが、ビジネスという観点からはより貴重な人材となると考えます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+7

このあいだ、別の会社の方から「ウィザード」「レジェンド」と呼んでいただける機会がありました。振り返ってみると、好きでたまらず、寝食を忘れてのめり込んだ結果、そう呼んでいただけるようになったように思えます。普通に生活しているなら、時間はおそらく足りません。
そして、現時点でこの腕っぷしがあれば、たぶん食いっぱぐれないだろうという自信はあります。

「ハッカーと画家」というエッセイ集に「普通のやつらの上を行け」というくだりがあります。ここで紹介されている「ほげ言語」をまだ知らないなら、取り組む価値があります。
ついでに、「許可を求めるな謝罪せよ」というブログ記事もおすすめします。私はよく「やっちまえばいーんだよ」と言ってます。


以下、個人的な意見ですが……
複数の言語に取り組んで、いろんな評価軸から、アレとコレは似ている、ソレは全然違う、という視点を持てるとよいでしょう。

たとえば、時間軸では、プログラミング言語の系譜なども参考になりそうです。
ハードウェアへの近さという軸では、「アセンブラ~スクリプト言語」のような層別もできるでしょう。アセンブラの下にはマイクロコード、FPGA、ワイヤードロジックのような世界が広がっています。スクリプト言語より上には Scratchなどの世界が広がっています。
こういった目線で見てみると、適材適所で言語を使い分けられるようになるでしょう。文脈に応じて、場合によっては新しいプログラム言語を作って解決することも視野に入ってきます。


この時代に「ハッカーになりたい」と言えるだけで十分に素質はあると思います。頑張ってほしいです、応援します!!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+4

一説にはこういう階層があるとか。
beginner -> novice -> user -> knowledgeable user -> expert -> hacker -> guru -> wizard

「つかいこなせる」だけだと knowledgeable userに過ぎません。

日本で言うと、守破離といいますね。wkipediaに書かれてる説によるとこうらしいですが。

守:支援のもとに作業を遂行できる(半人前)。 ~ 自律的に作業を遂行できる(1人前)。
破:作業を分析し改善・改良できる(1.5人前)。
離:新たな知識(技術)を開発できる(創造者)。

ハッカーは守破離の「離」段階でしょう。学習を手段としている限りは、グルはおろかハッカーにもなれないと思いますよ。

まずは何の文化のハッカーになりたいかを決めて、ごく普通に「エキスパートになる」ための学習と実践を積んでください。その上でさらに経験実績を積み上げて、オリジナルな仕事ができるくらいになれば、あるいは新しい分野を切り開く(すでに回答が出ているように ruby の提唱とか)とグルと呼んでもらえるかも。

guruは日本語では導師ですね。一般に「他人に1教えようと思ったら自分では10知ってないとできない」といいます。導師ということははハッカーとかエキスパートの10倍は「出来る」人にならないといけませね。

また、単純に修行を自分の内面に積み重ねるだけなのは仙人に至る道なので、他の人に恩恵をもたらすような成果を出すのがグルへの道かもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

わたしも,質問者さまと同じ年代のときに,似たような思いをもち,その後スキルの精進をしつつ今まで来ているものです.

わたしは「どうやったらハッカーになれるのだろう?」という疑問を漠然と持ったときに,ちょうどEric S. Raymond さん著,山形浩生さん翻訳のハッカーになろうという文書を見つけて,それを参考にしました. この文書には,質問者さまが目指しているハッカーが何なのか,彼らがどんな考え方で行動しているのかがまとまっています.わたしは,この文書を読んだ後,触発されて,世界的に使われているオープンソースのコードの読み書きを始めました.最初は Linux のみの読み書きをしていましたが,途中から Hadoop やその他のコードなども読み書きもしたりしました. 結果として,どれだけ hacker に近づけたかと言われると,よくわかりません. なにせわたしもまだ,道半ばなので.

ただ,目指している存在がどういった存在なのか確認するためにも, ハッカーになろうを読むことをオススメしたいです.

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

maisumakunさんの回答に同意見です。
いかに精通していようが、グルとは“人が認めてそう呼んでくれる”からで、自分でなるものではありません。そして、決して食いっぱぐれがない事でもありません。
参考:
グル ハッカー
プログラマが知るべき97のこと

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

ウィザードはハッカーの先、ではあるでしょうが、グルだけは技術とは別の次元の分類だと思います。
グルとはすでに他の方々が書かれていますが、いわば新しい世界を作り出す創造主です。それは学習してたどり着けるものではなく、また学習せずともたどり着ける境地です。

あくまで個人的な感覚ですが、スティーブ・ジョブスはグルであり、スティーブ・ウォズニアックはウィザード(特にApple II とか見ると)ですかね。ビル・ゲイツはハッカーかな。ただビル・ゲイツのすごいのは、「経営感覚を持ったハッカーである」ことでしょうか。
他にグルというと、アラン・ケイ、ジョン・マッカーシーあたりですかねえ。
※Dr. ドナルド・クヌースは……グルでかつウィザードというか賢者というか

余談:あまり技術に詳しくない人がプロジェクトに無理難題を言ってくるとき(大抵は営業だったりしますが)、定番の返しとして「プログラマは魔法使いじゃねえ!」と突っ返すことは良くあります。
ハッカーまでならまだ「どうやってるかなんとか推測、理解できる」んですが、ウィザードは「なんでそれができるのか分からないし、説明を受けても理解できない」あたりがウィザードかなあ。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • MacOS(OSX)

    1902questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Windows

    1439questions

    Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

  • ネットワーク

    538questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    463questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • 情報処理技術者

    15questions

    情報処理技術者とは、経済産業省が「情報処理の促進に関する法律」に基いて行っている国家試験、及びその資格保有者のことを指します。情報技術の原理・基礎に関する知識や技術があるという評価を受けることができます。