このページをブックマーク登録されていた方は、 お手数ですがブックマークの変更をお願いいたします。 なお、このページは5秒後に自動的にジャンプします。 自動的にジャンプしない場合は、下記のリンクをクリックして下さい。
Paul Graham / 青木靖 訳 2010年6月 (中学一年生が学校のプロジェクトで送ってきた質問への回答) 1. プログラマに必要なことは何ですか? プログラマはコンピュータに何をするか伝えます…英語のような人間の言葉ではなく、プログラミング言語と呼ばれる曖昧さのない特別な言葉を使います。プログラミング言語で書かれた命令はコードと呼ばれています。プログラマはプログラムが何をすべきかについての自分のアイデアを、効率が良く、信頼性があり、後で容易に変更できるような形でコードに変換する必要があります。最高のプログラマというのは、アイデアをコードへと変換するのがうまいだけでなく、良いアイデアを持っている人のことを言います。 2. プログラマをしていて一番いいことは何ですか? 最悪のことは? 一番難しいことは? 私にとって一番いいのは物を作るという部分です。プログラムは形のあるものではありま
Proof Summit 2015 <http: /> で発表した、SAT/SMTソルバの仕組みです。 Proofということで、論理学的側面からの面白さを出来るだけ紹介しています。
奈良先端科学技術大学院大学は1月30日、東京・三田のキャンパスイノベーションセンターで「ソースコードリーディングワークショップ2010」を開催した。バージョン1.0と2.0のソースコードを用意し、その差分(パッチ)を適用して問題がないか否かを参加者全員に判断してもらうハンズオンのほか、楽天の吉岡弘隆氏、電通国際情報サービスのひがやすを氏、日本IBMの細川宣啓氏らを招き、講演やパネルディスカッションを実施した。当日は定員の60人全員が参加し、スキルアップに対する強い意欲がうかがえた。 コードレビューのベンチマークを作成し、工数の見積もり精度を向上 今回のワークショップの目的は、「開発関係者同士で同じソースコードを読み、その感想を述べ合うことで交流の機会を作ること」(森崎氏)。当日は簡単な趣旨説明の後、2時間強に及ぶハンズオンが行われたが、その後の参加者同士によるグループディスカッションではど
Googleが Goという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言
SnippelyはAdobe AIR製のオープンソース・ソフトウェア。システム開発やデザインを行っていると残しておきたいコードが生まれることが多々ある。元々書かれていたコードの場合、コメントアウトして残しておくことも考えられるが見栄えは良くない。またTips的なテクニックでよく使い回すコードが生まれることもある。 ちょっとしたコードのTipsを貼付けておく そのような時に使えるのがコードのスニペット(断片)を管理するソフトウェアだ。Webベースでも幾つかサービスが存在するが、業務用など見せられない場合も多い。またOSが入り交じった環境下でみんなで使うにはAdobe AIRを使うのがお勧めだ。それがSnippelyだ。 Snippelyはメーラーのような3ペイン構成になっているソフトウェアで、一番左にグループ、右上がコードのタイトル、右下が実際のコードと言う構成になっている。デフォルトはテキ
グーグルが新プログラミング言語「Noop」を公開しました。Noopは新旧のプログラミング言語からいいとこ取りをした、JavaVMで動作するプログラミング言語と説明されています。 Noopは、サン・マイクロシステムズで開催中の「JVM Language Summit」で、グーグルの2人のエンジニア、Alex Eagle氏とJérémie Lenfant-Engelmann氏によって発表されました。 すでにJVM Language Summitでの発表資料がPDFとして公開されており、その資料には、Noopのミッションが次のように説明されています。 Noop's mission Help teams develop software that is easier to understand and maintain. Noopのミッション 分かりやすくメンテナンスしやすいソフトウェアのチーム開
たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同
誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan
こんにちは、SICPが好きな高橋です。って、どんだけ好きかはこの辺を読んでいただければ(ちなみに「このときの様子がなんとなく目に浮かんでいるのではないか」というのは控えめな表現で、100%かんぺきな再現力だと思います。私は爆笑してしまいました)。 さてさて、またまたSICPが話題になっていたようですね。しかもちょっとネガティブな意味でも。まあ、確かに新版の翻訳はちょっと読みにくいのもありますし、万人におすすめ、というわけではないのもわかりますが。 だがしかし。 http://d.hatena.ne.jp/nowokay/20090322#1237667055 じゃあ、SICPはどういう本か。 LISPを使って仮想マシンを作って、LISPコンパイラを作って実行させて、プログラムがどのように動くかを勉強する本だ。 えええええ。いやいやまさか、そういう本じゃないはず、ですよね? とは言うものの。
オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが
絵をプログラムする言語「Processing」が正式リリース Processing開発プロジェクトは24日 (米国時間)、グラフィックデザイン用プログラミング言語「Processing 1.0」をリリースした。動作環境はWindowsとMac OS X、およびLinux。ライセンスにはGNU GPL / LGPLを適用、オープンソースソフトウェアとして無償公開される。 Processingは、電子アートおよびグラフィックデザインを目的としたプログラミング言語。Ben Fry氏とCasey Reas氏が在籍していたMITメディアラボで2001年に開発を開始、Javaベースの実行環境と簡易IDE (sketchbook) によるプログラミング環境として整備された。変数や制御構造など言語としての基礎はJavaに準じるが、プログラミング言語の文法やAPIの用法に精通していなくても、高機能かつ高速な
Windows上でアプリケーションを自動で操作するためには, プログラムによってマウスポインタを任意の場所へ動かし クリックさせる といった制御が必要になる。 この「マウスの自動操作」はとても汎用的な操作なので,どんなプログラミング言語からもライブラリとして呼び出せたり,いっそコマンドプロンプトから実行できれば便利だ。 そこで,以下では マウスを動かす関数を集めてDLL化し, そのDLLをコマンドラインから実行できるようにし, その実行をバッチにして,アプリケーションの定型処理を自動化する といった手順で,「コマンドラインからのマウス操作」を実現してみる。 (1)コマンドラインからDLLを実行する方法 (2)rundll32.exe で自作DLLを呼び出す方法 (3)マウスを操作するDLLを作成する (4)バッチに組み込んで,アプリケーションを自動操作する 補足 まとめ 追記 (1)コマン
前回の記事では以下の事を学んだ。 Windowsにおいてウィンドウを表示する機能は,Windows API という API によって提供されている。 Windows API の中で,特に user32.dll というファイルがウィンドウ処理を担当している。 (そして user32.dll の中味を逆アセンブルで解析するのはやめておこう,という事になった。) ここではその記事の補足として,実際にアセンブリ言語のプログラムから user32.dll を呼び出し,ウィンドウを表示させてみよう。 ダイアログボックスやウィンドウの表示を インラインアセンブラ NASM MASM の3つの方法で試してみる。使い方を詳しく書くので,アセンブラ初心者でも大丈夫。 (※他のサイトでは,よく「このソースをアセンブルして実行するとこうなります」のように書いてあるが,肝心のアセンブルの実行コマンドが書かれていなか
undo,redoの実装って何十回もやってる気がする。毎回同じパターンだ。undo,redoが登場するような編集ソフトは大体同じパターンに落とせる。フレームワークも作った。ブログにそういう内容を書きたいが面倒くさい。需要があれば面倒でも書くんだけどなあ http://twitter.com/youpychan/status/994486992 という発言をしたら何人か反応を頂いたので書いてみることにする。 需要があるなら書こう。undo,redoだけじゃなくてグラフィカルな編集ソフト全般の話をいつかまとめたいと思っていたので、ちょいとシリーズで書いてみようかとおもう http://twitter.com/youpychan/status/994636764 書こうと思う。 まずUndo,Redoについて。 Unod,Redoってみなさんどういう風に実装しているでしょうか? 私はコマンドパタ
プログラミングは単なる文字列の羅列ではない。そこには開発者の思い、情熱の全てが注ぎ込まれている。何となく作ったものは見難く、バグをはらんでいる。しかし愛をもって接すれば、理路整然とした美しいプログラミングコードが生まれることだろう。 まるでアート作品。左側のコードで生成される そんなことをこれを見ていて感じた。アートをプログラミングするのだ! 今回紹介するオープンソース・ソフトウェアはContext Free、アート用言語を使って見事な作品を描くソフトウェアだ。 これまでにも同様のソフトウェアは幾つか紹介してきた。そうしたものは大抵が幾何学的なものが多く、線や文字を使って表現してきた。だがContext Freeはもっとアナログ的な、まさにアートの世界を描ききる。 これくらいアナログ的な作品もできる ランダムな要素を埋め込むことで、レンダリングを行うたびに異なる結果を得ることができる。どの
お知らせ† 非常にゆったりとしたペースで更新が続けられております。 プログラミングに関連することであれば何でも良いので書いてって下さい。 初めての方は、 はじめてなの…やさしくして… へどうぞ 既存の記事をメンテしてもらえると嬉しくて涙が出ます。 編集時のIDは「vip」、パスは「vip」です。 祝・復旧 vipperじゃないがたまに見てた -- 2023-02-28 (火) 18:18:01 旧字キチガイの記述全部消せばいいのに。役に立たん独り言だらけだし。元から少なかった人が消滅した原因でしょあれ -- 2023-03-03 (金) 23:07:56 ↑うんこ掃除しました -- 2023-11-12 (日) 02:42:18 こんにちは -- マイキー 2024-02-22 (木) 07:22:12
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く