タグ

programmingとProgrammingに関するntaooのブックマーク (132)

  • 型システム入門 プログラミング言語と型の理論 | オーム社eStore(β)

    型システムとは、プログラミング言語の安全性や効率を高めるうえで重要な理論・手法です。書は、その型システムについて基礎的な話題を網羅し、実装例を交えて丁寧に解説したThe MIT Press発行の解説書“Types And Programming Languages”(TAPL)を翻訳したものです。言語設計者や学生だけでなく、静的型付言語を深く理解して活用したいプログラマーにとっても貴重な情報となっています。

    ntaoo
    ntaoo 2013/04/05
    これは読みたい
  • Semantic Versioning 2.0.0

    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

  • メジャーなプログラミング言語とそれらの役割を、素人でも分かるように教えてください。 - Knoh (ノウ) | The Knowledge Hub

    プログラマーたちは、使用するプログラミング言語と驚くほど密接な関係を持っています。プログラミング言語はあなたをイライラさせ、また教え導いてくれます。あなたはそのうちにプログラミング言語の内部構造や、ちょっとした変な癖を学ぶことになるでしょう。それはあなたの頭のなかにも入り込み、考え方をも変えるでしょう。 正しいプログラミング言語を選べば、新しくて美しい何かを一緒に作り上げることができます。間違った選択をすれば、もちろん面倒なことになります。 言い換えれば、プログラミング言語を選ぶことは、恋人を選ぶことによく似ているのです… (注: 私はストレートの男性です。それ以外の方は、自分の興味に合わせて自由に脳内変換してください) PHP は、あなたが高校時代のある夏、不器用ながらも付き合った初めての彼女です。もっと真剣な関係を築こうとしてはいけません。この子は複雑な問題を抱えています。 Perl

  • 古くて新しいGUI座標系の型の話

    こないだからの話題にちょっと関連する話として、さいきんChromeOSの仕事で手伝っていたマルチディスプレイ対応の機能について解説しよう。 現在販売されているChromebookには何らかのかたちで外部ディスプレイに接続する機能があるが、古いバージョンではミラーリングしかできなかった。それじゃ役に立たないので、複数のディスプレイをくっつけるような拡張デスクトップの機能をサポートした(まぁ、今時どんなOSにだってはじめっから入ってるような機能ではありますが)。Chromeのバージョン25以降でこの機能がオンになっている。ところが、この機能がなかなかの難産だった。 もともとChromeはブラウザだったから、そのGUI部分はウィンドウ基準の座標系だけを気にするようなつくりになっている。一方、ChromeOSではAuraという独自のウィンドウマネージャを実装したが、Auraにはデスクトップがあるの

  • How to Design a Good API and Why it Matters

    _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 •

    ntaoo
    ntaoo 2013/03/12
    you must read it.
  • EBNF - Wikipedia

    EBNF(Extended Backus–Naur Form)とは、文脈自由文法を表現するメタ文法記法であり、コンピュータのプログラミング言語や形式言語の形式的表現として使われる。バッカス・ナウア記法 (BNF) の拡張であり、拡張バッカス・ナウア記法とも呼ばれるが、ABNF(Augmented Backus-Naur Form)も同じ訳語となるため、区別するためあえて EBNF としている。 ニクラウス・ヴィルトが最初に開発した。EBNF の標準化されたものとして ISO-14977 などがある。

  • プログラミング言語「日本語」

    ■ はじめに 日語は約1万年前、古代縄文人によって考案された世界的にも最も古い部類のプログラミング言語の一つである。(※) 日語の起源は、古代の北方系言語と南方系言語であり、それぞれの特徴、即ち、強力なマクロ機能と柔軟な音節構造を共に持ち合わせているかなり珍しい言 語である。 更に、日語はその後、約1万年の間にわたって仕様の変更や拡張が幾度も行われ現在の形に至っている。その過程で日独特の固有な機能を有するように なった。 これらの特徴は日語の利点であると同時に、習得する上での障害ともなっている。 書はプログラミング言語としての日語を習得する上で、比較的良く使われる構文を主に取り上げ解説したものであり、これから日語プログラミングを始 める人を対象として書かれている。 ※念のために書いておくと、書は日語をプログラミング言語のように解説することによって、普段意識 しないで使っ

    ntaoo
    ntaoo 2013/02/27
    IDEはExcelか
  • アジャイルの「顧客に価値を届ける」の嘘と本当 - mizchi log

    酔った勢いでアジャイルについて思うところを書く。 顧客に価値を届けるのは誰か 顧客に届く価値 = 目に見える成果物、という評価は、フロントに近い人間しか評価されなくなる傾向を抱え込む。顧客に価値が届くまでには段階がある。複雑なものほどワークフローが長大になる。お互いの価値を見積もれるのは、小さいチームでお互いの職種について理解がある場合の理想であり、多くの場合理想は理想である。大きなチームほど、フロントに遠い人間は自分の価値を伝えるのが難しい。 難しいことを難しいということ エンジニアが自分の仕事について、エンジニア以外への責任説明を果たそうとすると努力は必要だが、必ずしもそれが伝わるとは限らない。 難しいことを難しいと言えないと、「それってすぐできるんでしょ?」という展開になりがちで、「任せてくれ!」と言えるのはかっこいいが、誰しもがスーパーエンジニアではない。そして見積もりに失敗する。

    アジャイルの「顧客に価値を届ける」の嘘と本当 - mizchi log
  • コードスニペットを検索するのにとても便利な「rak」のご紹介 - Seasons.NET

    プログラム組んでいると、コードスニペットをよく取り出して、 利用することが自分みたいなへたれには、多々あります。 その場合、githubgistを使うという手もあるのですが、 「あれ?、こういうコード書くときにどうするんだっけ?」 キーワードは、わかるけどコードスニペットの場所がわからない。。。 そんなことよくあると思います。 オンラインにつながっていれば、 さくっとGoogle検索すれば、すぐに答えにたどり着けるでしょう。 ですが、オンラインが混雑している時やオフラインの時は、 これが使えません。 なのでなるべくさくっとSpotlight並に引けるものがほしいわけです。 んでまとめますと、、、 オフラインで使える 調べる環境構築が面倒でない事(一度構築する必要があるが次回は楽) キーワードで検索できること 軽い事(Spotlight並の快適さがほしい) となります。 でこれを満たすもの

    コードスニペットを検索するのにとても便利な「rak」のご紹介 - Seasons.NET
  • Beyond grep: ack 2.12, a source code search tool for programmers

    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

  • 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita

    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のみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマー

    【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita
  • アセンブリ言語 - Wikipedia

    モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language、アセンブリ)はビット列命令に対応した文字列命令を利用する低水準プログラミング言語の総称である[1]。 アセンブラ(英: Assembler)またはアセンブラ言語(英: Assembler Language)とも呼ばれる[注 1][2]。 プロセッサは機械語プログラムを直接読み取り実行する。しかし人間にとってビット列は直観的に理解しづらいため、機械語コーディングは容易でない。これを解決するために、ビット列に対応する文字列命令(ニーモニック)を利用するプログラミング言語の総称がアセンブリ言語である[1]。 アセンブリ言語を用いることで、機械語相当の低水準なコードをより直観的に記述できる。高度なアセンブリ言語ではアセンブラに対する命令(疑似命令)やマクロを用いて、

    アセンブリ言語 - Wikipedia