プログラミング

根底を理解したい

よくブログなんかみてると、プログラマならアーキテクチャとかわかってないとだめとかいってるのがあるんだけど、確かにそうなんだよなぁと思うときがある。だめというか、ホントは理解で来てればいいのにと思う場面があります。たとえば、C言語でハッシュ関…

なんだかなぁ

と、なぜオブジェクト指向は嫌われているのか?を読んで思った。最初のほうで、OOよりカーネルいじったほうがよくねだとか、カーネルいじったあとにバリバリOOの話になったらこまらねとかかいってあったんだけど、カーネルのコードって、ハード依存の部分(イ…

cvsのコミットタイミングって

うちが今いるプロジェクトでは、svnでは無く、cvsでソースが管理されております。で、そのcvsから最新のをとってきて、テストを行ってるんだけど、そのなかのソースが1時間以内に何度も更新されているってことがある。そんなわけで、テストしてると動かない…

アルファベットの繰り上がり

アルファベットの繰り上がり どう書く?org via Haskell はスケるよ - アルファベットの繰り上がり module Main (main) where alphaList = let alphas = ['A'..'Z'] in (concatMap (\x->[x,' ']) alphas) ++ (concatMap (\x ->concatMap (\y -> [x,y,' ']) a…

アレイのuniq どう書く?org

Twitterで向井さんがこんなこと言っていた。 http://ja.doukaku.org/16/ne... お題が「アレイのuniq」なのに Haskeller が Array ではなくリストを使っている件 http://twitter.com/jmuk/statuses/144327752 というわけで、反応してみる。 import Data.List …

この汚いコード、明日までに書き直しちゃえ!についてひとこと

各所でいろんなことがいわれている、この汚いコード、明日までに書き直しちゃえ!について、ひと言書こうと思ったんですけど、書こうと思ったら、なんかしんどくなってしまって波にのりおくれた。まだ一つしかプロジェクトに参加していないけど、こんな開発…

というわけで、型をやろうかと思ったので、参考サイトをまとめる

というわけで、影響されやすい僕だから、CodeKataをやりたくなった。ただ、何ぶん英語が苦手なので、日本語の情報を探してみた。というか、昔、オブジェクト倶楽部のメーリングリストアーカイブで型についてやっていたの思い出した。ただ、メーリングリスト…

インドに仕事行っちゃったを読んでます

最近、ようやく重い腰あげてMY JOB WENT TO INDIAを読み出したんですけど、面白いですね。いろんなところで紹介されていて気になっていたんですけど、僕のところ今のところ、オフショアとかが全然におわないところにいる、かつ僕のような何もわかっていない…

テストの妥当性

最近書いたスクリプトのテストをやっておりました。テスト作る時って、すごく不安です。ホンマにこの項目でだいじょうぶなのだろうかと。俺の作り方はあっているのだろうかと。大学時代、プログラミング方法論とかいう授業で、ブラックボックステストだとか…

足の速い茶色のキツネがぐうたら犬を跳び越える。

英文 The quick brown fox jumps over the lazy dog.というのは、アルファベット26文字全てが含まれており、タイプライターの印字テストにつかわれるらしい。こういわれると、ホントに全部含まれているか試したくなる。とりあえず、Ruby。 irb(main):004:0> …

そしてJavaが生き残ったとか言ってみる

昨日、なんとなくyazuとメッセをしていた時に言ってみた。コンテキスト的には、LL魂でgaucheプログラミングがでるよ -> 最近プログラミングの本よくでてるよな -> そしてJavaが生き残ったみたいな感じで。そのときは、半分ネタで、半分またそうなるんじゃな…

そろそろ入門OCamlについて

読了して一週間経つんだけど、感想を書いていなかったので、簡単に。本の構成は、文法、ライブラリの説明、実用プログラミングの例とつづき、普通の入門書という感覚でサクサク読める。で、OCamlについて。買った日に書いた感想に、バグが少なくなりそうと書…

今更またFizzBuzzについて

もし、自分が雇用する立場で、FizzBuzz問題をだしたときに、 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 …

意識の問題かぁ

以前、erlangでのタプルの存在意義がいまいちといっていたんだけど、どうやら他にも感じていた人がいたらしく、そういう人のために、そのことについてjijixiさんが記事をかいていた。 だって、リストとタプルは違うものだから。リストは同じようなものを並べ…

ソースコードが仕様は傲慢じゃないかと

と思うことがあったので。まぁ、オープンソースの中なら通じるかもしれないけど、仕事でそれをやられるとさすがにつらいと思う。ソースは実装であって、仕様じゃないと思うんだけど。プログラムの動作を知るためのドキュメントがソースだけじゃあ、その動作…

考え方かぁ

「Lisp脳」の謎に迫る - Schemeプログラマの発想を読んで、あぁ普通は繰り返し手続きで考えるのかと思った。Haskellで最初考えた時は、1から100までのリスト以前に、15の倍数のリスト、5の倍数のリスト、3の倍数のリスト作って、そん中の要素だったら、値返…

Haskellでpla(ry

なんとなく、Haskellでplaggerを勉強がてら作ってみようかなぁと妄想してみるも、結構しんどそうなことに気づく。新しいモジュールつくって作るにしても、コンパイルが必要となる時点で、使い勝手がねぇ。それに、静的な型付けがある言語よりも、動的な言語…

そろそろgauche nightについて

gauche nightの感想をいいかげん忘れないうちに。といっても、他のかかれているのを読んでもらった方がいいと思うが。当日は、仕事がうまくいかず、一時間遅れで到着。席は当然一番後ろ。ついた頃は、ちょうど、schemeにパターンマッチがはいるかもしれない…

FizzBuzz

なんだか面白そうだと思ってやってみようと思ってHaskellで書いたんだけど、そこまでおもしろく書けなかったんで、動いたこと確認してやめた。それに、なんかワンライナーで書くのが流行っているみたいだし。

結局FizzBuzz

眠れなくて、livedoorReaderみていたら、haskellでFizzBuzzを見つけて、無性にErlangでFizzBuzzしようと思ったんだけど、プロセス通信のやり方がうまくいかず、寝ようと思って布団はいったんだけど、俺の今仕事のメイン言語はbashだと気づいて書いてしまった…

Javaは弱い言語

先週末の呑みで、Javaでご飯を食べている先輩とinject廚の新人とで少し話していた時に、Javaの先輩がいっていた「Javaは足りないものをツールで補う言語」というのをこの記事を読んで思い出した。Javaにツールが多いというのは、きっとJavaがCプログラマな人…

糖衣構文Love

on Lispも半分ぐらい読んだ。通勤中と昼飯のときぐらいしか読めてないので、亀ペース。内容の理解度も正直悪いと思う。で、アナフォリックマクロのところを過ぎたところまで読んだんだけど、結構サンプルコードとかが、Lispの標準関数がわかっていないという…

ご利用は計画的に

昨日書いたCのプログラムでやらかした。自分しか使わないプログラムだからいいんだけど。 char get_char(){ int c = rand(); if ( c > 32 && c < 127 ) return (char)c; get_char(); }あっというまにスタック使い切った。なんかループとか頭になかったなぁ。

やばひ

ものごっつい、ひさしぶりにCのプログラムかこうとしたら、すんなり書けなかった。文法というのもあるんだけど、ライブラリの使い方忘れてるの。たぶん、システムコールで書けばまだかけたんだろうけど、fopenだとかそいうのちょっとしんどい。fprintの第2…

スクリプト言語って普通のSEは使えるものなのか

今日は、テスト用に作ったツールを他の会社の人が使いたいからくれということだったので、ソース添付して、一応うちの会社の人にもCCして送信。で、前にtelnetでログインしてごにょにょしてログアウトするプログラムをRubyで書くと言っていて、pythonで書い…

B木と2分木

最近、境界を越える: Haskell を使った関数型プログラミングを読んだ。内容は、まぁ入門Haskellと多々かぶるんだけど、Haskellに興味がある人には、わかりやすい説明だと思う。ただ、ものすごく気になったのは、木構造の説明部分。B木って書いてあるから、木…

rubyでGUI

前に、macでもwindowsでも使えるGUIないかなぁと思って、wxWidgetsやYahooWidgetsかなぁと思っていたんだけど、いまとなっては、jrubyでSWINGっていうてもあるんだなぁと思った今日の夕方。でも、僕の中で、rubyでGUIはTKのイメージだなぁ。

隙間産業

何か人とか違った言語を使ってみたくなるので、なんとなくprologとかやってみようかと思ったのだが、結局、純粋な理論よりも、僕らの汚れた世界との通信手段がわからないと、プログラム書いていてもつまらないんだよなあ。まぁ、もともとprologの得意とする…

やっぱり覚えていなかった

仕事先のテスト用のサーバに、guileがはいっているということを知り、休憩中にちょっとだけ、schemeを覚えているかためしに適当なやつを書いてみる。 (map (+ 3) (1 2 3 4)) で、当然処理系におこられた。でも、最初は、第二引数のリストのクォート忘れぐら…

やっぱりperl苦手

高校時代に一度perlをやろうとしたんですが、「スカラー変数」という名前に、当時数学で習ったベクトルのスカラーを混同してしまい挫折した僕が、plaggerのソースを読もうとしてますよ。まぁ、昔よりはなんとかわかるつもりでmacにportでctagsを入れて読み出…