「EMACS」を含む日記 RSS

はてなキーワード: EMACSとは

2013-10-19

http://anond.hatelabo.jp/20131019023852

え???emacs口コミで知ったの???口コミで広まったの???

vimは???ねえ、vimは???

viは???exは???

2013-10-05

http://anond.hatelabo.jp/20131005203016

人それぞれとしか言いようが無いだろ。

出来る人はこだわろうがこだわらまいができるし、

出来ない人はこだわろうがこだわらまいが出来ない。


この場合の「道具」ったってレベルによるもので、

流石にメモ帳でグイグイ書いてく、ってのとそれなりのエディタで書くのではやはり時間が違うだろう。

Unix系のコマンド全く知らないでなんかいちいち手ですべて見て検索したり手で書き換えたりするのは

もう愚の骨頂だからそれは覚えろ、と言いたいけど。

だけど、vimでもemacsでも、ものすごい勢いでプラグインとか設定を自分ナイズしてる場合は、

そもそものデフォルトの状態と実際にかかる時間がどれだけ違うかは、上のエディタのさほどでは無いでしょう。

大概は、「慣れ」程度の話。勿論、速くはなると思うんだけど、そこまで違わないかな、と。



周辺機器の話になれば、それこそ、普通キーボードHHKとの差は?って言われたら、直接的な速さには殆関係ないし。

ただ、長期的な疲れ、ってなると、差は出るかもしれないけど。

ま、でも、そこまでキーボード打ちっぱなしプログラマーってそもそも優秀なのか、って話になるわけで。

打ち続けながら考えられるスーパーマンなら別として、普通は考えて、そっから入力して、んでテスト云々で。

実際にエディタで打ち込む時間ってそんな長く無いと思うんだよね、優秀であればあるほど。

http://anond.hatelabo.jp/20131005024451

最低限、Emacs的なキーボードショートカットでの移動ができれば良いかな。

上下左右の動きとか、行頭、行末への移動とか。

Macだと普通エディタでも移動だけなら使えるし、割と充分。

ただ、たまにマクロとかで一気に色々変更したりしないと馬鹿らしい物もあるんだよな。

ま、それもシェルスクリプトとかでちゃっちゃとやればそんな問題ないんだけど(スクリプトも道具に入っちゃうかな。。。?)

http://anond.hatelabo.jp/20131005004542

俺は道具には拘りないけど、それはデキるからじゃなくて事細かに道具を使いこなすことができないからだな。

ただシンタックスハイライトなしではプログラム書く気にならない。あとはキーバインドができればemacsだと嬉しいくらい。

かと言ってelispとかクソめんどくさくてやってらんないし、grepすら無駄に複雑でクソだなって思ってる。

http://anond.hatelabo.jp/20131005012147

道具の違いで100倍の生産性が違う、Vimを使いこなす俺カッケーを信じてる奴は

エンジニアとしての伸び代を感じない

これは益田Emacs使い、もしくは他のエディタ使いでvimerをディスりたいだけなんだと思うけど、

それはちょっと趣旨が違うよな?

ここで言うのは例えば他でも出てる様にHHKじゃないと嫌だ、みたいな出来上がった道具に付いての話だ。

Vim使いを称しながら単にhjkl移動だけでカッケー、と思ってるならそれと同じレベルだけど、

色々自分で設定しながら生産性を高くしてこう、ってのはある意味増田が言ってる

エンジニアリングで最も生産性に差が出るのは、思考力と解決力

コーティングで最も差がつくのは、バグを産まない堅実さと、バグを見つける速さ

実行パフォーマンスに差が生まれるのは、アルゴリズム最適化への欲求と美意識

に繋がるわけだよ。てか、vimでもemacsでも設定ファイルなんてプログラミングみたいなもんなわけで。

そこでとことん追求できる姿勢、ってのはそれはそれで意味あると思うけど。



勿論、他に仕事必要な事を放り出してvim設定に没頭して他の人に自慢してるようなのは論外だけど、

それ自体はいいことだし、実際、とことん追求してる奴は仕事も出来る奴が多いと思うけど。

(そもそも仕事しない奴はそんな設定する必要ないし)

中途半端カッケーを自慢したいだけの仕事できない奴も勿論いるけどね。でもそういう奴の設定は大概ろくでもない。

2013-09-20

コンピュータ教育のあり方

振り返ると

現在二十代後半の自分小学校でのコンピュータ教育が始まったタイミング世代です。

始めは「学校コンピュータ導入しました」みたいな申し訳程度な感じだったと記憶しています

  

小学校  

