タグ

ブックマーク / qune.jp (6)

  • 暇な人はやってみるといいプログラミングの万能練習法

    練習メニューだけ考えてみました。どんな言語にでも使える万能メニューです。あたしゃ暇じゃないのでやりません。手順は以下の通り。 使いたい言語を選択する 書きたい POSIX のコマンドを1つ選択する man 等を読みつつ,仕様を頭に入れる 設計 コーディング テスト(納得いくまで 5 と 6 を往復する) C の場合はソースを読んで答合わせ(※正しい答とは限らない),C じゃない場合はもっといい実装はないか考える(これはちょっとキツいか) 終了(POSIX のコマンドがまだ残っている場合は,2 に戻る) 言語によっては簡単に終わっちゃったりするかもしれないけれど,なかなかいい練習メニューじゃないでしょうか。この練習メニューのいいところは,コーディングの練習になるのと当時に以下の特典が付くことです。

  • ソースコード解析におけるアタリのつけ方とか(その1)

    仕事でプログラムを書いていると,デバッグ以外に他人のソースコードを読む機会がたくさんあるわけですけれど,大抵の場合,漫然と読んでいるのではなく目的があります。例えば,字句解析する際のバッファ管理の方法を知りたいから GCC を読むとか,ベクタオブジェクトの描画系はどうやってるんだろと思って,Inkscape のソースを読むとかいった具合。もちろん,それらが最適なプログラムとは限らないわけですけれど,他の人の考え方を取り入れるには,下手な能書きが書かれたを読むよりも,ソースを読む方が手っ取り早かったりします。 で,ま,目的をもってソースを読むわけですけれど,この場合,まずもって目的のソースにたどり着けなくちゃいけません。全然関係ないところを読むのは時間の無駄ですから。この点,巷には,ソースの読み方をあちこちで紹介しているわけですけれど,あたしはあまりこゆ読み方はしていない気がします。例えば

  • ソースコードに書かれていないバグに関する情報の話

    某氏……に限らず,巷でドキュメンテーションを嫌がっている向きが典型的に口にすることに,次のような話があります。 以前もこの話を書いたかもしれないけれど,この命題は非常にトリッキーで詭弁的だと思っています。確かにソースコードにはバグも含めてすべてが書かれている。これは間違いありません。 しかし,ソースコードにバグが書かれていることが分かっていたとして,これは開発で必要な情報となりうるのでしょうか。あたしには,意味のない情報としか思えません。というのも,開発に必要なバグに関する情報は,「バグが書かれているか」ではなく「何がバグでソースコード上どう実装されているか」に尽きるからです。 そもそも,プログラムはプログラムした通りにしか動かないのだから,プログラム(ソースコード)の内部に「バグ」という概念はありません。通常,バグは開発者/設計者/ユーザが意図した通りにプログラムが動かないこと言います。

  • 少し前立ち読みした本 - 『C/C++プログラミングの「迷信」と「誤解」』

    最近パソコン(特に邦書)がつまらないもんで,買って読むどころか立ち読みしようとすら思わないんですけれど,書は立ち読みで読みました。立ち読みで済ませたものを紹介するのもアレなんですけれど,ま,一通り読んだので……。 書は,C/C++ の「言語仕様」を主な論拠にして,巷で主張されている誤解を正そうと試みたです。例えば,C/C++ 界隈ではいまだに「コンストラクタで例外を投げてはいけない」みたいな迷信があったりしります。こゆあれこれをトピック形式で扱っている。 Amazon の紹介(出版社の説明)では「未経験者にも最適」と書いてあるけれど,迷信について扱っているなので,ある程度開発の現場に身を置いた人でないとピンとこないだろうと思います。一方,現在 C/C++ でプログラミングしている向きにとって,あやふやな知識や定かでない情報を一元化する意味では,まとまっていて便利に使えると思います

    rin51
    rin51 2011/04/17
  • レガシーなコードに絶望する新人君の話

    新人君が入ってくる時期なので,偉そうに書くぞシリーズ。 某所でソフトベンダに入社した新人君が恨みつらみを書いているのを見て,少し暗い気持ちになってしまいました。その人は C++ の規格やプログラミングテクニックにかなり精通しているようで,ソフトベンダで書かれている「レガシーで時代遅れなコード」に苛立っているみたいでした。俺は一生こんなレガシーな糞コードを書いて,凡人として過すのか……とか云々。 ま,その気持ちも分からなくはないんですよ。実際,あたしもそう考えていた時期があって,このサイトでも不満を吐露する記事を書いた覚えがある。今も不満はある。入社後10年以上たっても,いまだにそういう考えを持っている同僚もいる。んなもんで,あたしゃそういう人を洗脳するつもりはないし,諭すつもりもありません。 もっとも,そゆ人もせっかく凄い技術を持っているのだから,ちょっと処世術というか気持ちの持って行き場

    rin51
    rin51 2011/04/15
  • 空気読む Perl 空気読まない Java

    とのこと。ここで,PerlJava は動的型付言語と静的型付言語の代表を挙げただけなので,RubyC++ でもいいし,JavaScript と C でもよかったりします。あたしんとこの職場は,普段 C++ でプログラミングしているので,LL にはやや冷たいところがあったりします。それにもかかわらず,上の至言。自虐っぷりが笑える。 ここで,『プログラミングRuby』の話がなんで出てきたのかというと,書に動的型付言語の話があって,それが話題になったからです。 もうお気づきのことと思いますが、Ruby では変数やメソッドの型を宣言しません。すべては何らかのオブジェクトです。 (snip) 大半の言語では静的な型システムが採用されていますが、それによってプログラムのセキュリティが実際に向上しているかというと、実はそうでもないのです。例えば、Java の型システムが信頼できるものだとし

  • 1