2007-08-01から1ヶ月間の記事一覧

プロトタイプ宣言

C

ヘッダじゃなくて .c の方でプロトタイプ書く意味ってなんなんかな。 相互に呼び出し合う関数があったりすると、ないと困るような気が。あと、top down に関数を書いていく人はプロトタイプ宣言を書いておくと、関数の記述順序は気にしなくて良くなるから、…

ポインタの演算

C

C のポインタ演算を Haskell 風に書いてみる。 + :: Pointer a -> Integer -> Pointer a - :: Pointer a -> Integer -> Pointer a - :: Pointer a -> Pointer a -> Integer * :: Pointer a -> a & :: a -> Pointer a [] :: Pointer a -> Integer -> a こんな…

Object identity としてのポインタ

C

hyuki (2007-08-20 (月) 06:23) ポインタは「オブジェクト」を実装しようとしたところで重要性に気づきますね。アイデンティティとしてのポインタ。 オブジェクトを識別するのに参照用の値を使うことが便利なのは分かるけど、ポインタは本来参照するためのも…

抽象度と難易度

ref:プログラミング言語を作る日記 via:ときどきの雑記帖 リターンズ 2007年8月 ところで初心者向けの学習用言語としてCが向いているかどうか、という議論があるようですが、会社の新人の教育担当を何度かしたことがある私の経験からすると、たいていの人は…

edit distance

ref:みずぴー日記 - 文字列の距離 via:Blog/2007-8-20 - Rocco の日記 普通、こういうのは edit distance (編集距離) と言うんじゃないかな、と思うんだけども文字列間距離だけでも通じるもの?Hamming distance とか無視ですか、そうですか。 アルゴリズム…

配列とポインタ #3

C

なんか、ネタを小出しにしている感があるなぁ。まともな Web 環境にもどったしとりあえず、昨日のネタの簡単な解説をば。(C FAQ 1 見とけという話も) 型情報もまとめて出力すると、結果は下記のようになる。 a: value = 0xbffff62c, size = 200, type = int …

配列とポインタ #2

C

C の多次元配列は一応、「配列の配列」になっている。けど、dereference/reference の挙動が、多分、かなり直感に反することになると思う。「配列へのポインタ」でも同じく。要するにポインタの dereference ってのは単純な間接アドレス参照ではないのだ。 …

豊橋着

やっとこさ、豊橋にたどり着いた。

よいプログラミングの習慣

ふと、良いプログラミングの習慣を身につけるにはやっぱり、良いプログラム(or API)をたくさん読むのがいいんではなかろうか、と思った。そういう意味では Java や LL は結構いいんじゃないか。まぁ、C でも glib やら neon やら apr やらいろいろあるけど。…

主観

主観ということ自体は否定はしないけど、どちらかというと視点の違いじゃないかなぁ。あと、もともとJavaとの比較の話でもないし、適用分野の話でもないかなぁ。いまはLLやJavaで実装される分野も、Cで実装されてた時代があった訳で、パフォーマンスの問題を…

配列とポインタ

C

念の為に書いておくと、配列とポインタは明確に違うもの。 そのあたりを誤解していると、 void func(int **a); int a[2][2]; func(a); がコンパイルエラーになることが理解出来ないんじゃないかな。 もちろん、 void func(int *a); int a[2]; func(a); はOK…

クロイスター

そういや、MET別館のThe Cloister はなかなか良いところだった。関係無いだろうけど。

良く分からん

携帯電話からの post なので引用、リンク省略。あとで追記するかも。 なんというか、そもそも、「配列もポインタ」なんてことを言っている人がいる時点でどこが簡単だよ、とか思うんですけど。 構文が腐ってて初学者が混乱する可能性とか、あんなrawなポイン…

飲み

まぁ年相応でいきたいところ。

nullable

それなんて Maybe、 とか思った。 いや、Haskell では String か Nothing、な型は Maybe String で表せるのである。で、パターンマッチしないと String として扱えないという仕組み。

void

void にキャストするのは lint のチェックをパスするためじゃなかったっけ。

論理飛躍

しつこいかも知れないが再度書いておこう。 「Cでまともなプログラムが書けない奴はJavaでも書けない」ってのは経験の要素を除いて素養の話に限定すれば、直感的にはその通りだと思う。 でも、冷静に考えれば、それと「学習に向いているか」、「(ある面にお…

開星 対 徳島商業

やあ、徳島商業負けちゃいましたね。

常総学園 対 京都外大西

延長12回。延長に入ってから毎回点が入るという展開が非常に良い。 さて次は地元徳島商業の試合だ。

usage

パラメータが足りなかったりする場合は stderr に出力で終了コード 2、-h/--help を付けた場合は stdout に出力で終了コード 0、というのが標準じゃなかったかな。GNU 系のツールの話で他がどうかは知らないけど私はこれに合わして作っている。

低レベル 高レベル

インピーダンスミスマッチがあるからこそ、生々しい低レベル API と典型的なユースケースで便利な高レベル API は意識的に分離した方がいいんじゃないかと思った。 言い換えればインターフェースが気に食わなければ Wrapper API を用意すれば良いじゃんと。

東大ラーメン

徳島についた。取り敢えず東大ラーメンに食いにいった。 人間、やっぱり地元のラーメンが一番。

帰省

なんか成り行きでまた明日から帰省だったりする。

JDBC と Collection API

ref:http://d.hatena.ne.jp/bleis-tift/20070808/1186564456 ref:http://d.hatena.ne.jp/bleis-tift/20070808/1186558404 JDBC でのクエリの結果は Collection で返してくれというのは分からないでもないけども、クエリの結果を Collection にしてしまうとそ…

末尾再帰

ref:http://alohakun.blog7.fc2.com/blog-entry-812.html ref:http://alohakun.blog7.fc2.com/blog-entry-813.html ref:http://shinh.skr.jp/m/?date=20070808#p01 shinh さんの末尾再帰の理解が適当だというのが個人的には衝撃。しかし gcc の最適化はすご…

なんだってー

スピーカーになればいいのだ! ちょwwww でも、マジレスするとそんなしゃべるようなネタはもっていないとかなんとか。

定数との比較 #2

昨日の話の補足。 なんとなく、PMD や Checkstyle ではどうなるんだろう、と思ったので Eclipse Plugin で確認してみた。 PMD strigValue.equals("hoge") だと "Position literals first in String comparisons."(文字列の比較ではリテラルを最初に置け) と …

自分で拡張すればいいのに

ref: :gnuvince.net ? Blog Archive ? My 5 things I hate about Python ref:西尾泰和のブログ: LL魂準備日記 ref:Matzにっき(2007-07-19) 分からないでもないけど 1、2 なんか、そのまま自分で拡張すればいいじゃねえかと。 dict.get 見たいなのが list に…

あり?

ref:jijixi's diary - 何人かの人のエントリが LL 魂じゃなく LL 妖精さん (ただし寸足らず) になっている件 , 絶賛夏バテ中 ぐはぁ。いや typo ですけども。 そういえば、某 Perl 使いの先輩はよく split を間違えて sprit と綴っていました。不思議。

飲んだら乗るな

はっきり言って酒を飲んだ上、車を運転する人には公務員になってほしくありません。車は走る凶器です。自分で電柱にぶつかって勝手に死ぬのは構いませんが交通事故は他人を巻き込みます。他人の人生を奪います。そんなことを平気でやる人に公僕・いや「大人…