[[プログラミングスレまとめ in VIP]] *プログラミング用語解説 [#yad1e869] #contents **表記に用いられている記号 [#b5b871d4] [関]:関連した語句を掲載。~ [類]:類義/類似した語句を掲載。~ [反]:対義語を掲載。~ [n]:複数の意味がある場合、角括弧内に数字を入れて、よく使われている、あるいはより一般的であると考えられるものから順に解説している。 **A [#qed84927] -&aname(ascii){ASCII(あすきー)};~ [1] American Standard Code for Information Interchangeの略称。 ~ [2] ASCIIコードのこと。~ [3] パソコン雑誌等で有名な日本の会社。~ -&aname(asciicode){ASCIIコード(あすきー~)};~ 文字を取り扱う上での一番基本的な英数字・記号の規格。単にASCIIとも。~ PC-UNIX等のUNIX系システムでは、man asciiとすることでASCIIコードの一覧を参照することが出来る。 **B [#m66f31e8] -&aname(bsd){BSD(びーえすでぃー)};~ BerkeleySoftwareDistributionの略。~ 広義にはカリフォルニア大学バークレー校によるソフトウェア配布物全般を指すが、通常BSDといえば、FreeBSDやNetBSD、OpenBSD、DragonFlyBSDに代表されるUNIXクローンのことを言っているとみてまず間違いない。 **D [#jaa09837] -&aname(d){D(でぃー)};~ D言語とも。~ [1] Digital Mars社のウォルター・ブライトが中心となって、C言語の後継を目指して開発されているマルチパラダイムプログラミング言語のこと。~ [2] システム情報取得ツールDTraceに向けて用意されたスクリプト言語~ [3] マイクロソフトが開発中の、非開発者を対象とした宣言型言語。 -&aname(debug){debug(でばっぐ)};~ バグを取り除く作業のこと。卓越したドMプログラマになると、この作業が快感でたまらなくなる。~ 企業に入ると、普段のコーディングはてんでダメなのに、debugになるとやたらすごい能力を発揮する人が居るという、そんな作業。~ 基本的には重箱の隅をつつくような地味な作業から、仕様通りに動かないプログラムを動くようにする作業までの幅広い作業全般を指す。~ 日本で最も有名かつ優秀なdebugチームは、任天堂の擁するマリオクラブだと思う。たぶん。 **M [#tb20bd06] -&aname(malloc){malloc(えむあろっく/まろっく)};~ C言語において、動的にメモリを確保するためのひとつの方法。~ alloc系関数の一種で、プロトタイプは~ void *malloc(size_t size); sizeバイトを確保し、その領域へのポインターを返す。メモリの内容はクリアされないので、利用する前には初期化が必要になる。また、返されるのが汎用ポインタであるので、適切な型にキャストしてやる必要が生じる。確保したメモリ領域は自動的に解放されないので、適切なタイミングで解放してやる必要がある。 -&aname(matz){Matz(まつ)};~ Rubyをつくった人のいいおじさん。まつもとゆきひろのこと。~ 日本が誇るハッカーで言語ヲタク。クリスチャンでもある。~ 国内有数の「物言うハッカー」としても有名。 **N [#a443400a] -&aname(new){new(にゅー)};~ C++言語において、オブジェクトのインスタンスを作成する時に用いる演算子。~ また、Cプログラマが、C++を使ったときにまず感動する演算子でもある。~ メモリの確保とコンストラクタの呼び出しなど、これまでmallocを使いながらちまちまやっていた処理を一手に担ってくれる、まさに神のような存在。~ けれども、実はmallocと同様、確保した記憶領域は自分で解放しなくてはいけないことを知り、早々にゲンナリさせてくれる演算子でもある。 -&aname(null){NULL(ヌル/ナル)};~ 0、または空値。~ 言語によってはnull、nilとも。 -&aname(nullpo){Null pointer exception(ぬる<なる>ぽいんたーえくせぷしょん)};~ Javaに含まれるクラスのひとつで、例外の一種。参照先がnullな変数やメソッドを呼び出したときに、この例外がスローされる。nullチェックをきちんと行えば、まず出会うことのない例外でもある。 -&aname(nullre){Null reference exception(ぬる<なる>りふぁれんすえくせぷしょん)};~ コード内に存在しないオブジェクトを参照しようとした時や、nullなオブジェクトを参照しようとした時投げられる例外。.NET系言語で出会うことが多い。 **P [#re1042b2] -&aname(perl){Perl(ぱーる)};~ [1] ラリー・ウォールによって開発された、テキスト処理に主眼を置いたスクリプト言語。~ いかにも後付け感のある、Practical Extraction and Report Language、またはPathologically Eclectic Rubbish Listerという言葉の略称であるとされている。~ 「ひとつの結果にたどり着くための記述手法が、非常にたくさんある」ことでも有名な言語で、今日書いたソースでも、3時間後には読めなくなっている可能性がある。~ 主としてCGIに使われたことで、ウェブの黎明期を支えた。~ 現在でもCPANという強力なライブラリ管理ツールと共に、幅広いソフトウェア分野で利用されている。~ [2] Perlを処理するインタプリタのこと。このインタプリタをさす場合、正式にはperlと表記する。 -&aname(php){PHP(ぴーえいちぴー/ぴーえっちぴー)};~ 正式名称をPHP : Hypertext Preprocessorという、お手軽言語の急先鋒。~ 動的にウェブページを生成することに主眼を置いたプログラム言語で、主にサーバサイドで利用される。~ XMLや各種データベースを手軽に扱うための機能が充実していることから、ウェブに関連したアプリケーションの多くがPHPで書かれるようになった。~ その手軽さから初心者向け言語などと呼ばれるが、「初心者がウェブアプリを書くな」「言語使用が不安定」「そもそも初心者向け言語など存在しない」などといった理由から、嫌われることも多い。~ [類] ASP、JSP **R [#rb5bbc30] -&aname(ruby){Ruby(るびー)};~ Matzが作った純国産オブジェクト指向スクリプト言語。別名MatzLisp。~ **S [#l7a7b937] -&aname(scheme){Scheme(すきーむ)};~ その言語使用はA4で50ページ程度しかないという、言語使用の小ささが売りのLISP方言。~ 最近のプログラム言語の機能でも、SchemeやLISPのものを参考にして作られた機能が数多くある。(call/cc、lambdaなど) -&aname(sicp){SICP(えすあいしーぴー)};~ Structure and Interpretation of Computer Programmingのこと。邦題は計算機プログラムの構造と解釈。魔術師本、紫本などとも。~ MIT発のプログラミング初等教育に用いられる教科書で、Schemeを使ったいかに計算機がそのプログラムを理解するのか?という立場に立った解説がなされている古典的な書籍。~ どんなプログラマでも一度は読んでおくべきなどと勧められるが、訳書第2版の評判が芳しくなく、かといって原著にあたるのも骨が折れるという歯がゆい思いをさせてくれる書籍としても有名。~ 書かれている内容はMITのお偉いさんが書いただけあってすごい。~ 演習問題なども充実していて、スキルアップにはもってこいの一冊。~ 値段が高くて買えないという人は、原著がwebで無償公開されているので、そちらで学習するのもあり。 -&aname(solaris){Solaris(そらりす)};~ 太陽のロゴがトレードマークの、Sun MicrosystemsによるUNIX。~ 近年オープンソース化されて話題を呼んだ。~ Linuxなどとは違う、ホンモノのUNIX(プラス、大企業のお墨付き)として動作実績を重視する現場、ミッションクリティカルな現場、サーバシステム、一部のマニアがデスクトップ用途になど、幅広く支持を集めている。~ フリー版に関しては、GNU謹製ツールをサクサク使うには、ちょっと面倒な設定が必要とか、フリーなのにATOK使えるの!?スゲーとか、そんな話ばかりをよく聞く。真偽のほどは定かではない。 **あ [#d6d70c3e] -&aname(assembler-ja){アセンブラ};~ [1] 英語ではassembler。字面のとおり、アセンブルを行う者の意。コンパイルに対するコンパイラとおなじ位置づけの言葉。~ [2] アセンブラによってアセンブルすることのできる、機械語と一対一で対応したプログラム言語のこと。ニーモニック。 -&aname(assemble-ja){アセンブル};~ 英語ではassemble。アッセンブルとも。~ コンパイルが機械語と一対一対応でないソースコードを機械語に翻訳する作業なのに対して、アセンブルは機械語に一対一で対応したソースコードを機械語に翻訳する作業を指す。 **い [#sb6c24f4] -&aname(India-ja){インド};~ 南アジアに位置する、インド亜大陸の大部分を占める連邦共和国。~ 99x99の掛け算まで暗記させられるとか、小学校5年生で日本の中学校後半レベルの数学教育がなされているとか、数学教育に熱心なことで有名。~ そのせいか、非常に優秀なプログラマを多く擁する。~ これに人件費の安さもあいまって、現在世界からガンガン仕事を取り入れ、発展を続ける国である。~ 日本のITドカタなど、彼らに比べればカスだという業界関係者もいるとかいないとか。 **お [#g9f74ff3] -&aname(object-ja){オブジェクト};~ プログラミングをする上で重要な概念のひとつ。~ プログラム上で登場する、各要素のこと。~ 狭義には、データとそのデータに対して行う操作をパックしたものを指す。~ 広義には、データそのものを指す。~ 例)変数オブジェクト、クラスオブジェクトなど。 -&aname(oo-ja){オブジェクト指向(~しこう)};~ [1] プログラムをオブジェクトの集まりとして表現しようという概念。~ [2] プログラム上で発生するすべての問題を、簡単に解決してくれるのではないかという幻想を抱かせる魔法の言葉。もちろん、そんなおいしい話は存在しない。~ [関] ~開発、~設計。 -オブジェクト指向開発(~しこうかいはつ)~ オブジェクト指向を適用した開発案件のこと。~ 継承、多態勢、カプセル化の三つを基本的な柱として、保守性、拡張性に優れた開発を目指す。~ [類] オブジェクト指向設計 -&aname(ood-ja){オブジェクト指向設計(~しこうせっけい)};~ オブジェクト指向を適用した設計手法のこと。~ 設計段階にまでオブジェクト指向を引き合いに出し、根本的な設計から狭義のオブジェクトとなるものを洗い出してプログラムの設計を行う。~ [類] オブジェクト指向開発 **き [#y86b23fb] -&aname(Project_book-ja){企画書(きかくしょ)};~ こんなアプリはどうでしょう?こんなアイディアおもしろくないですか?というアピールを上司にして、開発費を下ろしてもらったり、顧客に対して提案をするときにまず必要になる文書。新入社員が訳もわからず書かされ、上司に罵倒されるための道具でもある。~ ここで提出された企画書を煮詰めていって、仕様書などが作成される。~ -&aname(kikakudaore){企画倒れ(きかくだおれ)};~ 企画書の段階では、とってもおもしろそうだったんだけどねぇ・・・。 **こ [#eb5eb957] -&aname(compiler-ja){コンパイラ};~ 英語ではCompiler。~ 英語の字面を見れば推測できる通り、コンパイルを行う者の意。~ プログラムでは、実際にコンパイル作業を行ってくれるソフトウェアの事を指す。 -&aname(compile-ja){コンパイル};~ 英語ではCompile。もともとは資料を収集するとか、辞書やリストを編集するという意味を持つ動詞。~ 転じて、機械語と一対一に対応しているわけではないソースコードを、機械語に翻訳する作業のことを指す。~ 広義にはリンクまで含めた作業を指すが、狭義にはリンク前のオブジェクトファイルと呼ばれるファイルを出力するまでの作業のことを指す。~ [類] アセンブル **し [#g1b69d8b] -&aname(specifications-ja){仕様書(しようしょ)};~ プログラムがどう動作するべきか、どのような状態でどのような処理を行うべきかを細かく指示した文書。ここに書かれていることであれば、一見バグと思われる動作でも「仕様ですから」と言って切り抜けることが出来る。プロジェクトが進むにつれて、頻繁に書き換わることもあるため、プログラマのためのデスノートと呼ばれることもある。 -&aname(siyou-desukara){仕様ですから(しよう~)};~ 「大豆ですから」のごとく発するべき、困った時の伝家の宝刀。~ この一言で、大多数の顧客は黙り込むという伝説が語られるほど、有名な一言である。~ 例)Windows Meのブルースクリーン?あぁ、それ、仕様ですからww **そ [#v515581e] -&aname(source_code-ja){ソースコード};~ 英語ではSource code。原始プログラムとも訳される。~ 各プログラム言語で書かれた、コンパイル前のテキストファイルのこと。~ コンパイラが適切にコンパイルを行うために、ソースコードは次の決まりをもって書かれる。~ ・内容は、用いたいと思っているプログラム言語の文法に従う。~ ・文字の形や色といった、余計な情報がファイルに付加しない。(純粋なテキストファイルとする)~ ・コンパイラで指定された文字コードを用いて記述する。 -&aname(source-kudasai){そのソースください};~ 自分のやりたいことを、他の誰かが実現している時に発するべき言葉。空気を読まずに発すると、怪訝な顔をされることがある。もし自分が言われた時は、きちんとライセンスに同意させた上でソースを渡してあげよう。 **て [#i55eaab0] -&aname(design_pattern-ja){デザインパターン};~ プログラミングでみんなが「あるあるww」とうなずけるパターンに対して適用可能な、効率の良い解法のこと。~ 様々なパターンがあり、それぞれに大層な名前が付いているが、発動にすごいスキルが必要とか、事前にトラップカードを伏せておかなくちゃいけないなんてことは一切無い。~ ライブラリのロードぐらいは必要かもしれないが・・・。~ このデザインパターン、汎用性のあるパターンが多く収録されているため、あらゆる問題をデザインパターンで解決しようという気になったり、問題にブチ当たるとまずデザインパターンでなんとかできないか考えるようになってしまう一種の病気を発病する危険性を孕んでいる。それなりにプログラミングの学習が進んでからチャレンジしましょう。 -&aname(debugger-ja){デバッガ};~ [1] debugを行うソフトウェアのこと。debugger。~ 有名なものではGNUによるgdbやBorlandによるTurbo debugger、マイクロソフトによるワトソン博士などがある。~ 原則として、プログラム言語に依存することなく用いることが可能である。~ [2] debugを行う人のこと。マゾヒスト。ドM。~ [3] プログラムは大してかけないのに、他人のプログラムのバグを見つけ、原因を特定するのが上手な、職場に一人はいるプログラマに対して用いられる敬称。~ 例)~ 「あの人、遊んでますけどいいんですか?」~ 「あぁ、彼はデバッガだから、開発の初期段階では出番が無いんだよ」~ 「でも、2chとかしてますよ?」~ 「いいんだよ。デバッグのときに人の3倍は仕事するんだし。」 -&aname(debug-ja){デバッグ};~ [[debug>プログラミング用語#debug]]のこと。 **ぬ [#nd5aee08] -&aname(nullpo-ja){ぬるぽ};~ [[Null pointer exception>プログラミング用語#nullpo]]のこと。~ -&aname(nullre-ja){ぬるり};~ [[Null reference exception>プログラミング用語#nullre]]のこと。~ **ふ [#b60c3505] -&aname(first_class_object){ファーストクラスオブジェクト};~ 英語ではfirst class object。~ SICPによると、「変数として名前が付けられて、手続きに引数として渡せて、手続きの結果として返せて、データ構造に組み込める」というオブジェクトのこと。~ 多くは変数そのものを指すが、LISPでは手続きもファーストクラスオブジェクトとして実装されている。~ -&aname(breakpoint-ja){ブレークポイント};~ プログラムをデバッグする際に指定する、プログラムの動作を一旦停止させたい場所のこと。ブレイクポイントとも。~ *プログラミング用語の解説サイト [#e2a8b261] :[[IT用語辞典 e-Words>http://e-words.jp/]]|運営:株式会社インセプト (Incept Inc.) :[[通信用語の基礎知識:コンピュータ>http://www.wdic.org/d/COMP]]|運営:NPO 通信用語の基礎知識 編纂委員会 :[[プログラミング用語辞典>http://ew.hitachi-system.co.jp/p/c-programming.html]]|運営:(株)日立システムアンドサービス :[[プログラミング用語一覧>http://www.infogogo.com/id/606774]]|source: Wikipedia , license: GFDL,運営:infogogo.com :[[C/C++マニュアル>http://www.db.is.kyushu-u.ac.jp/c/man.html]]|用語、記号・キーワードなど。 運営:九州大学 大学院システム情報科学研究院 金子研究室 :[[プログラミング辞書>http://www.kab-studio.biz/Programing/Dictionary/index.html]]|「 Visual C++ によるC++ ウィンドウズプログラミング」に関係した単語。運営:個人サイト KAB-studio *コメント [#fc387de7] #comment // **おまけ [#m2b65e17] // ***ソースコード検索 [#s3c5fa40] // -[[見つけて得するソースコード専用の検索エンジン - @IT>http://www.atmarkit.co.jp/fjava/column/andoh/andoh33.html]] // -[[gonzui: ソースコード検索エンジン>http://gonzui.sourceforge.net/]]