小学校でのコンピュータ教育の内容としてはCD-ROMを配布され、ODへ挿れるとソフトウェアが書き込まれたISO自動起動して、そのソフトウェア上でコンピュータを学ぶという形式だったはずです。

学習ソフトウェア勝手フルスクリーンになるわけですが、今思えば無知小学生OSの設定を変えてしまわない配慮だったのだと思います

実はこのあたりの記憶曖昧なので学習ソフトウェアの内容は以下のような感じだったはずです。

これ以外もあったような気がしなくも無いですが、前提として私は小学生男子なので興味のないもの記憶からすっぽり抜け落ちている可能性が高いです。

  

この中で一番出来が良いのはパラパラマンガツールで、おそらくはプレゼンテーションなどを学ばせるためのものだったのでしょう。

時代を考えるとFlashが出始めの頃でありユーザーインタフェース機能Flash作成ツールから影響を受けていたようです。

ポケモン戦闘シーンを完全再現したことでクラス内でヒーロになったのでこのツールには思い入れが深いですw

感覚として元も近いFlash作成ツールはParaFla!で、ParaFla!とペイントを足して2で割ってタイムラインシーケンスが無い感じでした。

  

地図を学ぶゲーム比較的良い出来で、ユーザーインタフェースシムシティな感じでしたね。思いっきり影響を受けてるようでした。

確かストーリー仕立てになっていてクリックしてるだけで進み、地図記号とか学べるんじゃなかったかなあ?と記憶曖昧です。

  

この学習ソフトウェア、どうコンピュータ教育に活かされていたか?と言えば、何にも活かされていませんでした。

教師は軽くマウスキーボードの使い方を指導するだけで、あとは良い言葉を選ぶなら生徒の自主性に任せて、変な設定等を行わないように監視しているだけでした。

どういう指導要領になっていたかは知りませんが、コンピュータによるオートメーションを過剰評価して授業もオートメーション化出来るかも?と国は考えたのでしょうか?

まあコンピュータ教育が導入された最初期ですから実験的な意味合いも多分に含まれていたと思います

中学校

中学校へ入ると学ばされたのはMS Officeです。

パソコンの起動方法からまりローマ字入力(小学校ひらがな入力)、そしてMS Officeへと入りいます

このあたりは民間パソコン教室と変わりがないかも知れません。

小学校で行われていた学習のオートメーション化への期待は無惨にも崩れたらしく、教師は手取り足取り教えてくれます

  

しかしおそらくは民間パソコン教室と違う部分もあります

それは新規フォルダや新規ファイル作成方法メールWebブラウザの使用方法、その他今現在皆さんが日常的に使うであろうソフトウェア指導が全く無いです。

どうやら学習のオートメーション化は不可能だと気づいたため、今度は思いっき実用に振ってMS Officeマスターを育てるという選択をしたようです。

  

でもこの指導にもおかしな点は沢山ありました。

Wordでは文字の大きさや色、背景色、ワードアートの使用法、図の挿入、印刷などが中心に指導されます

ワードプロセッサソフトが大好きな方は気付いたと思います。そうですWordなのにマークアップ指導が一切ありません。

完全に見た目の変更の仕方と印刷だけの指導であり、Wordなのにアウトラインとか完全に無視です。

  

Excel指導は酷いものでした。

見た目中心の指導を行うことはWordと変わらないですが、Excel関数指導に入ると関数意味ほとんど教えず「B1へ=SUM(A1:A5)と入力してください。はいA1からA5が足された答えがB1に表示されました。次は...」といった感じです。

生徒は教師の指示通り入力するだけで応用とかそういうの全くわかりません。しっかり理解してるのは見た目の変更の仕方くらいです。

  

時代ですね。こうして互換無視オフィスファイルは作られていったのでした。国がそう教えてましたから。

あっそうそうPowerpointとかAccessは授業でやりませんでした。

  

高校

端的に言うのならば同上。

しかPowerpointが追加されました。流石にPowerpointも教えないといけないと気付いたのでしょうか?

  

高校によっては工業高校商業高校高専ではもっとマシな指導をしていた可能性はあります

ただやっぱり社会人から見るとツッコミ入れたくなるような指導が一部で取られていたと思います。国も手探りですから

  

大学

この年齢くらいになると学校の授業で覚えたと言うよりも独学でパソコンを習得してる生徒が殆どになっていました。

全くと言って良いほど学校の授業からは得たものがなく、エロ画像探しのほうがコンピュータリテラシーを僕に与えてくれました。

  

そして大学時代教授ゴリ押しからOSWindowsからEmacsに変わりました。

  

これを教えて欲しかった

今のコンピュータ教育がどうなっているかは知りません。

