ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
インストール
ブラウザよりも高速アクセス!
 

静的型付け

索引 静的型付け

静的型付け(せいてきかたづけ、static typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型が、コンパイル時など、そのプログラムの実行よりも前にあらかじめ決められている、という型システムの性質のことである。 また、そのような性質の言語を、静的型付き言語(せいてきかたつきげんご、statically typed language)という。これに対し、型は実行時の実際の値による、というのが動的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 一口に静的型と言ってもその実体は言語により様々である。手続き型のオブジェクト指向言語の多くでは、静的に型が付いていても、キャストなどによりインスタンスの妥当性は保証されない。より制限の強い言語であっても、ミュータブルな値により不正参照などのリスクが残されている。また静的型でもリフレクションを多用する設計を行なうと、実質的に動的型とほとんど変わらないスタイルになることから、静的と動的の境目は必ずしも明確でない場合があるといえる。 一般的な傾向として、大規模プログラミングやシステム記述用の言語は静的な型付けを行なうものが多い。.

17 関係: 型変換型システム型推論変数 (プログラミング)引数リフレクションプログラミング言語データ型イミュータブルインスタンスオブジェクト指向コンパイラサブルーチン副作用 (プログラム)動的型付けML (プログラミング言語)手続き型プログラミング

型変換

型変換(かたへんかん)とはプログラムにおいて、あるデータ型を他のデータ型に変換することである。.

新しい!!: 静的型付けと型変換 · 続きを見る »

型システム

型システム(type system)とは、プログラミング言語において、その式などの部分が持つ値を、その種類(型(type)、データ型も参照)に沿って分類し、プログラムが正しく振る舞うこと、といった性質について保証する手法である。型システムは、型理論に基づいており、プログラミング言語の理論において最も確立された軽量形式手法である。.

新しい!!: 静的型付けと型システム · 続きを見る »

型推論

型推論(かたすいろん)とはプログラミング言語の機能の1つで、静的な型付けを持つ言語において、変数や関数の型を宣言しなくてもそれを導くのに使われた関数の型シグネチャなどから自動的に型を決定する機構のこと。 推論に失敗するとその時点でエラーを報告できるため、少なくとも誤った型を用いる事によるバグは回避できる。また、記述をアルゴリズムに集中できるのでプログラムの抽象度が上がるというメリットもある。 代表的な型推論アルゴリズムとして、Hindley/Milner 型推論アルゴリズムがある。各々著名なコンピュータ科学者の名前からつけられた名前であるが、Hindley は論理学者として型推論システムを先に開発した。 型推論を持つ言語としてはHaskell、ML、Vala、F#、C#、Java、Scala、OCaml、D言語、Concurrent Clean、C++11、Swiftなどがある。静的型付け関数型言語のほとんどがなんらかの型推論の機能を持っている。.

新しい!!: 静的型付けと型推論 · 続きを見る »

変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

新しい!!: 静的型付けと変数 (プログラミング) · 続きを見る »

引数

引数(ひきすう)は、数学における関数やコンピュータプログラムにおける手続きにおいて、その外部と値をやりとりするための特別な変数、あるいはその変数の値のことである。 数学や最適化問題に関するそれ(「パラメータ」とカタカナで表現されることが多い)については「媒介変数」の記事を参照のこと。以下は専らコンピュータプログラミングに関して説明する。 関数・サブルーチン・メソッド等を定義する時に、外部から値を渡される特別な変数として指定されるのが仮引数。関数(等)を呼出す式において、仮引数に対応する式(あるいはその値)が実引数である。実行時には、実引数の値を仮引数が受け取る。 「引数」を「いんすう」と読む読み方もあるが、術語としては変則的に湯桶読みして「ひきすう」としている。数学分野で因数との取違えを防ぐためといった理由もある。.

新しい!!: 静的型付けと引数 · 続きを見る »

リフレクション

リフレクション(英語:reflection).

新しい!!: 静的型付けとリフレクション · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: 静的型付けとプログラミング言語 · 続きを見る »

データ型

データ型(データがた、)とは、(コンピュータにおける)データ(値)の種類に関する分類である。データタイプとも。 具体的にいうと、たとえば 0, 1, 2, -42 といったような値は整数型であり、"foo", "Hello" といったような値は文字列型である。プログラミングなどにおいて、まずデータオブジェクトや関数などの「値」について、またさらに、それらに関連付け(束縛)される変数や定数、リテラル、それらを組合せる演算子、さらにそれらからなる式といった構文上の要素の型が、データ型の議論の対象となる。.

新しい!!: 静的型付けとデータ型 · 続きを見る »

イミュータブル

イミュータブル (immutable) なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのことである。対義語はミュータブル (mutable) なオブジェクトで、作成後も状態を変えることができる。 あるオブジェクト全体がイミュータブルなこともあるし、C++でconstデータメンバを使う場合など、一部の属性のみがイミュータブルなこともある。場合によっては、内部で使われている属性が変化しても、外部からオブジェクトの状態が変化していないように見えるならば、オブジェクトをイミュータブルとみなすことがある。例えば、コストの高い計算の結果をキャッシュするためにメモ化を利用していても、そのオブジェクトは依然イミュータブルとみなせる。イミュータブルなオブジェクトの初期状態は大抵は生成時に設定されるが、オブジェクトが実際に使用されるまで遅らせることもある。 イミュータブルなオブジェクトを使うと、複製や比較のための操作を省けるため、コードが単純になり、また性能の改善にもつながる。しかしオブジェクトが変更可能なデータを多く持つ場合には、イミュータブル化は不適切となることが多い。このため、多くのプログラミング言語ではイミュータブルかミュータブルか選択できるようにしている。.

新しい!!: 静的型付けとイミュータブル · 続きを見る »

インスタンス

計算機科学でのインスタンス()とは実体のことをいう。は英語で「実例」を意味する。.

新しい!!: 静的型付けとインスタンス · 続きを見る »

オブジェクト指向

ブジェクト指向(オブジェクトしこう)とは、オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方である。英語の object-oriented (直訳は、「対象物志向の」「目的重視の」という意味の形容詞) の日本語訳である。 オブジェクト指向の枠組みが持つ道具立ては、一般的で強力な記述能力を持つ。複雑なシステム記述、巨大なライブラリ(特に部品間で緊密で複雑な相互関係を持つもの)の記述においては、オブジェクト指向の考え方は必須である。.

新しい!!: 静的型付けとオブジェクト指向 · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: 静的型付けとコンパイラ · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

新しい!!: 静的型付けとサブルーチン · 続きを見る »

副作用 (プログラム)

プログラミングにおける副作用(ふくさよう)とは、ある機能がコンピュータの(論理的な)状態を変化させ、それ以降で得られる結果に影響を与えることをいう。代表的な例は変数への値の代入である。 例えば与えられた数字を二倍して返す機能"double"があるとする。 このような機能では次のことが成立する。.

新しい!!: 静的型付けと副作用 (プログラム) · 続きを見る »

動的型付け

動的型付け(どうてきかたづけ、dynamic typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型を、コンパイル時などそのプログラムの実行よりも前にあらかじめ決めるということをせず、実行時の実際の値による、という型システムの性質のことである。 また、そのような性質の言語を、動的型付き言語(どうてきかたつきげんご、dynamically typed language)という。これに対し、型は実行前に決まる、というのが静的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 静的型付けは、.

新しい!!: 静的型付けと動的型付け · 続きを見る »

ML (プログラミング言語)

ML(えむえる、Meta-Language)は、関数型言語のひとつである。現代風の関数型言語としては歴史が古いほうで、型推論機能などを持つが、デフォルトの評価戦略は遅延評価ではなく先行評価で、書き換えが可能なレコード型を持つなど、いわゆる「純粋関数型」でない特徴や機能を持つ。.

新しい!!: 静的型付けとML (プログラミング言語) · 続きを見る »

手続き型プログラミング

手続き型プログラミング(てつづきがたプログラミング、Procedural programming)は、「手続き呼び出し」の概念に基づくプログラミングパラダイムの一種。命令型プログラミングと同義に扱われることが多い。「手続き」はプロシージャ、ルーチン、サブルーチン、メソッド、関数(数学の関数とは異なる。)など様々な呼称があるが、実行すべき一連の計算ステップを持つものと定義できる。手続きはプログラム実行中の任意の時点で呼び出すことができ、他の手続きからの呼び出しも、自分自身からの呼び出し(再帰呼び出し)も含まれる。 手続き型プログラミングは単純な逐次型プログラミングや非構造化プログラミングよりも多くの場合よりよい選択である。非構造化プログラミングでは複雑なコードを組むことは困難であり、保守性が悪い。手続き型プログラミングには、以下のような利点がある.

新しい!!: 静的型付けと手続き型プログラミング · 続きを見る »

ここにリダイレクトされます:

静的型

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »