タグ

ブックマーク / ja.wikipedia.org (107)

  • クワイン (プログラミング) - Wikipedia

    クワイン(英: Quine)は、コンピュータプログラムの一種で、自身のソースコードと完全に同じ文字列を出力するプログラムである。娯楽として、プログラマーが任意のプログラミング言語でのクワインを書いたり、最短クワインを書いたりすることがある。クワインをプログラムを出力するプログラムだと見なせば、クワインのプログラミングはメタプログラミングの一種である。 要件の直感的な説明からは、いくつかのチート的な解がある。例えば、入力をそのまま出力するだけのプログラム(Unixではcatというプログラムが利用される)の入力を、そのプログラムのソースファイルとするとか、いくつかのプログラミング言語(の処理系)は空のソースコードを受け取って、何も行わない、という動作をするので、それを利用する手もある。そのような空のプログラムがIOCCCで「規則のはなはだしい悪用」賞を受賞したこともある。以上のようなプログラム

    tanakaBox
    tanakaBox 2009/12/04
    自己複製か
  • Clang - Wikipedia

    Clang ([ˈklæŋ]:クランのように発音[5]) は、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラフロントエンド英語版)である。OpenMPディレクティブ[6]や、OpenCL C/C++カーネル言語[7]も正式サポートしている。バックエンドにLLVMのコンパイラ基盤を使用しており、LLVM 2.6以降はLLVMのリリースサイクルに組み込まれている。 Clang/LLVMベースの派生プロジェクトとして、RenderScript(英語版)、CUDAのNVCC[8]、ROCm(英語版)のHIP-Clang[9]といった、Cライクなドメイン固有言語 (DSL) を組み込んだGPGPUフレームワークにおけるコンパイラフロントエンドとしても採用されている。 プロジェクトの目標は、GNUコンパイラコレクション (GCC) を置き換えるこ

    Clang - Wikipedia
  • LLVM - Wikipedia

    LLVM(エルエルヴィーエム、 またはエルエルブイエム)とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。当初は、LLVMの名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが[3]、現在は、何の頭文字でもないとしている[4]。 LLVMは、プラットフォームに依存しない中間表現であるLLVM-IRを生成し、LLVM-IRを特定のマシンの機械語などに変換する。LLVM-IRの段階で、言語やプラットフォームとは独立した最適化を行う。この方法によってLLVMは言語からもアーキテクチャからも独立しており、それぞれに特化した、プログラミング言語固有のモジュールと、マシン向けコード生成部を用意することにより様々な言語アーキテクチャーに対応する。LL

  • 石田退三 - Wikipedia

    この節は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "石田退三" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2011年10月) 夢と学びの科学体験館(刈谷市)。石田の足跡が紹介されている。 愛知県知多郡小鈴谷村字大谷(現常滑市)に生まれた。澤田徳三郎の五男。家は農家で男の兄弟が五人あった。 父親を早くになくし、進学できず丁稚奉公に出されるところに遠戚に当たる児玉一造(豊田佐吉と親交があり、弟は佐吉の婿養子となる豊田利三郎)の支援で滋賀県立第一中学校(現滋賀県立彦根東高等学校)を卒業し、しばらくは代用教員として働く。最初の勤め先である西洋家具屋で商才を身につける。結婚を機に退職養子縁組

    石田退三 - Wikipedia
    tanakaBox
    tanakaBox 2009/10/02
    師と仰いだ人物。
  • クラウドコンピューティング - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2018年10月) 独自研究が含まれているおそれがあります。(2015年9月) 出典検索?: "クラウドコンピューティング" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL イメージ図。ユーザーから見てクラウド(雲、ネットワーク)の中にプロバイダが提供する各種サービスがある。 クラウドコンピューティング(クラウド計算、英: Cloud computing)は、インターネットなどのコンピュータネットワークを経由して、コンピュータ資源をサービスの形で提供する利用形態である[1]。略してクラウドと呼ばれることも多く、cloud とは英語で「雲」を意味

    クラウドコンピューティング - Wikipedia
    tanakaBox
    tanakaBox 2009/09/29
    イマイチよくわかってない。結局のところ言葉だけが独り歩きしているバズワード。
  • OpenCL - Wikipedia

    OpenCL(オープンシーエル、英: Open Computing Language)は、マルチコアCPUGPU、Cellプロセッサ、DSPなどによる異種混在の計算資源(ヘテロジニアス環境、ヘテロジニアス・コンピューティング、英: heterogeneous)を利用した並列コンピューティングのためのクロスプラットフォームなAPIである。主な用途は科学技術計算や画像処理に代表される高性能計算のためのアプリケーションソフトウェアの高速化(ハードウェアアクセラレーション)であり、シミュレーション可視化に用いるリアルタイム3次元コンピュータグラフィックスAPIとの連携も拡張機能として標準化されている。スーパーコンピュータやサーバ、ワークステーションやパーソナルコンピュータのほか、携帯機器などでの利用も想定されており、組み込みシステム向けに必要条件を下げたOpenCL Embedded Profi

    OpenCL - Wikipedia
  • GTD:Getting Things Done - Wikipedia

    Getting Things Done(ゲッティング・シングス・ダン、「物事をなし遂げる」)、略称 GTD(ジー・ティー・ディー)は、個人用のワークフローの管理手法である。デビッド・アレン(David Allen)が同名の書籍『仕事を成し遂げる技術 ―ストレスなく生産性を発揮する方法』(原題: Getting Things Done、2002年)の中で提唱する。ハッカー文化の一つで[要出典]、LifeHack(ライフハック)の中でも代表的なものである。 「ナレッジワーカー(知識労働者ないし頭脳労働者)の仕事術」と呼ばれ、「次に何をやるか」という予定やスケジュールの管理、作業する上でのモチベーションを損なわないための体制作りなどが含まれる。心理的な負担を減らしながら個人の生産性を上げることを主眼とし、簡単な5つのステップを実行することによって成し遂げたいことを現実にするメソッドである。基

    tanakaBox
    tanakaBox 2009/08/17
    わかりやすいまとめ
  • Befunge - Wikipedia

    Befunge は難解プログラミング言語の一つ。手続き型、スタック型で、自己変更的な言語である。実用言語ではない難解プログラミング言語のひとつ。 この言語のプログラムの命令は一次元の列ではなく二次元の格子上に並んでいて、実行する向きを上下左右に変更できる。この言語の任意の1命令は、ソースコード中で1文字で表現される。したがって、ソースコード中の行と桁がプログラムの格子の位置に対応する。 1993 年、Chris Pressey が「コンパイルが困難な言語」として作った。Befunge-93 はプログラムのサイズが 80 桁 25 行に固定されている。Befunge-93 の拡張 (一般化) である Funge-98 にはこの制限は無く、チューリング完全である。さらに Funge-98 には任意次元への拡張やマルチスレッド対応等が含まれている。

  • イントロソート - Wikipedia

    イントロソート(英: introsort)は、David Musser(英語版) が1997年に設計した、クイックソートとヒープソートを組み合わせたソートアルゴリズムである。 最初はクイックソートを行い、再帰のレベルがソートされた要素数(の対数)を超えるとヒープソートに切り替える。時間計算量は最悪でも O(n log n) であり、同時に典型的なデータに対するソートではクイックソートに匹敵する性能を示す。 イントロソートは、クイックソートやヒープソートと同様、比較ソートである。 クイックソートは、性能がピボット(データ列を分割する境界値)の選択に強く依存するという欠点があった。 例えばデータ列の先頭や最後尾をピボットに選ぶと、ほぼソートされた入力について最悪の性能を示す。 ニクラウス・ヴィルトはこれを避けるため、データ列の中央の要素をピボットに選ぶようにしたが、工夫をこらした並びに対しては

    tanakaBox
    tanakaBox 2009/08/11
     最初はクイックソートを行い、再帰のレベルがソートされた要素数(の対数)を超えるとヒープソートに切り替える。
  • http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7

  • Linuxディストリビューションの比較 - Wikipedia

    この記事は更新が必要とされています。 この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。(2020年5月) Linuxディストリビューションの比較(リナックスディストリビューションのひかく)では、Linuxディストリビューションの比較を行う。 Linuxディストリビューションの技術的な多様性として、異なっているハードウェアデバイス、システム、ソフトウェアパッケージ形態に対するサポートが挙げられる。組織の違いは歴史的な理由によりそうなっているのかもしれない。他の基準として、ユーザーインタフェース、セキュリティアップデートが入手可能になる早さ、パッケージ管理の安易さ、利用可能なパッケージの数が挙げられる。 これらの表は幅広い客観的な基準で注目すべきディストリビューションの最新安定版について比較するものである。これらの表は

    Linuxディストリビューションの比較 - Wikipedia
  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論

    tanakaBox
    tanakaBox 2008/02/08
    最初は意味不明だったが、読めるようになってしまった。
  • バッカス・ナウア記法 - Wikipedia

    バッカス・ナウア記法(英: Backus–Naur form)とは、文脈自由文法を定義するのに用いられるメタ言語のことで、一般にBNFやBN記法と略される。現在はこのBNFを拡張したEBNF (Extended BNF) が一般的に使われている。EBNFでは正規表現を用いてより簡単に記述でき、プロトコル規定言語であるASN.1や、XMLの構文定義にも利用されている。 ジョン・バッカスとピーター・ナウアがALGOL 60 の文法定義のために考案。当初は文脈自由文法の来の定義に則り or(|)以外の定義はなく、繰り返しは再帰を利用して表現されている。*、?等の量化子はBNFを拡張したEBNFによって導入された。パーサジェネレータを使用して構文解析器を生成する際に、構文を定義するためにも使う。 ISO/IEC 14977:1996においてEBNFの標準が定義されているが、EBNFにもいろいろな

    tanakaBox
    tanakaBox 2008/01/23
    EBNFもまとまってる。
  • 加算器 - Wikipedia

    この項目では、デジタルコンピュータの加算器について説明しています。アナログ回路でのオペアンプの使用法のひとつとしての加算回路については「オペアンプ#加算回路」をご覧ください。 加算器[1][2](かさんき、英: AdderあるいはSummerとも)あるいは加算回路[3][4][2][5][6](かさんかいろ、英: adder circuit)は、加算を行う演算装置[7][8]。演算回路の基となる演算器のうち、加算(足し算)の機能を持つ演算器のことであり[6]、2進数の加算を行う論理回路[2]。 半加算器が基であり[2]、半加算器は下位桁からの桁上がりを考慮しない1ビット同士の加算を行い、和と桁上がりを出力する。全加算器は下位桁からの桁上がりを考慮した1ビット同士の加算を行い、和と桁上がりを出力する。そして、多桁の加算を行う場合は半加算器と全加算器を組み合わせて加算器を構成する[9]。

    加算器 - Wikipedia
    tanakaBox
    tanakaBox 2008/01/18
    半加算器、全加算器、複数ビット加算器、減算器
  • エディタ戦争 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "エディタ戦争" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2014年10月) エディタ戦争(英: editor war)は、プログラミングを行う人々の間で続いている、どのテキストエディタが一番よいかというテーマの論争を指す。その中でも二大陣営といえるのは、vi愛好派とEmacs愛好派である。 ハッカー文化においては、愛好するソフトウェアを宗教的狂信とも言える尊敬を持って扱う伝統があり、そのようなソフトウェアの中でもテキストエディタはもっとも一般的である。自らの選択したエディタが最善であると信じるグループ間で数々の論争(フレーム)が

    エディタ戦争 - Wikipedia
    tanakaBox
    tanakaBox 2008/01/16
    昔話。
  • ネイピアの骨 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ネイピアの骨" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2019年5月) 基盤と棒からなる。棒は左の図(図は7の棒)のように九九を元にして作られており、同じ棒が何か用意されている。 ネイピアの骨は、ギリシャ語で「棒」を意味する ραβδoς (rabdos) と、「言葉」を意味する λóγoς (logos) の合成語である ラブドロジー (Rabdology) とも呼ばれる。ネイピアは、1617年の末にエディンバラで Rabdologiæ という名前で発表した。ネイピアの骨には九九の表が組み込まれており、複数の桁からなる正の

    tanakaBox
    tanakaBox 2008/01/16
    コンピューターの初歩。インド数学にもあったな。
  • 0.999... - Wikipedia

    実数として "0.999…" と"1"は等しくなることを示すことができる(ただし、0.9999など途中で終了する小数は1と等しいと言えない)。この証明は、実数論の展開・背景にある仮定・歴史的文脈・対象となる聞き手などに応じて、多様な数学的厳密性に基づいた定式化がある[注釈 1]。 循環する無限小数一般に言えることだが、0.999… の末尾の … は省略記号であり、続く桁も 9 であることを示す。省略記号の前の 9 の個数はいくつでもよく、0.99999… のように書いてもよい。あるいは循環節を明確にするために 0.9、0.9、0.(9) などと表記される。 一般に、ある数を無限小数で表すことも有限小数で表すこともできる。稿で示されるように 0.999… と 1 は等価性であるから、例えば 8.32 は 8.31999… と書いても同じ数を表す。十進数を例に採ったが、数が一意に表示されない

    tanakaBox
    tanakaBox 2008/01/14
    ようやく理解した。
  • DHMO - Wikipedia

    一酸化二水素は、2つの水素原子と1つの酸素原子からなる水分子の名前である(H 2O) DHMO(ディー・エイチ・エム・オー、英: dihydrogen monoxide)とは、化学式 H2O で表される水素と酸素の化合物であり、すなわち水をIUPAC命名法により言い換えたものである。DHMOを同じ命名法に従って日語で表現した場合は一酸化二水素になる[1]。 これは水であることを敢えて分かりにくくして危険な化学物質であるかのように錯覚させるため、元素の構成に基づく化合物名として表現したものである。科学論文などでこの表現が使われることはまずなく、心理実験や科学ジョーク[2]のひとつとして使われる。 皮肉な警告標識「危険!水には高濃度の水素が含まれています。立入禁止」(ケンタッキー州、ルイビル)[3] DHMOのジョークが初めて登場したのは、Durand Express(英語版)紙が1983年

    DHMO - Wikipedia
    tanakaBox
    tanakaBox 2008/01/13
    いろんな意味で恐い物質。取扱い注意。
  • Common Lisp - Wikipedia

    Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつでもある。Common Lispの略称はCL[注釈 1]。規格はANSIによる ANSI INCITS 226-1994 (S2018)。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。 Lispの基的な特徴の他、いくつかのプログラミングパラダイムのLispへの取り込みについて標準を提供しているという、マルチパラダイムプログラミング言語という面がある。 関数型だけでなく、手続き型的な言語要素に関しても標準化している。 関数単位の細か

    Common Lisp - Wikipedia
    tanakaBox
    tanakaBox 2007/12/18
    CLとSchemeの違いがわかりやすい。
  • Brainfuck - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Brainfuck" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年10月) Brainfuck(ブレインファック)はプログラミング言語のひとつ。なお名称に含まれるfuckが卑語であるため、Brainf*ck または Brainf**kなどと表記されることがある。 概要[編集] 開発者Urban Müllerがコンパイラがなるべく小さくなる言語として考案した。 実際、Müllerが開発したコンパイラのサイズはわずか123バイト、インタプリタは98バイトであった。 Brainfuckプログラムは非常に可読性・記述性が低いため実用性