オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。Javaに影響与えるか、Javaから影響を受けるか、という感じですね。Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 SmalltalkSimulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

ちょっと前に「配列中のすべての要素が条件を満たすかどうか判別する関数で、空の配列はTrueを返すべきかFalseを返すべきか」のような話が話題になってました。 まあこれは「Trueを返す」が答えなわけですが、では「配列中の最大値を返す関数で空の配列の場合は何を返すか」が気になりました。 「配列中のすべての要素が条件を満たすかどうか判別する関数」について言えば、簡単に言えばこんな感じ。 まず、配列のすべての要素が偶数であるかどうか判別する関数を考えます。 void main() { int[] data = { 23, 44, 12, 98, 5 }; System.out.println(allEven(data)); } boolean allEven(int[] data) { for (int n : data) { if (n % 2 != 0) return false; } r

プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。Javaのアルゴリズムの本に、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

追記(2020-12-16): 公式で再実装されたようです。 「タグの一括編集機能」をPCのブラウザで再提供いたします -はてなブックマーク開発ブログはてなブックマークで自分のブックマークの既存のタグ名を変更した時に一括置換したいことがあります。 以前は公式のタグの一括置換/削除機能の追加がありましたが、ブックマーク一覧ページのリニューアル時に消えてしまったようです。 ユーザーのブックマーク一覧ページのシステムリニューアルを行いました -はてなブックマーク開発ブログ Firefoxのアドオン版でも同様の機能がありましたが、もう動かなくなっているので、はてなブックマークのタグを一括置換するコマンドラインツールを書きました。 azu/hatenabookmark-rename-tags: A CLI that replace allhatena bookmark tags. haten
Excelで漢字のふりがなを別セルに表示しようとした場合、一般的にはPHONETIC(ふりがな)関数を使用します。この関数は特定のセルに含まれる漢字に対して、ふりがな部分を切り出して指定セルに格納するという便利な関数です。 PHONETIC関数で漢字のセルを引数で指定すると 自動的にふりがなだけ抽出することができるというExcelは文字入力された時の情報を裏側で持っているのでこのような芸当ができます。ということは、当然入力時に変な変換をしていると思ったようなふりがなを出してくれません。 鈴木さんの名前が間違って出力されました。正しいふりがなは「スズキ ナウシカ」さん。文字入力の際に「いま」「しか」と入れたので、その文字がそのまま反映されてしまってます。別のキラキラネーム、タナカ ピカチュウくんはGoogle IMEだと変換できました。 対処できない文字Excel上でIME使って入力すれ

徐々に利用する機会が増えてきたアノテーションだが、アノテーションベースのフレームワークで使われているのを使ったりすることはあっても自分でアノテーションを定義したことが無かった。 「業務用フレームワーク作る際も使えそうだよなぁ」と思っていたので、今後使いこなす為にも改めてちゃんと勉強しなおしてみた。 ※「アノテーション」自体は、JUnit、Jaxb、Spring等によって使い慣れていることを前提。 アノテーション型 独自のアノテーションを作成する為には、以下のようなアノテーション型のクラスを作成する必要がある。 @interface Annotation名{ キーの型 キーの名前(); ... } クラス名がアノテーション名、メソッド名がキー名となり、メソッドの返り値がキーに指定できる型となる。 アノテーション型はインターフェイス型と似ているが、通常のインターフェイス型に比べ、以下の制限があ
こんにちは! a-know です。 わたくし a-know は、このたび 株式会社はてな に入社いたしました。今日が初出社日です。つい今しがた、初めてのまかないランチを食べ終わったところです。とても美味しい。 24歳で社会に出てから今までの10年間とちょっと、いわゆる『ソフトウェアエンジニア』として働いてきましたが、今日からは、株式会社はてな が提供しているMackerel というプロダクトの『セールスエンジニア』として働き、成果と経験を積んでいくことになります。勤務地は南青山にある東京オフィスです! ......「で、誰?」という声が今にも聞こえてくるようですw。現時点で私は何者でもないので、内外にお伝えできるような成果を1日も早くあげたいと思っているところです! 入社の経緯 そもそもの「はてなへの入りたさ」のようなものは後述させて頂くとして、今回の入社のキッカケとしては、5/12 に

11/25にはてなブックマークがリニューアルされることを祝って、はてなブックマーク閲覧特化型Webブラウザ「はてはてブラウザー」をリリースしました! 上のスクリーンショットのように、「はてはてブラウザー」ではてなブックマークコメントの付いたページにアクセスすると、ニコニコ動画のようにコメントが右から左へ流れていきます。 「ニコニコ」をマネて「はてはて」、「はてはて」と「はてブ」と「ブラウザー」をつなげて「はてはてブラウザー」です。 ダウンロード&インストールは、airappli.comの配布AIRアプリページにある はてはてブラウザー:airappli.com からできます。 「はてはてブラウザー」はAIR製アプリケーションです。PCにAIR1.1が導入されていない場合は、これを機会にインストールしてみてください。Windows Vistaでしか動作確認していませんが、クロスプラットフォー

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く