今年もIT業界にたくさんの新社会人がやってきたと思います。 そんなみなさんに、一番最初に本音を言っておこうと思います。思いついたことを無責任にぐりぐりと。 全文はこちら
RubyのMatzさんがBruce Eckelのエントリを紹介している。この2:8の法則を掛け合わせるという論法は他にもいろいろ使えそうな感じ。例えば、8割のプロジェクトは失敗と見なされており、成功した残り2割のプロジェクトを牽引したのはそのうちの2割なのだ、とか。8割の開発者は結果を出し得るプロジェクトに携われておらず、結果を出し得るプロジェクトに携わっている開発者のうち8割は実際の成果を上げられていないとか。 IT技術者ではトップ5%は残りの人たちの20倍の生産性を持つという。 これが本当のことであるとしたら、その科学的な根拠はなにか、という話。 80%の技術者は、本を読まない、イベントに参加しない、勉強しない。 それでどうして、それらを継続的に行う開発者と同等の生産性をあげることができるのか。 それらを行う20%のうち、さらに80%は、(まだ)うまく成果をあげられていない。 すると、
なんか一昨日のエントリが/.edされてアクセスが急増している。書き込みをみていると未踏批判を噴出させてしまったようで、なかのひとによるとIPAの方も読んでいらっしゃるようだし、ミスリードのないように補足しておきたい。未踏は大事な問題に取り組み、一定の成果を上げた。問題は引き継いだ政策担当者が未踏の結果を通じて浮かび上がった業界の矛盾から目を背け、次の仕事に取り組まなかったことだ。 mkusunok氏のブログに天才機関説と未踏の次というエントリがある。 Matzにっきを受けての書き込みなのだが、それは置いといて、 「日本のソフトウェア産業が飛躍できないのは米国とは違い、天才を大切にしないからだ」というよくある論調を興味深くdisっている。 まず断わっておくと、僕も友達のプロジェクトが未踏に採択されたのを手伝って謝金を受け取ったことがある。そのプロジェクトは晴れてスーパークリエイター認定を受け
2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズム本の発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法
Java, プログラミングノリノリで書いてみる。 人月というのは「人月の神話」以来、現場の技術者にとっては「お金の計算にしか使えない単位」なのですが、発注者側に分かりやすいということでいまでも大はやりしています。というか受注者側もまじめにこの単位で計算しています。 そしてJavaの世界というのは、私のようにJavaが大好きだからやってる、という人間はすごく少数派で、「そろそろJavaでもやっとくか」「Strutsの使い方覚えたからもういいか」「できればJavaなんかいじりたくないなー。俺も早くプログラマに『これやっといて』って言えるようになりたい」という人のほうが多いのが実情なんですね。その点Rubyの世界は、今は「好きだからやってる」人が圧倒的でしょう。プログラム能力の高いJavaプログラマを探すのは、プログラム能力の高いRubyプログラマを探すよりずっと大変だろうと思う。 Javaの世
This shop will be powered by Are you the store owner? Log in here
木曜日です。今日は担当者不在ということで、コラムでも書いてみます。けんすうです。 最近読んだ「夢をかなえるゾウ」という本にこんなことが書いてありました。 「期待は過剰の借金やからなあ」 …(中略)… 「まだ何も苦労してへんのに、成功するかもしれへんていう『高揚感』を前借りして気持ちようなてもうてんねや。でもそのうちそんな簡単に成功でけへんという現実にぶちあがる。そんとき『先に気分よくなってたんやから、その分返してもらいましょ』て返済をせまられて、ヘコむlことになるわな。これを繰り返すことで、どんどんやる気がのうなってく」 これはがーんときました。今まで、いろいろな参考書や勉強法の本を買ったりしていました。そのたびに「今回こそはプログラミングができるようになる!」と思って期待してたわけです。 つまり、未来の自分は、この本をやり遂げて、プログラムがガンガンできるようになっているのではないか、と
Cocoa はじめの一歩 はじめに MacOSXになってからプログラミング環境が無料で手に入るようになりました。学割でも数万円はするソフト(CodeWarriorなど)を苦労して買っていた昔とは隔世の感があります。 せっかくタダなんだからちょっとやってみよう!と興味を持たれる方は多いのではないかと思います。 現在Cocoaに関して優れた本がいくつか出版されていますが、どれもプログラミング、特にCに関して基礎的な知識が要求されます。ではまずはCを勉強してみよう、と思ってもWindowsをベースにした説明ばかりで(コードそのものは同じなのですが)完全な初心者には「Macではどうすれば良いの?」と意外に敷居が高いのが現状です。 ここでは「完全な0から」始めたい人向けに簡単なガイドを提供したいと思います。 なお一概にプログラミングといっても現在Macのデスクトップアプリケーショ
じゃ、なぜ優秀なプログラマがいる日本のソフトウェアビジネスがパッとしないの? 答:それは品質重視の工場型モデルを(相も変わらず)採用しているからにほかならない。「良いものを作れば売れる」主義を信奉するあまり、ビジネスの本質から離れてしまっているから。 例えば、欧州企業にとってソフトウェアは「科学」として扱われる。コンピュータサイエンスとしての「ソフトウェア・ビジネス」であるがゆえに、形式的手法やオブジェクト指向分析・設計手法が重視される。また、米国企業にとってソフトウェアは「ビジネス」そのものとして扱われる。会社をつくって「まぁまぁ良質」の製品を作り、業界標準を打ち立て、その過程で大儲けしようとたくらむ。 しかし、日本企業にとってソフトウェアとは「工場出荷製品」そのもの。文字通り「ソフトウェア・ファクトリー」を目指している。標準化された設計開発工程に則り、仕様からほとんどブレない製品を粛々
はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++、Java、VB.NETさらにはRubyやPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 本記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、データ
何の前触れもなく Pixel 4 が壊れた。 寝る前フツーに使っていたのに、 朝 7:00 ごろ見ると電源オフ状態になっている。 電源ボタンを長押しても何の反応もない。 単なるバッテリー切れ? と思って USB ケーブルをつないで充電してみる。 が、 画面は暗いまま。 電流を測ってみると 200mA ほど。 充電が行われているようには見えない。 もちろん USB の信号線にも何の応答もない。 「電源ボタン + ボリューム小」を長押し (強制再起動) しても無反応。 自宅の Wi-Fi ルータのログを見ると、 朝 6:46:06 に Pixel 4 から Google (*.1e100.net) に対して https アクセスをしたのが Pixel 4 からの最後の通信。 朝方までは正常に動いていたみたい。 自宅の Wi-Fi に接続しているスマホは、 その状態を監視するために、 定期的にサ
(ちょっとだけ追記しました。その他1/25のあたりも見てみてください。) "Can programming be reinvented?"というタイトルでの発表。東工大と東大で似たような発表をしたのだが、ストーリーラインが比較的新しいため、先にやった東工大での発表には反省点がいろいろあり、それが東大での発表に生かされた形になったのは否めない、かもしれない。以下は、かなり再現性の低いメモ。詳細はさらに聞いてください。「私」はもちろんAlan Kayを指します。 近所の人から、「なんで新しいコンピュータのほうがWindowsの起動やMS Wordの起動が遅いの?」、「大きいディスクがついているはずなのに、なぜ使える容量が少なくなるの?」、「アップデートをしたら、何で再起動しなくてはいけないの?」という質問をされる。なかなか良い質問である。 私自身も、コンピュータに関する疑問がある。「なぜ、コン
リスト1は、同じ処理を繰り返すようなコードで初心者プログラマーがよく使う幼稚なスタイルで書かれている。必ずしも複雑ではないが、筆者には散らかっていて効率が悪く見える。リスト2の方が複雑な条件になっているが、Javaを理解していれば、かなり読みやすい。唯一疑問を抱くかもしれないとしたら、最後の「else if」の中にある条件の最初の部分だけだ。このクローズに来るということは、どちらかのプレーヤーが勝ったことを意味する。 いずれのインプリメンテーションも間違ってはいない。実際、これらはどちらも非常に小さく、つまらない例にすぎないので、これらのリストでコードがいかにクリーンか論ずるのはあまり有益ではない。ただ、何をもってインプリメンテーションがクリーンなのかについて読者の興味を深めることはできるだろう。 クリーンなコードについて扱った記事、Webサイト、書籍は多数存在する。何をもってコードをクリ
Javaのオンライン学習するサイトJavalaが公開されている。JavalaはWebブラウザでJavaを学習したり、コードの実行結果を確認したりするための環境。タンペレ工科大学で開発されたもので、Java言語の学習を目的としている。リードデベロッパはTimo Lehtonen氏。使用に制限はなく、自由に利用できるとされている。用意されている言語は英語とフィンランド語。 図.1 Javala – Javaラーニング環境 基本的なトピックとしてはJava言語の基礎(基本型、演算子、制御構文、ループ構文、配列)、文字列(編集、比較、結合、トークン化)、オブジェクト(ネーミングとパッケージ、属性、演算、コンストラクタ、リファレンス、生成、削除)、クラス(クラスメソッド、クラス変数、定数、アクセス指定子)、継承(抽象クラス、サブクラス、動的束縛、型変換、比較、インタフェース)、例外(処理、try c
Emacs エディターで C 言語のプログラムを書く人向けに、入門用の解説がないように思う。そこで、知っておくと便利な機能をまとめてみた。 読者は、Emacs の操作とカスタマイズが最低限できる人を対象にしている。つまり、C-x C-f といったショートカット・キーが使えて、.emacs の設定ファイルがいじれる人。各機能について、基本的な使い方とその効果、あと最低限の設定について書き出した。 目次 ソースの色付け インデント アラインメント コメント info マニュアル スペル・チェック タグ・ジャンプ 関数名の補完入力 コンパイルとエラー行ジャンプ ChangeLog ファイル 1. ソースの色付け Emacs は、C 言語のソース・ファイルを解析して、if や for といったキーワードに対して、自動で色を付ける。 色を付けることでソースにメリハリが生まれ、可読性が上がる。また、ス
オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで本特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説
皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトはJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ
このテキストは、2005年7月にデータハウスから出版された「アセンブリ言語の教科書」の原稿をWEB用に修正したものです。WEB用に修正したといっても、誤植を直した程度であり、ほぼそのままの状態で公開しています。 現在でも「アセンブリ言語の教科書」は書店で売られており、一般に流通しているため、本来ならば、出版社との契約上、このようにフリーでWEB上に公開することはできません。しかし、「アセンブリ言語の教科書」は、発売後すでに一年を過ぎようとしているにも関わらず、現在でも安定した売り上げを伸ばしており、当初の予想を超えて多くの方々に読んでいただけました。 よって、出版社に「本書の値段が高くて、読みたくても買えない学生の方々や、まだ本書の存在を知らない人たちのために、原稿の一部をWEB上にも公開できないだろうか」と、相談を持ちかけたところ、本書に関わった編集者からも「原稿のすべては無理だが一部分
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く