Opt Technologies Magazine

オプトテクノロジーズ 公式Webマガジン

【アドテクおじさんのお悩み相談室 #4】の~みそ コネコネ 副収入

このコーナーはOpt Technologiesでアドテクとかをやっているエンジニアのおじさん(自称アドテクおじさん)が、様々な技術を使って、皆さんのお悩みをスバッと解決しちゃおうという連載企画です。

第四回目のお悩みはこちらとなっております。ブレインダムド!

本日のお悩み

アドテクおじさん、初めまして。

 

サラリーマンの仕事とは別に収入を得たいのですが、革新的なアイデアが浮かびません。

 

いいなと思った物でも、翌日になると陳腐に見えてしまいます。

 

脳を活性化して斬新なビジネスプランをバシバシ生み出したいのですが、どのような手段が効果的だと思いますか?

 

(Gotandaさん / 30代 男性)

アドテクおじさんの答え

脳を活性化するにはやはりプログラミングが一番です。(断言)

まさに脳みそを溶かす活性化するために産まれたような言語である Brainf*ck というプログラム言語があります。(F wordにつき伏せ字表記で統一させていただきます)

Brainf*ck とは?

の~みそコネコネするために、 Brainf*ck においては、脳を甘やかすような分かりやすさが一切排除されています。

例えば、プログラミング入門でよくある Hello, world! と出力するプログラムについて、C言語 と Brainf*ck を比較してみましょう。

C言語
#include <stdio.h>

int main(int argc, char *args[])
{
    printf("Hello, world!");
    return 0;
}

プログラム言語の基礎とも言えるC言語ですが、その分プログラマ自身がやらなければいけないことが多いです。(他の便利な言語だと文字数がもっと少ないです)

とはいえ、 Hello, world! って書いてありますし、何となくわかりますね。

Brainf*ck
+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+
++.>-.------------.<++++++++.--------.+++.------.--------.>+.

な に こ れ

Brainf*ck の言語仕様

Brainf*ck は実用性ではなくそれ自身のコンパイラ(プログラムを使えるようにするソフトウェア)をとにかく軽量にすることを目指した言語です。

Brainfuck - Wikipedia

他の便利な言語にある便利な機能は当然なく、最低限の機能が以下のように定義されています。

  • > ポインタをインクリメントする。
  • < ポインタをデクリメントする。
  • + ポインタが指す値をインクリメントする。
  • - ポインタが指す値をデクリメントする。
  • . ポインタが指す値を出力に書き出す。(表示する)
  • , 入力から1バイト読み込んで、ポインタが指す先に代入する。
  • [ ポインタが指す値が0なら、対応する ] の直後にジャンプする。
  • ] ポインタが指す値が0でないなら、対応する [ にジャンプする。

先の Hello, world! と表示するプログラムでは、ポインタ(メモリの場所を指し示すもの)の位置を変えながら Hello, world! の文字を表すようにメモリの内容を変えつつ、適宜その値を出力しています。

Brainfuck Visualizer

この物好きなハッカー達が作ったビジュアライザを使うと、どのように実行されるかがわかりやすいです。上記リンクは Hello, world! と表示するプログラムが既にセットされているので、 “Run” を押せば実行できます。

各アドレスの値がどのように変わっていくかを眺めながら、しばらくすると(結構待ちます) Hello, world! と表示されるのは、きっと感動と脳の溶解活性化を引き起こすでしょう。

Brainf*ck の亜種

Brainf*ck にの~みそコネコネされたのか、色んな人が亜種のようなプログラム言語を開発しています。

Wikipedia - 派生言語

(版権系のものも多いので、Wikipediaの該当箇所を紹介するに留めておきます)

他にもこんなプログラム言語も。

ちょっと草植えときますね型言語 Grass

Brainf*ck とは言語仕様も違い、関数型言語のようです。 Hello, world! と表示するプログラムはこんな感じ。

wvwwWWwWWWwvWwwwwWWwWWWwWWWWwWWWWWwWWWWWWwWWWWWWWwWwwwwwwwwwwwwWWWWwWWWWWWWwWWWWWWWWWWWWWWwWWWWWWWWWWWwwWWWWWWWWWWwwWWWWWWWWWWWWwWWWWWWWWWWwwWWWWWWWWWWwwwwwwWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWWWWwwwwwWWWWWWWWWWWWWWWWWWWWwwWWWWWWWWWWWWWWWWWWWWWWwWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwWWwwwwwwwWWWwwwwwwwWWWWwWWWWWwwwwwwwwWWWWWWwwwwwwwwwwwwwwwwWWWWWWWwwwwwwwwwwwwwwwwwwwwWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWWWWWWWWWwwwwWWWWWWWWWWwwwwwwwwwwwWWWWWWWWWWWwwwwwwwWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwWWWWWWWWWWWWWwwwwwwwwwwwwwwwwwwwwwwwww

出典

アドテクおじさんのまとめ

プログラミングで脳を溶かして活性化して副収入ガッポガッポ!ばっよえーん!

これにて一件落着!

本コーナーでは、読者の皆さんからのお悩み相談を募集しております。

相談してやってもいいぞ、という寛大なお方は、下記のgoogle formからご応募ください!

docs.google.com

筆者紹介

tech-magazine.opt.ne.jp