プログラミング一般

「本当の初心者のためのプログラミング入門」始めました

タイトルからして無謀ですが、「本当の初心者のためのプログラミング入門」というのを始めました(始めました、と言いつつ、続くかどうかは評判次第ですが)。 kmaebashi.com この入門では、JavaScriptを使って、以下のような「UFOゲーム」を作ります。 下にあ…

JavaでJPEGのExif情報を読む

Exif情報について デジカメやスマホで撮影した画像は通常JPEGというファイルフォーマットで保存されますが、これにはExif(Exchangeable image file format)という付属情報が付与されていて、そこに画像のサイズやら撮影日時やら撮影したカメラのメーカーやら…

JavaScriptでテトリス風ゲームを作ったよ

ずいぶん久々の更新になってしまいました…… という話はさておき、タイトルの通り、JavaScriptでテトリス風のゲームを作りました。 http://kmaebashi.com/programmer/tetris/index.html ゲーム画面はこんな感じ。 遊び方やゲーム本体のページへのリンク、ソー…

プログラマよ、貧乏性たれ

かなり古い話ですが、かつて増井俊之さんが提唱した概念で「富豪的プログラミング」というものがあります。 富豪的プログラミング 実のところ私は、この文章の趣旨には異論はありません。特に以下の部分などは、場合によってはプロトタイプに限るかもしれま…

ブロックの先頭以外での変数宣言について

今日の元ネタは以下のページです(古い記事ですが)。 blog.jnito.comまあ大筋で異論はないのですが、以前からあまり納得がいっていないのが、冒頭の 「1.使われるローカル変数をすべてメソッドの最初に宣言する。」 です。確かにC90までは、ローカル変数はブ…

まだたとえ話で消耗してるの?

常に話題には乗り遅れる私ですが、ちょっと前、「変数を箱にたとえる」ことについて議論がありました。 プログラミングの変数を教えるときの「箱の説明」の是非について。 - Togetter 実のところこの話題は昔から何度も出てきた話で、「何周目だ」という話で…

インタープリタは「翻訳」しない

http://qiita.com/kantomi/items/747aef968d37b5ebeced ■ 中間言語方式 Java・.Net (バイトコードなど)中間言語に変換してから、JavaVMなどがネイティブコードで実行する。 ■ インタープリタ言語 PHP/Ruby/JavaScriptなど 1行ずつ、コンパイルしながら実行す…

「憂鬱なプログラマのためのオブジェクト指向開発講座」はどうトンデモなのか

前回の続きです。なお、私が持っているのは初版第10刷、正誤表がこちらにあるようです。 この人、Cで開発したことあるのかな オブジェクト指向の教科書ではよくあることですが、この本も、Cによる開発とオブジェクト指向言語(この本の場合はC++)による開発を…

「憂鬱なプログラマのためのオブジェクト指向開発講座」はどこがどうダメなのか

http://blog.usagee.co.jp/2010/11/27/level-up-programmer-2 (3)更に読んで欲しい5冊 C言語ポインタ完全制覇 (標準プログラマーズライブラリ) C言語ポインタ完全制覇 (標準プログラマーズライブラリ) 前回書くべき書籍なのに、すっかり忘れていました。。…

例外処理について、私はこう思う

他人の意見の翻訳ばかりでもアレなので。例外処理機構についての私の考え方は、Diksamがそうなっているように、 例外処理機構自体は必要 検査例外も必要 というものです。

MVC云々の話・コードの量の問題じゃないかな

Inspired by みねこあさんとこ発端: Life is beautiful: Ruby on Railsの「えせMVC」の弊害 Modelの外部インターフェイスの設計においてもっとも大切なことは、この「データの整合性」の責任を100%Model側で引き受け、「Controllerが何をしてもデータの…

小学生がゲームを作るとして

元ネタはhttp://www.kt.rim.or.jp/~kbk/zakkicho/09/zakkicho0908c.html#D20090829-2より。 プログラミングの出来る小学生に関する謎(Part3) - 小学生でも... - Yahoo!知恵袋 小学生でもゲームプログラミングが出来る人がいるみたいだが、 最低でも高校レ…

私はいかにしてプログラミングを習得したか? みたいな話

