タグ

プログラミングに関するnibo-cのブックマーク (91)

  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • 高専プロコンを襲った魔物の正体とは

    10月11日から12日にかけて、福島県いわき市にあるいわき明星大学で「第19回全国高専プログラミングコンテスト」(高専プロコン)が開催された。高専プロコンは文部科学省の「生涯学習フェスティバル」(まなびピア)の一環として開催されている関係で、毎年別の場所で開催される。「掘り起こせ!未知なる能力(パワー)」をテーマに、ホスト校である福島工業高専は開催の準備を進めてきた。 課題、自由、競技の3部門に分かれて競われる同大会だが、ここでは競技部門から取り上げる。競技部門はほかの部門と比べてエンターテインメント性を強く持ち、いわば花形の部門である。昨年の津山大会では「石垣工務店」と呼ばれるコンテストが観客を楽しませたが、今年もそれに負けず劣らずの勢いで、「フラっと収集車」と呼ぶコンテストを企画した。趣旨としては、複数のチームが同じマップ上でトラックに見立てたコマを動かしながら、少ないガソリン消費量で

    高専プロコンを襲った魔物の正体とは
  • 2008-09-27 - ABAの日誌

    んで上の公開講座のあとの懇親会の時にオライリージャパンの方から「実例で学ぶゲーム3D数学」を献していただいた。ありがたいことです。 実例で学ぶゲーム3D数学 (http://www.oreilly.co.jp/books/9784873113777/index.html) 線、面、球、バウンディングボックスなどのコリジョンを取るときに必要になる距離計算や、ふだんなんとなく使っているベクトル、行列、四元数(クォータニオン)の操作の詳細などについて詳しくかかれている内容。 個人的には幾何に関する各種数式が、ゲームに関連する部分に特にフォーカスして書いてあるのがありがたい。距離計算とかはたまに必要になるのだが、その際にもはや公式が思い出せなくて四苦八苦することがある。私はそのために大学受験用の参考書である大学への数学シリーズをいまだに持っているのだが、書があればだいたいこと足りる感がある。

    2008-09-27 - ABAの日誌
  • 【2ch】ニュー速クオリティ:COBOLの利用は精神を損なう。COBOLを教えることは犯罪行為だ

    1 毎日新聞配達(福島県)2008/09/21(日) 14:03:04.30 ID:cpGers0D0 ?2BP(3001) 株主優待 家/.の記事より。チューリング賞受賞者エドガー・ダイクストラ曰く、 「COBOLの利用は精神を損なう。よって、COBOLを教えることは犯罪行為とみなされるべきだ」 http://developers.slashdot.org/article.pl?sid=08/09/19/2035223 ……とはいえ、このDr. Dobb's Journalの記事によれば、COBOLのしぶとさには度外れたものがあるらしい。 21世紀に入ってもCOBOLは最も広く使われている言語であり、今日のソフトウェア開発における最もホットな 領域のいくつかで重要な地位を占めている。あなたが次に学ぶべき言語はCOBOLかもしれないのだ。 1997年、Gartner Gro

  • ふざけた変数名を使う奴は、ばかなの? 死ぬの?:アルファルファモザイク

    「小女子焼き殺す」 2ちゃんねるに書いた無職、「小女子(こうなご)は魚のこと」と主張するも…懲役1年6月求刑

    nibo-c
    nibo-c 2008/09/19
    いろいろ噴いた
  • ゲームのバグにみるアルゴリズム - 衝突判定

    何を見てもアルゴリズムを考えてしまうのがプログラマの職業病といったところです。 私は結構ゲーム好きなんですが、ついついアルゴリズムを考えてしまうんですね。 バグを発見したときなどは楽しくてたまりません。 そのほつれからプログラムのコードが透けて見えるのです。 日のターゲットは2001年、匠から発売されたアーケードゲーム「ナイトレイド」です。 ジャンルはシューティングなのですが、変なシステムを採用した、あまり見栄えのしないゲームでした。 このゲーム、非常にマイナーです。多分、名前を聞いて分かる人の方が少数派ですね。 ちなみにプレイステーションに移植されています。 アーケード版公式ページ PS版公式ページ このゲームには非常に致命的なバグがあり一部界隈では有名です。 自機を画面左上に移動させると敵が弾を撃たなくなるのです! なぜこんなことが起こるのでしょうか? 矩形の衝突判定 ところで矩形(

  • プログラミング言語オタが非プログラマーの彼女に言語世界を軽く紹介するための10言語

    via Twitterオタが非オタの彼女にTwitter世界を軽く紹介するための10ユーザ まあ、どのくらいの数のプログラミング言語オタがそういう彼女をゲットできるかは別にして、 「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、 その上で全く知らないプログラミング言語の世界とはなんなのか、ちょっとだけ好奇心持ってる」 ような、ヲタの都合のいい妄想の中に出てきそうな彼女に、プログラミング言語のことを紹介するために 習得させるべき10言語を選んでみたいのだけれど。 (要は「脱オタクファッションガイド」の正反対版だな。彼女にプログラミングを布教するのではなく 相互のコミュニケーションの入口として) あくまで「入口」なので、アーキテクチャに過度に依存するアセンブラ等の低級言語は避けたい。 あと、いくら基礎といってもBrainf*ckやUnlambdaのような難しすぎるも

    プログラミング言語オタが非プログラマーの彼女に言語世界を軽く紹介するための10言語
  • void main() キター:アルファルファモザイク

    >>977 bash-3.2$ gcc omoshiroi\ copipe.c omoshiroi copipe.c:1: error: stray ‘\357’ in program omoshiroi copipe.c:1: error: stray ‘\275’ in program omoshiroi copipe.c:1: error: stray ‘\267’ in program omoshiroi copipe.c:1: error: stray ‘\357’ in program omoshiroi copipe.c:1: error: stray ‘\276’ in program omoshiroi copipe.c:1: error: stray ‘\200’ in program omoshiroi copipe.c:1: error: stray

  • プログラミングが上達するコツ:アルファルファモザイク

    好きなソフトを作ることを目標とする。 しかし、作り方がわからない。 教科書を買い勉強する。 しかし、つまらない。 結局、何もできない。

    nibo-c
    nibo-c 2008/07/13
    >>175 wwwwwwwww
  • 【ハウツー】ゼロからはじめるC言語 - 環境構築編 (1) C言語の概要 | パソコン | マイコミジャーナル

    時代に流されない堅実な開発ツール 稿では、80年代から多くの環境で実用され、今もなお多くの現場でプロフェッショナルに愛用されているプログラミング言語 Cについて解説させていただきます。稿の対象読者は、基的なコンピュータの操作方法や基礎的な仕組みについて理解されている、プログラミングに興味のある初学者の方とさせていただきます。プログラミング経験は不問ですが、C言語以外のプログラミングの経験が多少でもあれば、より簡単に読み進めることができるでしょう。 C言語は、専門学校などでも基礎的な技術としてカリキュラムに組み込まれており、一時はプログラマへの登竜門的な言語であると考えられていました。その地位は、現在も変わりませんが、アプリケーション開発が複雑になるにつれて、より生産性や安全性の高い言語が作られ、C言語の役割も限定的になってきています。例えば、Windowsアプリケーション開発ではVi

  • chokanji - ニコニコ

    chokanjiさんのユーザーページです。ニックネームの由来は、国産OSの超漢字からです。http://www.chokanji.com/(※発売元のパーソナルメディアとは一切関係ありません。超漢字4ユーザーなだけです。)オーナーとしてやっているコミュはこちら。 ・cecil海賊団:co1086165もし興味があれば参加してください。連絡先:choka

    chokanji - ニコニコ
  • プログラミングをしてみない? 第一回

    「プログラミングは自分には無理」と思っている人でも簡単にでいちゃいます。さあチャレンジ!次(sm3596909) / mylist/7143440■プログラムダウンロード:http://thcc.s13.xrea.com/ 復活しました(6/20)

    プログラミングをしてみない? 第一回
    nibo-c
    nibo-c 2008/06/16
    どこまで行くのか、今後がちょっと楽しみ
  • なぜオープン系開発者の間でMacへのシフトが急速に進んでいるのか

    先日のRails Conference 2008に関するレポートでも書いたが、米国のオープン系の開発者の間でのMacへのシフトが急速に進んでいる。たまにWindowsマシンを持っている人がいても、そんな人たちは口を揃えたように「うちの会社は.Netの案件もあるので、Macは買わせてもらえないんですよ」と当は彼らもMacに切り替えたいことを告白する。 いろいろな事情・環境がからみあってこうなっているのだが、簡単にまとめると、そもそも、 アップル製品に対する昔からある漠然としたあこがれ 90年代にソフトウェア業界の富を独り占めにしたマイクロソフトに対する恨み iPodの成功で一躍元気を取り戻したアップルという企業自身の魅力の上昇 という潜在需要があったところに、 意味もなく重くなっただけのVistaに比べて完成度の高いOS-X Unix系OSをカーネルに持つが故に整った開発環境 バーチャルマ

  • 長文日記

  • これからゲーム開発を始める人にオススメする11冊 - ネットサービス研究室

    これからゲーム開発を始めようと思っている方にオススメするを集めてみました。 ここでは、C言語C++言語と理解していき、最終的にはVisualC++、DirectXを使ったゲーム開発ができるように選んであります。 まずは、プログラミングがどんなものかを理解し、動かしてみる 新版 明解C言語 入門編柴田望洋 ソフトバンククリエイティブ 2004-08-28 売り上げランキング : 2467 おすすめ平均 新版 明解C言語 入門編( 早く出会っていれば 解答が欲しかった Amazonで詳しく見る by G-Toolsプログラミングを一度も触ったことが無いという人は、C言語の入門書を一冊買いましょう。 の選び方は簡単なものであること、練習問題がついていることです。 難しくて挫折するよりは、簡単すぎるぐらいのの方がいいです。 上記のでなくてもいいので、自分に合った入門書を一冊購入しましょう。

    これからゲーム開発を始める人にオススメする11冊 - ネットサービス研究室
    nibo-c
    nibo-c 2008/05/13
    ポインタさえ把握してしまえばなんとかなる…時もあるw 頑張って~
  • ゲームを作りたいプログラマはまだそれなりにいるのかね - ABAの日誌

    言語別ゲームプログラミング制作講座一覧 (id:seikenn:20080506:1210088946) これが600ブクマ越えしていることに軽く驚いた。ゲームを作りたいプログラマはまだそれなりにいるんだ。 昔のマイコン時代はプログラミングといえばゲーム製作だった。でも昨今「カーソルキーの左右で砲台(⊥←こんなの)を動かしましょう」とかプログラミング初心者に言えば「なにそのWeb0.00000001アプリ。最初はAmazonの書影をGoogle Maps上に表示するFacebookアプリからだろ常考」とかいじめられるもんだと勝手に思ってたんだが……そうでもないのかな。 ゲームプログラミングが最近は人気がないと勝手に思っている理由は、市販のゲームがすごくなりすぎてとても野良プログラマーが作れるものではなくなっているからだ。昔は「インベーダーみたいのを作ってみましょう」ってのに対してそれなりに

    ゲームを作りたいプログラマはまだそれなりにいるのかね - ABAの日誌
  • プログラミング初心者のためのプログラミング上達方法 - 夜の Discovery

    プログラミング初心者の弊社アルバイトをターゲットに、自分のためのまとめも兼ねて書いてみます。 事前準備重要 最近、事前準備はプログラミング全体の行程の70〜80%くらいあるのではないかというくらい重要視しています。 事前準備とは大きくわけると2つあり、これから作るものの規格や仕様を調べたり、 同じようなことをやっている人のブログ記事を集めて読むなどの単純で軽い情報収集と、 類似プロダクトのマニュアル、ソースコードを読むという少し深い情報収集です。 特に他の人の作ったソースコードを読むことは重要です。 ソースコードを読む プログラミングをする上で一番重要なことは、ソースコードを読むことだと言っても過言ではないのではないでしょうか。 特に初心者の場合、少し慣れてくると「あ、できそうだ」と思うと、すぐにプログラムを書きたくなると思いますが、 経験値があまりないときこそ、焦らず他の人の書いたソース

    プログラミング初心者のためのプログラミング上達方法 - 夜の Discovery
  • 運営者情報 | どこで買う安く買う販売店情報サイト|BuyWrite

    『どこで買う安く買う販売店情報サイト|BuyWrite』は、株式会社迅が運営するWEBサイトです。 運営する『どこで買う安く買う販売店情報サイト|BuyWrite 』に関するご意見・ご質問等ございましたら、下記のお問い合わせフォームよりご連絡ください。 ▶お問い合わせフォームはこちら

  • 或曰: FORTRAN

    FORTRAN と C/C++ のコードはリンク可能です。 FORTRAN から C/C++ の関数を呼び出す場合、 引数が全てポインタ渡しになる環境依存だが、シンボル名が変わる 確か gcc だと、C/C++ 側関数で foo_ と定義しておくと FORTRAN 側から FOO として見えたはず。(全部小文字 + 最後にアンダースコア)といった点で注意が必要だったと思います。シンボル名やデータ型の対応は環境依存なので、詳しくはマニュアル参照ですね。 そのついででFortranについて調べたけど、この言語、嫌い。 コンピュータ黎明期に誰かが適当に作ってそのまま既成事実になってるんじゃないか と思うような書式が嫌だ。歴史的なことをいうと、FORTRAN は世界で初めて作られた高級言語です。 プログラミング言語に関する体系的な理論・道具も無い (*) 状況で、かつコンピュータが高価・低性能で「

    nibo-c
    nibo-c 2008/02/09
    嫌いではないが…積極的に使う理由も無く
  • ソフトウェアの欠陥はなぜ無くならないのか : らばQ

    ソフトウェアの欠陥はなぜ無くならないのか 先日、公衆電話がうるう年を処理できなくてサービス停止というニュースが流れました。 自己診断プログラムに欠陥があり、次の診断日時を設定する際、うるう年を考慮できなかったことがきっかけで、障害が発生したのだそうです。 こういったソフトウェア──機械的・物理的なもの(ハードウェア)以外の部分──の欠陥は、日増しに増えています。 2005年には証券取引所で単純なプログラムミスで半日取引停止になっていますし、同年にウィルス対策ソフトウェアが障害を起こしてパソコンがまともに動かなくなるなどの症状を出しました。 普通に使われてるパソコンに入ってるOSと呼ばれるソフトウェアも、毎月のように欠陥を見つけては修正を配布しています。 さて、こういった問題はなぜ起こるのでしょうか? ちょうど先日、NHKのクローズアップ現代でソフトウエア危機〜誤作動相次ぐハイテク製品〜とい

    ソフトウェアの欠陥はなぜ無くならないのか : らばQ