はてブ小学生向けにビジュアルプログラミングScratch流行り始めてるんだなと知ったくらいでコンピュータ教育の授業の内情がどうなっているか全く知らないです。

なので僕が少年期に受けたコンピュータ教育を前提として「こうだったら良かったのに」というのを書きます

  

データ整理整頓

コンピュータを扱うにおいデータ管理というのは非常に大事です。

何故判りやすファイル名を付けるのか?何故フォルダを作るのか?そういうことをしっかりと指導しなくてはなりません。

とりあえず僕も誰かに教える気になって書いてみたいと思います

  

保存されるデータの種類

保存されるデータの種類は基本的に3種類存在します。

今だけ使えれば良いデータはどうせ直ぐに破棄するデータなので用途合致すればどんな風に作っても構いません。チャットやっててウケを狙うためにネットからダウンロードする時にファイル名を「a.jpg」にするとかそういうことです。どうせ消します。

  

注意しなければいけないのは残り2つです。残り2つは前提として後々見たり使ったりするデータです。

このデータファイル名を「a.txt」とかにしたら何のデータか全くわかりません。

まり後々使ったりするってことは探すってことです。探すのに判りにくいファイル名にしてたら意味もなく違うファイルを開いて探しまわることになります最近流行の「名前重要」です。

  

探すってことは探す場所重要になってきます

このジャンルデータはある特定のフォルダ(ディレクトリ)に保存すると決めておけば探すとき非常に楽です。

そのため各OSは、例えばWindowsならば「マイドキュメント」や「マイピクチャ」「マイミュージック」などを用意してくれてます(ソフトウェア空気を読んでデフォルトの保存先をそういうのにする)。

せっかく用意してくれているので使うようにし、もし自分フォルダを作るとき名前重要ですから判りやすフォルダにしておきましょう。

  

例えばTwitterであるジャンルの話を同好の士に読んでもらいたい場合どうしますか?ハッシュタグを付けますよね?

そうやって名前を判りやすくしておけば自分以外の他人が使う時も非常に楽なのです。

  

「でもよく使うデータを深い階層に置いてたら面倒じゃん」っていう意見もっともです。

実はそのために「デスクトップ」という階層や「ショートカット」があるんですね。

デスクトップアイコンだらけの人ってたまに居ますけど、きっとそういう人はコンピュータ教育は受けたけど保存されるデータの種類を知らない人です。あなたは悪くないですコンピュータ教育が悪い。

  

データの中身

世の中には目の見えない人が居ます。そんな人たちがコンピュータを使えるように「読み上げソフト」ってのがあります

あいろんな意味で"文字通り"読み上げるためのソフトウェアなわけですが、このソフトは何も編綴もないテキストデータを読み上げるとめちゃくちゃ棒読みです。

それが更に平仮名ばかりで句読点もないテキストだと読み上げソフト棒読みで一気に読みあげて目の見えない人はものすごく聞き取りにくいです。こんなテキストは目の見える僕たちでさえ読みにくいです。

そこで僕達は漢字を使ったり句読点を使ったりして可能な限り読みやすします。実はこれがデータの中身にとって重要なのです。

  

句読点は文章を判りやすくする目印ですが、これを付けることをコンピュータ世界では「マークアップ」と言います

読み上げソフトマークアップされた文章だと、何処がタイトルで何処が本文というのが判別できるようになり、更に強調マークアップされている部分では音量を上げたりするので目の見えない人は非常に聞き取りやすくなります

  

もしここまで読んである点に気が付いた人はかなり賢いです。その点とは「目が見えないのは機械も同じ」という点です。

マークアップされた文章は機械にとっても非常に判別がしやすい文章であり、実例をあげるのであれば検索するときに使う「Google」が検索結果へWebページのタイトルを載せてくれるのも、マークアップされたタイトルを拾い上げているからなんです。

Wordでも「見出し」と指定された行は機械的に判別され、アウトライン機能で文書の管理が非常にしやすくなったりします。

PDFでも同じでアウトライン表示されたり、読み上げソフトPDF対応していたらマークアップに合わせて読みあげてくれます

  

少しだけ専門的になりますが、データベースとして使われているCSVファイルJSONファイルも特定の記号を使われているのでコンピュータは楽に判断できるのです。

更にしっかりとマークアップしておけばPDF電子書籍でよく使われているEPUBに変換するなど、他形式への変換が失敗しにくくなる利点もあります

  

コンピュータ教育のあり方

今まで行なってきたコンピュータ教育は正直「コンピュータ教育をしてますよ」という体裁だけを保っている教育の仕方だと思います

コンピュータが使われるようになったか教育に導入し、MS Officeが使われるようになったかMS Officeを教え、IT市場が大きくなったかプログラミングを教える。

