約 222,116 件
https://w.atwiki.jp/rubyiw/pages/89.html
Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御するモジュールである。 ついにコイツが出てきてしまったのである。 C言語という有名なプログラミング言語がある。 ことプログラミングを生業としている者であれば、知っていて当たり前であるといわれるほど有名な言語なのだ。但し、使えるかどうかは別問題であるが。 なぜそのように有名なのかというと、何でもできる超汎用言語であるとともに、二十世紀最大の暴君と呼ばれるほどの暴れん坊だからなのである。C言語で作成されたプログラムは、せっかく好意で自分を動作させてくれている、大恩あるオペレーティングシステムごと破壊して、自分も死んでしまうということを平気でやってのけるのだ。 今でこそオペレーティングシステムも堅牢になってきているが、例えばWindowsNTあたりまでなら、C言語がちょっとその気になれば、簡単に真っ青な画面(Windowsがダウンしたとき、大変なことが起こったのだということを知らせるアラートが、青地に白文字で表示される画面)にすることが可能であったのだ。昔はよかったなあ(よくない!)。 『何でもできる超汎用言語』であるということと『二十世紀最大の暴君』であるということは、実は表裏一体となっている。要するに『何でもできるがゆえに危ない』のである。 それには、BIOSやOSのAPIを直接ぶっ叩けるという理由もあるわけだが、一番の理由は『メモリを自由に操作できること』なのである。 ポインタという機能を使って、メモリ内を自由に読み書きできるし、動作中にちょっとメモリが使いたいと思ったら、ひょいと動的に確保することができるのだ。実はこれが危ない。間違ったポインタでオペレーティングシステムのメモリにちょっかいをかけたり、他人様のメモリを破壊して知らん顔することが往々にしてあるわけだ。 また、大量にメモリを確保しておきながら、使い終わっても解放せず、だれも使えないメモリ領域を誕生させてしまうのである。この粗忽なプログラムが、何度も何度もそういっただらしないことを繰り返すと、どんどんメモリが圧迫されて、しまいにメモリ不足でどのプログラムも起動することが叶わなくなり、オペレーティングシステムを再起動せねばならぬはめに陥るのである。 これを『メモリーリーク』と呼ぶ。 この『メモリ破壊』と『メモリリーク』二つの大罪が、C言語をして呪われたプログラミング言語と言わしめているわけだが、そうは言っても便利だから『良薬は口に苦し』ということで、皆騙し騙しC言語でプログラムを作っていたのである。 だが、 『そんな危ない言語じゃあ、堅牢なシステムなんて構築できねぇよ!バカ!』 と考える、心ある優秀な技術者達が出現したのだ。 そして彼らは、C言語に取って代わる、まともなプログラミング言語開発を目指したのである。 彼らの目標は、まず第一にポインタの排除は当然として、第二に、メモリの解放を自動化することだった。 「うっかりもののプログラマーが、メモリの後片付けを忘れるんだったら、言語処理系が自らやるしかない」というわけだ。 かくして、プログラマーは好きなだけメモリを確保しても、いちいち解放してやる必要がなくなったのである。不要になったら、言語処理系が勝手にメモリを解放してくれるのだから楽でいい。間違いもない。夢のようなプログラミング環境だ。 この自動メモリ後片付け機能を『ガーベージ・コレクション(ゴミ集め)機能』と呼ぶわけである。 そしてRubyにも、ガーベージ・コレクション機能が存在する。で、そのガーベージ・コレクション機能を制御するのが、GCモジュールなのである。 と、ここまでの説明で、不審に思われたことはないであろうか。皆さん。なにかおかしくないかな。 それは、 『ガーベージ・コレクション機能は、言語自体が自動的に行うサービスであるのに、なぜプログラマーが操作できるようモジュールが提供されているのであろうか???』 ということなのだ。 それは、ガーベージ・コレクション機能にちょっと問題があるからなのである。 ガーベージ・コレクションを行う機能即ちガーベージ・コレクタは、プログラム本体とは別スレッドで、平素ひっそりと邪魔にならぬようメモリの状態を監視している。 だが、実際にメモリを片付けるときは、プログラム本体を含む全てのスレッドに停止してもらわなければならない。これは当然だ。 ガーベージ・コレクタが懸命に片付け物をしているときに『あ、やっぱこれ使う』と横からひったくられると、永遠に片付けが終わらないのであるから。 これがプログラム全体の実行速度低下を招くのである。なにしろ処理が止っているのだからね。 この『Ruby・イン・ワンダーランド』に登場するサンプルプログラム程度であれば、まず影響はないのだが、もっと大規模なシステムになると問題が発生する。めちゃめちゃ遅くなるのだ。 であるから、ちょっと時間のかかる重たい処理に入る前に、実装者の意思でガーベージ・コレクタの動作を停止しておくということが必要になってくるわけである。重たい処理が無事終了すれば、またゴミ集めを再開してもらうとよい。 これを実現するために、GCモジュールが存在するわけなのだ。 絶対に安全(セイフティー)な言語の出現には、まだもう少し時間がかかるということなのだね。
https://w.atwiki.jp/abwiki/pages/660.html
VB(Microsoft Visual Basic) Microsoft社が開発したBASIC言語でWindows環境での動作に適した拡張を行った BASIC処理系。 歴史 Microsoft社が開発した初期のMicrosoftBASICを拡張し、構造化構文と構造体など 変数型の改良、インタプリタ+コンパイラの対応を経てQuickBASICが開発された。 この時点で言語処理系として他の処理系と比べて引けを取らない拡張が行われ 旧式のMicrosoftBASICと比べて先進的な機能が実装された。 QBasicはコマンドCUIで行番号編集のエディタからフルスクリーンエディタ を含む統合開発環境とデバッカを新たに備えたインタプリタで コンパイラ機能を取り除いた簡易的なQuickBASICと呼べるもので、 英語版MSDOSやWindows95CDROMなどとともに配布された。 Visual Basic 構造化構文を持つQuickBASICをWindows環境に対応させたものがVisual Basic製品。 VBは開発環境としてWindows3.1の頃から販売されておりWindowsの開発と共にVisual Basicも ほぼ同時リリースされ、簡易的なWindows向けソフトウエア開発環境としてアマチュアから業務システムまで 幅広いユーザー層に支えられた。 QuickBASICからの変更点は、NeXTワークステーションに搭載されていた インターフェースビルダに触発されたGUIアプリケーションを作成するために追加 されたGUIデザイナ機能やイベント処理の仕組みで手続き型プログラミングとは 違ったコーディングが行われる。 当時Win32APIを使ったC/C++の開発と比べてVisual Basicはソフトウエア開発を 著しく簡易化した。 Visual Basicは言語レベルでのオブジェクト指向の対応は行われていないが、 GUIコンポーネントやActiveXコンポーネントがオブジェクト指向的な設計の実装であり 事実上オブジェクト指向といえるものであった。 その他Visual Basic処理系 Visual Basicはまたマクロ言語としても進化しワード、エクセルなどに代表される オフィス製品に組み込まれるマクロ言語VBA(Visual Basic for Application)としても採用された。 VBAは基本的構文はVisual Basicに準拠し、インタプリタ機能をオフィス製品の 様々な機能をマクロ制御するために追加的なコンポーネントが実装された。 Basic言語を習得しておればオフィスソストの自動処理などが簡単に記述できることが メリットである。 Visual BasicはWindows標準で搭載されたブラウザ(IE)のスクリプトとして 動的Webページを記述する際にJavaScriptの代わりとしても利用可能である。 Windows標準でOS機能の一部として搭載されているスクリプト言語もまたVisual Basicである。 バッチファイル、PowerShellと並び、OS管理システム記述に使われる スクリプト言語としてWindowsScriptHost(WSH)と呼ばれ、DOSプロンプトなどで "cscript hoge.vbs" と記述するだけでバッチファイルだけでは実現できない スクリプトインタプリタ自動化処理をタスク管理と組み合わせBASICで記述する事を可能にする。 WindowsServerなどで威力を発揮する。
https://w.atwiki.jp/msx-sdcc/pages/55.html
日本語漢字表示機能は2/2+以後に標準搭載されている。 Windowsが登場するはるか以前、ワープロ専用機が登場し利用されはじめるよりも昔、 1980年代ころにMSXは漢字機能を持つワープロとして利用されていたことがあった。 MSXはゲームやホビー用途が目的だったハードでありながら、漢字ワープロ機能を持つので、 日本語処理を持つコンピュータを意識した拡張設計が存在する。 MSXの漢字表示機能は、初期のハードウエアと後期のモデルでは実装される機能が若干異なる。 大きく分けて、3,4つのサブシステムに分かれる。 1,漢字ROMフォント 2,漢字変換IMEライブラリ 3,BASICやDOS上からIMEを利用するための仮想端末機能 4,英字BASICやDOSで漢字表示を可能にするスクリーンドライバ機能 このうち漢字フォントは初期のモデルからJIS第一水準、JIS第二水準などのフォントを サポートしている。 漢字表示機能は全てのハードウエアモデルに搭載されていたわけではなく、主にワープロ機能 を持つ機種において実装されていたもの。 漢字ROMフォントはゲームなどの用途でも使われる為、ワープロ機能を搭載していないモデルでも 実装されていたようだ。 IME(かな漢字変換機能)ライブラリは漢字入力と変換を行なう機能で、単体では機能せずライブラリとして実装されて いるので、アプリケーション側から呼び出して使うもの。 ワープロソフトが内部でIME機能を呼び出すためのAPIとインターフェースを定義している。 仮想端末はIMEを起動した際に自前で変換ウインドウを表示するのが面倒な場合に、 これら仮想端末を経由して日本語入力のIME機能を実現する。 通常、この仮想端末は画面に一行の編集ラインが表示され、エディタのようにキーボードを操作してかな漢字変換が行なわれる。 漢字スクリーンドライバはいわゆるDOS/Vにおける漢字画面モードのようなもの。 英字printfを漢字2byte(sjis)対応のprintfにおきかえ、同時に画面描画も置き換えるような方法。 DOS/Vのようにソフトウエアで漢字フォントをビットマップに描画するレイヤーを起動するが、 漢字フォントはビットマップ描画なので若干表示動作が遅くなる。 MSXにおける漢字スクリーンドライバは、DOSでも動作するしROMBASICでも動作する。 これらの漢字拡張機能はROMに記録されており、利用者は0xFFCAをコールしてAPIの有無のチェックや 関数エントリアドレスの取得を行なってAPIを呼び出す。 呼び出し手続きは、異なるスロットにあるAPIを呼び出す機能やマッパ関連の手続きと一緒。 Cから呼び出す場合はAPIのエントリアドレスを0xFFCAを使って取得し、ラッパ関数を作る。 多くのAPIはアドレス渡しであったり(IME内部で使うバッファ領域)、レジスタ経由なので、 ちょっと工夫すればラッパ関数を作る事は難しくはないだろう。
https://w.atwiki.jp/karaiknowledge/pages/38.html
PHPでの日本語処理
https://w.atwiki.jp/gimpei/pages/6.html
https://w.atwiki.jp/winamp/pages/109.html
ここの各カラーテーマの下に書いてある PHPコードは、そのカラーテーマの本体であり全てです。利用する場合は、Winampのインストールされたフォルダの \Skins\Big Bento\xml\color-presets.xml の最後に追加するか、もしくはincludeするか、そのどちらかです。経験から言わせていただければ慣れてしまえば include する方が楽です。 各カラーテーマの PHPコードを表示する場合は、をクリックして PHPコードを表示して、そのコードをコピーして利用してください。 PHPコードは実際に使用していたものを貼りつけているのですが、その作業またはこのウィキの編集に伴うミスにより利用できない場合があります。その場合は連絡くださいますようお願いします。 includeするには ?xml version="1.0" encoding="UTF-8" standalone="yes"? WasabiXML version="1.0" 各カラーテーマのPHPコード /WasabiXML というフォーマットにして、そのファイルを必ず拡張子を xml にして所定のフォルダにファイルを保存してください。ひとつのファイルで複数のカラーテーマをincludeしたい場合は ?xml version="1.0" encoding="UTF-8" standalone="yes"? WasabiXML version="1.0" 各カラーテーマのPHPコード 各カラーテーマのPHPコード 各カラーテーマのPHPコード 各カラーテーマのPHPコード 各カラーテーマのPHPコード /WasabiXML というファイルにしておくと後で追加したり削除したりする時に楽です。 ただし、UTF-8コードの編集できるテキストエディタなどを準備する必要があります。 includeする場合、必ず拡張子を xml にしてファイルを作成して Winamp\Plugins\ColorThemes\Winamp Bento\ フォルダに入れてください。 includeファイルを保存した後に F5キーを押して Winamp に再読込させれば新しいカラーテーマが使えるようになっているはずです。 以上の事は自己責任でお願いします。 UTF-8コードが編集できるテキストエディタでお勧めは xyzzy です。color-presets.xml を編集する場合にも必要なのでインストールしておいたほうが良いと思います。color-presets.xmlをUTF-8コードで保存できないテキストエディタで編集する事は絶対に避けてください。 Windows付属のメモ帳はUTF-8に対応しています(なにをもって対応しているというのか教えてもらいたいものです。)が、改行が無くなる、BOM(Byte Order Mark)が埋め込まれる、文字エンコード認識が変などの問題があり実際には使えません。(文字化けの問題は現在は一部対応済のようです) xyzzyを初めて使う方は完全にキー設定などをカスタマイズされたxyzzyの方が楽に使えます。xyzzyは優れたテキストエディタですが、キー設定などに少々クセがあります。完全にWindowsユーザー向けにキー設定などをされた xyzzyは"設定済みxyzzy"などと検索してください。 必ず保存時に UTF-8 コードが指定できるようなエディタを使用してください。 xyzzyに関する質問に関しては受けかねます。ご了承ください。検索すれば割とたくさんの人が使っている事が分かると思います。 テキストエディタ(text editor)とは、コンピュータで文字情報(テキスト)のみのファイル、すなわちテキストファイルを作成、編集、保存するためのソフトウェア(プログラム)である。一般的に、文字情報の入力、削除、コピー、貼り付け、検索、置換、整形などの機能を備えている。(Wikipedia) インクルード 【include】 「含める」という意味の英単語。何かを「外部から呼び出して一つにまとめる」という意味で使われる。プログラミングの世界では、ソースファイルの先頭などで、別のソースファイルなどを読み込んで一つにまとめてくれる言語処理系の機能のことを指す。 C言語などの開発ツールは、ソースコードの中でよく必要になる汎用的な関数や定数宣言、マクロ定義などを機能ごとにファイルにまとめてある。プログラマはソースコードを書く際に、ソースファイルの冒頭部分で特殊な命令を用いて利用したいファイルを指定すると、言語処理系がコンパイルなどを行う前に指定されたファイルを読み込んで、まとめて処理してくれる。(IT用語辞典 e-Words) XML 【Extensible Markup Language】 文書やデータの意味や構造を記述するためのマークアップ言語の一つ。マークアップ言語とは、「タグ」と呼ばれる特定の文字列で地の文に情報の意味や構造、装飾などを埋め込んでいく言語のことで、XMLはユーザが独自のタグを指定できることから、マークアップ言語を作成するためのメタ言語とも言われる。 XMLにより統一的な記法を用いながら独自の意味や構造を持ったマークアップ言語を作成することができるため、ソフトウェア間の通信・情報交換に用いるデータ形式や、様々な種類のデータを保存するためのファイルフォーマットなどの定義に使われている。 XMLを様々な場面で利用しやすいよう、関連技術の規格も数多く存在する。文書を表示する際の書式や装飾などを指定するXSL、ハイパーリンク機能を実現するXLink/XPointer、XMLベースの言語の仕様を記述するためのスキーマ言語であるXML SchemaやRELAX、XMLをプログラムで利用するためのAPIであるDOMやSAXなどである。(IT用語辞典 e-Words) UTF-8 ASCIIの文字をそのままUnicodeで使用可能にするために制定されました。そのため、ASCII相当部分は1バイトで、その他の部分は2~4バイトという可変長の符号化方式となっています(漢字はBMP部分は3バイト、拡張部分は4バイトになります)。LinuxやMac OS Xで標準文字符号化方式として採用され、また、インターネット上でもっともよく使われるUnicode系の符号化方式です。(睡人亭) 外部リンク xyzzy - Wikipedia / FrontPage - Xyzzy
https://w.atwiki.jp/saiwai/pages/26.html
- top page C/C++ MinGW +... MinGW, a contraction of "Minimalist GNU for Windows", is a port of the GNU Compiler Collection (GCC), and GNU Binutils, for use in the development of native Microsoft Windows applications. MinGW.org +... MinGW(ミン・ジー・ダブリュー、Minimalist GNU for Windows)はGNU ツールチェーンのWindows移植版である。MinGWはWindows APIのためのヘッダファイルを含んでおり、フリーのコンパイラであるGCCを、Windowsアプリケーションの開発のために利用できる。 MinGWプロジェクトでは、2つの主要なパッケージを開発、配布している。Windows環境に移植されたGCCは、コマンドラインから使用することも、IDEへ統合することもできる。もう一つのMSYS(minimal system) は軽量のUNIX風シェル環境であり、端末エミュレータのrxvtと、開発ツールのautoconfを実行可能にするためのPOSIXコマンド群とが含まれている。 この二つのパッケージは、Cygwinからフォークして誕生した。CygwinではWindowsの機能性を犠牲にすることで、より機能的なUnix風環境を提供している。なお、どちらのパッケージもフリーソフトウェアで、Win32APIを利用するためのヘッダファイルはパブリックドメインで提供されており、GNUツールの移植版はGPLである。MinGWの個々のGNU ツール及びMSYSは、 MinGWの公式サイトより入手可能である。 MinGW -ウィキペディア Lisp/Scheme Handy Scheme Windows +... HandyScheme は Mini-scheme、TinyScheme をルーツとした、windows98/SE/ME/XP で動作する超コンパクトな SCHEME言語(LISP方言,SJIS対応) 処理系です。 HandyScheme にはいわゆる対話環境はなく、GUIを備えたスクリプト言語として動作します。 拡張子 .hs を HandyScheme(hS.exe)に関連付けることで、ソースファイル( .hs)を編集後、ダブルクリックで即通常のWINDOWSアプリケーションと同じように実行することができますので、ちょっとした使い捨てツール等の作成が容易におこなえます。 また、完成した便利なツールは 単独の 【EXEファイル】 として自由に再配布することも可能です。 awklisp +... A Lisp interpreter in Awk that ran faster than a commercially available Basic interpreter at the time it was written. Version 1.2 includes a contributed port to Perl with some extra features. Darius Bacon Pocket Scheme Windows Mobile +... Welcome to Pocket Scheme, a standards-compliant implementation of the Scheme programming language for the Microsoft Windows CE (aka Windows Mobile) Pocket PC, Smartphone, and Handheld PC. the Mazama Network LispMe PalmOS +... This page is dedicated to LispMe, the Scheme system developed by me, Fred Bayer, for PalmOS powered PDAs. Fred Bayer's home page CAMPUS LIsP +... Lisp の処理系の構造を学ぶための、コンパクトな Lisp解釈系です。 C言語で記述してあり、わずか1000行の短さです。 Lisp 処理系の内部構造の基礎を学ぶための教材として作りました。 これはあくまで実現の「一例」です。古くさい実装だとおもいます。 これが実装法の全てとは思わないで下さい。 初心者 Lisp 言語処理系 CAMPUS LIsP Lemon version, (Version 1.2) Basic 鍋電卓 Windows +... 構造化BASIC搭載のプログラミング電卓です。 鍋テック FreeBASIC Windows, DOS, Linux, Xbox +... FreeBASIC is a completely free, open-source, 32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. FreeBASIC +... FreeBASICは、フリーでオープンソース(GPL)の32ビットBASICコンパイラであり、Microsoft Windows、DOSのプロテクトモード(DOSエクステンダ)、Linux、Xbox 向けの実行ファイルを生成する。FreeBASIC はセルフホスティングコンパイラであり、コンパイラ本体は約12万行のソースコードで構成されている(ライブラリは含まない)。 GNU Binutils をバックエンドとして利用し、コンソール用実行ファイルとグラフィカル /GUI用実行ファイルを生成する。ライブラリは静的リンクと動的リンクの両方に対応している。FreeBASIC はCライブラリと一部のC++ライブラリを利用できる。これを利用すると、C言語だけでなく他の言語のライブラリを使ったり、作成したりすることも可能である。 FreeBASIC - Wikipedia 99 Basic Interpreter Windows +... 前時代的BASICの決定版! 見た目はとてもシンプルですが、いじってみると違います。 1980年代の粋を集めた強力なBASICで、DOS時代BASICの集大成です。 99 Basic Interpreter ©Saiwai
https://w.atwiki.jp/msx-sdcc/pages/73.html
古いCのK Rスタイルソースコードと現代の表記の違い C言語には幾つかの方言がある。C言語自体は1970年代から存在していたので利用例は多くあり、 DEC等に代表されるミニコンやホスト機、SunやHP,SGIの初期のワークステーション、 CP/Mなど8bit機械など古いシステムでも動作した。当時のC言語の処理系はソースコードの記法が 現代とは若干異なっている。 この原型となる処理系の表記については発明者で教科書の著者でもあるカーニハンとリッチさんが 書いたC言語の参考書にちなんでK R表記と呼ばれる。 1980年代初期のコンピュータで動作したC言語のソースはK R表記で書かれていることが殆どなので 8bitマシンに限定されたことではないので注意が必要である。 その後に1980年代終わり頃に標準化作業が行われ、現代利用されているC言語の表記が採用される ようになった。この処理系はANSI表記と呼ばれる。以降このANSI標準化による作業がC言語の 標準として採用されている。 MSXではMSX-Cと呼ぶコンパイラが存在したが、この処理系はK RスタイルであるのでSDCCなどとは 若干違いがある。以下にその違いを列挙する(必ずしも正確ではないが) 関数名の引数定義の違い。 オリジナルのC言語の表記法は現代の関数定義とは引数の扱いが若干異なる。関数名に引数を 定義する場合は以下のように関数名とブロック構文の間に変数を記述する。 これはPascalの記述とよく似ている。 int test() chara; { /* K Rスタイルソース CPMやミニコンなど */ } 現代的なANSI標準化以降のC言語では以下のように関数名の部分に引数が記述される。 int test(char a) { /* ANSIスタイルソース , DOS/Windows/UNIXなど */ } 変数型の取り扱い K Rの頃とANSI標準化以降では変数型の扱いや種類に違いがある。 K Rではunsigned intの表記は単にunsinedだけで通るかもしれない。ANSI標準化以降の構文では unsigned intと表記する事になる。またK R表記ではintがデフォルトで符号なしか符号付か はっきりと区別されていないかもしれない。 これは処理系依存のためそれぞれのコンパイラの仕様を確認すること。 処理系のソース処理手続きの違い 現代的なC言語のコンパイラは一つのコマンドで全てを処理する。ところが初期のC言語では 複数のコマンドがコンパイル時に実行されており機能が分割されていた。 このような点が処理系がコンパクトで他の環境に移植された要因でもある。 K Rの頃には、1,プリプロセッサ処理 2,構文チェック 3,コードジェネレータ 4,アセンブラ 5,リンカ などがそれぞれ分割された個別の実行アプリケーションとして実装されていて Cソースコードの処理はそれらをすべて呼び出して最終的な処理を完了する。 そしてK Rの頃にはmakeコマンドのようなものは存在しない。 ANSI標準化以降はコマンドは最小でも一つのコマンドで終了する。例えばWindowsであれは cl hoge.c である。 現代では最大でも 1,コンパイラ 2,アセンブラ 3,リンカ などの三つの処理で完了する。 場合によっては一つのコンパイラドライバが全ての処理を管理することもある。 現代ではmakeコマンドはDOSやWindows環境でも利用可能である。 ヘッダやライブラリの違い K Rの頃の標準ライブラリというものは必要な関数機能の実装はそれぞれの処理系に依存している。 その為、特定のコンピュータやソフト環境に依存しないような今日知られているようなC標準ライブラリと 呼ばれる関数群は存在しない。 K Rの頃のC言語では、ヘッダに定義された定数や標準ライブラリの一部の関数がCPM用とUNIX用と比べて、 存在したり存在しなかったりといった違いが生じた。 これはDOSやミニコンといった機械環境やハードウエアの違いだけでなくC言語処理系などの ソフトウエアの違いによっても生じていた。 今日知られているANSI標準化以降のC標準ライブラリではコンピュータの違いや処理系の違いによる ヘッダやライブラリの差は若干違いはあるものの以前ほどの差はない(DOSには幾つかの違いがあるが)。 基本的にはWindowsでもDOSでも同じライブラリを利用可能である。 ただし今利用されている標準ライブラリの関数群の殆どはK R当時から存在する関数が殆どであり、 利用する際に問題となることはないといえるだろう。 ソースコード表記の自由度の違い Small-Cなどの実装系にもよるがK R時代ではかなり自由度が許容されていた。一行以内で書かれる マルチラインや一行で多数の変数を定義するなど、可読性に問題が生じる書き方も許容されていた。 またブロック構文についてもかなり自由度があったようである。 ANSI標準化以降は現代的な形式となり、可読性に問題があるような書き方は制限されるか コーディング規則で任意で制限される。 構文チェックやエラー処理の違い K Rの頃のC言語は構文エラーやエラー処理などのチェック機構はあまり実装されていない。 このためソースコード上の記述ミスなど問題が生じたときの確認の手段が少ない。 (別途ソースコードチェックコマンドなどが存在した) ANSI標準化以降はコンパイル時のエラー処理を人間が比較的理解しやすいように出力する。
https://w.atwiki.jp/tkonishi73/pages/581.html
第3回 ソフトウェアとOS ソフトウェアの分類 基本ソフトウェア OS(オペレーティングシステム)のこと。 パソコンを動作させるために最低限必要なプログラムである。 応用ソフトウェア アプリケーション、アプリ、と呼ばれるプログラムのこと。 ワープロ、表計算、プレゼンのソフトが基本となる。 最近ではスマホで追加して使用するプログラムもアプリと呼ばれている。 ユーティリティ 快適に動作させるためにメンテナンスを行うなど、便利なプログラムのこと。 ツール 一つの目的のために利用されるプログラムのこと。 コピーツールは、起動すればコピーできるプログラムである。 ドライバ パソコンに接続する周辺機器によって準備されていて、セットアップに利用される。 OSについて オペレーティングシステムとは、パソコン本体と周辺機器との間で連携を取って動作させるプログラムである。 キーボードやマウス、プリンタの連携を取る。 システムとして起動するものは、モニタ、インタプリタ、がある。 モニタ・・・プログラムを入力し、保存した後、そのファイルを対応する言語処理系で実行させる。 インタプリタ・・・コマンドを入力し1行単位で解読と実行を繰り返す。 1980年代始めころ、MicrosoftがIBMのPC用に「PCーDOS」が開発した。 DOSとは、DISK OPERATING SYSTEM の意味で、その後、Microsoftは「MSーDOS」として商品化しこれが広がる。 このOSはフロッピーディスクにシステムを保存し、フロッピーディスクから起動するものである。 異種のOSを同じPCで起動できるという利点があった。 その後、OSの機能が向上し、プログラムが収容できないサイズになるとともに、ハードディスクに移行し、現在ではハードディスクからシステムが起動している。 MSーDOSは1992年頃からWindows3.1へ移行し始め、1995年のWindows95に多くのユーザが移行した。 Windowsの歴史 MicrosoftはMSーDOSの開発と同時に、マルチタスク・マルチウインドウのOSを開発した。 マルチタスク・・・同時に複数の仕事ができる マルチウインドウ・・・複数の窓を開き、別の仕事が同時並行する 現在まで色々なWindowsが、これらの機能を使われて来た。 CPUについて 性能を何で見るか ・・・クロック周波数・コア数・キャッシュメモリ クロック周波数=数字が大きいほど速度が速い。 コア数=数字が大きいほど並列動作ができ、処理が速い。 キャッシュメモリ=容量が大きいほど、 情報量の単位について 今日の話題に感想を述べてください。(名前欄に学生番号を記入すること) 質問も結構です。必要に応じて、回答します。 何か分からないことがあったら、ここで質問して下さい。 -- 小西敏雄 (2014-06-06 20 18 27) 名前 コメント
https://w.atwiki.jp/compilerandscriptengine/
このページについて このページは、2ちゃんねるプログラミング技術板のスレッド「コンパイラ・スクリプトエンジン相談室」のまとめページです。 1 :デフォルトの名無しさん :2005/11/06(日) 19 45 18 プログラミング言語処理系の開発に興味のある人達のスレッドです。 字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換, CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン, SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化, JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。 意味論に関する話題も歓迎です。 スレッド一覧 1 http //pc.2ch.net/tech/kako/981/981672957.html 2 http //pc2.2ch.net/test/read.cgi/tech/1021136715/ 3 http //pc5.2ch.net/test/read.cgi/tech/1070089173/ 4 http //pc5.2ch.net/test/read.cgi/tech/1100097050/ 5 http //pc8.2ch.net/test/read.cgi/tech/1106129164/ 6 http //pc8.2ch.net/test/read.cgi/tech/1115335709/ 7 http //pc8.2ch.net/test/read.cgi/tech/1129287390/ 8 http //pc8.2ch.net/test/read.cgi/tech/1131273918/ 9 http //pc8.2ch.net/test/read.cgi/tech/1135082582/ 10 http //pc8.2ch.net/test/read.cgi/tech/1146844753/ 11 http //pc11.2ch.net/test/read.cgi/tech/1160879890/ 12 http //pc11.2ch.net/test/read.cgi/tech/1188688416/ 13 http //pc12.2ch.net/test/read.cgi/tech/1233143342/ 14 http //hibari.2ch.net/test/read.cgi/tech/1258431145/ 15 http //toro.2ch.net/test/read.cgi/tech/1296214398/ 16 http //peace.2ch.net/test/read.cgi/tech/1405822579/ (現行スレ) ToDo HSPやVBが一般ピーポーにうける理由を考える コメント 名前 コメント 更新履歴 取得中です。