「グル」や「ウィザード」と呼ばれるレベルのハッカーになりたいです
年齢は23です。
コンピューターに精通し、使いこなせるレベルの人を「グル」や「ウィザード」と呼ぶそうですが、そ
のレベルにまで到達するには、どういった学習プロセスを踏むのが一番良いでしょうか?
知識量が膨大になってくると学習効率というか、
才能が重要になってくると思うので、誰しもがなれる訳ではないと思うのですが、
仮にグルレベルまで行ったら日本だけでなく他の先進国ではまず食いっぱぐれる事はないと思いますし、今後、IT社会におけるビジネスで何らかの先見の明を見出せる可能性もあると思っています。
過程が、よほど獣道でなければ、学習に何年か費やす価値はあると思っているのですが、一体何からどういう道筋で学習していけば良いのか、わかりません。
とりあえず何もしていないという訳ではなく、
これが出来たら他の言語(機械語・アセンブリを除いて)は大体なんでも出来ると教わった
「C++」を学習していて、ポインタとか構造体とかテンプレートがある程度、理解できるようなった段階です。
グルレベルに向けて、今後の効率的な学習プロセスを教授して頂けませんか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
0
ベストアンサー
何をもって「グル」や「ウィザード」と言えるレベルになるのかは少し曖昧なので、そこをはっきりさせてから話す必要があると思います。
「グル」は、スゴイ技術力がある人、ということよりも、偉大な何かを作り出した人、と私は考えています。だからこそ、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/17 00:54
編集2017/09/17 22:40総合スコア21737
0
端的に言えば、目指してなるものではない、と考えます。寝食を忘れてのめり込むような人が、「気づいたらなっている」ようなものです。
そして、「食いっぱぐれる事はない」かどうかも怪しいものです。「IT系のことを仕事にする」ということは技術の発展の最先端に立つわけですので、少しうかうかしていればあっという間に置いてきぼりを食らってしまいます。
よほど尖った技術力を持っていれば別かもしれませんが、「好きでたまらない」人にはかなわないものです。対人交渉力、デザインスキルなど、別な要素を掛け合わせできたほうが、ビジネスという観点からはより貴重な人材となると考えます。
投稿2017/09/16 22:34
総合スコア145930
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
このあいだ、別の会社の方から「ウィザード」「レジェンド」と呼んでいただける機会がありました。振り返ってみると、好きでたまらず、寝食を忘れてのめり込んだ結果、そう呼んでいただけるようになったように思えます。普通に生活しているなら、時間はおそらく足りません。
そして、現時点でこの腕っぷしがあれば、たぶん食いっぱぐれないだろうという自信はあります。
「ハッカーと画家」というエッセイ集に「普通のやつらの上を行け」というくだりがあります。ここで紹介されている「ほげ言語」をまだ知らないなら、取り組む価値があります。
ついでに、「許可を求めるな謝罪せよ」というブログ記事もおすすめします。私はよく「やっちまえばいーんだよ」と言ってます。
以下、個人的な意見ですが……
複数の言語に取り組んで、いろんな評価軸から、アレとコレは似ている、ソレは全然違う、という視点を持てるとよいでしょう。
たとえば、時間軸では、プログラミング言語の系譜なども参考になりそうです。
ハードウェアへの近さという軸では、「アセンブラ~スクリプト言語」のような層別もできるでしょう。アセンブラの下にはマイクロコード、FPGA、ワイヤードロジックのような世界が広がっています。スクリプト言語より上には Scratchなどの世界が広がっています。
こういった目線で見てみると、適材適所で言語を使い分けられるようになるでしょう。文脈に応じて、場合によっては新しいプログラム言語を作って解決することも視野に入ってきます。
この時代に「ハッカーになりたい」と言えるだけで十分に素質はあると思います。頑張ってほしいです、応援します!!
投稿2017/09/17 00:58
総合スコア2493
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
一説にはこういう階層があるとか。
beginner -> novice -> user -> knowledgeable user -> expert -> hacker -> guru -> wizard
「つかいこなせる」だけだと knowledgeable userに過ぎません。
日本で言うと、守破離といいますね。wkipediaに書かれてる説によるとこうらしいですが。
守:支援のもとに作業を遂行できる(半人前)。 ~ 自律的に作業を遂行できる(1人前)。 破:作業を分析し改善・改良できる(1.5人前)。 離:新たな知識(技術)を開発できる(創造者)。
ハッカーは守破離の「離」段階でしょう。学習を手段としている限りは、グルはおろかハッカーにもなれないと思いますよ。
まずは何の文化のハッカーになりたいかを決めて、ごく普通に「エキスパートになる」ための学習と実践を積んでください。その上でさらに経験実績を積み上げて、オリジナルな仕事ができるくらいになれば、あるいは新しい分野を切り開く(すでに回答が出ているように ruby の提唱とか)とグルと呼んでもらえるかも。
guruは日本語では導師ですね。一般に「他人に1教えようと思ったら自分では10知ってないとできない」といいます。導師ということははハッカーとかエキスパートの10倍は「出来る」人にならないといけませね。
また、単純に修行を自分の内面に積み重ねるだけなのは仙人に至る道なので、他の人に恩恵をもたらすような成果を出すのがグルへの道かもしれません。
投稿2017/09/17 08:18
総合スコア702
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
わたしも,質問者さまと同じ年代のときに,似たような思いをもち,その後スキルの精進をしつつ今まで来ているものです.
わたしは「どうやったらハッカーになれるのだろう?」という疑問を漠然と持ったときに,ちょうどEric S. Raymond さん著,山形浩生さん翻訳のハッカーになろうという文書を見つけて,それを参考にしました. この文書には,質問者さまが目指しているハッカーが何なのか,彼らがどんな考え方で行動しているのかがまとまっています.わたしは,この文書を読んだ後,触発されて,世界的に使われているオープンソースのコードの読み書きを始めました.最初は Linux のみの読み書きをしていましたが,途中から Hadoop やその他のコードなども読み書きもしたりしました. 結果として,どれだけ hacker に近づけたかと言われると,よくわかりません. なにせわたしもまだ,道半ばなので.
ただ,目指している存在がどういった存在なのか確認するためにも, ハッカーになろうを読むことをオススメしたいです.
投稿2017/09/17 14:49
総合スコア20
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ウィザードはハッカーの先、ではあるでしょうが、グルだけは技術とは別の次元の分類だと思います。
グルとはすでに他の方々が書かれていますが、いわば新しい世界を作り出す創造主です。それは学習してたどり着けるものではなく、また学習せずともたどり着ける境地です。
あくまで個人的な感覚ですが、スティーブ・ジョブスはグルであり、スティーブ・ウォズニアックはウィザード(特にApple II とか見ると)ですかね。ビル・ゲイツはハッカーかな。ただビル・ゲイツのすごいのは、「経営感覚を持ったハッカーである」ことでしょうか。
他にグルというと、アラン・ケイ、ジョン・マッカーシーあたりですかねえ。
※Dr. ドナルド・クヌースは……グルでかつウィザードというか賢者というか
余談:あまり技術に詳しくない人がプロジェクトに無理難題を言ってくるとき(大抵は営業だったりしますが)、定番の返しとして「プログラマは魔法使いじゃねえ!」と突っ返すことは良くあります。
ハッカーまでならまだ「どうやってるかなんとか推測、理解できる」んですが、ウィザードは「なんでそれができるのか分からないし、説明を受けても理解できない」あたりがウィザードかなあ。
投稿2017/09/17 15:17
編集2017/09/17 15:22総合スコア13703
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
maisumakunさんの回答に同意見です。
いかに精通していようが、グルとは“人が認めてそう呼んでくれる”からで、自分でなるものではありません。そして、決して食いっぱぐれがない事でもありません。
参考:
グル ハッカー
プログラマが知るべき97のこと
投稿2017/09/16 23:15
総合スコア6851
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/19 02:03