高速に変わっていくコンピュータの状況に合わせてしっかり教育対応して居るように見えますが、現状のコンピュータ教育が見ているのはコンピュータの上っ面だけです。だから教育も上っ面になる。

コンピュータ教育ではタブレット端末の導入を現在検討しているらしいですが、どうみてもこれは上っ面な判断です。

  

コンピュータで高速に変わっていってるのは上っ面だけであり基礎の部分は。ハッカーが使ってそうないわゆる黒い画面、つまり端末(コマンドプロンプト/ターミナル)の頃とあまり変わってません。

その基礎を教えずしてOfficeだのビジュアルプログラミングだのを教えても生徒が得るものは何もないと言って良いと思います

正直この記事は総合職さんやプログラマさん、エンジニアさんから見たら「なにそんな当たり前の常識的なことをドヤ顔で記事にしてんの?」って嘲笑されるような内容です。

その嘲笑されるような内容をコンピュータ教育はできていないわけです。

これWindowsじゃなくたって教えられること、最新ハードじゃない中古PC-98だって教えられること、中学生以上は持ってそうなスマホだって教えられることです。

  

ただ教えてれば良いとするコンピュータ教育のあり方を今こそ議論していく必要があるんじゃないですか?とここに主張したい。

2013-08-31

文章系専門学校で学んだこと

http://anond.hatelabo.jp/20130830202223

小説を書くための学校に、2年間通った。

特定を恐れずに、その経験談を書いておこうと思う。

最初教科書本多勝一木下是雄だった。

400文字詰原稿用紙のレポートを何度も書かされた。学校までの道案内や入学式の報告といった、無味乾燥としたレポートだ。

その400文字は、先生の厳しい添削で真っ赤になるのが常だった。

まともな文章をたった400文字すら書けない。その現実の中で僕らはもがいた。

本を読んだ。

プラトンから神々の指紋」まである推薦図書のリストがあって、半分は読んだと思う。(神々の指紋は残念ながら読んでいない)

村上春樹吉本ばなな江國香織好きな人が仲間内では多かった。一方で、ラノベばかり読むグループもいた。

僕自身は、SF古典人文学系の新書を読んでいたと思う。

その時期いちばん読んで良かったと思うのは、佐藤信夫の「レトリック感覚」「レトリック認識」だった。

ただ、読んで良かった、という気持ちだけが残っていて、内容は詳しく覚えていない。

50枚の短編小説を書くのが、1年目の目標だった。

50枚書くことは難しくなかった。

夏にはもう初稿が提出できて、先生にはそれなりに褒めてもらえた。

しかし、自作何となく気に入らなくて、勝手最初から書き直してしまった。

それから、文章を先生に褒められることは一度もなかった。

書き直した作品は、生徒みんなの前で罵倒された。(トラウマだ)

合計で7回は書き直したと思うけれど、何度やっても評価はされなかった。

2年目の卒業制作100枚の中編だった。

そちらも同じように失敗した。

レポートなども合計すると、2年間で2000枚は書いたと思う。

授業では色々な人から話を聴いた。

某有名ゲームプランニングをしていた人・女性雑誌編集長とある古参ハッカーラノベ大御所・今ではずいぶん有名になってしまった当時の新人作家……。

映画演劇もたくさん見せてもらった。レポート宿題が必ず付いていたけれど。

民俗学古事記を読んだり、美術学で有名絵画から聖書シンボルを読み解いたり、構造主義を応用して物語プロットを組み立てる授業もあった。

教えてくれる人はみんな(出来る範囲で)熱心で、青臭い自分言葉もちゃんと聞いてくれた。

ちなみに、小説先生は往年の一太郎ユーザーで、ESCから始めるショートカットばかり使っていた。

キーシーケンスの組み合わせを暗記していたようで、VimEmacsに通じるところがある。

日本語IMEについて、ATOKは使い物になるが一番良いのはWnnだ、と言っていた。その真意は定かではない。

提出ファイルにはShift-JISのプレーン・テキストを指定し、タイトル名前の入れ方も詳しく指示していた。おそらくマクロで処理したのだろう。

ただ、提出メディアフロッピーディスクだった。もう10年以上前の話で、テレホーダイ記憶が鮮やかだった頃だ。

僕が通っていた学校に限れば、環境としてそんなに悪いところだとは思わない。

当初は周囲を見回して傲慢になっていたけれど、その鼻柱は見事に折られてしまった。

客観的に言って、使おうと思えばいくらでも使える環境だったと思う。

ただ、進路が難しい。学校を出た後でどう生活を立てていくかが難しい。

日本社会の標準的ルートからはやはり外れているのだ。

