
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
関数型プログラミングは計算方法をどうやってプログラミングするのかによる分類です。
C言語、C++、Java等の言語では、どうやって計算するかの手順を直接書きます
例えば、「x以下の整数の合計を計算する」処理の場合、xから1にまで値を減らしながら繰り返し足し算して行く手順を書きます。
それに対し関数型言語では、関数の引数と返値の関係を書いて、計算手順は書きません。次のような雰囲気です。
f(1) = 1
f(x) = x + f(x - 1)
手順は指定していないので大きい方から足していくかもしれないし、小さい方から足していくかもしれません。
プログラムの規模が大きくなると、全体を一度に理解して作るのが非常に難しくなるので、ある程度まとまった機能を持った部品の集まりとしてプログラムを作ります。
部品の中のプログラムを作るときは部品の外のプログラムのことは余り気にしなくて良いので楽ですし、部品を使う側も部品内部のプログラムの事はそれほど気にしなくて良いので楽という寸法です。
オブジェクト指向はそうした大きなプログラムを整理して作るための手法の1つになります。
C++やJavaは直接手順で計算方法を書くオブジェクト指向言語ですが、計算方法を関数型で書いてプログラム全体はオブジェクト指向で設計する言語があってもおかしくありません。
関数型とオブジェクト指向は上位互換ではなく、互い併用したりしなかったりする物かと思います。
No.3
- 回答日時:
全然違いますね。
関数型プログラミングに明確な定義は有りませんが、
関数や高階関数等を組み合わせた処理手法の部分
をいうことが多いですね。特にデーターフロ―処理を書くのに便利なのが
クローズアップされて語られます。
#この説明は専門家からは「狭い!」と言われるでしょうが
#全容を語るのは私には不可能です。
関数型プログラミング自体はLISPを起源として50年くらい前から有りますが
昨今、まずJavaの親戚言語scalaでその有用性が広く認められ
その後、Java等でも関数型プログラミングを扱えるように
機能拡張が施されました。
つまりOOPと組み合わせて使える別の技術ということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- その他(プログラミング・Web制作) Pythonのオブジェクトの関数について 2 2023/05/11 19:15
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- Visual Basic(VBA) VBAでWorkbook.addの使い方 3 2023/02/01 11:58
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- C言語・C++・C# C言語について。 3 2022/11/05 20:30
- その他(プログラミング・Web制作) プログラミングって本来数学的な計算をする為のものではないのですか? 学校で配られたFortran90 11 2022/08/25 22:14
- HTML・CSS HTMLの・要素・属性・属性値 はプログラム言語の「変数」みたいに変更できますか? 5 2022/10/04 05:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの再計算が反映されない件に...
-
65536は2の何乗なのでしょうか?
-
Visual C++でdebugとreleaseで...
-
数値計算の高速化 (cos, sin, exp)
-
CとFORTRANの計算速度はどちら...
-
エクセルで特定のセルのみを任...
-
DLL(VC++で作った)で稼動中の...
-
排他的論理和 BCC(水平パリテ...
-
なぜオーバーフローになるので...
-
三菱シーケンサー works2 の日...
-
モジュロ
-
趣味で「乗換案内」みたいなソ...
-
駅間の距離を求め運賃計算するJ...
-
C言語の課題で、1年の秒数を計...
-
理由がわかりません・・・
-
Windows のlog()の計算方法
-
VBでReplace
-
時間の足し算 C++Builder
-
matlabで計算終了
-
VBA入力フォームで労働時間の計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
EXCELなどで「返す」という表現
-
バッチファイルでウインドウを...
-
エクセルで特定のセルのみを任...
-
matlabで計算終了
-
モジュラス103の計算とは何でし...
-
変化させるセルが変化しない
-
数値計算の高速化 (cos, sin, exp)
-
CとFORTRANの計算速度はどちら...
-
モジュロ
-
スレッド処理からダイアログを...
-
時間(ミリ秒を含む)の引き算
-
VB6で正確なミリ秒を計測したい...
-
60進数の四則計算
-
PHPとJavaでSHA256の結果を同じ...
-
C言語についてです。 再帰を使...
-
なぜオーバーフローになるので...
-
VBA入力フォームで労働時間の計...
おすすめ情報