はてなキーワード: EMACSとは
おいらがエンジニアになった90年代頭にUNIXが商用で使われだしたんだけど、その時はまだメインフレームが強力な時代で、UNIXエンジニアは日陰者だった。
こんなの使える訳ないとか、おもちゃとかさんざん言われた。
偉そうなおじさん達が3270端末を使っている横で、xtermでemacsをしこしこ使っていた。1280x1024のディスプレイは自慢だったけど。
それが今やレガシー扱いなわけだが、よく考えると当時のメインフレームはまだ20何歳だったわけで、今のUNIXより歴史がなかったわけだ。
なんだか感慨深い。
そういえば、当時数少ないUNIX本の「Life with UNIX」に、MacはUNIXっぽいみたいな記述があったけど、本当にUNIXになるなんて当時誰が想像したんだろう。
- HHKB Professional JP …… 最強のキーボード(しかも省スペース。Adobe製品を利用するには JP版が便利)
- Logicool G9x …… つまみ持ちできるゲーミングマウス(最近価格が高騰している)
- SteelSeries Kinzu v2 Pro Edition …… Logicool G9x の後継マウスとしてテスト使用中
★文書執筆
- Scrivener …… 最強の文書執筆ツール(これ以上のものはない)
- Bean …… 簡単な文書作成(複雑なレイアウトはできないが、とにかく起動が速い。PDFも書き出せる)
- Adobe Creative Cloud …… デザイン用アプリケーションはこれでいい(結局は)
- Adobe Fontfolio …… 欧文フォントコレクション(高額だが結局安上がり)
★学習
- Anki …… 効率的な語学学習(英語/ドイツ語)。iPhone版と併用して効果アップ。
★プレゼンテーション
- QuickTime Pro 7 …… ムービーデータの簡単な編集
- Keynote …… プレゼンテーション用ソフトとしての完成度が高いし見た目もよい
★開発
- Tower …… Gitによるバージョン管理ソフト(他にもあるが最初に使ったソフトだから)
- Omni Focus …… GTDによる作業進捗管理。iPhone版と併用して効率アップ。
- Omni Graffle …… 図表作成
- SQLEditor …… データベーステーブルの設計用(Mac用のこの手のソフトは数が少ない)
- BBEdit …… テキストエディタ(他にもいろいろあるが、最初に使ったソフトだから)
- Cyberduck …… FTPクライアント(動作が遅いが、特に困ることがない)
- KeyRemap4MacBook …… Finder操作まで全部キーボードでやってしまう(Emacsな人にお勧め)
- NameMangler …… 一括ファイル名操作(類似ソフトに比べると動作が早い)
- Boom …… 音声ボリュームを限界以上に上げる(プレゼンテーション時に有用*狭い部屋なら外部スピーカーがいらなくなる)
- Synergy …… Macとウインドウズマシンでキーボード/マウスを共用
- PlainCalc …… 履歴を残しながら簡単な計算ができる
- Paparazzi …… 長大なウェブページを一気にキャプチャできる
- ATOK …… 日本語入力環境は、作業時間を大きく左右する=時給を左右する
- SizeUp …… キーボード操作でウインドウサイズを変更
- Alfred …… キーボード操作で、アプリケーション起動/インターネット検索
- FreeMan …… マシンのメモリ使用状況を監視し、適宜開放
- ClipMenu …… クリップボードを管理/テキスト変換
付記
ClipMenu では、クリップボードに保存されているテキストを変換できる。
用意しているアクションで常用しているのは下記の通り:
「MacはUnix互換」とかMacユーザはいうが、Linuxユーザからするとディストリビューションが違うので正直使いにくい。別に調べりゃ使えるしLinuxユーザというのは黙って調べる人たちなので文句を言わないだけで、好んでMacをUnixのように使おうとは思わない。GUIがクソだが便利なLinuxユーザからすればMacはGUIがすげぇ糞なディストリビューションだ。情報少ないし。
なお、これは他のLinuxについても言えることで、Ubuntu使いからするとRedhat系は使いにくいし、Redhat系からするとUbuntuはコマンドがわからんことが多々あるので若干めんどくさい。もちろん他のディストリビューションも同じ。BSDとかあんまり使いたくない。まぁやりゃできるのだが、めんどくさいを極めた結果としてコマンドライン使ってるのに、調べるのはもっとめんどくさい。あと変なエラーが出ると大変なのでPCライトユーザにはまったくおすすめしない。
最近はWindowは一発ポンで入ることが増えてきたので便利だと思う。Cygwin使うよりはVM使ったほうが楽でねーかと個人的には思うが。PHPなどはXamppがあるのでむしろWindowsのほうが楽。文字コードが面倒だが。
なおLinuxは常に糞めんどくさい。すでに入ってるパッケージのバージョンが古いが、ディストリビューションによっては上げるのに四苦八苦とかふつうにある。サーバー関連のプログラム以外はいまどきWindowsとかMacとかのほうが断然楽だ。
Windowsのコマンドはよくわからんが、最近は情報が多いので特に…あと下手にコマンドいじるよりはフリーウェアを探してくれば良いと思う。
Linuxは慣れてるディストリビューションならCUIだけで十分。慣れてない奴はめんどくさい。
Windowsも良いとは言わないが、不便はない。細めのフォントが好みなのでむしろWindowsのほうが見やすい。
そりゃiOSアプリを作るならXCodeしかないし、XCodeは悪く無いと思うが、C/C++とか書く時は使いにくい。
WindowsアプリつくるならVisualStudioしかないし、最近のVSは使いやすいので特に文句はない。C#も良い言語だと思いますよ。すごくよく考えられてると思うし。
Webアプリケーション系もnetbeansなんかはWindowsのほうが軽い印象があるなぁ。ただC++はnetbeansだと補完機能が弱めになる気がする。まぁそもそもWindows上でMSのライブラリ使わないC++とか書きたくないですね。色々違うし。
LinuxのIDEはEclipse一択みたいな感じになっているが、正直Javaはいいが、それ以外は微妙。と言うか糞重い。netbeansが個人的には好きだが、前述のとおり補完機能がEclipseより弱いかんじがするのであんまり。Rubyはすっげぇ使いやすかった。C++で一番軽いIDEはQtかな。Vim?いうほどいいかね…まぁEmacs派なんですけどね
そりゃiOS開発するならMacしかないだろう。Windowsアプリケーション開発するならWindows機使うしかないのと同じでな!!!
LinuxでGUIのあるアプリケーション作るとか、考えたくないな!つうかGUIつかいたくないからLinux使ってんだよ!
Macは選択肢が少なすぎる。金だせばなんでもできるが、カネがないとストレスが溜まる。あとかねかければかけるほど周辺機器もグレードアップしなきゃいけなくなる感じがするのだが…正直Unix系のマインドに反しすぎていると思う。
あといまおれのMacbookProはバッテリが膨らんできてパッドが使えなくなったんだが、Mac対応のマウスがないのでコピペすらできない。キーボードも純正のやつ使いにくくね?プログラマとしてはHome,Endあたりはキー一個で対応して欲しいですし、Backspaceキーがないのは意味がわかりません。deleteキーって書いてるけどそれBackspaceやん、ほんとのdeleteどこいった!!!とにかくキーボードがひどいのでMac使ってプログラミングしようという意欲がおこらない。むしろ俺がMac嫌いな理由の一番がそれですね!
しらねぇがLinuxで音楽制作しようとする奴はアホだと思う。
が、若干コントラストが強目にでるか?という気がする。
Mac以外のディスプレイを自分で細かくカスタマイズしたほうが実際にあってる場合もあり、なんとも言えない。
ちょちょっといじる素人用フリーウェアが貧弱すぎて辛い。いやらしい成金に札束で顔はたかれているような気持ちになる。
いいわすれたがLinuxでデザインやデジタル現像しようっつうやつはアホだね。Ubuntuならあるのかなぁ…でもさいきんUbuntu重すぎて…
しらん。
MSOfficeは使いやすい。Officeを貶してる奴はだいたいOfficeを使いこなしていない。
LibreOfficeとか一昔前のMSOfficeじゃないですかーLinuxだとそれしか選択しないけど使いたくねぇ…それならGoogleDriveのをつかうわ…一太郎とか悪い冗談はやめていただきたい。
ただ、Latexを使う場合はLinuxは使い良いとおもう。もちろんWindowsならLatex用のエディタあるんですけども!
WindowsとMacで特に違いはないが、あえていうならMacはフリーウェアが少ない。
Linuxをホームユースで使いたがる人がいたら止めたいが、最近はWebだけでも色々できちゃうので、別段問題ない気がしてきた。
9. Macは性能に対してコストパフォーマンスが高い(……かも)
スペック対価格を比較すると、CPUやメモリやらのコストパフォーマンスが悪くない、と思います。
10年前は「Macは高くつく」という印象だったものが、ここ5年で「Macって割安」という印象に変換したと記憶しています。
むしろ使ったらMacって割高…って思うと思うけどなぁ。最近のWindows機は安いしデスクトップなんて価格破壊完全に起こしてるし、使い始めてからもほとんどお金がかからない。情報も多いし。なんか情報が全体的に五年くらい古い感じがしますね。もしかして2009年ごろからいらした方が書いたのでしょうか。
何をもって"無駄"と判断するか、非常に難しい論点ではありますが。
へんてこなアザラシのマスコットがデスクトップを泳ぎ出したり、なんとも言えないモッサリ感の明るさ調整ソフトが突如画面に出現したり。なんて事はありません。
常駐ソフトウェアはWindowsは決して多くないし、あるならメーカプリインストールアプリじゃねぇのっていう。
明るさ調整ソフトってそれはディスプレイのやつだろ?Windowsのせいじゃねぇよ。むしろMacはそういうの調整するときに探すのが大変。いや、あかるさ調整くらいならキーボードでできるけどさ…
常駐ソフト気にするならLinuxが一番管理できると思いますし、LinuxにくらべればMacもWindowsも似たようなもんです。
俺はターミナルを快適に使える+普通の作業(Excel, Word, インターネット)もできるっていうのが好きだよ
perlやらシェルスクリプトやらでパパっと処理を書いたりするので、ターミナルが使えるととても助かる
fink、macport、homebrewなんかでCUIプログラムでも導入しやすいし。まあこれはLinuxならたいてい同程度以上の機能を持ってるけど。
Winでcygwinやらmingwやらも使ったことあるけど、Macみたいに基板がUNIXってわけじゃないからかどうも使いづらかった
あとはemacsみたいなショートカットキー(Ctrl+kとかCtrl+aとか)が大体のアプリで使えるっていうのも、無いとストレスが溜まるレベルでありがたい
http://www.tiobe.comで、プログラミング言語の人気ランキングを、どっかで見かけるたびに
俺は、C言語をお遊びではなく仕事として使ってきたわと静かに震えるのがほぼ反射神経になっている。
「C言語一筋で、オブジェクト指向の知識はあるけどCPPもJavaも知りません、あ、C#とVBAは自作ツールを作成する過程で勉強しました。」
業務経歴書を片手に面談で話したときの、微妙な空気を知ってからだ。
C言語は、この業界にいる誰もが一度は耳にしていて、しかし業務として使った経験がある人はあまりいないであろう、不思議な言語だと思う。
組み込み屋のSEとして入社して、教育期間が終わってすぐに回されたのがAndroidのLinuxカーネルのドライバー周りのお仕事だった。
C言語というかLinuxカーネルのAPIばかり覚えさせられて、初めて触った構成管理ツールがgitで、管理任されたビルドサーバーはFedoraで、開発はTeraTerm上でemacsを使ってた。
思えば、すごく先進的な開発現場だったのだ。なんでC言語?と言語のロートルな側面ばかり見ていたが、
毎週のようにリリースされるカーネルパッチには、急速な変化に対応した野心的な取り組みが山のように入っていた。
世の中にはレガシーJava(1.4)で、構成管理ツールがSVNで、開発はEclipseのGalileo、Ganymedeかsakuraエディタという
時代に取り残された場所があるなんて想像だにしていないかったのだ。
最も当時はコミットされたバッチのコメントを追うだけで精一杯で、どうして議論になっているのか分かりもしないLKMLを読んで知ったかぶっていた
だけで、raspberry piを手慰みに遊ぶまでは実を結んでいた自覚なんてなかったのだけど。
思われてる。社会情勢が教えてくれる。いや、そんなことない、それは妄想だ。様々なところで使われているじゃないか。
でも、そこで食える飯はもうほとんどなくなっている。
カーネルのメンテナーにパッチを送ったことすらない、中途半端な技術力しかない俺の市場価値は、今限りなく低い。
だから、いつまでもC言語がプログラミングの人気ランキングにいつまでもいることを苦々しく思う。
C言語を使って、可能な限り先進的なことをやって。それは、C言語という埃をかぶったようなイメージとはかけ離れていたはずなのに。
実際は井の中の蛙で、外から見たらひとくくりに時代遅れとされたのが許せなく、そしてやるせなかった。
自分は今、実際、先にいったような環境ですら、状況の対応に四苦八苦する有様だから。
C言語なんて大嫌いだ。
根本的にアホ。
取り敢えず、VimとNetBeansは同レベルの話ではないから。
勿論VimやEmacsはプラグインを入れてくことによってIDEっぽくなって今やなんでも出来るようになってるけど、基本的にはエディタ。
VimやEmacsの何が嬉しいって、カーソル移動や編集するのをショートカットやら何やらでやりやすくなってる、という点。
NetBeansやXcodeはそういう意味ではメモ帳と何ら変わらない。インデントや補完とかはあるけども。
逆にNetBeansやXcodeの何が嬉しいって、その補完力やプロジェクト単位でのファイル管理やら、その場ですぐコンパイルできてテスト出来たり、そういうの。
その辺をVimやEmacsでもプラグインを入れればできなくもないが、やはり元から出来るしそれに特化して作られてる、という点で圧倒的にNetBeansなどが使いやすかったりはするだろう。
だからそもそもその辺をどうレベルで語ってる時点で編集作業においてマトモな作業をしてないことはよく分かる。
お前はメモ帳で書いても何ら変わらないだろう。そんでターミナルでjavacしとけばいいだろ。
まあ、javacすら知らないかもしれないけど。。。
わかる。viどころかemacsだって使いたくありません!あんな変態キーバインド
せめてgeditくらいないと何もするきにならないわー。
何が言いたいのか分からないが、サーバー的な所で作業する、ってのはファイル編集なんてのは別にメインじゃないんですが?
その中で、さくっとファイル開いてちょちょっと編集するのにViとかが便利だった、って話で、軽いから。
今やサーバーとは言ってもある程度余裕あるし、それこそVimが普通に入ってるし、Emacsだって余裕だろうし。
てか、NetbeansはJavaだけじゃないっすか、便利なの。
Java使わない時には何にもいみないじゃないっすか。
Cとかメインの人でNetbeansな人ってほとんど居ないでしょ。知らないけど。
かつてはVim対Emacsでガチ戦争があったが、最近ではどっちも大差ないと認識が広まってきのこたけのこ戦争となった。
対してこれらのエディタとVisualStadioやEclipseのようなIDEの間には今こそガチ戦争が勃発している。
数で圧倒的に有意に立つIDEユーザと本物のプログラマを自称するエディタユーザの争いである。
エディタユーザはIDEユーザを能なしと罵っていて、それに一理あるという風潮があると思うが、騙されてはいけない。
致命的なのはエディタではIDEのような補完入力ができないのだ。
これなしでどうプログラミングするというのか。
あるいは自分一人でコーディングするような場合も問題ないだろう。
まさかいちいち対象クラスのコードやドキュメントを読むというのか。
覚えておけばいいと言う人もいるが、バカも休み休み言えといった感じだ。
そういうことを言う人は、コンパイラも使わず機械語直打ちなプログラミングやってればいいよ。
きっと素晴らしい情報処理能力でみるみるうちにコードを完成させてくれるだろう。
まあ、実際には一月かかっても2分木ヒープも実装できないだろうけど。
また、リファクタリングやプロジェクト管理も一貫してできるIDEは単なるテキストエディタなど物ともしない。
エディタ勢は、これらより便利なツール類がvim scriptやemacs lispで書かれているかのように言っているが、そんなものは実在しない。
あるなら、誰もが使っているはずだ。
というより、そんなものがあったなら、そもそもIDE自体作られることはなかったはずなのだ。
実態はない。
実態があるというなら、実際にエディタでIDEより優れた生産性でコードを書いている動画がYoutubeにあふれるはずである。
だが実際にはそんなものはない。
なぜか?
もちろん、やりたくてもできないからだ。
エディタ対IDEの戦争の正体は、エディタの生産性の低さがいつ暴かれるかと戦々恐々している自称スーパープログラマ達の、自己弁護と時代に取り残されたという怨嗟の声の集まりである。
なんか偉そうに書いてみた。
SFCには頭がおかしいプログラミング言語使いがたくさんいる。特に研究室に入ると、バイトでバリバリ書いている人間や、研究や趣味でライブラリを量産する人間に出会うこともあるだろう。彼らに惑わされてはいけない。最初は彼らの言っていることは一つも理解できないだろう、理解する必要は無い。彼らはプロダクションで安定するかどうかという縛りから自由だ。流行り廃りに敏感で、昨日言ってることと今日言ってることが違う。
これは実際に手を動かして使ってみて好感触かどうかささっと確かめられる人間だからできることで、プログラミングできない人がこれについていこうとしたら間違いなくプログラミングが嫌いになる。
こういう言葉に惑わされるな、コードを書くための勉強をするな、コードを書け。
できる人は概ね、できない人の気持ちがわからない。受動的になるな。積極的に書け。
「プログラミングなんて特殊技能で、少なくとも教養じゃないでしょ..」という認識が横行している今だけのチャンスとも言える。
webプログラミングができると「技術的には簡単だがアイデア一発で作ってみた」もので、ほんのちょっとだけ有名になれる可能性がある。論文を書いて学会に投稿したりニュースになったりするよりも、よっぽどお手軽に(一部での)社会的ステータスを高めることができる(かもしれない)。
↓ こういうのでいい(失礼だが)。
こう言っている人間を見て何を思うだろうか。
「いや少しずつでいいから今やれよ」とか「英語できたらもっと世界ひろがるのに..」とか「大学生なのにそれで恥ずかしくないの」とか思うかもしれない。
知らない世界を知らずにいることは大いなる機会損失である。プログラミングに金はいらない。金はないけど時間はある、時間を大量投入できる最後の機会、大学生である内に学んでおいた方が望ましい。
基本的なスタンスとして、講義ではプログラミングを教えてはくれない。講義に期待するな。プログラミングに限らず、全ての講義は自習への足がかりであり、興味のとっかかりである。実際に意思を持って積極的にコードを書かない限りプログラミングのことは好きになれない。自分で考えながら手を動かしてコードを書かなければ覚えないし、初学者が配られたプリントを写経しても血肉にならない。
「今日から俺は!」という感じでプログラミング講義を受けると爆死は約束された未来である。「腕試ししよう」「これなら楽勝じゃろ」という意気込みで講義を受けると、意外に学ぶことが多い。完全な初学者の域は脱しておいた方が講義は有効的に活用できる。少なくとも、最初の2週間をインストールと環境構築のみで終わらせるスジの悪い講義を取得してはいけない。
また、講師によってはJavaScriptのことをJavaと呼称したり、JavaScriptはLispに比べて読解が平易であるためハッキングを受けやすいと言ったことを平然と言ってのける。選別にあたっては「講義名」と「講師名」を明言した上で「先輩に聞く」「Twitterを活用する」等の手段をとるべきである。十二分に注意されたし。
道具を選ばないのはプロだけである。初学者は多少高くても自分をサポートしてくれる良いマシンを入手すべきである。1行のコードを書くだけでも恐ろしい手数が必要なアーキテクチャを選択するのは愚行だ。
モデルは何でもいい、無理して上位機種を買う必要は無い。お金が余ってるならMacBookProを買えばいいし、勿論一番安いMacBookAirでも全く問題ない。特にweb系のコードを書く際、インターネットで検索して出てくる記事はだいたい「OSがUNIX系であること」を前提としたサンプルである。これをWindowsの開発環境に読み替えるのは、初学者に取ってつらいだろう。
また、Macならばパフォーマンスは多少犠牲になるがwindowsも起動できる。どうしても光学機器が必要になればCNSコンサルタントで外部接続式の光学機器を貸し出してくれる。Macが気に入らなくてもどうせ研究が射程に入る3年生に上がったぐらいのタイミングでPCを買い替えるだろう。バイトして稼いだ金で「俺の考えた最強のマシン」に買い替えればいい。それまではMacを使え。
OSに固有の使い方なんて学ぶ価値はない、覚える価値も無い、操作時間が短縮されるだけだ。「普通の会社はWindowsなんでしょう?」というくだらない理由でWindowsPCを選択肢の第一候補にするな。Windowsを買うなら積極的選択としてWindowsを買え。
SFCにおいて、PCは毎日抱えて通学し、毎日開いて講義を受け、苦楽を共にする相棒だ。消極的に選択するな。
SFCには「共同購入PC」という制度がある、これを利用してはいけない。
もし要件が変更され、Macがラインナップに入れば積極的に利用するべきである。
条件を示す。
見た目に変化が無いと楽しくないだろう、こんなのを実行しても何も楽しくないはずだ。
#include <stdio.h> int main() { int a; a = 1 + 1; printf("%d", a); }
マイナーな言語を選択してはいけない。「ライトウェイト言語」と呼ばれるくくりから選択肢するのがいいだろう、以下のようなものがある。
中でもjavascriptとrubyは推薦できる、SFCでも書いている人間は多い。
phpとperlはおすすめできない。ドキュメントは多いが、不慣れであればロジック以外に割かれる労力が非常に多い。pythonは日本語のドキュメントが少ないため最初はつらいだろう。
最初にjavascriptをやるのは理に適っている。index.htmlというファイルを作り、scriptタグの中にコードを書き、ブラウザでindex.htmlを開けばもう実行されている。web上のドキュメント量も豊富だ。
rubyも推薦できるが、少なくとも「自分でHTTPサーバを立てる」という言葉にピンと来るようになってから使い始めた方がいいだろう。きっと何をしていいかわからないはずだ。
他にもProcessing(http://processing.org)などが推薦できる。ダウンロードに時間がかかるだけでインストール作業は必要ない。こちらに関しては旧プロダクト名である「proce55ing」をキーワードに検索すると記事が引っかかりやすいという暗黙のルールがあった、今はどうだか知らない。
最近ではnode.jsの採用事例も増えてきた(他に比べれば圧倒的少数、増加傾向にあるという意味)。クライアントでもサーバでも活躍できるjsは学習コストパフォーマンスが高いと思われる。
書ける言語は一つにしぼってはいけない。なるべくたくさんの言語を使ってみよ。ブログ記事を読みあさり、「その言語は何が得意なのか」調査しろ。不得意なことをその言語にやらせるな。
下記のような上達ストーリーが考えられる。
例えばpythonは音響処理や数学計算が得意だったりする。そういった特徴を徐々につかみながら書ける言語の種類を増やし、好きな言語を見つけて好きな言語のことをもっと好きになればいい。
自分が好きな言語のことを胸を張って自慢できるようになったなら、あなたは既に初学者ではない。
人に聞くとvimやemacsを推薦されるかもしれない。もしそれを使ったことが無いなら、あるいは「プラグインの導入方法がわからない」なら、やめろ。Terminalを開かなくても書けるGUIアプリのテキストエディタを使え。
具体的にはSublimeText(http://www.sublimetext.com/3)を使うのがよい、無料である。
ライセンスが必要だが、起動時に「買ってね!」というダイアログが出続けるだけで無料で使用し続けられる。信頼できるエディタだと思ったら買えばいい。
SublimeText3にPackageControlというものを導入すると、標準で備わっていない機能を拡張できるようになる。こちらのブログ(http://p.tl/Ev7b)の「インストール手順」セクションのみを実行する。たとえば「Jadeという言語を、文法に従って色付けしてほしい(SyntaxColoring)が、その機能が無い」という時に、「Jade用プラグイン」をSublimeText内で検索し、インストールすることができる。
もし使い方がわからないければ、回りにいる「プログラミングができる優しい人」に上の記事を見せ「インストールしてくれませんか?」と頼んでみろ。きっと戸惑いながらも正しい操作をしてくれるだろう、一挙手一投足を見逃さず学べ。
エロ画像を集め続けるツールが欲しいとする。どうやったらいいか考える。クライアントjsだけでは限界が来る。rubyなど別の言語を試すステップを踏む。
http://www.slideshare.net/shokai/ss-26387303
プログラマ同士じゃないと伝わりにくい用語が頻発すると思う。逐一人に聞いていてはラチが開かない。人に聞くな、適当に読み飛ばせ。
ブログ記事は本ではない、それを読解しなければならない理由はない。適当にはてブでもつけといて、次の記事を読め。たくさん読めば共通項が見えるだろう、コードが書けるようになるに従い読めるようになるだろう。
みんなが息をするようにコード書いてさ、みんなでしあわせになろうよ。
そもそもIDEでしか開発できない元増田みたいなWindowsやMacでGUIしか理解できない馬鹿と、
ネット上で只管カスタマイズを晒してドヤってやってる馬鹿の話しか出てこないんだが、
世の中その2種類じゃないんだが。
いや、Emacsだろ、って話じゃなくて。。。
そもそも、vimって、ターミナルから開ける簡素なエディタ、ってことで使いはじめるのが普通だと思うんだけど。
WindowsやMacで、ターミナルも使わないのにわざわざVimだけ使ってる奴も居るが、意味不明。
その上、ターミナルを使ったこと無いレベルなのにVimからUnixコマンドを使ったりターミナルみたくしたり
しちゃってるやつさえ居るから笑けてくる。。。
いろんな人のSNSアカウントのプロフィール見てたらやたらと「犬派です、ネコ派です」みたいなことが書いてあって
なんだこいつら、いちいち書かなくてもいいだろキモイ。とネコ派のおれは思ってたんだけど
今までプログラマーをやってきて、状況や環境に左右されず有用だったツールを書き残しておく。
基本的に Windows, Mac どちらでも動作するもの。
1. VirtualBox
ローカル PC 上に別の OS (Linux や Windows) を動作させる事ができるツール。複数の OS を同居させる事ができるので、自分の趣味用のサーバと仕事用のサーバを分けて管理したりできる。昔自分が Linux の勉強をした時は、メイン PC とは別にサーバ用 PC を買ってきて設定していたけれど、VirtualBox があればそんな面倒な事をしなくても済む。今は VirtualBox を更に簡単に設定できるたツールもあるみたいなので、それを使うのも良いかもしれない。
名前の通りパスワードを管理するためのツール。1Password https://agilebits.com/onepassword か KeyPass http://keepass.info/ が良いと思う。サーバサイドのプログラムを始めると、ssh やデータベース等、様々なアカウントを管理する必要が出てくる。root パスワードを忘れた時に、他の人がそれを覚えている保証は無いので保険としてぜひ導入して置いた方が良い。
何でも良いので、とりあえず汎用プログラミング向けエディタを使う事をお勧めする。Sublime Text http://www.sublimetext.com/、Eclipse http://www.eclipse.org/、Vim http://www.vim.org/、Emacs http://www.gnu.org/software/emacs/ あたり。Linux に関わるのであれば、Vim か Emacs どちらかは習得しておいた方が良いが、初期学習コストは高い。Eclipse は Java 以外の言語にも多数対応していて機能が豊富なので、最初はここから始めるのが良いかもしれない。もし Eclipse も難しいと感じたら、より普通のテキストエディタ寄りの Sublime Text から始める。
4. git
最近のオープンソースプロジェクトは github で公開されている割合が多い。そうで無くても git リポジトリの採用率はとても高いので、git のインストールは必須と言っても良い。また、個人用のリポジトリを作るのもとても簡単なので、小さいプロジェクトを始める時は最初に git init をしてしまうのが良いだろう。もちろん、svn や mercurial を使っているプロジェクトも存在するので、それらも適宜インストールする。
5. Google Account
これはツールでは無くて Web サービスだが、サイトのアクセス解析にしろ地図機能の実装にしろ、Web サイトの構築を Google 抜きで考えるのは難しい。また、開発メンバーとのコラボレーションを行う場合、Microsoft Excel をメールや DropBox でやりとりするよりも Goole Drive の Spreadsheet を使う方が便利な事も多いので、意識して Google を使うようにすると新しい発見がある。
+α.
http://www.rubyist.net/~matz/20070820.html
StallmanはEmacsのある機能を修正することを、 EmacsメンテナのStefan Monnierに依頼した。 しかし、Stefanには娘が産まれたばかりなので、時間が取れなかった。
Stallmanの返答は
I am sorry to hear it. Unless someone else can figure these things out, I guess the release has to wait until you have time.
それは残念だ。ほかの誰かが対処できなければリリースは延期しなければならないな。
他の人がStepanに「おめでとう」を言う中、Stallmanは追い打ちをかけた。
It doesn't take special talents to reproduce -- even plants can do it. On the other hand, contributing to a program like Emacs takes real skill. That is really something to be proud of.
子孫を作るってのには大した才能は要らない。植物でさえできることだ。 それに比べてEmacsのようなプログラムに貢献するのは誇るに足る本当の才能だ。
もっとたくさんの人を助けることになるしね。
vimはまだ一般的でなかったが、おれが最初に使ったunixはsunOS4.1だったので、viは最初から入っていた。emacsなど一連のGNUソフトウェアはどこかのftpサーバーから取ってこなければならなかったが、いいらしいよといううわさを聞いて導入した。だいたい20年前の話。
これだと、まず、GNUソフトどうこうの前に、sunOS4.1はどこで聞いてどこで手に入れたんだ?って話が。。。
むしろコンピューター自体一般的じゃないからどこでコンピューターを知ったんだ。。。って話が。。。このピューターの宣伝ってそんなしてた?一部特殊な雑誌には載ってたかもしれないけどさ。。。
10年前だとemacsはカスタマイズしまくるエディタ、vimはまだviに近い感じで軽いエディタ、
って感じだったけどな。
10年前でも既にその2つが主流だったと思うけど。
vimが出来てプラグインなんかが大量に出来てemacsみたいにカスタマイズしまくり、ってのは最近なのかもね。
管理用のプラグインとか出来たのは結構最近だと思うし、そもそも管理用に便利なGitHubとかつい最近出来たわけで。
今も昔も管理にはviしか使えない、ってのはあるわけで、その延長でvim使ってる人はいたし、
emacsの方も10年前だと大分マシ、というか普通に使えたと思うけど。
「Emacs Makes A Computer Slow」と揶揄られてたじだいじゃないのか?20年前ってwindows 95も出てない時代なわけで……