このへんを読んで。http://d.hatena.ne.jp/scinfaxi/20090811/1249995872 プログラミングに殺される http://d.hatena.ne.jp/scinfaxi/20070523/1179935877 プログラミングに殺されるの増田さんは、 数百時間は勉強しましたが、クラス、オブジェクト、public/…

Leptonさんの「JavaプログラマのためのC作法虎の巻」を読んだ

ちょっと前のことですが、購入して読みました。で、今回は、特にこの本のレビューとかではなくて。こういう本だと、ジャンルがジャンルだけに、「自分だったらどう書くか」という視点で読んでしまいます。Javaプログラマ向けのCの入門書なら、「Javaでこう書…

はてなダイアリをクラスで表現したら

id:fumokmmさんに いやだから具体例でお願いします。私ははてなダイアリーを例にしましたけど、同じ例でも他の例でもいいですから。 と書いたら具体例で回答くださいました。http://d.hatena.ne.jp/fumokmm/20090502/1241273451#20090502f1 あまりいいものが…

業務アプリとOOの話続き

id:int128さんから再度トラックバックをいただきました。「アプリケーションとDBの分離による変更コスト」 http://d.hatena.ne.jp/int128/20090430/1241112977う。どうも余計なことを書きすぎたようで。 プログラムを理解するのに必要なことはソース中に書け…

SQLには萌えないけれど

トラックバックとブックマークコメントへのお返事です。 SQLについて id:hatest さん タイトルを「SQLかわいいよ。SQL」に変えると好感度が上がるぞ タイトルのとおりです。 言語としてみたときのSQLは、BNFからしてこのありさまなわけでなんというかもう。…

業務アプリの業務部分で、オブジェクト指向なんか使わないよね

久々の更新なのでちょっとは刺激的なことを書いてみる。今時のプログラマにはオブジェクト指向は必須、常識、みたいな言説はよく聞きます。しかし、煽りでもなんでもなく、実のところ現場ではあまり使わない、というのも事実だったりします。そりゃ、ライブ…

プログラム設計書とは何か? ドキュメントには何を書くべきか?

プログラミングできない元請けがプログラム設計書をレビューするという矛盾 - yvsu pron. yas その「プログラム設計書」が何を指してるのかわからないから土壇場で混乱する - @katzchang.contexts 下のリンクより: *1:「ほとんどプログラムと対応するよう…

新しいCの仕様

ISO-C99がどの程度普及しているものか、私にはよくわかりませんし、ISOではC1Xを検討しているようでもありますが、それとは別に、過去との互換性を廃した新しいCも検討されているようです。英語なので拾い読みしかしてなくて、理念とかポリシーとかはあまり…

「本当の基礎からのWebアプリケーション入門――Webサーバを作ってみよう」って誰か書いてくれませんかね

以前自分とこの掲示板にも書いたのですが。http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&from=880&range=1 とはいえ、CGIはWebアプリケーションの基本ですから、(Perlでもよいので)一度は 作っておくべきものかとは思います。最近は、PHPやらJSP…

疑りぶかいあなたのためのオブジェクト指向再入門

公式ページのほうにずいぶん前に書いた記事について、こちらで言及いただきました。 聞いたことのあるお名前だなあ、と思ったら、Mewのあの方… 光栄というか、驚きました。 # Mewにはお世話になりました…以下、返信というよりは、単なるとりとめのない話です…

大規模「Web」アプリケーション

私は、たとえば著書の中で、「データ構造が重要だ」ということを腐るほど言ってきました。 そして、私にとっては同じ論理の延長にあるのですが、「プログラミング言語には静的な型付けが必要だ」という主張もしました。プログラムのデータ構造を表現するのは…

コーディングの工程を「製造」と呼ばないで

今回書くことは、ある意味、以前書いたことと相反してるんですがね。まあ、世の中たいてい真実は中間へんにある気もしますし。 さて、実のところこんなことはいまさら私が言うまでもなくとっくに語られてきたことではあるのですが。 世間にはシステム開発の…

ペンキ屋シュレミール

有名な本なのでこんなとこ見てる人はたいてい知っていると思うのですが、Joel on Softwareにこんな話が載っていた(打ち直すのが面倒なので検索したらここで見つかったのでコピペ)。 シュレミールは道路の真ん中に破線を描くペンキ塗りの仕事を得た。最初の日…