サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
www.biwa.ne.jp/~mmura
正誤表 2000年5月25日現在1件 目次 まえがき 訳者まえがき 1.はじめに 1.1.Schemeのシンタックス 1.2.Schemeの名前付け規約 2.Scheme入門 2.1.Scheme環境との対話 2.2.単純式 2.3.Schemeにおける式の評価 2.4.変数とlet式 2.5.lambda式 2.6.トップレベル定義 2.7.条件式 2.8.単純な再帰 2.9.代入 3.続Scheme 3.1.拡張シンタックス 3.2.さらに再帰 3.3.継続 3.4.継続引き渡しスタイル 3.5.内部定義 4.変数のバインド 4.1.変数参照 4.2.lambda 4.3.局所的なバインド 4.4.変数定義 4.5.代入 5.制御操作 5.1.制御操作 5.2.プロシージャの適用 5.3.逐次化 5.4.条件式 5.
Schemeは古くて新しい言語です 何が古いか? SchemeはLispというプログラミング言語の方言です。 Schemeができたのは1975年のことですが、その元となるLispは1950年代の終わりから1960年代の初めにできあがった言語です。 つまりSchemeになってから四半世紀、Lispから数えて40年以上の歴史がある古い言語なのです。 何が新しいか? 元々、教育用として開発された言語であり、文法が簡素で拡張性にも優れているため、自然淘汰されることなく仕様改訂を続けながら今に至っています。 現在流行しているプログラミング言語はさまざまな機能を持っている反面、学習に多くの労力を必要とします。 しかしSchemeは文法体系が簡潔で、それぞれの持つ意味も判りやすく明快なものとなっているため、学習は難しくありません。 また、自分自身で機能拡張を行うことが簡単にでき、オブジ
要素還元論から混沌の縁へ 1. はじめに 科学が今日のように発展したのは「要素還元論」という考え方のおかげです。 何だか難しい名前が出てきたからってページを閉じないでください。 その意味しているところはいたって簡単なのですから。 要素還元論とは,世の中の事象を細かい構成要素に分解し,各要素を調査,分析して,解を導き出し,それらの解を積み重ねていけば,その事象全体の解に到達できるというものの考え方なのです。 要素還元論を簡単な数式で表現してみることにしましょう。 y = 3 * x という式を考えてみてください。 この式の x に 6 を代入すると,18 という答えが得られます。 こういった一次式の場合,x を要素に分解し,その結果となる値を足し合わせることでも y を計算できるのです。 つまり,6 という値を 6=(x' + x'') という要素に分解し,y = 3 *
E-mail: mmura[AT]mx.biwa.ne.jpまで([AT]は@に変えてください)) Copyright (C) 2000-2005 M.Murakami, All rights reserved
成果物から設計書へ はじめに コンピュータがこの世に登場した頃、プログラミングという作業は設計工程が終わってから行われる作業と考えられていました。 つまり、プログラミングという作業は、設計図に従ってものを作る「モノ作りの作業工程」であると考えられていたわけです。 これを当時一般的であった建築のアナロジーに当てはめると、プログラミング(実装工程)とは「設計図を基にして実際に建物を建築する」工程になり、プログラマは「大工」ということになります。 実際に、現在でもこの考え方に従ってソフトウェア開発を行っている組織が数多くあります。 しかし、1992年にJack Reevesという人は、「ソフトウェア設計とは何か」という記事(C++ Journal)の中で、「ソースコードは設計を表現したドキュメント、つまり設計図であり、プログラミングという作業は設計工程の一部なのだ」ということを主張
シームレスであることから時間軸を見渡すことへ はじめに 多くの技術者が、「オブジェクト指向は難解である」と感じています。 オブジェクト指向という考え方は、簡単に言ってしまえば「システム開発を楽にする」ために生まれてきたはずです。 にも関わらず、難解だと感じてしまうというのは、どういうわけなのでしょうか? 多くの人に尋ねてみると、「オブジェクト指向を採用するとどんなメリットがあるのか、今ひとつピンと来ない」という答えが返ってくるのです。 メリットがピンと来ない手法を無理矢理使って開発したとしても、いいものができるはずはありません。 これでは、本来手段とするはずの「オブジェクト指向」が目的となってしまっているのです。 なぜ「オブジェクト指向のメリット」がピンと来ないのでしょうか? 筆者は、オブジェクト指向のメリットそのものが時代とともにシフトしてきているという点に原因がある
巻頭言 商用コンピュータが世に出てきてから、早50年以上が経過しています。 当初は、科学技術計算分野での電子「計算」機として生まれたコンピュータも、今では事務処理、意思決定支援、通信関連、娯楽等、さまざまな分野で利用されるようになり、真の情報処理機械と言えるまでに成長してきました。 また、ハードウェア性能は爆発的に、ソフトウェア開発手法もそれなりに進歩を続けています。 しかし、こういった進歩により劇的な周辺環境の変化が引き起こされ、ある時代にソフトウェア開発の真実であったことが、現在では間違いとなるような逆転現象も起こってきているのです。 例を挙げると、メモリが高価な頃は、1バイトでもメモリを節約するようなコーディングが優れているとされ、分かりやすさは二の次にされていました。 しかし、今や組み込み系以外では、こういったコーディングは「可読性を下げる悪習」と考えられていま
アーキテクトニクスからホーティカルチャーへ はじめに 「アーキテクトニクス」とか「ホーティカルチャー」というのは耳慣れない言葉ですが、直訳すると前者は「建築学」、後者は「園芸学」になります。 歴史的背景 コンピュータが登場した当時は、ユーザインタフェースという言葉もなく、ほとんどのソフトウェアは、数値データを入力すると数値データがプリントアウトされるだけという非常にシンプルなものでした。 また、その主な目的は、大砲の弾道計算に代表されるような科学技術計算処理が大半を占めていました。 このため、一度ソフトウェアを開発すれば長い間それを使用し続けることができたのです。 一度ソフトウェアを作ってしまえば、それは長期間使用できたというものの、コンピュータの登場を待ち望んでいた分野は数多くありました。 このため、ソフトウェアを効率よく開発したいという声が日増しに高まっていったので
ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 本記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは本記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の本質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W.
数字 10進数(decimal numeral) 10を基数にした整数値の表現方法。(JLS/2e §3.10.1を参照のこと) 16進数(hex numeral) 16を基数にした整数値の表現方法。(JLS/2e §3.10.1を参照のこと) 8進数(octal numeral) 8を基数にした整数値の表現方法。(JLS/2e §3.10.1を参照のこと) A abrupt completion →[訳]途中終了 abstract class →[訳]抽象クラス abstract method →[訳]抽象メソッド(abstractメソッド) access →[訳]アクセス access control →[訳]アクセス制御 accessibility →[訳]アクセス可能性 accessible →[訳]アクセス可能 action →[訳]動作 activatio
このページを最初にブックマークしてみませんか?
『www.biwa.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く