いろいろな仕事を渡り歩き、今はインフラ系エンジニアをやっている。いろんな業種からの視点も交えてコラムを綴らせていただきます。

変態と常人の壁

»

■ちょいと文系院卒君をフォローしてみる

 エンジニアライフを見ていて、ひろ氏さんの書いたコラムが目を引いた。何やらコメント欄が盛り上がっているなぁと。もう一つ目を引いたのが、"newziaコネクトによると、以下の記事が関係あるようです"のところに、以前私の書いたコラムが出ていたことだ。

 ひろ氏さんの考え方には「あぁ、そういうふうに考えているんだね」というスタンスだ。是でも非でもない。そこから先に考え方を膨らませていくプロセスだと思っている。これからどう育っていくか楽しみだ。

 個人的には文系理系なんて関係はない。常識をぶっ壊して、発想の自由と可能性を追求したい。それだけだ。そもそも、文系、理系というカテゴライズは学校の教科が基準だ。学生時代に真剣に学問として取り組んだか?だいたいが受験目的だ。文系理系で差が出るほど真剣に学問として取り組んだのだろうか。そこを問いたい。

 一つの事柄を徹底的に考えると、ある時点で別の概念で考えることができるようになる。やった事のない人には何を言っても理解できない境地だ。ひろ氏さんの何が先進的かというと、コラムで文系と理系というテーマに対して徹底的に考察しているところだ。いずれ、そういう枠を超えた自由な発想を手に入れるのではないかと期待している。

■常人との壁

 徹底的に考えることで超えられるもの。それが常人の壁だ。人間が普通に暮らしていると、一定の思考パターンが形成される。自分の属している文化圏で「常識」と言われているものだ。これが常人の壁だ。

 常人の壁は便利だ。影に隠れていれば、大して考えなくても快適に暮らせる。それと引き換えに、発想の自由を失ってしまう。常識という鎖で繋がれた犬として安住するか、壁を越えて自由を追求する探求者となるか。それは各々の自由だ。

 常人の壁を超えた人は変態と呼ばれる。常識では理解できないからだ。人は理解不能な行動に対して、恐怖に似た感情を抱く。しかし、変態には常人ではたどり着けない世界が見える。そして、自由な発想がある。

 自由な発想ができるので、いろいろな能力を如何なく発揮できるようになる。ここでなぜ天才ではなく変態というのか。常人にしてみれば、天才の価値が分からないからだ。優れた才気を持っていたとしても、「自分に理解できない=変人=バカ」程度のアルゴリズムでしか判断できない。

■具体的に常人の壁を破ってみる

 そこで、ひろ氏さんが引用したコードを再利用してみる。

