[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

NSRG FAQ: プログラミングについて

1. プログラミングをする研究室ですか?
2. 主要プログラミング言語は何ですか?
3. C 言語が先生のお薦めですか?
4. 良いプログラマとは?
5. 良いプログラマを判定する方法
6. 優秀な良いプログラマとは?
7. Eclipse とか使っていいすか?
8. プログラミング言語 Python のためにモンティパイソンを見るべきですか?
9. モンティパイソンって何ですか?

1. プログラミングをする研究室ですか?

対象分野は、 おおきく開発系と運用系に分かれると思います。

開発系は、プログラミングです。

運用系も、 プログラムを書かないわけではないのですが、 その割合は作業全体の1、2割といったところでしょう。

分類上、うちのプログラムはシステムプログラミングです。 もっぱら Unix オペレーティングシステムを hack することが目的。

そして、うちのプログラムは 「必要だから書く」 「目的を達するためには、プログラムを書いた方が便利/速いから」 といった 「ツール」としてのプログラミングがメインです。

「ツールとしてのプログラミング」という言い回しのこころは、 「プログラミングの修行がメインではない」 という意味と思ってください。

もちろん”やってみた結果として” 「卒論/修論では、ずっとプログラミングをやっていた」 というケースは、ありうるでしょう。

p.s. なお、プログラミングより仕様書とマニュアルをちゃんと書けよ! という”しつけ”のほうを重要視しています。うむ。

2. 主要プログラミング言語は何ですか?

Unix をいじくりまわす上で便利な言語全般です。

シェルプログラミング: sed awk sh (Bourne Shell)は是非使いこなしたい。

Perl: Unix上で生活するうえで便利な機能すべてを統合

Python: センサーの制御、 画像認識(コンピュータビジョン)、 機械学習で Google の TensorFlow をぶん回すとか、 わりといろいろな場面で必要です。

Javascript:

GO言語(21正規版C言語): 今後、一から何か書くなら GO言語だと思います。

C言語(オリジナルのほうのC言語): どうしても、いじる必要がある場合には C ;-)

3. C 言語が先生のお薦めですか?

おすすめ…というより教養として知っておいてください。 それに歴史的に Unix と C 言語は一心同体です。

C が書ける人は、少し勉強するだけで、ほぼ何の言語でも書けます( おっと Lisp や Force 系は別。 だが、まぁ滅多に出会わないだろうから良かろう )。

C が書ければ、 Unix 文化と強く関係のある言語は、 ほぼ何でもすぐに理解できます。 これらの言語群で、いちばん難しいのが C ですから、 C が書ければ、それ以外の言語は楽勝ですよ。

4. 良いプログラマとは?

きちんとしたマニュアルを書くプログラマ。

きちんとコメントを書くプログラマ。

きれいなコードを書くプログラマ。

実際にコードを書いている時間が全体の三割くらいのプログラマ (つまり考えてる時間やドキュメントを書いている時間の方が長い)。

冷静に考えたら、これは「良い社会人」の条件と同じでした。 でも、わざわざ、こういうふうに言わないといけないのは、 できてない人がそれだけ多いということの裏返しなのですね。

5. 良いプログラマを判定する方法

良いプログラマが書いた雑誌の記事や書籍は文章がマトモです。 これは東西を問わず「真」。

だから 「コードを見なくても、 日本語を書かせてみればプログラマの質は判定できる」 と言いかえることもできます。

まぁ「日本語がうまい → プログラムが書ける」とは言えませんけど。 とりあえず「日本語がまとも」なことは、 「プログラマの(十分条件ではないが)必要条件」です。

6. 優秀な良いプログラマとは?

「良いプログラマ」で「ゴーストがささやく」人。

「良いプログラマ」は特訓で育てることが可能かもしれないのですが、 「ゴーストがささやく」かどうかは、 やってみないと分からない [1] ことが一番の問題でしょうか。

7. Eclipse とか使っていいすか?

うんにゃ、だめ。

ふつうにエディター使って、ちゃんと Makefile を書いてください。 あとマニュアルも残して下さい。

マニュアルと Makefile がないと引き継げないじゃないか。

引き継げないようなもの作るなら、卒業させない。

8. プログラミング言語 Python のためにモンティパイソンを見るべきですか?

ぜひ見ましょう :-)

ただし英語版で。 英語版で Monty Python を見ていないと変数名の面白さが分からないです。

9. モンティパイソンって何ですか?

イギリスのほこるコメディ番組です。製作は BBC (イギリス国営放送)。 なお正確な番組名は Monty Python's Flying Circus です。 Flying Circus の部分は BBC 側の意見。 それだけじゃ面白くないよね?と Monty Python という怪しい公演主が 行なうサーカスがよかろうと Monty Python's をその前につけたのが 出演者側のアイデア(と出演者たちが言っています)。

主要メンバーは Pythons と呼ばれています。

	[ケンブリッジ大学出身]
	Graham Chapman (故人)
	John Cleese
	Eric Idle

	[オックスフォード大学出身]
	Terry Jones
	Michael Palin

	(アメリカ人)
	Terry Gilliam (アニメーションおよび顔の出ない鎧の中の人など)
	
この6人を主要人物と数えることが普通ですが、 John Cleese は第四シーズンに出演していません。 また Terry Gilliam が映画監督として有名になるのは、この番組の後です。

現在でも世界中で根強い人気がありますし、 今見ても非常に面白いです。

ただ、現代の人には、ごく普通のコメディに見えるかもしれません。

それは、モンティパイソンおよびその時代のイギリスのコメディ番組 が後のコメディに影響を与えたせいでもあります。 また、1970 年前後の時代背景が分からないと、 モンティパイソンの先進性が分かりません。

なお、この時代の番組でモンティパイソンだけが異常に有名なのは、 それ以外の番組の資料が手に入りにくいからということもあるようです。 たとえば Pythons に影響を与えた Frosty Report など手に入りません。

また、歴史や古典については、かなりの教養が要求されています。 それが分からないと、何が面白いのか全く理解できません。 Eric Idle が「パイソンは大学レベルの教養と言われるが大学院レベ ルと思った方が良い」と言っているのはダテではありません。 経歴で分かる通り、みなケンブリッジやオックスフォード出身で、 大学の授業と無関係に古典や歴史をずいぶん勉強したそうです。

モンティパイソンの日本語版がまったく面白くないのは、 そういった事情が主要因でしょう。 翻訳者が日本人には分からないと思ったのか、 オリジナルとは全く違う脚本になっているところが多数あります。 声優陣は豪華なんですけどねぇ…

モンティパイソンは英語版を見ないと"まったく"おもしろくありません。

ただ日本語版でも Eric Idle 作の 「意味が分からないけどなんとなく面白いコメディ」 などは吹替え「広川太一郎」とあいまって、秀逸です。 「このこのぉ〜ちょんちょ〜ん」がその代表 (原語では nudge nudge … というネタです)。

Notes

[1]

(ぼくも)少佐と同じく、 「ゴーストがささやく」能力は、 後天的に身につくようなものではないのでは?と考えているから。

GHOST IN THE SHELL 原作の第二話あたりを参照。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >