これは某月某日某場所で行われた第1回Linux講習会の予習資料です。読む際には議事録件復習用資料も参考にして下さい。
私はこの資料を真面目にかくつもりは毛頭ない。
何を予習すればよいのか
結局講習会で何をやって何をやらないのか、主催者である私ですらよく把握していないので、とりあえず下のリストをいい感じに調べておけば人生うまく行くのではないかな。
- Ubuntu
- Vim
- LaTeX
- C++
- Git
- mikutter
Ubuntuの話
Ubuntuというのは資産家の人が作った素晴らしいLinuxディストリビューションである。初心者向けという説明がなされることもあるが、Perlのすごい人とかLinuxのすごい人とか、 C++のすごい人とかが使っているので、まったくの初心者向けというわけでもないらしい。万人向けというのが楽で良い。
なお、ArchLinuxには劣る。
- 「Linux」とか「Ubuntu」とかの単語でググる。いい感じの紹介サイトがあるので読む。
- 「Ubuntu道場」はいいぞ。ちょっと情報が古いのでいい感じに流し読みしよう。
- 「Ubuntu Weekly Topics/Recipes」を流し読みする。専門的でない記事をいい感じにどうぞ。
Terminalの話
映画でハッカーがカタカタやっている黒い画面である。ただし左の表現には108個の間違いがあるので、気づいた人はTwitterでつぶやくこと。
Windowsに付属しているエクスプローラのお化けという認識で良い。ただ過去の人たちが頑張ったのか頑張らなかったのかして、我々がTerminalを使わないでやることは、Terminalを使ってできるようになっている。そしてTerminalを使ってやるほうが便利なことは世の中に腐るほどある。
なお、本物のEmacserはTerminalなど使わず、全てEmacsで済ませるとかなんとか。以前は「だからEmacs野郎はだめだ」とVimmerは言っていたのだが、最近Vimもその方向に走りつつある。
- 「Ubuntu道場」の当該章とかが分かりやすくて良い。読もう。
- ガルニモとか読むと面白いかもしれない。
- 男は黙って「man」コマンド。
なお、最後のjokeの面白いところはですねぇ……
Vimの話
みんな大好きVim。宗教だとか暗黒帝王だとか色々と言われるが、とどのつまりはただのエディタ。臆することはない。プログラマとか、テキストファイルをいじる人がよく使う印象。 Emacsと違ってUbuntuを含む多くのディストリビューションに標準搭載されて居るのが良い。ユーザー数が多いので、こんなことがやりたいなぁって思ったらぐぐると、いい感じの方法にたどり着ける。プラグインも多い。
キー操作が複雑というか独特。Ctrl+Vで貼り付けなどといった甘い構造ではない。学習曲線は一般にy=e^xと言われる。「その分慣れると思考と同じ速度で編集できる」とVimmerたちは言うが、正直タイピング速度がある程度早ければ、思考測度よりもタイピング速度のほうが早い状況は結構簡単にやってくるという罠がある。注意されたし。
- とりあえずVimを入れる。Windowsの人は「vim windows」とかでググるとKaoriyaさんのものが見つかる。DLして起動せよ。そして何もできないことに驚愕するがいいさ。
- Macの人はiTerm(?)か何かを起動して「vim」と打ち込みEnterを押す。Vimが入っていれば起動するはず。そして終了方法が分からずに途方にくれるがいいさ。入ってなかったら適当にぐぐって入れてください。Macは手元にないので分からない。
- vimtutorをやるのがVimの習得には手っ取り早いらしい。Windowsの人は起動した状態で「:Tutorial」と打ち込む。Macの人はiTermを起動したところで「vimtutor ja」と入力する。
- 世の中にはVim初心者向けの記事を公開している露出狂みたいな人がたくさん居るので適当に流し読みする。.vimrc露出erとかは結構役に立ってくれるので、和して同せずの精神で取り入れる。
- 競プロとかで積極的に使うがいいさ。LaTeXと併用してWordの代わりにするとか。とにかく使わないと使えるようにならない。
LaTeXの話
名前警察が多い組版ソフトウェア。コンピュータ・サイエンスの神様とでも言うべきドナルド・クヌース先生が作ったTeXが元になっている。頑張れば縦書きも年賀状も時計も作れる万能ソフトウェア。時折TeXはプログラミング言語と主張する人も居るが、果たして。
- 『[改訂第7版]LaTeX2ε美文書作成入門』(奥村 晴彦・黒木 裕介、技術評論社、2017)を買う。
- 読む。初めの方を読むといい感じに書けるようになるが、インストールが少しややこしい。『美文書』のインストールディスクを使うのが(WindowsとMacにとっては)楽で良いかもしれない。
- 間違ってもWebの情報を利用してはならない。無駄に歴史が有るソフトウェアなので、古い情報が蔓延しており、下手に利用すると罠にハマる。どれが古く、どれが新しいのか分かるまでは書籍を頼るべし。
C++の話
神の言語。これを使えば低レイヤーから高レイヤーまで幅広く対応できるうえ、高速で読みやすくまた保守しやすいコードを書くことができるかもしれない。一方でその言語仕様は難解を極め、完全に把握している人はいないなどと言われる。
永らくその息を潜めていたため、時代遅れの言語などとバカにされることもあったが、 2011年に新しい言語仕様が策定され息を吹き返した。「コンパイラが言語仕様に追いつかない」などと揶揄されながら3年毎に改定を繰り返している。最新の企画はC++17。現在C++20が策定中。正直C++20位にならないとまともに使えない気がする[要出典]。
- C++を使うための環境を整えるのは非常に面倒なのでここでは省略。軽く触ってみるくらいならWandboxが最も良い。
- C++を学習するにはCを先にやるのが一番良い。ということでProgramming Place Plusを順番にやる。ここの管理者はかなり精力的な人で、「Modern C++編」でC++17まで触れられている。ここまで体系的にC++をまとめている入門サイトは珍しい気がする。
- 書籍が良いなら『独習C++ 第4版』をすすめる。ただしC++11以降については触れられていない。
- C++標準化委員会をやっている江添さんがそのうちC++の入門書を書くらしい。
Gitの話
バージョン管理ソフト。それ以上でも以下でもない。Linus Torvaldsによって作られたらしい。ちなみにLinus Torvaldsという人はポプテピピック以上に中指を立てることで有名である。英語の公演だが結構聞き取れるのでぜひ当該部分を聞いてほしい。この人がLinuxの基礎を作ったという事実がリスニングの助けになるかも知れない。
Gitを使うと、プログラムなどのテキストファイルの管理を効率よく行える。例えばAというファイルがあって、これを少し変更してBにした後に、やっぱりAに戻してCにして、あ、やっぱりBの方が良かったなぁみたいなことを簡単にできる。非常に便利。 GitHubというオンラインサービスもあって、これを使うとGit管理をオンラインで行うことができる。複数人での開発などに便利。
- tryGitをやる。基本的な事柄は学べそう。なお英語。
- やりたいことを調べれば色々とレシピが出てくるので、それを見ながらなんとなく使うがいいさ。
mikutterの話
神のTwitterクライアント。もうやばい。なにがやばいってWebサイトからやばいので是非見てほしい。特にFAQ。ネタの塊。
LinuxではまともなTwitterクライアントがこれぐらいしか無い。果たしてそれが良いことなのか悪いことなのか。
コメント
思わず読み飛ばしました
はい。