ブックマーク / xtech.nikkei.com (26)

  • 「Joel on Software」の筆者が語る“人を幸せにする”ソフト開発のポイント:ITpro

    2008年2月13日,ソフトウエア開発者向けイベント「Developers Summit 2008」(主催:翔泳社)が始まり,米Fog Creek SoftwareのCEOであるJoel Spolsky氏(写真1)がセッションに登壇した。Spolsky氏は,ソフトウエア開発についての諸問題を皮肉とユーモアたっぷりに論じた書籍およびブログ,「Joel on Software」で有名。セッションも著書と同じく皮肉とユーモアに満ちたものになった。 セッションのテーマは「素晴らしいソフトウェアを作るということ」。機能的に優れた製品を作っても,市場で優位に立てないというよくある現象を分析し,万人に愛されるソフトウエアを作る方法を探るという流れでセッションは進んだ。 セッションの冒頭でSpolsky氏は,いきなりサッカー選手David Beckhamとその同僚Landon Donovan(どちらもLo

    「Joel on Software」の筆者が語る“人を幸せにする”ソフト開発のポイント:ITpro
    sagi-usagi
    sagi-usagi 2008/02/14
    ソフトウエアの世界では美学,見た目にこだわる必要があると強調した。
  • 第10回 Haskellで学ぶ並列プログラミング(その1)

    最近,並列計算(parallel computing)や分散計算(distributed computing)の話題をよく見かけるようになってきました。Peer to Peer(P2P)のアプリケーションとして広く知られるSETI@home,Mac OS XのXgridなどのグリッド・コンピューティング(grid computing),複数のプロセサを持つマルチプロセサ(multi-processor)や複数のプロセサ・コアを持つマルチコア(multi-core)のコンピュータ,様々な並列/分散処理を直接サポートしたプログラミング環境――こうした技術がパソコンや家庭用ゲーム機といった身近な環境で使われるようになっています。注目を集めているプログラミング言語Erlangや米Googleの分散処理システムであるMapReduceのような「並列/分散プログラミングでの煩雑さを解消するための技術

    第10回 Haskellで学ぶ並列プログラミング(その1)
  • 日本のソフトウエア産業、衰退の真因

    ソフトウエア・エンジニアリングのリーダーの一人、エド・ヨードンは1992年に、『Decline and Fall of the American Programmer 』を著し、米国のソフトウエア産業の衰退と挫折を警告した。このを出す少し前まで、彼は「この国が危ない(A Nation at Risk)」というタイトルで講演行脚をしており、同書はそれをまとめたものである。 このの中で、ヨードンは日をソフトウエア開発における優等生の一人として挙げ、インドの飛躍を予見している。が書かれた時点では、インドのIT産業はまだ黎明(れいめい)期にあったが、彼の予想通り、現在は英語圏で質の高いソフトウエア開発力が得られる国として、欧米から頼られる存在になり、IT立国を目指す他のアジア諸国からお手と見なされるまでになった。 「この国が危ない」というヨードンの警告に触発されたのか、米国上院の「米国の

    日本のソフトウエア産業、衰退の真因
  • IT業界の“イジメ”の実態を紹介

    前回の記者の眼「IT業界の“イジメ”に切り込む」で実施したアンケートでは,411人もの方から回答を頂きました。どの回答も「不当な要求や対応の実態」の一端を表す貴重なご意見でした。ありがとうございました。 今回はそのアンケートの結果と不当な要求や対応の実態がどのようなものかを紹介します。 大半のケースが下請けイジメ アンケートではまず始めに,優位な立場を利用した不当な要求・対応を経験したことがあるかどうかを尋ねました。結果は,59.1%という過半数の方が「不当な要求・対応を受けた」と回答されました。 続いて,「不当な要求・対応」がどのような構図(立場の違い)で発生したのかを尋ねました。一番多かったのは元請け会社の社員(またはユーザー企業の社員)と下請け会社の社員という構図でした(全体の41%)。その中で声として一番多かったのが,「ユーザー企業からトラブルの責任を一方的に押し付けられる」という

    IT業界の“イジメ”の実態を紹介
  • 第2回 ゲーム開発の仕事って?:ITpro

    インディーズゼロは,ニンテンドーDS(任天堂)などの携帯ゲーム機用のゲームソフトを中心に開発を行っている,ゲームソフト開発会社です。オフィスは,緑の豊富な井の頭公園や,オシャレなお店でにぎわう吉祥寺にあり,スタッフ数は現在22名。「千年家族」や「しゃべる!DSお料理ナビ」といった一風変わったタイプのゲームソフトの開発を得意としています。 連載第2回のテーマは,「ゲーム開発の仕事って?」です。プログラマの仕事の実態を,私たちの会社の2人のプログラマがお話します。 ◆プログラマに聞く“仕事”の実体 ──入社何年目? 中途採用で,現在9カ月です。 ──プログラミングを始めたのはいつごろ? 中学生のときにVisualBasicを勉強し,簡単なツールソフトを作っていました。格的にプログラミングの勉強を始めたのは,高校卒業後,専門学校に入学してからです。入学前に多少の知識があったおかげで,授業以上の

    第2回 ゲーム開発の仕事って?:ITpro
  • ゲーム・プログラマの仕事とは?──ゲーム開発会社のプログラマが語る---目次

    インディーズゼロは,ニンテンドーDS(任天堂)などの携帯ゲーム機用のゲームソフトを中心に開発を行っている,ゲームソフト開発会社です。オフィスは,緑の豊富な井の頭公園や,オシャレなお店でにぎわう吉祥寺にあり,スタッフ数は現在22名。 「千年家族」や「しゃべる!DSお料理ナビ」といった一風変わったタイプのゲームソフトの開発を得意としています。ここでは,実際にゲーム開発に携わるプログラマが,どんな仕事をし,どんな生活を送っているのかをご紹介したいと思います。 第1回 ゲーム・プログラマの1日 第2回 ゲーム開発の仕事って? 第3回 ゲーム・プログラマはこんな人 第4回 ゲーム業界への就職・転職を目指す方へ

    ゲーム・プログラマの仕事とは?──ゲーム開発会社のプログラマが語る---目次
  • リアルな映像を作るグラフィックス・アルゴリズム

    3次元コンピュータ・グラフィックス(3DCG)の世界で,リアリティは非常に重要なテーマです。リアルな3DCGを作るため,これまで様々な研究/開発がなされ,その成果は映画やビデオ・ゲームなどで誰でも目にすることができるようになっています。そして,現在でもさらなるリアリティの追求のため,日々研究や開発が続けられています。このパートでは,そうしたリアルな3DCGの裏側にある技術の一端をお見せします。 3DCGのリアリティは「形状」「色/質感」「動作」という三つの要素に分けて考えることができます。これらが技術的にどのような難しい点を含んでおり,どのように解決されてきたかは,最後のカコミ記事「3DCGのリアリティを実現する三つの要素」を参照していただくとして,これらの三要素が一定の水準に達したところで浮かび上がってきた,ある問題に焦点を合わせてみましょう。それは自然な動作の大量生成が難しい,という問

    リアルな映像を作るグラフィックス・アルゴリズム
  • 定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup

    このパートでは,プログラミングを勉強するうえで欠かせないアルゴリズムの中でも定番中の定番を紹介します。ソート(並べ替え)やサーチ(検索)などの機能は今では標準のライブラリとして提供されています。実用的なプログラムを作るときにそのものずばりをいちいち書く機会は少ないかもしれません。しかし定番のアルゴリズムは,様々に形を変えて普段のプログラミングに登場します。 解説を読んで仕組みがわかったら,ぜひそれをプログラムにしてみてください。読んだだけではプログラムを書けるようにはなりませんし,プログラムを書いてみて初めて,実は十分に理解できていなかったと気付くことがよくあります。しかもアルゴリズムは特定のプログラミング言語に依存しないので,一度身に付ければ,後でどんな言語を学ぶ場合でも役に立ちます。 1番目から6番目まではソートのアルゴリズム,7番目から9番目まではサーチのアルゴリズムです。一つひとつ

    定番アルゴリズムを徹底理解! - 今からでも遅くない!アルゴリズム入門:selfup
  • 知られざるJavaScriptの世界:ITpro

    最近,Webプログラミングの世界で静かなブームになっている言語があります。何を隠そうJavaScriptです。JavaScriptはご存知のとおり,クライアントサイドすなわちWebブラウザ上で動作するタイプのプログラミング言語です。最初にJavaScriptが実装されたのは,今から10年以上前の1995年,Netscape Navigator2.0でのことです(登場当時はLiveScriptと呼ばれていました)。決して新しい言語ではありません。それが,どうして再び注目されることになったのでしょう。その理由は,Webインタフェースのプログラミングで,JavaScriptの有効性や利便性が再発見され,言語そのものが持つユニークさや機能が技術者の関心を集めているからです(図1)。 JavaScriptを使うのはダサかった? Webインタフェースの技術といってもHTMLしかなかったころ,様々なプロ

    知られざるJavaScriptの世界:ITpro
  • グーグルが奪う「本質を考える力」

    9月6日の「FIT2006」で,第5回船井業績賞の授賞式と記念パネル討論会が開かれた。パネル討論会は受賞記念講演の直後だったこともあり,日のマイクロプロセッサ開発者によって,マイクロプロセッサのアーキテクチャの決め方や開発時の苦心談,開発への熱い思いなどが語られ,大変楽しく有意義な議論となった。特に「OSやコンパイラを含めたソフトウエアを作る技術が非常に重要になり,我々も(シリコンでいろいろなものを)作りがいがある」や「若い人は是非興味の範囲を広げていただいて,知識を付けて活躍していただきたい」という開発者から学生への助言が強く印象に残った(なお,パネル討論会での議論は12月に発売の日経エレクトロニクス誌に掲載されるという)。 ホテルに帰って新聞に目を通すと,朝日新聞の夕刊に 「思想の言葉で読む21世紀論 表層化 視覚優位,ネットで拍車」という記事があった。 記事には,「『見た目』が時代

    グーグルが奪う「本質を考える力」
  • 今からでも遅くない!アルゴリズム入門---目次

    高速なハードウエア,至れり尽くせりのユーザー支援機能を備えた開発ツール,高機能なクラスライブラリやフレームワークなどなど,近ごろのプログラムを書くためのお膳立ては,とても充実しています。しかし,どんなに環境が整っても,ソフトウエアを作るには何らかのアルゴリズムに従って問題を解きほぐし,プログラムにするという作業が相変わらず必要です。 そこで特集では,まずPart1で身近な例からアルゴリズムというものに迫ってみます。皆さんが普段接している便利なソフトやサービスがどのような仕組みで動いているのか,その仕組みをのぞいてみましょう。教科書で勉強するようなアルゴリズムの話とはちょっと違うものも出てきます。中には,サービスの重要な要素をプログラムで処理せず,手作業に頼って実現しているものもあります。実用ソフトの世界で当に使いやすいものを作るには,アルゴリズムだけわかっていてもダメなことが少なくない

    今からでも遅くない!アルゴリズム入門---目次
  • どうなっているの?あのソフトの仕組み - 今からでも遅くない!アルゴリズム入門:selfup

    Webの全体像を効率よく取り込み,分類する 「YSTのシステムは大まかに三つの機能に分かれます(図2)。最初は世界中のWebページをYSTのシステムに取り込む『クローリング(crawling)』という機能です」(Yahoo! JAPAN,リスティング事業部 検索企画室の宮崎光世氏,以下同)。 取り込むと簡単に言っても,Webページの数は膨大なうえ,更新の頻度や情報の質などがまちまちです。すべてのページに同じようにアクセスしていると非効率なことこの上ありません。そこで,限られた時間で質の良い検索ができるようにするための工夫をしています。例えば,クローリングを繰り返すうちに頻繁に更新されることがわかったページは短いサイクルでチェックし,ほとんど更新のないページはチェックの頻度を落とす,といったことをしているそうです。 ただ,更新の頻度が単に高いだけではダメです。重要性が高いと考えられるWebサ

    どうなっているの?あのソフトの仕組み - 今からでも遅くない!アルゴリズム入門:selfup
  • マイクロソフトの建前と本音

    マイクロソフトは,建前と音をとても奇妙な形で使い分けてきたメーカーだ。例えばWindowsのEULA(使用許諾契約書)には「アプリケーションの互換性を保証する」など一切書かれていない。しかしこれは「建前」であって,「音」では「古いアプリケーションを新しいOSで使ってほしい」と思っており,互換性のために相当の努力をしていたのが実情だった。最近はやりのネット・スラングでいうと「ツンデレ」みたいなものである。 マイクロソフトの互換性維持に関する努力に関して,記者は以前当はすごいWindowsの互換性維持という記事を書いたので,そちらをご覧頂きたい。また,元マイクロソフトの技術者である中島聡氏が,「(この)記事で蘇った記憶に刺激されて書いた」と仰るWindows95と地上の星というブログのエントリを読むと,実情がさらによく分かる。アプリケーション側のバグだと投げ出さずに,OSの側で互換性を維

    マイクロソフトの建前と本音
    sagi-usagi
    sagi-usagi 2006/10/18
    マイクロソフトはツンデレ
  • 日本メーカーが米国に完敗した真因:ITpro

    ITのインフラでなぜ日メーカーは米国勢に席巻されてしまったのか」。このテーマで日のコンピュータ産業について、猛烈に原稿を書きたくなりました。きっかけは、日経コンピュータ編集部から「創刊25周年を記念してEnterprise温故知新というサイトを作ったので、そこに一筆書いてほしい」と依頼があったことです。ちょっと書けばよいのだろう、と二つ返事で引き受けたものの、20数年間を振り返ってみると一筆では済まないという気になり、一気に書き上げてしまいました。結果として相当な長文になってしまいましたが、ご一読いただければ幸いです。 私は日経コンピュータ創刊3年目の1983年9月に、日経コンピュータ記者として日経BP社(当時は日経マグロウヒル社)に中途入社しました。当時のコンピュータ業界は、前年の82年6月に米IBMの機密情報を巡って日立製作所と三菱電機の技術者が“おとり捜査”で逮捕されるなど、き

    日本メーカーが米国に完敗した真因:ITpro
  • C++ はなぜ人気がないのか : IT Pro 記者の眼

    2005年1月に出た「C++の設計と進化」(ソフトバンク パブリッシング発行)を読んだ。C++の設計者であるStroustrup自身が,C++の設計哲学や標準化されるまでの出来事を語ったである。原著が出たのは1994年とかなり古いが,日語版にはStroustrupによる「2005年のC++」という1章が加筆されている。原著を読まれた方も,とりあえず手にとってみてはいかがだろうか。 さて,書を読んで改めて感じるのが,日におけるC++の最近の評価が低すぎるのではないかということだ。Javaが普及した今となっては「もはや過去の言語」という声すら聞くほどだ。10年以上にわたってC++を触ってきた記者から見ると,悲しい限りである。 確かに,開発コストを考えると,業務システムの開発にC++がほとんど使われないのは仕方がない。しかし,実行速度やメモリー効率が重要なソフトや,コストを掛けただけの見

    C++ はなぜ人気がないのか : IT Pro 記者の眼
  • 不審なプログラムがいないか確かめたい:ITpro

    筆者のような心配性の人間は, 「ひょっとしたら,いつのまにか自分のパソコンで不審なプログラムが動いているのではないか」とついつい気になる。 ウイルス対策ソフトやパーソナル・ファイアウォールを使うといった基的な対策をしていても,未知のウイルスやゼロ・デイ攻撃*に対しては歯が立たない。ネットワークにつないでいる限り,こうした危険は常につきまとう。 起動時の挙動や動作中プロセスを確認 あれこれ心配するだけでは何も解決しない。こういうときは,実際にパソコンを立ち上げる際にどんなプログラムやサービスが一緒に起動するようになっているかを調べたり,現在どんなプログラムが稼働しているのかをフリーソフトを使って確認するといい。 ここで紹介する「スタートアップチェッカー Ver 2」(図1)を使えばWindowsの立ち上げ時に一緒に起動する項目や稼働中のプログラム,サービスの状況をまとめて確認できる。調べた

    不審なプログラムがいないか確かめたい:ITpro
  • 子供が遊んで学べる理数系エンターテインメント施設

    松下電器産業は、子供たちに実験や仕組みなどを通じて理科や算数に興味を持ってもらうための施設「リスーピア」を、東京有明にある「パナソニックセンター東京」内に開設した。施設の広さは約1322平方メートル(400坪)。一般公開は8月5日からで、小中学生は無料で利用できる。 施設は1階と3階にあり、1階には実験しながら学べる展示施設がある。展示施設には、ボールを使ってパラボラアンテナの仕組みを学べたり、ペットボトルを使って空気の圧力による熱の発生を確認できる器具など約10種類の原理モデルを用意。実際に触れたり、動かしながら原理を体験できる。 3階にはITを駆使した体感施設を用意。14種類の体感施設があり、磁石の仕組みや色の作り方などを体感できる。こちらも自分で操作したり器具を動かしながら原理や法則などを知ることができる。 3階では、入り口で用意されたPDAを各自が持って入場する。1つ体感施設を終了

    子供が遊んで学べる理数系エンターテインメント施設
    sagi-usagi
    sagi-usagi 2006/08/03
    いきたい
  • 第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro

    Haskellというプログラミング言語を知っていますか? 全く聞いたことがないという人が多いかもしれません。そういう名前の言語があるのは知っているけど,どんな言語かは知らないという人もいるかもしれませんね。でも最近では,一部の先進的なソフトウエア開発者の間で,一種のブームと言えるほど熱狂的に受け入れられています。 なぜならば,Haskellは様々な優れた特徴を持っているからです。最初に,他の言語にはあまり見られない際だった特長を一つだけ紹介してみましょう。「遅延評価(lazy evaluation,怠惰評価ともいう)」です。 遅延評価とは,与えられた値を必要になるまで評価(計算)しないということです。この性質により,不必要な計算が行われる無駄をなくすことができます。また,「潜在的に無限の大きさを持つデータ構造」といった通常のプログラミング言語では扱いの難しいものを直接扱えるため,より直接的

    第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro
  • 第1回 有名ブロガーやネット・ウォッチャーはどうやって情報を収集・整理しているのか:ITpro

    こんにちは。はてなの山田と申します。はてなは「人力検索はてな」や「はてなダイアリー」,「はてなアンテナ」,「はてなブックマーク」といった,ちょっと変わったWebサービスを提供しています(図1)。 僕はそこで各サービスに追加された新機能の告知文を書いたり,ヘルプ文書を整備したり,サービスの使い方を紹介するメルマガ「はてな塾」を配信したりしています。エンジニアの作った新機能や先進的なサービスを,ユーザーの皆さんにできるだけ分かりやすく伝える仕事を主に担当しているわけです。 この連載を通して,はてなのサービスを使ったWebの情報収集・活用術を紹介して行きます。 はてなの社員数は現在21名(+犬1匹)いるのですが,社長をはじめ社員の半分がエンジニアという技術系の会社なので,社内で盛り上がる話題といえば,「del.icio.usとflickrをWeb2.0でマッシュアップしようぜ!」「時代はやっぱP

    第1回 有名ブロガーやネット・ウォッチャーはどうやって情報を収集・整理しているのか:ITpro
  • MicrosoftのRay Ozzie氏,インターネット・サービスの重要性を語る

    「当社が前進する上で,インターネット・サービスはたいへん重要な役割を占める」。米Microsoftのチーフ・ソフトウエア・アーキテクト,Ray Ozzie氏は米国時間7月27日に開催されたアナリスト向け会議「Financial Analyst Meeting 2006」で,パソコン中心(PC-centric)からサービス中心(service-centric)への根的変換の必要性について語った。 Microsoftはこれまでパソコン中心の考え方で成功を築いてきたが,「現在,パソコン用に記述したアプリケーションによって優れた体験を提供しているとしても,当社が実現しようとしている総体的なユーザー体験を考え,サービス中心の方針を展開する」(同氏)。 Ozzie氏は,「Forbes」誌のコラムニストRichard Karlgaard氏が,技術の急速な進歩によって起こったコンピューティング,ストレー

    MicrosoftのRay Ozzie氏,インターネット・サービスの重要性を語る