タグ

ブックマーク / www.kaoriya.net (4)

  • スパルタンVim 4.0のPDF公開 — KaoriYa

    すっかり涼しくなってまいりましたが、夏の暑いさなかに行われたコミケ C86において頒布した スパルタンVim 4.0 のPDFを公開いたします。 http://files.kaoriya.net/goto/c86pdf Vim scriptがどう実装されているかを、そのソースコードを通じて理解してしまおうという、斜め&明後日な方向からの超Vim script入門書です。先日、私は Vimlambda()関数の実装 をお手伝いしていましたが、このを読めばあなたも同じようにできるようになるかもしれません(なれるとは言っていない)。 秋の夜長のお暇つぶしになれば幸いです。

  • プログラミング教育に適した言語 — KaoriYa

    プログラミング教育に適した言語について考えたことを垂れ流します。いきなり言語からは離れちゃいますけどねw 考え始めたキッカケは、最近話題になった「プログラミングが嫌いな学生たちにRubyを教えたら嫌いじゃなくなった話」。 こと教育に関して言えば言語がCだから嫌い、Rubyだから好きというものではないでしょう。ポイントは学生が興味を維持しつつ学習を継続できるか否かに過ぎません。学生にかぎらず人間は、面白いと思わないものに向き合い続けることはまず不可能です。この例で言えば「(Rails on Rubyで)Webアプリを作る」という比較的興味を維持しやすいトピックであったことが、教育として重要だったのです。仮にCであっても、その先にその言語で実現できること(たとえばOSが読める/書けるとかw)を逞しい想像力で思い描ける学生であれば、学習は継続できたでしょう。まぁ、今時そんな学生がいるともなかなか

  • C言語における文字列連結 — KaoriYa

    C言語で文字列連結を行う。とても簡単に思えるけれど、実はパフォーマンスについて考えることもあるんだよ、というお話。 C言語で2つ文字列の連結して、1つの文字列にするプログラム(関数)を書けるでしょうか? ちょっとC言語でプログラミングを学んだことがあれば簡単ですよね。要求仕様としては2つの引数aとbをとり、どちらもNULターミネートな文字列で、その文字列をヒープから確保した領域で連結して戻り値として返す、という感じの動作です。ヨユーですね。ちょっと書いてみてください。 char* str_join(const char* a, const char* b) { char* p = malloc(strlen(a) + strlen(b) + 1); strcpy(p, a); strcat(p, b); return p; } こんな風に書いてしまったあなたは及第点です。個人的には失格です

  • Vim昔語2011 — KaoriYa

    目次 第一話 遭遇編 第二話 スクリプト編 第三話 激闘編 第四話 昇華編 第五話 翻訳編 最終話 未来編 あとがき 勢いだけで書いてきて未回収の伏線もあったりしますが、そろそろ記憶のほうもかなり曖昧になってきましたので、ここで一つの区切りといたします。2011年のお盆の緊急特別企画ということで楽しんでいただければと思います。 幾分古いことですし、またエンタテインメントとしての性格が強いものですので、文章の表現には誇張や創作があることをお赦しください。また文章中に名前をあげました皆々様には、事前の許可などいただかず誠に申し訳ありませんでしたが、なにとぞご理解とご協力の程をお願いいたします。同時にネタになっていただきありがとうございました。 こういう企画文章を集中的に掲載するのってしんどいですけど面白いですね。特にtwitterを中心にほぼリアルタイムに反応をいただけるのが、執筆を進める上で

  • 1