Visual C++ 製品名を修正、及びRC除去#525
Conversation
|
ありがとうございます。 |
|
@akinomyoga 氏の意見を出来れば伺いたいところ。Qiitaにてその箇所の加筆をしていただいたので |
|
RC/Preview の削除に関しては妥当かなと考えます。 製品名の書き換えに関しては、もう少し工夫はできないものでしょうか。例えば、"Visual C++ 2017" は "Visual Studio 2017" の一部として含まれると考えることはできるかもしれませんが、果たして "Visual C++ 2017 Update 1" という名称が ("Visual Studio 2017 Update 1" の一部に含まれて) 存在していると考えることはできるのでしょうか。また、Visual Studio に関しては中に含まれていると考えられる Visual C++ の名称を採用する一方で、Windows DDK などに関してはそれを含む側の名称を採用していたり、Visual C++ 5.0 のみ Visual Studio 97 の併記があったりと、一貫性を改善する余地があるように考えます。 当初、私が提供した表にあった製品名には "それを含む販売されていた製品の名称" が記述されていました。そういう意味で、変更前の方が一貫性はあるように感じるのです。ただ #524 で @sayurin 様からご指摘していただいたように正確でない点・一貫していない点もある (元々私的なメモだった為あまり気にしていなかった) ので、その辺りは修正する必要があります。 ただし、幾つかコメントをさせて頂きたい点は:
というのには語弊があるように思います。Visual Studio 97 以降、Visual Studio .NET 2003 までは単体版も複数言語版も両方販売されていたはずです。製品名の正確さを考えますとコンパイラを含んでいた製品は、Visual Studio .NET 2003 Professional だとか Enterprise だとか、または Visual C++ .NET Standard 2003 だとか複数あったはずです。また、Visual Studio .NET 2003 Professional という製品に Visual C++ .NET Standard 2003 という製品が含まれていたという構成でもありません。
これについても、C++ コンパイラは Express にしか入っていなかった訳ではありません。どれか一つの (C++ コンパイラを含む最小の) 製品名をつけるのではなく、全て列挙するかまたはこれらの製品群の総称として適当なものをつける方が理に適っているように感じます。 個人的な考えですが、もし製品群の総称をつけるのだとしたら、これはバージョンの表ですから、Visual Studio ~ のような Microsoft が一度にリリースする製品群の総称をつける方が一貫性を保ちやすいように感じます。もしその場合には、単体版・複数版の両方が提供されていたものに関しては、例えばなのですが、
などとする方が親切に感じます。 |
これらについては、現在では製品名 (販売されているパッケージ名) ではないですが、例えばプロジェクトの新規作成画面に表示されますように "Visual C++" という名称を Microsoft が今でも使っていますから、"Visual C++" と書いてしまって問題ないように思います。 |
yumetodo
left a comment
There was a problem hiding this comment.
スマホからだとdiff理解するのは無理そうだったので諦めていたが、今diff確認しました。
すでに @akinomyoga 氏が指摘している通り、"Visual C++ 2017 Update 1"なるものは存在しません。
|
あと、今気づいたのですが、今まで |
|
最低限、訂正したいのは
です。あとはRC以前の削除。 C++実装についてのページのはずですが、Visual Studioの表記にこだわるべきということでしょうか? |
|
というか、これだけのコメントが付くのに、表が追加される際にレビューはなかったのでしょうか? |
これ 9317c1f からあるんですね、全く気が付かなかった・・・。
#485 が該当Issueですが、当時は
と議論のリソースがフル稼働していて、かつ現在進行形で続いているfilesystem周りの解説を @faithandbrave さんが書いていてパンクしていた気がします。私に関して言えばsaki7氏の管理者権限剥奪の一件で疲れた、ほんとにバカバカしくなっていた。 |
"こだわる" などではなくて、利便性や理に適っているかどうかで落とし所を見つけたいものです。どこまでの範囲を "C++処理系" と解釈するかの基準は分かりませんが、処理系という意味で言いますと実のところ "製品" の列も "製品バージョン" の列もいらなくて、"Visual C++ バージョン" / "_MSC_VER" / "_MSC_FULL_VER" の列だけで完結しているとも言えるのではないでしょうか。殊に "製品名" や "製品バージョン" の列があるのは、多くのユーザが素朴に把握している製品名と、処理系としての実際のバージョンを対応させるのに便利であるからと推察します。例えば、実際に C++ の処理系を導入しようと思って行うことは Visual Studio 2017 を入手してインストールすることなのですから、製品名はその手がかりになるような物の方が便利であり自然であるように感じます (もちろん、これは "私" の "現時点" での意見に過ぎません)。
表が追加された時にレビューを行ったメンバーは特に問題点を感じていなかった (気づいていなかった) ということではないでしょうか。もちろん、全てのメンバーが全ての PR について精査している訳でもありませんし、レビューしたからと言って完璧になることが保証されている訳でもありません。後になって気づくことも多々あるでしょうから、その時に現実的に対応できる範囲で処理していくというので、仕方のないことなのかなと思います。 |
製品名という観点では、2012以降は製品名にエディションが含まれ例えば2017であれば
となっているのですが、この点を踏まえてどう記述すべきとお考えですか? 私としては表の上の行
の記述をするぐらいであれば、表の「製品名」列をこのサイトで参照する名称にしてしまえばすっきりするのではと考えての提案だったのですが。ですのでこの部分も
と一言触れるように修正しています。列名も「製品名」から「このサイトでの名称」もしくは単に「名称」ぐらいに変更するのもいいかもしれません。 |
総称として Microsoft が Visual Studio 2017 を使っているのでそれを使えば良いかなと何となく思っていたのですが、多くのユーザには Visual Studio 2017 ではピンと来なかったりするでしょうか。もしそうであれば全て併記するという手もあります。ただ、全て併記するとしても Update に関しては、Visual Studio Community 2017 Update 1 のような使い方は (殆ど) されず Visual Studio 2017 Update 1 などの名称で知られていますので、その辺りも妥協するかどうか考えなくてはなりません (最初のコメントで 「Microsoft が一度にリリースする製品群の総称をつける方が一貫性を保ちやすい」と書いたのは例えばこのようなことでした)。
ああ、納得しました。もしかして、この議論はこのサイトの別のページから参照する時に、 思いつきで書いていますが、例えば表を (Visual C++ 20?? 毎に) 分割するというのはいかがでしょう。Visual C++ 2017 の行が表中にたくさんあるぞと混乱したりせずに済みますし、いい加減に表も長くなって見にくくなっていた (そして今後も青天井で伸びていく) ので丁度良いかもしれません。また、例えば Visual C++ .NET (製品名) と書くか Visual C++ 2002 (このサイトでの名称) と書くか悩まなくて済みます。このサイトでの名称と製品名の対応も分かります。 表を分割する例
|
|
エディションについてですが、implementationページの役割を述べます。このページは、コンパイラの実装状況ページ (implementation-status) およびリファレンスページに記載しているコンパイラにおいて、以下のことが目的となります。
Express/Standard/Professional/Enterprise/Communityといったエディションは、製品を購入するための情報であって、バージョンを調べる際には単に重複した情報となります。ですので、implementationページのバージョン表には少なくとも必要ない情報だと思います。 いまのところ、cpprefjpサイトのスコープには、各コンパイラの詳細な情報 (全てのコンパイルオプションの解説、Visual C++プロジェクトの作り方、Hello Worldまでの環境構築手順、バグ報告の仕方、リポジトリのURL、コンパイラ開発メーリングリストへの参加方法) などといったものは含まれていません。 |
|
表を分割する案について、本サイトをMarkdownで記述している目的のひとつとして、構文解析のしやすさがあります。 たとえばPythonのUnicodeライブラリは、 unicode.org のWebサイトにあるHTMLをパースして変換し、結合文字の対応表やその他辞書データを作成しています。 表を分割すると、そのようなことがしにくくなるのではないかという危惧があります。 |
なるほど。そのような目的で言えば、実のところ製品バージョンや Visual C++ バージョンのようなユーザが知っても仕方のない情報は載せなくて、またこのサイトで
|
|
|
|
なるほど。よく見るとこのページの下部に 2015 Update 2 以前と Update 3 以降のオプション指定の違いについて記述されているのですね。 |
|
製品バージョンとVisual C++バージョンも、話される文脈によってどちらも出てくることがあるのですよね (Visual C++ Team BlogやBoostのメーリングリストなどなど)。 本サイトでのVisual C++バージョンの表記変更については、以下のIssueを参照してください。 |
本PRで修正後の一番左の列がほぼほぼ #483 の表記と一致するのですが。登場頻度が低いと思われるVC++ 6以前についても年号で識別したい、ということはありませんよね? 一番左の列が製品名として正しくないと主張された @akinomyoga さん、 @yumetodo さんには #483 も踏まえて改めて本PRについて意見を聞きたいです。(列名は変えるとして。) |
#483 では "2017 Update 5" などの表記は議論されていますが、その前につくのが "Visual C++" であるような記述はないのですがいかがでしょうか。その意味では "Visual C++" の代わりに "Visual Studio" と書いても #483 との一致の度合いは変わらないように思います。というより、寧ろ #483 の議論の中では "Visual Studio 2015" や "Visual Studio 2017" などの名称が使用されています。また
などの文脈で現れる用語との対応も重視するのだとしたら、寧ろ "Visual Studio ~" の方が分かりやすく感じるのですがいかがでしょう。 |
|
もし #483 を重視するのでしたら、Visual C++ や Visual Studio などを冠せず、単に "2017 Update 6" などの記述にするのが良いかもしれませんね。また、Visual C++ 6.0 以前や Windows DDK は削除してしまっても良いかもしれません。 |
|
追加情報でVS2013及びUpdate1が入手できたので確認しました。
とありますが、_MSC_FULL_VERが変更されなかったのではなく、 Visual Studio 2013 Update1ではコンパイラー、ヘッダー、ライブラリに更新はなく、IDE周りの修正だけでした。
こちらは参考リンクとしてBinary Compatibility and Pain-free Upgrade: Why Moving to Visual Studio 2017 is almost “too easy”を挙げた方が適切かなと。 |
|
Visual C++とVisual Studioは、どちらで記載しても間違いではないと思いますが、少なくとも今後は公式からの情報としてVisual Studioという名称で記載されることが多くなると思いますので、Visual C++という表記に統一するようにしていると、新しくVisual StudioでC++をはじめた人にやさしくないかもしれませんね・・・。 |
|
まずそもそも
そのほうがシンプルかもしれない。
|
と記載されていますし、その数行上には
もありますから、 Visual C++ 6.0 以前の削除には反対です。Windows DDKは微妙…どういう意味でこれが挙げられたのか書いた人に聞いてみたいです。 |
もし Visual C++ か Visual Studio のどちらかを冠するとしたら、実際に販売されていた製品名 (2005年以降なら Visual Studio) に統一して、それとは別にこのサイト内での表記 (西暦) の列をつけるのが良いかなという考えです。 ただ、他のページから
そうですね。当サイトでの表記を今回のこの表で定義してしまうというのも良さそうです。
Windows DDK は元々 @yumetodo 様の _MSC_VERと_MSC_FULL_VERをまとめる - Qiita の記事に対して私が情報提供したものに含まれていました。それをそのままこのサイトに転載したときに入り込んだものです。元のページは 「 |
なるほど。これは看過しておりました。ご指摘ありがとうございます |
製品名としてはVisual Studioですが、それを構成する1コンポーネントとして名前は残っていて Visual C++ ドキュメント、「Visual C++ 再頒布可能パッケージ」、「Visual C++ Team Blog」等、現在もコンテキストに応じてVisual Studio / Visual C++は使い分けられています。
の4つのコンパイラバージョンが含まれています。これらをひとまとめに |
|
2017 Update 6 などの記述は、"2017 Update 6 を適用した後に既定で選択されるコンパイラ" を表現する便宜上の名前ということなのかと思いますが、もし中に含まれているコンパイラが複数あることを考えますと、そもそも現在の分類方法は正しくないということになりましょうか。現在の 2017 Update 6, etc. 基準の列挙はやめて、v141 や v14.11 などをベースとして表を作り直した方が良いのでしょうかね |
とか? |
そこも難しく、コンパイラの実装状況ページで参照している一次ソース Visual C++ 言語への準拠 などでは @yumetodo さんの案、表それ自体は正しいですしシンプルでいいと思うのですが、いくつか気になります。 Visual Studio の製品名列、Visual Studioの名を抜き「2017 Update6」としてしまうと、Visual Studioが軸となってしまいVisual C++ 6.0以前が浮いてしまいます。また縦に長いこともあり全体的に数字の羅列に見えてしまいまい、何を伝える表なのか閲覧者が読み取りづらくなります(googleabilityも低下します)。 改めて書きますが、私からの提案は2点しかありません。
です。他の議論は別Issueとしたり、 #483 をreopenしたりしてはどうでしょうか? |
|
RCの削除については、合意がとれていると思います。 Update番号ではなくVisual C++バージョンをベースにするとかVisual Studioバージョンをベースにするとかの話は、 #483 で議論済みのことですので、そちらをreopenするか、それをベースに別のIssueを立てるかするのが適切だと思います。 Visual C++ 6.0やDDKを記載する必要があるかどうかも、別Issueで議論するのがよいと思います。 |
注釈をより正確に修正。
|
そうですね。現状でマージして、別 Issue で議論するということで異存ありません。 |
|
追加修正と注釈の更新をしました。 別Issueに向けて申し送り事項的なものを。 |
|
とりあえずMargeしてしまいます。この表について議論の余地があるのは確かですが、別のIssueでということで合意が取れたと理解しました。 |
RC以前の版を削除。わかる範囲で製品名を修正。
#524 の参考用に。