package samples.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class FileToString {
  // ファイル内容を文字列化するメソッドです。
  public static String fileToString(File file) throws IOException {
    BufferedReader br = null;
    try {
      // ファイルを読み込むバッファドリーダを作成します。
      br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
      // 読み込んだ文字列を保持するストリングバッファを用意します。
      StringBuffer sb = new StringBuffer();
      // ファイルから読み込んだ一文字を保存する変数です。
      int c;
      // ファイルから1文字ずつ読み込み、バッファへ追加します。
      while ((c = br.read()) != -1) {
        sb.append((char) c);
      }

一見、謎のアルファベットの配列だ。そこでプログラマやってる人に問いたい。

「このコードに犬はいるか?」

 ひろ氏さんの書いたコラムでなら「いない」が正解だ。プログラムの分からない人に出す例という条件での答えだ。そこに異論は無い。だが条件を変えて、プログラムの分かる人がこれを見たらどうだろう。私の答えは、

「コードから犬を導き出せ!」

だ。コードで犬を表現する。それがプログラマだ。更に言うなら、

「お前の言葉で犬を創造しろ!」

それがプログラミングのスタンスじゃなかろうか。

■創造できないプログラマは二流だ

 プログラマの書いたコードには命がある。誰かの書いたコードに息吹きを感じた事があるだろうか?多分、これを言って通じる人は少ないと思う。一般的に言われているプログラミングは、コード書いて実行して何か動いている。以上、終了!と、その程度の認識だからだ。

 だが、書かれたプログラムには「目的」がある。そして目的を遂行するための「意志」と「意図」がある。そして「個性」があり、「成長」していく。ある意味、「生きている」という事に対しての定義を満たしている。見る角度によっては、コードは生きていると取ることができる。

 ただ、最近のプログラマは息の通ったソースコードに接することも少ないと思う。ただ、言われた通りに書け、動けばよし。その程度の感覚でコードを書かされている。そういう人に「コードは生きている」なんて言ったら、失笑以外の何でもないだろう。

 優れた人は、普通に話しても伝わらない何かを持っている。話して分かる程度のもので優れられるなら、そもそも優位性は成り立たない。高みを目指すなら徹底的に考えろ。そして常人の壁を越えよう。それが優位性というものだ。

信じるも信じないも、あなた次第です。

Comment(12)

コメント

lav

汚いネタですが、
犬がファイルという食べ物を食って、胃にバッファリングし、文字列というウンコの元を腸内に作ってくイメージをしてしまいました。
勿論、出力が伴えばウンコが出てくる感じです

まあ、もうちょい、いい言い回しもありそうですが。

うんこー!

Anubis

> lavさん
うんこはdumpだ!

ただ、犬が吠えるだけか、何か食べるのか、それを決めるのはプログラマだ。

夢夢

今回のコラムも面白かった。
あくまでも譬えだがこのコードには犬は存在する。
FileInputStreamの部分だ。
ただしこれを猫と呼んでもいいぞ。
Anubisさんのように具体的に聞いてくれたら応えられる。
その質問力を身につければ文系/理系なんて言っていたことが馬鹿らしくなる。
もちろん最終的には
>「お前の言葉で犬を創造しろ!」
となると思う。

ひろ氏

Anubisさん

文系の院卒がIT業界に入ってみて感じたこと管理人のひろ氏です。
いやーわざわざフォローのためにコラムまで書いていただいてありがとうございました。せっかく書いていただいたのにちょっと最近忙しいのとか色々あって返事できなくてすいません。
Anubisさんの以前のコラムも拝見しましたけど、文系理系関係ないってのが持論ですね。
僕は一般的な文系と理系のコミュニケーションが通じない理由を片方の知識不足と説明の仕方があやふやなケースから記事書いたつもりでしたが安易な文系理系対立煽り記事みたいになって誤解を受けたみたいです。
プログラムの犬とかワンは何故これが犬になるんだ嘘つけという意味で書きましたけど、自分で犬を作成するってのがプログラマの役割なんですね。
研修の段階でのプログラムに対する苦手意識からサーバーエンジニア側に行ってしまったところがありますけどAnubisさんの発言を覚えていきたいと思います。
返事が遅れてすいませんでしたがフォローしていただいてありがとうございました。

夢夢

ひろ氏さん、俺が文系理系といっているのは、最後まで文系理系という言葉を使用しているからだ。
また、コミュニケーション力の定義が正しくなされていない点に不備があった。
理系と文系が対立していると書いているとは思わなかったが、その区分そのものが幻想だと伝えたかったんだ。
文系理系という区分はお上が決めた幻想だ。
幻想は存在しない。
それを理解すれば君は仕事ができるようになるぞ。
ただ、逃げでサーバーエンジニアになったのはいけないな。
プログラミングは基礎教養だし情報技術の知識は共通だ。
そういったものはサーバーエンジニアでも必要だぞ。
今後は逃げないように。
逃げなければ先輩たちが応援するぞ。

Anubis

> ひろ氏 さん
コメントありがとうございます。私もデスマってました。

> 僕は一般的な文系と理系のコミュニケーションが通じない理由を片方の知識不足と説明の仕方があやふやなケースから記事書いたつもりでしたが

なるほど、それを聞くと合点がいく。

> プログラムの犬とかワンは何故これが犬になるんだ嘘つけという意味で書きましたけど、

ネタの切り出しとしては面白いと思いました。切り出しとしてのセンスを感じます。
ただ、言いたい事への繋げ方が甘かったと思う。

コメントを見ていただくとわかるが、言いたい事がボヤけたコラムには、
だいたい自分の意見を主張するコメントが多く付く。悪く言えば隙が多い。
何かと炎上に繋がりやすくなる。

隙を無くすには、一つのネタから連想を膨らませて書くようにすると良い。
コラムを読むと、章(■と表題で区切った単位)ごとにネタを盛り込んでいる。
なので、全体を通して話がまとまりにくくなる。

一つのネタから連想を膨らませて書くようにすると、
少ないネタで一本書けるようになります。そして、全体を通して統一感が出ます。
ネタの打ち出し方には光るものを感じます。膨らませ方を覚えると、更に光ると思う。
また、ネタの膨らませ方を覚えると、とっさの一言に柔軟に対応できるようになります。
これは業務でダイレクトに活かせます。

今後の活躍を期待しています!

Anubis

> 夢夢 さん
コメントありがとうございます。
実のところ、私はインフラ系のエンジニアなので
そこまでコードを書くわけではないです。

ただ、何かを創り出したい意欲のある人の書くコードと、
義務感だけで書いているコードを比べると、明らかな差を感じます。

それが何かというと表現が難しい。なので、
>「お前の言葉で犬を創造しろ!」
と表現させてもらった。

ゆずる

一言物申したい!

Anubis

> ゆずる さん
コメント欄が荒れるので却下。

・・・と言いたいとこだが、
とりあえず前回ゴタゴタやってたのは時効にしておく。

良識の範囲内でどうぞ。

ゆずる

> 学生時代に真剣に学問として取り組んだか?だいたいが受験目的だ。
> 文系理系で差が出るほど真剣に学問として取り組んだのだろうか。
> そこを問いたい。

以前も書いた通りですが、「人間の能力には大差はない」という旨の記述
に対して、「人間の能力の差はとても大きい」と反論しました。

文系理系の差が出るほど真剣に学問に取り組んだのだろうか?という疑問
ですが、常識的に言えば「差が出るほど取り組んでいる」に決まっています。

これは、理系を褒め称え、文系を貶める意味ではありません。

文系と理系の差はあるのか?(いや、そんなに大差はないだろう?)という
筆者への反論です。ずばり!あります。と言うか、あって当たり前です。
なぜ筆者は、人間の能力には差はない、文系理系に大差はないと思うので
しょうか。それは筆者が文系でも理系でもないからに他なりません。

私は東大京大、早慶と言ったレベルの名門大学の卒業生ではありませんが、
子供のころから英語塾、進学塾と通って熱心に勉強しておりましたし、同
級生たちも同じように小中学校の頃から塾に通い必死に勉強しておりました。
学校が終わった後、2時間、3時間家庭で自習するのは当たり前です。高校時代
は、学年+2時間の家庭学習をするように教師に指導されていました。

中学校では受験と関係のない鉱石やナトリウムなどの燃焼、結晶を作る実験、
さらにちょっと背伸びと言うことで微分・積分を習い、高校ではさらに背伸び
で、前期量子力論などを教えて頂きました。

理系と言えば、高校では数列、級数、三角関数、微分積分、ベクトル、虚数や
力学、波動、電磁気、原子核などについて学んだり、遺伝、化学式、分子の構造、
などについて学びます。

これらの基礎ができた上で物理の教師は、原子核が陽子と中性子でできており、
その周囲を電子が周回しているという基礎的な原子構造の初期モデルを説明し、
互いの引かれあう引力を持ちながら、原子核と電子は衝突せずに原子として
あり続ける状態、さらにエネルギーがあふれ、電子の周回が広がる状態、その
周回半径が飛び飛びの値をとること、原子が安定している状態がどういう状態
なのか、なぜ放射性物質は放射線を出しながら崩壊していくのかなどを学びました。

そして、こんな知識が何に役立つのか?現在ではその原子のモデル自体は否定
されていますが、まさに地球の上空を周回する人工衛星が安定して周回するには
どのくらいの速度を出せば良いのかと言った応用につながっていきます。

大学に入ると内容はもっと高度になり専門家していきます。情報工学科なら、
ハンドアセンブリング、回路の設計、コンパイラの仕組み、プロセッサの仕組み、
メモリの仕組み、アルゴリズム、半導体素子、C言語、TCP/IPなど通信プロトコル
暗号化理論、3D映像処理、人工知能、遺伝的アルゴリズム、画像処理、音声処理
と内容もどんどん高度になっていきます。

医学部に進めば、人体の内部からがん細胞を摘出し、農学部や生命工学科に進めば
遺伝子組み換え、物理学に進めば原子、さらに原子核、それを構成する素粒子と
どんどん専門化して細分化され高度になっていきます。

これは理系が賢い、偉いと言っているのではなく、文系に進めば、法律、会計、
税務などの専門分野があり、そして、理系と同様に細分化され高度になっています。
文系なら弁護士、公認会計士、司法書士、社労士、税理士や簿記、外為や貿易、
外国語などその道のスペシャリストとして活躍しています。

文系の方がSEになっても銀行業務に精通していたり、海外の最新の英語のドキュメント
を翻訳したり、簿記の知識をいかしてプログラミングを行ったりと相応の専門性を
発揮して業務に当たっています。

つまり、学生時代、普通に勉強していればなんらかの専門性があるべきで、世の中は
文系と理系にわかれていると思われていますが、そうではなく、文系と理系、そして
文系でも理系でもない人の3種がいるということです。

そして、筆者は残念ながら、当たり前のようにがむしゃらに勉強する人、当たり前の
ように休日に自学自習するお友達がいないから、「文系も理系も大差がない」などと
恥ずかしげもなく公言できるのです。

Anubis

> ゆずる さん
全文引用でコラム書いてもいいか?

ゆずる

いいけど、反論のための反論だったらやめてほしい。

文系理系の差異はあるのかと言う問いに対して、「あるに決まってる」と言う結論。他の文章はそれを示す事例の一つや小話だから、これらをひとつひとつ丁寧に論破しても、議論としては意味はあまりない。

文理で差異はあるの? ⇒ ある

というお話。また、数学や物理をマスターしていれば物理シミュレーションなどのプログラムをかけるが、これは理系にしかできない仕事。

コメントを投稿する