卒業生の進路はそれぞれだった。

僕はPGSEの道に突き進んでしまった。

定職に就いていない人間もきっと多いだろう。

頭の良い同期は大学に転入した。

プロとして活動していると言えるのは、50人の同期の中で3〜5人だと思う。

(これはきっと、専門学校の中ではかなり良い割合に入る)

おそらく最良の選択は、大学に転入し、標準ルートに戻ることだ。

標準ルートを知ることも大事だし、それから生活を安定させてデビューを目指せば良いと思う。

(ただし金が掛かりそうだが……)

専門学校は、僕にとっては良い場所だった。

何も知らない自分に大きなトラウマを与えてくれたのは、本当にありがたい事だ。

ただ、自我の捨て方は教えてもらえなかった。

こればかりは、学校の外で年齢を重ねてから、知るほかなかった。

文章を書くには、どうしても、自我を捨てた部分が必要だ。

そう悟りながら、僕はいまだ書けないでいる。

純文学系の新人賞に一度だけ送って落選した実績しかまだない。

そして、日本語よりJavaを書く時間の方が長く、それよりもD言語を書きたいと思う毎日を、無為に過ごしているのだ。

追記

トラバでも言われてしまったけど、「学んだこと」と言いながら、学んだ技術的な内容をあまり書いていなかった。

多少参考になる部分があるかもしれないので、追記してみたい。

ストーリー構成の教科書としては、シドフィールドが使われていたようだ。

ただ、当時はろくな翻訳が無かったらしく、教師オリジナルテキストを使っていた。

ハリウッド流の伝統的な4分割構成が基本で、自分アイディアをとにかくそれに落とし込み、内的整合性を保って読者に提示する技術を教えられた。

たとえば下記のような点をチェックするよう繰り返し言われた。



他にも色々と細かいテクニックについて教えられた。書くときの気構えであったり、推敲添削方法であったり。

今はストーリー構成の良書も多いだろうし、自分教科書を集めて勉強できる環境も整っているかもしれない。

から自分で体系的な資料を集め、先生になってくれる人や切磋琢磨できる仲間を見つけ、継続的に書く環境を整えられれば、わざわざ専門学校に行く必要は無いだろう。

専門学校などという人生を浪費する施設より、週末の教室Webでの作品発表・添削という形の方が適しているかもしれない。今の時代はきっとそうだろう。

レベルの高い卒業生の作品を見ると、内的整合性の点では下手なラノベよりしっかりしているものが多かった。

しかし、

「全体的に整合性が取れていて、ちゃんとした盛り上がりがあり、伝統的な構成に従って無駄なく構成できているか?」

という問題と、

「それが商業的に売れるか?」

というのはまったく別の問題だ。

商業的消費はたぶん非体系的な世界で、体系的技術がそれにどこまで寄与できるかは分からない。

とあるデビューした卒業生処女作は、内的整合性など何も考えていない、次々と新しい要素がひたすら出現する怪作だった。

その一方で、しっかりした技術のある人が、なかなかデビューの糸口を見つけられないでいる。

ちゃんとした構成や一貫性よりも、変に魅力的な脇役が愛されたりするのが商業世界だ。

特に日本おいて、消費者は全体よりも部分を好む傾向が強いと思う。

そして、部分で受けることを狙うのはかなり難しい。

部分を愛する文化というのはきわめてハイコンテクスト文化で、普遍的一般的技術原理的に存在できない気がする。

それは様式美に満ちた世界で、日本の文化はそういった様式美の継ぎ足し・連続で出来上がっているようにも思う。

こういった事は加藤修一の「日本文学史序説」に素晴らしくまとまっていて、とても面白かったので、創作に関わる人は序章だけでも全員読んだ方が良いと思う。

マンガゲームアニメラノベも全部これで説明できるし、将来的にどんなもの日本流行するか判別する目安にもできそう。

これは学校では教えてもらえなかったテキストだ。

以上を要約すると、ちくま学芸文庫から上下巻で出ている加藤修一日本文学史序説」を3000円で思い切って買おう、それを読めば専門学校に行かなくても大丈夫場合によってはラノベを書かないで済ませられるかもしれない、ということだ。

http://anond.hatelabo.jp/20130830202223

物書きはプレーンテキスト形式で、テキストエディタ使って書くよ

Emacs最高!一番好きなバーガーです!

2013-07-29

新人さんの判定法

組み込み系の開発で。

新人さんが配属されたら、ちょっとしたタスクをお願いして、そのままどうやるか見てるのです。

別に画面は見てませんです、キーボードマウスとどっちを触ってるか?だけ拝見してます

