トーク:D言語

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

改稿の方針について[編集]

この項目の改稿を企てているのですが、その方針について少し意見を一致させたほうが良いと思いここに書き込んでいます。現状、この項目はプログラミングをしたことがない人向けに書かれているものに見えます。しかし実際問題としてD言語に触れる人間はほぼ全員が何らかのプログラミング言語を触ったことがあり、プログラミングに対する知識はあるのではないでしょうか。そこで、例えば変数の説明やif文の説明をするよりも、言語仕様の説明に重点を置いたものに改稿したいのですが、いかがでしょうか。--Angol Mois 2020年6月22日 (月) 13:33 (UTC)

特に異論はないため賛成します。 --Semi-Brace (トーク) 2020年6月22日 (月) 14:04 (UTC)
すじにくシチューのコメント :)反対します。対案としてwikibooks『C++』の目次みたいに、プログラミングを始めて学ぶ初心者むけの単元と、既にある程度のC言語プログラミングを知っている中級者むけの単元との2種類の単元を作るのが良いかと思います。根拠は下記のとおりです。
D言語ツアーと重複する
公式チュートリアルのD言語ツアーにて、すでに、何らかのプログラミング言語に触れた事のある人のための説明は無料公開されています。また、詳細な説明もD言語自体の公式サイトにあります。なので、wikibooksで同じことを別途やっても重複するだけです。公式サイトと同じことなら公式サイトにプルリク(GitHub用語、D言語コミュニティで何と言うのか知らんです)などすれば済むのであり、わざわざwikibooksでオリジナルの著作物を作る必要は無いと思います。著作というのは、まだ無い未知の物を作ってこそ著作です。単に既存の言説をマネて既存の理論どおりに構成するだけなら、そこらの中学生・高校生のレポート課題と変わりないです。
市販の入門書では、他言語の前提知識は抑えるのが当然
また、市販の他プログラミング言語の入門書でも、if文や変数の説明は、たとえ概略を1行だけであっても、説明を行います。「変数とは値を格納するものです」のように説明があります。カットシステム社の『やさしいGo言語入門』や『やさしいKotlin入門』も、そういった構成になっています。
最低限、カットシステム社の説明のように1~2行ていどでの用語の定義の文は、必要でしょう。
wikiのメンテナンス性
C言語やC++などD言語以外の言語を前提としてしまうと、D言語の記事のメンテナンスの際、C言語やC++など他ページの仕様まで確認やメンテナンスを行う手間が生じ、メンテナンス性が低下する可能性があります。メンテナンス性を向上させるため、カットシステム社の本のように、C言語とは独立した説明をすべきです。なお、あくまで「参考」情報などとして、C言語などとの類似点や相違点などを、派生的に言及するぶんには構わないと思います。ですがD言語の記事の主導権はあくまでD言語自体がとるべきです。たとえ執筆の時点では正しいCの記述であっても、年月が経つとCの規格変更とDの規格変更など、それぞれの規格の変更が起き、記事と実態との不整合が起きます。そういう場合のメンテも考え、D言語の教材の主導権をD自身にゆだねるべきです。そのための手段は簡単であり、カットシステム本のように、単に各章や各用語の冒頭に、1~2行ていどの定義を、Cを前提としないで書くだけで済みます。
C言語のif文や変数の概念も、将来的にどうなるかは不明です。いまはD言語とC言語のif文や変数の仕組みが似ているからといっても、その類似はまったく将来の保証はされていないのです。D言語自身、理念としてCとの類似性は積極的には目指していないと思います。推測ですが、単にD言語開発者のコダワリが無い部分は、Walter Bright氏が自身のキャリアでよく扱っていたC言語の仕組みをマネただけに過ぎないと思います。
D言語はC/C++系とは独立した言語である
またD言語は、C言語のバッドノウハウを引きずらない事こそが理念であり、意義です。そのためC言語やC++のwikibooksと同程度には、D言語でもCの知識を前提としない初心者むけに説明をしたコンテンツも必要だと考えます。たとい現時点では不要でも、教育は将来を考えて行うものです。教育は100年後も見据えて行うという格言もあります(教育は国家百年の計)。「いま不要だから」なんて言い出したら、そもそもシェアの低いD言語じたいが、もはや不要になりかねず、自己否定につながります。(プログラム言語の人気ランキングでは、トップ10には入ってすらいない)
その他
ググッタところ、詳細版の公式ガイドの日本語訳は見つからないので、wikibooksでC言語知識を前提にD言語解説したコンテンツを作るのも、それはそれで意義があると思います。いちおう外部ウィキで『D wiki』というサイトは見つけましたが、翻訳システムが無く英語限定のようなので、wikibooksで詳細な日本語テキストを新規に(ライセンス互換性が無いため(GNU FDLライセンスなので)新規に、です)、ともかく新規に作ったほうが早いと思われるので。
C++の学習なら、予備知識はC言語の初歩だけで済みます。しかしD言語の学習の際に、C++とC言語の2つの言語を予備知識にするのは、学習者には負担が重いかと思います。
そもそも仕様の説明は、仕様書などで行うべきです。それは単に、公式サイトの仕様一覧を和訳すれば済むことです。教科書としての意義がありません。目的を履き違えています。仕様の説明をwikibooksでまとめたいなら『D言語/仕様』のようなサブページを作成して、そこにまとめるべきです。--すじにくシチュー (トーク) 2020年6月23日 (火) 06:50 (UTC)
では、現在記述されている内容の一部は「クイックガイド」のように別ページに移動し、このページは未経験者向けの内容に書き換える方向性で良いでしょうか。将来的に内容が充実してきた場合、このページは目次になると予想されますが。--Angol Mois 2020年6月23日 (火) 07:51 (UTC)