型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。
型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。本書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。
Semantic Versioning 2.0.0 Summary Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backward compatible manner PATCH version when you make backward compatible bug fixes Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. Introductio
プログラマーたちは、使用するプログラミング言語と驚くほど密接な関係を持っています。プログラミング言語はあなたをイライラさせ、また教え導いてくれます。あなたはそのうちにプログラミング言語の内部構造や、ちょっとした変な癖を学ぶことになるでしょう。それはあなたの頭のなかにも入り込み、考え方をも変えるでしょう。 正しいプログラミング言語を選べば、新しくて美しい何かを一緒に作り上げることができます。間違った選択をすれば、もちろん面倒なことになります。 言い換えれば、プログラミング言語を選ぶことは、恋人を選ぶことによく似ているのです… (注: 私はストレートの男性です。それ以外の方は、自分の興味に合わせて自由に脳内変換してください) PHP は、あなたが高校時代のある夏、不器用ながらも付き合った初めての彼女です。もっと真剣な関係を築こうとしてはいけません。この子は複雑な問題を抱えています。 Perl
こないだからの話題にちょっと関連する話として、さいきんChromeOSの仕事で手伝っていたマルチディスプレイ対応の機能について解説しよう。 現在販売されているChromebookには何らかのかたちで外部ディスプレイに接続する機能があるが、古いバージョンではミラーリングしかできなかった。それじゃ役に立たないので、複数のディスプレイをくっつけるような拡張デスクトップの機能をサポートした(まぁ、今時どんなOSにだってはじめっから入ってるような機能ではありますが)。Chromeのバージョン25以降でこの機能がオンになっている。ところが、この機能がなかなかの難産だった。 もともとChromeはブラウザだったから、そのGUI部分はウィンドウ基準の座標系だけを気にするようなつくりになっている。一方、ChromeOSではAuraという独自のウィンドウマネージャを実装したが、Auraにはデスクトップがあるの
_How to Design a Good API and Why it Matters1 How to Design a Good API and Why it Matters Joshua Bloch Principal Software Engineer _How to Design a Good API and Why it Matters2 Why is API Design Important? • APIs can be among a company's greatest assets _ Customers invest heavily: buying, writing, learning _ Cost to stop using an API can be prohibitive _ Successful public APIs capture customers •
■ はじめに 日本語は約1万年前、古代縄文人によって考案された世界的にも最も古い部類のプログラミング言語の一つである。(※) 日本語の起源は、古代の北方系言語と南方系言語であり、それぞれの特徴、即ち、強力なマクロ機能と柔軟な音節構造を共に持ち合わせているかなり珍しい言 語である。 更に、日本語はその後、約1万年の間にわたって仕様の変更や拡張が幾度も行われ現在の形に至っている。その過程で日本独特の固有な機能を有するように なった。 これらの特徴は日本語の利点であると同時に、習得する上での障害ともなっている。 本書はプログラミング言語としての日本語を習得する上で、比較的良く使われる構文を主に取り上げ解説したものであり、これから日本語プログラミングを始 める人を対象として書かれている。 ※念のために書いておくと、本書は日本語をプログラミング言語のように解説することによって、普段意識 しないで使っ
酔った勢いでアジャイルについて思うところを書く。 顧客に価値を届けるのは誰か 顧客に届く価値 = 目に見える成果物、という評価は、フロントに近い人間しか評価されなくなる傾向を抱え込む。顧客に価値が届くまでには段階がある。複雑なものほどワークフローが長大になる。お互いの価値を見積もれるのは、小さいチームでお互いの職種について理解がある場合の理想であり、多くの場合理想は理想である。大きなチームほど、フロントに遠い人間は自分の価値を伝えるのが難しい。 難しいことを難しいということ エンジニアが自分の仕事について、エンジニア以外への責任説明を果たそうとすると努力は必要だが、必ずしもそれが伝わるとは限らない。 難しいことを難しいと言えないと、「それってすぐできるんでしょ?」という展開になりがちで、「任せてくれ!」と言えるのはかっこいいが、誰しもがスーパーエンジニアではない。そして見積もりに失敗する。
プログラム組んでいると、コードスニペットをよく取り出して、 利用することが自分みたいなへたれには、多々あります。 その場合、githubのgistを使うという手もあるのですが、 「あれ?、こういうコード書くときにどうするんだっけ?」 キーワードは、わかるけどコードスニペットの場所がわからない。。。 そんなことよくあると思います。 オンラインにつながっていれば、 さくっとGoogle検索すれば、すぐに答えにたどり着けるでしょう。 ですが、オンラインが混雑している時やオフラインの時は、 これが使えません。 なのでなるべくさくっとSpotlight並に引けるものがほしいわけです。 んでまとめますと、、、 オフラインで使える 調べる環境構築が面倒でない事(一度構築する必要があるが次回は楽) キーワードで検索できること 軽い事(Spotlight並の快適さがほしい) となります。 でこれを満たすもの
ack is a grep-like source code search tool. The latest version of ack is v3.9.0, released 2025-05-26. Changelog for v3.9.0 Designed for programmers with large heterogeneous trees of source code, ack is written in portable Perl 5 and takes advantage of the power of Perl's regular expressions. What's new in ack? New boolean options --and, --or and --not The new repeatable --and, --or and --not optio
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマー
モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language、アセンブリ)はビット列命令に対応した文字列命令を利用する低水準プログラミング言語の総称である[1]。 アセンブラ(英: Assembler)またはアセンブラ言語(英: Assembler Language)とも呼ばれる[注 1][2]。 プロセッサは機械語プログラムを直接読み取り実行する。しかし人間にとってビット列は直観的に理解しづらいため、機械語コーディングは容易でない。これを解決するために、ビット列に対応する文字列命令(ニーモニック)を利用するプログラミング言語の総称がアセンブリ言語である[1]。 アセンブリ言語を用いることで、機械語相当の低水準なコードをより直観的に記述できる。高度なアセンブリ言語ではアセンブラに対する命令(疑似命令)やマクロを用いて、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く