できる子はやっぱりキーボードで済ませようとした動きをしてるんですよね

もちゃもちゃマウスに手を伸ばさない

ほとんど当たるので、初日に嬉しくなったり、ため息だったり。

今度の子自称Emacsで全部済ませてた男子だそうなので、ちょっと楽しみだけど・・・どどど、どうなの?

2013-07-14

http://anond.hatelabo.jp/20130714150218

でもこれ別にemacsじゃなくてgitの話じゃん...

vimでも同じ様なこと出来ちゃうからこんなことかいてたら負けちゃうよ!

2013-06-23

http://anond.hatelabo.jp/20130623202351

それじゃあEmacsで同じ様な事が出来る環境を作り上げるには

どのような事が必要が教えてくれ。


後、viじゃなくてvim


確かに、

が昔の一番の違いだったんだろうけど、今は別にEmacsも遅くないしvim拡張プラグインがやたら出てきたのでそこは比べるところじゃない。


vimはNormalモード等があって結果的に入力数が圧倒的にすくなくなる、というのが利点だと思う。


で、emacsの利点は?

http://lambdalisue.hatenablog.com/entry/2013/06/23/071344

今時のviってすごいんだね。本当にいろんなことができる。

これじゃあほとんどEmacsじゃないか

2013-06-18

http://anond.hatelabo.jp/20130618175033

言いたいことはわかるけど、オートマF1が欲しいって言われたら、F1マニュアルだろって返すのが普通だと思う。

F1にのりたいなら、マニュアルを覚えてくれ。

だいたいみんな、最初emacsがいいというけど、最後にはviになるのと同じだ。 いいかマニュアルでやってみ。

なれれば、マニュアルのほうが簡単だ。自動でやられるとウザくなるぞ。

 

究極的にはコンパイラが吐き出すアセンブラよりも、ハンドアセンブルのほうが倍以上速いとかそういうノリだよ。

どっちみち、速度を求めたら最後アセンブラになる。そこに頭がなれると推論機構なんて無いほうが楽だ。

2013-05-23

ネット論争ってどっちの料理ショーみたいなの多くね?

右翼 vs 左翼

ノマド vs 社畜

ゆとり vs 老人

関東人 vs 関西人

静的型付け言語 VS 動的型付け言語

vim vs emacs

DB vs ワンピース

iphone信者 vs android信者

ソニー信者 vs 任天堂信者

AKB vs モーニング娘。

サッカー vs 野球

イチロー vs 松井

ビアンカ vs フローラ

きのこの山 vs たけのこの里


http://zzhh.jp/

ついでにこんなサイトまで。

もちろんそれだけとは言わないけど、賛成or反対を前提にしていることがしていない場合に比べて明らかに多いような。

そもそも二者択一前提の言い争いって現実社会では会社以外でほとんどしないと思うんだよな。

ネットの議論って別に会社会議みたいに時間内に採択することを目的としている訳じゃないんだし、

わざわざ思考範囲を狭めるような賛成・反対のスタンスありきで話すメリットって無いだろ。

こういうタイプの論争がネットに多いのは万国共通なんだろうかね。

あと昔と今で違いはあるんだろうか。

2013-05-06

http://anond.hatelabo.jp/20130506060654

emacsとの対比でvisual studio

エディタの話してるんじゃないの?

個人的には、visual studioよりも、eclipse使うわwww

なんでwindowsなのにemacs使うの?

玄人ぶりたいからだよね?

visual studioじゃダメなの?

2013-03-27

http://anond.hatelabo.jp/20130327195251

漢字変換の最中というIMEが動作握っているときですと、emacs上でもC+hは押しても、

前文字を一文字消すにはなりませんよ。

日本語入力するときタイポしてからそのまま変換したときに、変換解除するにはC+hでは駄目ですよね。

http://anond.hatelabo.jp/20130327195251

漢字変換の最中というIMEが動作握っているときですと、emacs上でもC+hは押しても、

前文字を一文字消すにはなりませんよ。

日本語入力するときタイポしてからそのまま変換したときに、変換解除するにはC+hでは駄目ですよね。

http://anond.hatelabo.jp/20130327195251

漢字変換の最中というIMEが動作握っているときですと、emacs上でもC+hは押しても、

前文字を一文字消すにはなりませんよ。

日本語入力するときタイポしてからそのまま変換したときに、変換解除するにはC+hでは駄目ですよね。

プログラミングの初級になるために:エディタ友達

http://anond.hatelabo.jp/20130327020050 の続き

emacsを使う意味

キーバインドのおかげで、掌を左右に動かす必要が少なく、動きが小さい分速くなります。加えて動きが小さいためホームポジションを維持でき、ブラインドタッチがしやすくなります

