「ノート:関数型プログラミング」の版間の差分
→出典が明示されていない記述の追加について: 出典付き記述も微妙に表現が変えられている点がとても気になっています |
→出典が明示されていない記述の追加について: 青子守歌さんに返信する。 |
||
78行目: | 78行目: | ||
:{{コメント}} 非専門家なので一旦賛否は避けますが、出典付き記述も微妙に表現が変えられている点がとても気になっています。例えば冒頭の「関数型プログラミング言語」について「{{harvnb|本間|類地|逢坂|2017|p=3}}」を引いて、変更前は「関数型プログラミングを'''推奨している'''プログラミング言語」から、変更後は「このスタイルに'''準拠した'''言語」(※このスタイル=数学的な関数の適用を中心としたスタイル)と変更されています。この出典が手元にあるわけではないので確認したいんですが、この変更は許容されるレベルのものなのでしょうか?一般論として「推奨」と「準拠」では厳しさに差があると思うのですが。最悪パターンとして、変更前もしくは後の執筆者が、出典の中身を一切確認せず出典として載せており、出典になっていることが嘘である状態になっていないかを、一番危惧しています。--[[利用者:青子守歌|青子守歌]]<small>([[利用者‐会話:青子守歌|会話]]/[[特別:投稿記録/青子守歌|履歴]])</small> 2021年12月30日 (木) 14:27 (UTC) |
:{{コメント}} 非専門家なので一旦賛否は避けますが、出典付き記述も微妙に表現が変えられている点がとても気になっています。例えば冒頭の「関数型プログラミング言語」について「{{harvnb|本間|類地|逢坂|2017|p=3}}」を引いて、変更前は「関数型プログラミングを'''推奨している'''プログラミング言語」から、変更後は「このスタイルに'''準拠した'''言語」(※このスタイル=数学的な関数の適用を中心としたスタイル)と変更されています。この出典が手元にあるわけではないので確認したいんですが、この変更は許容されるレベルのものなのでしょうか?一般論として「推奨」と「準拠」では厳しさに差があると思うのですが。最悪パターンとして、変更前もしくは後の執筆者が、出典の中身を一切確認せず出典として載せており、出典になっていることが嘘である状態になっていないかを、一番危惧しています。--[[利用者:青子守歌|青子守歌]]<small>([[利用者‐会話:青子守歌|会話]]/[[特別:投稿記録/青子守歌|履歴]])</small> 2021年12月30日 (木) 14:27 (UTC) |
||
:: 「{{harvnb|本間|類地|逢坂|2017|p=3}}」の所だけなら[https://gihyo.jp/book/2017/978-4-7741-9237-6 技術評論社のページ]のサンプルで確認できます。「を推奨している」から「に準拠している」への変更については青子守歌さんに同意します。やはり、「推奨」と「準拠」ではニュアンスが違いすぎて許容されないと思います。なお、余談ですが、当時の私は「関数型プログラミングは数学的な関数を利用するスタイルである」と「数学的な関数を利用するのを推奨するのが関数型プログラミング言語である」という旨の記述を組み合わせて「関数型プログラミング言語は、関数型プログラミングを推奨しているプログラミング言語である」というようにしたのだと思います。 -- [[利用者:Hexirp|Hexirp]]([[利用者‐会話:Hexirp|会話]]) 2021年12月31日 (金) 04:04 (UTC) |
2021年12月31日 (金) 04:04時点における版
過去ログ一覧 |
---|
|
改善に向けて
私は、個人的な経験を根拠にして、現在は項目名が関数型言語であるのを関数型プログラミングへ改名すべきだと考えていますが、まだ調査を行っていないため改名提案を行える段階にありません。そのため、ここで調査した内容を記録し、今後の改名提案のための根拠を積み重ねたいと思います。--Hexirp(会話) 2021年2月25日 (木) 14:25 (UTC)
- 『Haskell入門 関数型プログラミング言語の基礎と実践』の 3 ページでは、関数型プログラミングが「関数型プログラミングとは、引数に対して値が決まる、数学的な関数を中心に計算を表現するプログラミングスタイルを指します」と説明され、関数型プログラミング言語が「一般に関数型プログラミング言語と呼ぶときは、数学的な関数の利用を推奨しているプログラミング言語を指します」と説明され、関数型言語が「関数型プログラミング言語* 3 * 4という言葉を……」という注釈で「* 3 略して関数型言語とも。」と触れられています。--Hexirp(会話) 2021年2月25日 (木) 14:25 (UTC)
- 2021年02月25日の時点において、引用符を付けることによって完全一致で Google 検索した結果は、「関数型」が約 411,000 件になり、「関数型プログラミング」が約 117,000 件になり、「関数型プログラミング言語」が約 65,600 件になり、「関数型言語」が約 146,000 件になりました。--Hexirp(会話) 2021年2月25日 (木) 14:25 (UTC)
- 2021年02月25日の時点において、命令型言語は命令型プログラミングへの転送になっています。--Hexirp(会話) 2021年2月25日 (木) 14:53 (UTC)
「関数型言語」は「関数型プログラミング言語」の略です。そして、関数型プログラミング言語は関数型プログラミングを前提とした概念であり、これらを別の項目に分ける必要はないはずです。よって、「関数型言語」から「関数型プログラミング言語」への改名は同義語であるため問題なく、「関数型プログラミング言語」から「関数型プログラミング」への改名はより一般的な概念を説明した記事への統合と見なせるため問題ないはずです。ゆえに、「関数型言語」から「関数型プログラミング」への改名は、知名度などを考えなければ、それを妨げる理由はないはずです。--Hexirp(会話) 2021年2月25日 (木) 14:53 (UTC)
- 2021年02月26日の時点において、英語版ウィキペディアでは functional language と functional programming language は functional programming へのリダイレクトになっています。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 2021年02月26日の時点においての内容で、出典として使われている文書を調査しました。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- Frequently Asked Questions for comp.lang.functional (archive) では、 "functional programming" が "Functional programming is a style of programming that emphasizes the evaluation of expressions, rather than execution of commands. The expressions in these language are formed by using functions to combine basic values." と説明され、続けて "functional language" が "A functional language is a language that supports and encourages programming in a functional style." として説明されています。ここでの "programming in a functional style" は "functional programming" のことで良いでしょうから、この文書では、関数型言語は「関数型プログラミングをサポートしており。さらに積極的に勧めているような言語」と説明されていることになります。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- プログラミング言語論 第1回 イントロダクション (archive) では、「関数モデルに基づくプログラミング言語」が「関数型言語」であると読み取れる内容になっています。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- プログラミング言語論 第7回 関数型言語 (archive) では、用語の定義はありませんでしたが、「関数型プログラミング言語」と「関数型言語」が同一視されている内容になっています。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 関数 (F#) | Microsoft Docs (archive) では、「関数型言語」の定義を見つけることは出来ませんでした。「関数型言語」という言葉は現れず、「関数型プログラミング」と「関数型プログラミング言語」という言葉が現れるのみです。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 「ANSI C/C++辞典」は、まだアクセスすることが出来ていません。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- Haskell's overlooked object system (archive) において、「関数型言語」の定義を見つけることは出来ませんでした。文章の中で検索した結果、 "functional" は 55 個見つかり、 "functional programming" は 14 個見つかり、 "functional programming language" は 1 個見つかり、 "functional language" は 3 個見つかりました。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 「プログラミングはフォン・ノイマン・スタイルから解放されうるか?: 関数型プログラミング・スタイルとそのプログラム代数」は、関数型プログラミングという概念が最初に現れた文章であるという記述が見つかり、重要な文書であると思われるものの、まだアクセスすることが出来ていません。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 2021年02月26日の時点において、オブジェクト指向言語はオブジェクト指向プログラミングへの転送になっています。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- "functional programming" は「関数型プログラミング」に、 "functional programming language" は「関数型プログラミング言語」に、 "functional language" は「関数型言語」に、それぞれ対応すると思っても良いでしょう。よって、英語でのこれらの言葉の調査は日本語においてもそのまま参考にすることが出来ます。--Hexirp(会話) 2021年2月26日 (金) 06:49 (UTC)
- 「プログラミングはフォン・ノイマン・スタイルから解放されうるか?: 関数型プログラミング・スタイルとそのプログラム代数」の原語版である Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs (archive) では、 "functional programming" は 13 個ありましたが、 "functional programming language" と "functional language" はありませんでした。--Hexirp(会話) 2021年2月26日 (金) 12:17 (UTC)
- 関数プログラミングの妙味 (archive) では、 "Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs" が関数型プログラミングの始まりだとされています。--Hexirp(会話) 2021年2月26日 (金) 12:17 (UTC)
改名提案(関数型プログラミングへ)
「関数型言語」という項目名を「関数型プログラミング」へ改名することを提案します。この提案は、現時点では「関数型プログラミング」の記事が存在しないため改名提案の形になっていますが、その意味合いとしては「関数型言語」を「関数型プログラミング」へ統合するというものです。
- 現在の項目は、冒頭の定義部が「関数型言語は、関数型プログラミングを基本スタイルとするプログラミング言語の総称である」となっています。
- 『Haskell入門 関数型プログラミング言語の基礎と実践』の 3 ページにおいて、関数型プログラミングは「関数型プログラミングとは、引数に対して値が決まる、数学的な関数を中心に計算を表現するプログラミングスタイルを指します」と説明され、関数型プログラミング言語は「一般に関数型プログラミング言語と呼ぶときは、数学的な関数の利用を推奨しているプログラミング言語を指します」と説明され、関数型言語は「関数型プログラミング言語* 3 * 4という言葉を……」という注釈で「* 3 略して関数型言語とも。」と触れられています。
これらの二つの根拠から、関数型言語(関数型プログラミング言語)の概念を説明するためには、関数型プログラミングという概念を説明することが不可欠であると考えられ、前者が記事として存在しているにも関わらず後者が存在していないのは異常な状態です。この状態を解消するためには、「関数型プログラミング」の項目を別途作成する選択肢もありますが、そうすると「関数型言語」の項目を「関数型プログラミング」の項目へ統合する必要が出てくると思われ、また日本語版の「関数型言語」の項目が「関数型プログラミング」を説明する場を兼ねてきたこともあります。これらの事情があり、この場合は「関数型言語」を「関数型プログラミング」へ改名すべきだと考えます。--Hexirp(会話) 2021年2月26日 (金) 13:11 (UTC)
一週間以上待っても反対意見がなかったため、改名を行いたいと思います。--Hexirp(会話) 2021年3月8日 (月) 12:13 (UTC)
関数型プログラミングの履歴に複数の版があったため、移動依頼を提出しました(Special:Diff/82249668/82258083)。--Hexirp(会話) 2021年3月8日 (月) 12:32 (UTC)
えのきだもつさんにより移動が行われました。--Hexirp(会話) 2021年3月9日 (火) 07:06 (UTC)
歴史の節での見出しをどうすればよいのか
歴史の節を執筆しています。その中で、いくつかの時代に分けて見出しを付けたいのですが、そのやり方に悩んでいます。現在は Hudak 1989 を参照しており、これが前提になっています。
内容 | ラムダ計算について | LISP について | ISWIM について | APL について | FP について | 問題点 |
---|---|---|---|---|---|---|
1 | 1930 年代 | 1950 年代 | 1960 年代 | 1960 年代 | 1970 年代 | 重要な出来事が強調されない。年代を跨ぐ記述が起こり得るため、その時にどうすればいいのか分からない。ただし、プログラミング言語界隈は変化が早いため、出来事が始まった年を使えば問題ないかもしれない。 |
2 | ラムダ計算 | LISP | ISWIM | APL | FP | 言語で分割すると、 LISP などは開発が長期間に渡っているため、記述が時系列順にならない可能性がある。 Hudak 1989 は、この形式であるため、これを参照する限りは問題が起こらないが、別の出典を使うときに言語の分類などの微妙な問題が起こる可能性がある。 |
3 | コンピュータ以前 | ラムダ計算以降 | LISP 以降 | LISP 以降 | ISWIM 以降 | 独自研究である。その期間に起こった出来事ではなく、直前に起こった出来事に見出しが依存してしまう。 |
4 | ラムダ計算の登場 | LISP の登場 | ISWIM の登場 | ISWIM の登場 | FP の登場 | 独自研究である。重要な出来事が強調される。案 3 での問題は起こらない。 |
私としては案 1 か案 4 を選びたいと思います。取り敢えずは案 1 にしています。--Hexirp(会話) 2021年3月14日 (日) 13:27 (UTC)
出典が明示されていない記述の追加について
利用者:82chidnoels(会話 / 投稿記録 / 記録) さんによって行われた一連の編集 (Special:Diff/83712225/87264028) ですが、出典が明示されていない記述が大幅に増えております。方針「五本の柱」と方針「検証可能性」とガイドライン「出典を明記する」に照らし合わせて望ましくない変更であるため、内容を Special:Permalink/83712225 にまで差し戻すことを提案します。 -- Hexirp(会話) 2021年12月30日 (木) 12:47 (UTC)
- コメント 非専門家なので一旦賛否は避けますが、出典付き記述も微妙に表現が変えられている点がとても気になっています。例えば冒頭の「関数型プログラミング言語」について「本間, 類地 & 逢坂 2017, p. 3」を引いて、変更前は「関数型プログラミングを推奨しているプログラミング言語」から、変更後は「このスタイルに準拠した言語」(※このスタイル=数学的な関数の適用を中心としたスタイル)と変更されています。この出典が手元にあるわけではないので確認したいんですが、この変更は許容されるレベルのものなのでしょうか?一般論として「推奨」と「準拠」では厳しさに差があると思うのですが。最悪パターンとして、変更前もしくは後の執筆者が、出典の中身を一切確認せず出典として載せており、出典になっていることが嘘である状態になっていないかを、一番危惧しています。--青子守歌(会話/履歴) 2021年12月30日 (木) 14:27 (UTC)
- 「本間, 類地 & 逢坂 2017, p. 3」の所だけなら技術評論社のページのサンプルで確認できます。「を推奨している」から「に準拠している」への変更については青子守歌さんに同意します。やはり、「推奨」と「準拠」ではニュアンスが違いすぎて許容されないと思います。なお、余談ですが、当時の私は「関数型プログラミングは数学的な関数を利用するスタイルである」と「数学的な関数を利用するのを推奨するのが関数型プログラミング言語である」という旨の記述を組み合わせて「関数型プログラミング言語は、関数型プログラミングを推奨しているプログラミング言語である」というようにしたのだと思います。 -- Hexirp(会話) 2021年12月31日 (金) 04:04 (UTC)