例えば、Enterや矢印キーといった、右手ホームポジションから外す必要のあるキーを押す必要がなくなります

また、このキーバインドUNIXコンソールでのキーバインドが元のため、Linuxコンソールでも当然使用可能です。

(Tera Termなどターミナルソフト経由の場合は、Metaキー有効にする必要があることは知っておく必要がありますが)

emacs学習の本はO'REILLYあたりの本で十分です。emacsで何ができるか読み込んでください。

さて、筆者が追加する情報としては、emacs日本語入力する場合です。

日本語入力の際に、漢字変換を行いますが、候補を変更していく場合、基本はスペースでしょうが、上の候補に戻す場合や誤入力を消す場合に、結局BSや矢印キーを押すことになってしまます

折角emacsを用いて,省入力できているのですから、この漢字変換もemacsライクにしてしまえば動きが統一されます

筆者はIMEとしてATOKを使用しており、以下のような設定をしております

例)候補確定はC+j、変換候補の異動はC+nやp。連文節変化の移動はC+fやb。誤入力の際はC+hで削除。

エディタから外れますが、トラックポイントになれることもお薦めします。

マウスと異なり手を動かすこと無く、指だけでマウスの代わりが得られます

こうしていくと全てが掌の中に収められます

※余談:EmacsキーバインドWYSIWYGエディター無ければ作りたいなーなんて思っています

プログラミングの初級になるためにの目次

http://anond.hatelabo.jp/20130325172822 の続き

言語Java7を想定。(Java8が迫っていますが、Lambdaなど関数型は、まだ早いと言うことで)

定理由は、C++比較して学べるところが大きく、安全シンプル言語から

※いきなりJavascriptはやめとけ、PHPは論外。

RubyScalaでないのは、筆者が初心者には適切には教えられないから。

おもちゃToyとしてjQueryで遊ぶのは、悪くは無いと思う。

0.はじめに

これ以降は名著の紹介や学習方法の紹介が主体となります。名著のコンポジションという形が時間限界ですね。

量については「初級になるなら、専門書を計3,000ページは修得することは覚悟してね」なんて言ったりしています

Javaで初級のわかりやすい指標ですと、[amazon:Effective Java]とGoFまでの修得。

初級になるまでに登竜門への挑戦期間を含めて、3~4年はかかっても仕方が無いとも思います

※逆に「一山いくらのコーダー」というのは、Effctive JavaGoFが達成している技術も知らずに「自分Javaプログラマー」だと誤解してしまっているような人達です。

そういったコーダーは何年経とうとも初級プログラマーにすら敵いません。

初級を目指して、プログラミングを楽しんでください。

ただ、学ぶべきことはべらぼうですが、「各分野毎に、エレガントな方法がある。だから探して修得する」ということが大切です。

※「一を聞いて十を知る」ような優秀な人に、50冊くらいドーンと本を置いてあげて、各本の目次を読ませるだけで、

底の見え無さを悟ってくれたりすると、嬉しくなってしまます

※余談ですが、その底の見え無さは数学という学問のものですね。例えば、関数型言語の底流に「圏論」というここ100年の最新の数学があります

また中級くらいで、Liskovの置換原則などが載っている本を紹介しますが、

そのLiskovの置換原則の周辺で出てくるcovariant(共変)って、圏論という数学概念だったりします。

数学出身としては、数学現実に活かされている嬉しい事例です。

閑話休題

1.目次

1)エディター・コマンドライン正規表現友達

「速く正確に大量の出力」という能力は、プログラミングをする上でも、ドキュメントを書く上でも、何より「つまら仕事」の時間圧縮ができるようになるため、重要です。

スローガンとしては「思考のスピードで出力することを目指そう」です。

紹介するエディターはemacsvimExcelです。ついでにIMEとしてATOKを使用しているため、ATOK操作Emacsライクにする話も紹介します。

ExcelWindows環境Meadowすら入れさせてくれない場合最後の砦という扱いです。

コマンドラインは、「コマンドラインというものがある」「時として非常に強力である」程度の紹介です。

※筆者はzsh全然使えません。使いこなしている方々と接する度に「勉強しなきゃな~、でも、あっちの方を先にやりたい・・・」とグズグズして、はや何年・・・

正規表現は置換を用いて、テキストの一括編集重要です。後、遭遇したくない事態ですが、スパゲッティコードの解析をする上での最後の砦です。

※遭遇したくない例

ん?何か変なところで副作用のある処理があるようだなぁ(消沈)、SQLのInsertかUpdateか一応Mergeも使っているところから逆算して原因箇所を探すか・・・(諦念)

この糞コードがっ!!こんなところに書くんじゃねぇ!!(憤怒激高)

(ここで、他にやらかしていそうな似たようなコード正規表現grep検索。改行コード込みにすれば複数文検索も可能)

わはは、予想通り共通化すべきロジックメソッドがそこら中にある・・・

2)アルゴリズムに始まりアルゴリズムに終わる(データ構造アルゴリズムの一部という認識言葉を使っています)

入門編で一つLinkedListというアルゴリズムを学びました。

少なくとも一つ本を読みながら自力でアルゴリズムを学べる人なら、大成できる可能性があります

前に紹介した[amazon:C++実践プログラミング]には、LikedListやStackなど基本的なアルゴリズムが載っておりますが、

これに加えて、初級になるためにはこれくらいは知っておいて欲しいというものを紹介します。

※後、最初から必ずしも手を出さなくても良い上限も紹介いたします。

3)正・不正の定式化・自動テスト・ロギング・アサーション・例外・契約プログラミング

プログラムは、データ入力して、加工して出力・保存する処理の繰り返しです。

まり、各一連の繰り返し毎に、「正しい入力」「正しい出力」を定式化する必要があります

それを人間の手では無くコンピューターやらせられるように、つまり自動テストできるようにテストプログラミングします。

そこで処理の進捗を確認するためにロギングし、処理が想定通りであるかをアサーションでチェックし、

不正入力不正な出力=例外が起きたら、対処策をプログラミングします。

(ex 途中で処理を中断して、入力者に適切な入力メッセージを伝えてあげる。入力自動補正などもあり得る)

で、ここら辺をまとめてどうあるべきかとして「契約プログラミング」があります

※余談。定式化・テストに際して、数学畑の人間としては、Javaだとequalsのオーバーライドでも必要になるし、同値関係同値分割だけでなく、集合論群論から学んで欲しい・・・(ここいらは数学科学部1~2年の学習内容)

4)名著を読め、新たな名著を探せるようになれ・素晴らしい人を見つけたら、縁を大切に

名著は英語で読みましょう。名著が名著たる由縁は、度々引用されることにあります

まり最新の技術書を読むときに、引用された名著のフレーズが、新旧のリンクをなし、理解の助けになります

対話は学問をする上で非常に重要です。

壁打ちといって、独り言で思考補助をするよりも遙かに有益です。

※素晴らしい師匠を探すなら、大学行くのが一番ですが、見聞を広げていく中で出会いを待つしかないとも思います

5)オブジェクト指向とはなんぞやとGoFデザインパターン + マルチスレッドプログラミング

マルチスレッドが難しいのは「バグを起こしにくいプログラミング」を求められるから

まりTry and Errorからの決別が求められ、今後の仕様変更拡張も踏まえて慎重に慎重にデザインする必要があります

できる限りステータス変数を持たずに安全に、でもマルチスレッドにするのだから効率を追求しなければ本末転倒

でも効率のためにはメモ化に代表されるキャッシング必須と、アンビバレンツな要素のバランス取りが難しい。

このために、リエントラントな実装・抽象と実装の分離など様々なエッセンスを駆使することが必要です。

床屋哲学者問題

6)日々コツコツと

というよりも孔子曰く、知っているよりも好きであること。好きであることよりも楽しめることのほうが強く、

気づいたら日々時間が許す限りプログラミングをしてしまうのが理想です。

仕事として嫌々スキルを磨かなきゃということが、これほど不幸な職業も無いですね。

余談 FizzBuzz写経について

FizzBuzz」は、本来の目的通り、協力会社の選定の際の足切りには便利ですが、

学習の達成度を測るには、簡単すぎる不適切な問題ですね。

写経

数学畑の人間として言わしてもらうと、

写経数学証明問題を、教科書テンプレ通りに、数値や名称だけ変えて記述することしか出来ない人の発想。

まり矛盾無く一貫した論理モデル」の構築が自由に出来ず、テンプレの微修正しか出来ない人の発想。

また、外部の「矛盾無く一貫した論理モデル」の吸収が不自由で、アルゴリズムを「手順」としてしか捉えられないように見受けられる。

プログラマーとしての大成は見込めないと思う。

数学畑として提供できる試金石

連続であること確かめるための「ε-Δ論法」(数学科学部1年の学習内容)

事前知識無く、このモデルを理解できる人は、十分に「矛盾無く一貫した論理モデル」を構築できる人。

1.まず「連続」とは何ぞやと考えて概念を膨らませてください。

2.十分思考できたと思えたら、Wikiあたりでイプシロン デルタ論法を見てください。

ログイン ユーザー登録
ようこそ ゲスト さん