Skip to content

Visual C++ 製品名を修正、及びRC除去#525

Merged
yumetodo merged 3 commits into
cpprefjp:masterfrom
sayurin:vsver
Mar 9, 2018
Merged

Visual C++ 製品名を修正、及びRC除去#525
yumetodo merged 3 commits into
cpprefjp:masterfrom
sayurin:vsver

Conversation

@sayurin

@sayurin sayurin commented Mar 7, 2018

Copy link
Copy Markdown
Contributor

RC以前の版を削除。わかる範囲で製品名を修正。
#524 の参考用に。

@faithandbrave

Copy link
Copy Markdown
Member

ありがとうございます。
念のため、私と @yumetodo さん以外からの意見待ちとして、一週間ほど置かせてください。
2018/03/14中くらいまで意見を募集してからマージします。

@yumetodo

yumetodo commented Mar 7, 2018

Copy link
Copy Markdown
Member

@akinomyoga 氏の意見を出来れば伺いたいところ。Qiitaにてその箇所の加筆をしていただいたので
https://qiita.com/yumetodo/items/8c112fca0a8e6b47072d/revisions/2

@akinomyoga

akinomyoga commented Mar 7, 2018

Copy link
Copy Markdown
Member

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 様からご指摘していただいたように正確でない点・一貫していない点もある (元々私的なメモだった為あまり気にしていなかった) ので、その辺りは修正する必要があります。

ただし、幾つかコメントをさせて頂きたい点は:

まず製品名が微妙に違っています。2003までは単体販売が行われており
Visual Studio .NET 2002 (Visual C++ 7.0) → Visual C++ .NET Standard
Visual Studio .NET 2003 (Visual C++ 7.1) RTM →
Visual C++ .NET Standard 2003
等でした。

というのには語弊があるように思います。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 という製品が含まれていたという構成でもありません。

2005以降はWebから無償ダウンロードとなっていて
Visual Studio 2005 (Visual C++ 8.0) RTM → Visual C++ 2005 Express
等でした。

これについても、C++ コンパイラは Express にしか入っていなかった訳ではありません。どれか一つの (C++ コンパイラを含む最小の) 製品名をつけるのではなく、全て列挙するかまたはこれらの製品群の総称として適当なものをつける方が理に適っているように感じます。

個人的な考えですが、もし製品群の総称をつけるのだとしたら、これはバージョンの表ですから、Visual Studio ~ のような Microsoft が一度にリリースする製品群の総称をつける方が一貫性を保ちやすいように感じます。もしその場合には、単体版・複数版の両方が提供されていたものに関しては、例えばなのですが、

Visual C++ を含む製品名
Visual Studio .NET 2003 (Visual C++ .NET 2003)
Visual Studio .NET (2002) (Visual C++ .NET)
Visual Studio 6.0 (Visual C++ 6.0) SP5
Visual Studio 97 (Visual C++ 5.0)

または

Visual C++ を含む製品名
Visual C++ .NET 2003 (Visual Studio .NET 2003)
Visual C++ .NET (Visual Studio .NET (2002))
Visual C++ 6.0 (Visual Studio 6.0) SP5
Visual C++ 5.0 (Visual Studio 97)

などとする方が親切に感じます。

@akinomyoga

akinomyoga commented Mar 7, 2018

Copy link
Copy Markdown
Member

また、ご指摘のように現在はVisual C++という製品はなく、Visual StudioのC++コンパイラのような表現が妥当だとは思いますが、 by @faithandbrave
Visual Studioに完全統合されて久しいですが、それでも以前の名称としてVisual C++は十分に認知されていると思います。 by @sayurin

これらについては、現在では製品名 (販売されているパッケージ名) ではないですが、例えばプロジェクトの新規作成画面に表示されますように "Visual C++" という名称を Microsoft が今でも使っていますから、"Visual C++" と書いてしまって問題ないように思います。

@yumetodo yumetodo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

スマホからだとdiff理解するのは無理そうだったので諦めていたが、今diff確認しました。

すでに @akinomyoga 氏が指摘している通り、"Visual C++ 2017 Update 1"なるものは存在しません。

@akinomyoga

Copy link
Copy Markdown
Member

あと、今気づいたのですが、今まで Update1 の様に Update と数字の間にスペースがありませんでしたが、スペースを入れたほうが良いですね…。その辺りもこれを機に直してしまって良いかなと考えます。

@sayurin

sayurin commented Mar 7, 2018

Copy link
Copy Markdown
Contributor Author

最低限、訂正したいのは

  • 表上の Visual C++ 2015 Update 5(実在しない組み合わせなので気になります)
  • Visual Studio 2010 Update1 → Visual Studio 2010 SP1
  • Visual Studio 2008 Update1 → Visual Studio 2008 SP1
  • Visual C++ 8.0 → Visual C++ 2005
  • Visual C++ 7.1 → Visual C++ .NET 2003
  • Visual C++ 7.0 → Visual C++ .NET
  • C/C++ Compiler 7.0 → Microsoft C/C++ 7.0
  • C Compiler 6.0 → Microsoft C 6.0
  • Windows Server 2003 SP1 DDK行の製品バージョン、Visual C++ バージョンを削除

です。あとはRC以前の削除。

C++実装についてのページのはずですが、Visual Studioの表記にこだわるべきということでしょうか?

@sayurin

sayurin commented Mar 7, 2018

Copy link
Copy Markdown
Contributor Author

というか、これだけのコメントが付くのに、表が追加される際にレビューはなかったのでしょうか?

@yumetodo

yumetodo commented Mar 7, 2018

Copy link
Copy Markdown
Member

表上の 502(実在しない組み合わせなので気になります)

これ 9317c1f からあるんですね、全く気が付かなかった・・・。

というか、これだけのコメントが付くのに、表が追加される際にレビューはなかったのでしょうか?

#485 が該当Issueですが、当時は

と議論のリソースがフル稼働していて、かつ現在進行形で続いているfilesystem周りの解説を @faithandbrave さんが書いていてパンクしていた気がします。私に関して言えばsaki7氏の管理者権限剥奪の一件で疲れた、ほんとにバカバカしくなっていた。

@akinomyoga

Copy link
Copy Markdown
Member

C++実装についてのページのはずですが、Visual Studioの表記にこだわるべきということでしょうか? by @sayurin

"こだわる" などではなくて、利便性や理に適っているかどうかで落とし所を見つけたいものです。どこまでの範囲を "C++処理系" と解釈するかの基準は分かりませんが、処理系という意味で言いますと実のところ "製品" の列も "製品バージョン" の列もいらなくて、"Visual C++ バージョン" / "_MSC_VER" / "_MSC_FULL_VER" の列だけで完結しているとも言えるのではないでしょうか。殊に "製品名" や "製品バージョン" の列があるのは、多くのユーザが素朴に把握している製品名と、処理系としての実際のバージョンを対応させるのに便利であるからと推察します。例えば、実際に C++ の処理系を導入しようと思って行うことは Visual Studio 2017 を入手してインストールすることなのですから、製品名はその手がかりになるような物の方が便利であり自然であるように感じます (もちろん、これは "私" の "現時点" での意見に過ぎません)。

というか、これだけのコメントが付くのに、表が追加される際にレビューはなかったのでしょうか? by @sayurin

表が追加された時にレビューを行ったメンバーは特に問題点を感じていなかった (気づいていなかった) ということではないでしょうか。もちろん、全てのメンバーが全ての PR について精査している訳でもありませんし、レビューしたからと言って完璧になることが保証されている訳でもありません。後になって気づくことも多々あるでしょうから、その時に現実的に対応できる範囲で処理していくというので、仕方のないことなのかなと思います。

@sayurin

sayurin commented Mar 7, 2018

Copy link
Copy Markdown
Contributor Author

すでに @akinomyoga 氏が指摘している通り、"Visual C++ 2017 Update 1"なるものは存在しません。 by @yumetodo

殊に "製品名" や "製品バージョン" の列があるのは、多くのユーザが素朴に把握している製品名と、処理系としての実際のバージョンを対応させるのに便利であるからと推察します。 by @akinomyoga

製品名という観点では、2012以降は製品名にエディションが含まれ例えば2017であれば

  • Visual Studio Enterprise 2017
  • Visual Studio Professional 2017
  • Visual Studio Community 2017

となっているのですが、この点を踏まえてどう記述すべきとお考えですか?

私としては表の上の行

このサイトでは Visual C++ 2015 Update 5 のように、製品の西暦バージョン + アップデート番号で表記する。

の記述をするぐらいであれば、表の「製品名」列をこのサイトで参照する名称にしてしまえばすっきりするのではと考えての提案だったのですが。ですのでこの部分も

厳密にはVisual C++はVisual Studioに統合されていて個別の製品名を持たなくなっているが、このサイトでは便宜上Visual C++と呼ぶ。

と一言触れるように修正しています。列名も「製品名」から「このサイトでの名称」もしくは単に「名称」ぐらいに変更するのもいいかもしれません。

@akinomyoga

akinomyoga commented Mar 8, 2018

Copy link
Copy Markdown
Member

となっているのですが、この点を踏まえてどう記述すべきとお考えですか?

総称として Microsoft が Visual Studio 2017 を使っているのでそれを使えば良いかなと何となく思っていたのですが、多くのユーザには Visual Studio 2017 ではピンと来なかったりするでしょうか。もしそうであれば全て併記するという手もあります。ただ、全て併記するとしても Update に関しては、Visual Studio Community 2017 Update 1 のような使い方は (殆ど) されず Visual Studio 2017 Update 1 などの名称で知られていますので、その辺りも妥協するかどうか考えなくてはなりません (最初のコメントで 「Microsoft が一度にリリースする製品群の総称をつける方が一貫性を保ちやすい」と書いたのは例えばこのようなことでした)。

列名も「製品名」から「このサイトでの名称」もしくは単に「名称」ぐらいに変更するのもいいかもしれません。

ああ、納得しました。もしかして、この議論はこのサイトの別のページから参照する時に、Visual C++: 2010 などなどの記述方法をしていることに端を発するのですね? 検索してみると ("Visual C++" site:cpprefjp.github.io - Google 検索) たくさんあるのですね。確かに Visual Studio 云々だと全く分からないので問題ですね…。

思いつきで書いていますが、例えば表を (Visual C++ 20?? 毎に) 分割するというのはいかがでしょう。Visual C++ 2017 の行が表中にたくさんあるぞと混乱したりせずに済みますし、いい加減に表も長くなって見にくくなっていた (そして今後も青天井で伸びていく) ので丁度良いかもしれません。また、例えば Visual C++ .NET (製品名) と書くか Visual C++ 2002 (このサイトでの名称) と書くか悩まなくて済みます。このサイトでの名称と製品名の対応も分かります。

表を分割する例

Visual C++ 2017

製品名 製品バージョン Visual C++ バージョン _MSC_VER _MSC_FULL_VER
Visual Studio 2017 Update 6 15.6 14.13 1913 191326128
Visual Studio 2017 Update 5 15.5.7 14.12 1912 191225835
中略 中略 中略 中略 中略
Visual Studio 2017 RC 14.10 1910 191024930

Visual C++ 2015

中略

Visual C++ 2002

製品名 製品バージョン Visual C++ バージョン _MSC_VER _MSC_FULL_VER
Visual Studio .NET (2002) (Visual C++ .NET) 7.0 7.0 1300 13009466
Windows XP SP1 DDK 1300 13009176

Visual C++ 6.0 以前

後略

@faithandbrave

faithandbrave commented Mar 8, 2018

Copy link
Copy Markdown
Member

エディションについてですが、implementationページの役割を述べます。このページは、コンパイラの実装状況ページ (implementation-status) およびリファレンスページに記載しているコンパイラにおいて、以下のことが目的となります。

  • Visual C++の場合は「2010」のようなバージョン表記からそのバージョンの自身の認識している形式のバージョンを調べられるようにすること、
  • それ以外のコンパイラの場合は、言語バージョンの切り替えをする方法を調べられるようにすること

Express/Standard/Professional/Enterprise/Communityといったエディションは、製品を購入するための情報であって、バージョンを調べる際には単に重複した情報となります。ですので、implementationページのバージョン表には少なくとも必要ない情報だと思います。

いまのところ、cpprefjpサイトのスコープには、各コンパイラの詳細な情報 (全てのコンパイルオプションの解説、Visual C++プロジェクトの作り方、Hello Worldまでの環境構築手順、バグ報告の仕方、リポジトリのURL、コンパイラ開発メーリングリストへの参加方法) などといったものは含まれていません。

@faithandbrave

Copy link
Copy Markdown
Member

表を分割する案について、本サイトをMarkdownで記述している目的のひとつとして、構文解析のしやすさがあります。
とくに表や箇条書きは、Webスクレイピングしやすい形式だと思います。

たとえばPythonのUnicodeライブラリは、 unicode.org のWebサイトにあるHTMLをパースして変換し、結合文字の対応表やその他辞書データを作成しています。

表を分割すると、そのようなことがしにくくなるのではないかという危惧があります。
cpprefjpサイトの作業でも、ページのソースコードがプレーンテキストであることから、スクリプトで全ページを一括変換のようなことをするので、表がひとつだと扱いやすくて助かります。

@akinomyoga

akinomyoga commented Mar 8, 2018

Copy link
Copy Markdown
Member

Visual C++の場合は「2010」のようなバージョン表記からそのバージョンの自身の認識している形式のバージョンを調べられるようにすること、

なるほど。そのような目的で言えば、実のところ製品バージョンや Visual C++ バージョンのようなユーザが知っても仕方のない情報は載せなくて、またこのサイトで _MSC_FULL_VER に依存する程の分解能の記述をするとも思われないので、却って以下のような単純な表の方が分かりやすいのかもしれません。確かに他の処理系との記述量のアンバランスは気になっていました。

このサイトでの名称 _MSC_VER
Visual C++ 2017 1910, 1911, 1912, 1913
Visual C++ 2015 1900
Visual C++ 2013 1800
Visual C++ 2012 1700
Visual C++ 2010 1600
Visual C++ 2008 1500
Visual C++ 2005 1400
Visual C++ 2003 1310
Visual C++ 2002 1300

@faithandbrave

Copy link
Copy Markdown
Member

_MSC_FULL_VERの扱いは難しいのですが、Visual Studio 2015のときに、Update番号が上がっても、_MSC_VERの値が変わらないことがありました。
そのため、「xxのバージョンからこの機能が入ったから、#ifで実装を切り替えるようにしよう」としたときに、_MSC_FULL_VERもチェックしないといけない状況があります。
おそらく、今後はそういったことは起こらないようには思うのですが、Visual Studio 2015を考慮して_MSC_FULL_VERでバージョン分けする実装をしていると、それを記載し続けることには一定の価値がありますね・・・。

@akinomyoga

Copy link
Copy Markdown
Member

なるほど。よく見るとこのページの下部に 2015 Update 2 以前と Update 3 以降のオプション指定の違いについて記述されているのですね。

@faithandbrave

Copy link
Copy Markdown
Member

製品バージョンとVisual C++バージョンも、話される文脈によってどちらも出てくることがあるのですよね (Visual C++ Team BlogやBoostのメーリングリストなどなど)。
リファレンスページに載せるバージョンは混乱回避のために「年でのバージョン + アップデートバージョン」という形式にしたのですが、いま記載されている列はどうしても必要になりますね・・・。

本サイトでのVisual C++バージョンの表記変更については、以下のIssueを参照してください。

@sayurin

sayurin commented Mar 8, 2018

Copy link
Copy Markdown
Contributor Author

リファレンスページに載せるバージョンは混乱回避のために「年でのバージョン + アップデートバージョン」という形式にしたのですが、いま記載されている列はどうしても必要になりますね・・・。

本PRで修正後の一番左の列がほぼほぼ #483 の表記と一致するのですが。登場頻度が低いと思われるVC++ 6以前についても年号で識別したい、ということはありませんよね?

一番左の列が製品名として正しくないと主張された @akinomyoga さん、 @yumetodo さんには #483 も踏まえて改めて本PRについて意見を聞きたいです。(列名は変えるとして。)

@akinomyoga

akinomyoga commented Mar 8, 2018

Copy link
Copy Markdown
Member

一番左の列が製品名として正しくないと主張された @akinomyoga さん、 @yumetodo さんには #483 も踏まえて改めて本PRについて意見を聞きたいです。(列名は変えるとして。)by @sayurin

#483 では "2017 Update 5" などの表記は議論されていますが、その前につくのが "Visual C++" であるような記述はないのですがいかがでしょうか。その意味では "Visual C++" の代わりに "Visual Studio" と書いても #483 との一致の度合いは変わらないように思います。というより、寧ろ #483 の議論の中では "Visual Studio 2015" や "Visual Studio 2017" などの名称が使用されています。また

製品バージョンとVisual C++バージョンも、話される文脈によってどちらも出てくることがあるのですよね (Visual C++ Team BlogやBoostのメーリングリストなどなど)。 by @faithandbrave

などの文脈で現れる用語との対応も重視するのだとしたら、寧ろ "Visual Studio ~" の方が分かりやすく感じるのですがいかがでしょう。

@akinomyoga

akinomyoga commented Mar 8, 2018

Copy link
Copy Markdown
Member

もし #483 を重視するのでしたら、Visual C++ や Visual Studio などを冠せず、単に "2017 Update 6" などの記述にするのが良いかもしれませんね。また、Visual C++ 6.0 以前や Windows DDK は削除してしまっても良いかもしれません。

@sayurin

sayurin commented Mar 8, 2018

Copy link
Copy Markdown
Contributor Author

追加情報でVS2013及びUpdate1が入手できたので確認しました。

[注2] Visual Studio 2013 Update1では_MSC_FULL_VERは変更されなかった。

とありますが、_MSC_FULL_VERが変更されなかったのではなく、 Visual Studio 2013 Update1ではコンパイラー、ヘッダー、ライブラリに更新はなく、IDE周りの修正だけでした。
Visual Studio 2017 Update1、Update2も変更がなかったように聞きましたが、こちらは確認していません。今となっては入手不可能かな…。

[注1] Visual Studio 2017では製品バージョンとVisual C++のバージョンが一致しない。

こちらは参考リンクとしてBinary Compatibility and Pain-free Upgrade: Why Moving to Visual Studio 2017 is almost “too easy”を挙げた方が適切かなと。

@faithandbrave

Copy link
Copy Markdown
Member

Visual C++とVisual Studioは、どちらで記載しても間違いではないと思いますが、少なくとも今後は公式からの情報としてVisual Studioという名称で記載されることが多くなると思いますので、Visual C++という表記に統一するようにしていると、新しくVisual StudioでC++をはじめた人にやさしくないかもしれませんね・・・。

@yumetodo

yumetodo commented Mar 8, 2018

Copy link
Copy Markdown
Member

まずそもそもVisual C++ ...というのは内部バージョンである14.12とかそういうのとひも付きやすく、Visual C++ 2017 Update 4は違和感があるということを再度表明しておきます。

もし #483 を重視するのでしたら、単に Visual C++ や Visual Studio などを冠せず、単に "2017 Update 6" などの記述が良いかもしれませんね。

そのほうがシンプルかもしれない。

Visual Studio の製品名 製品バージョン Visual C++ バージョン _MSC_VER _MSC_FULL_VER
2017 Update6 15.6 14.13 1913 191326128

@sayurin

sayurin commented Mar 8, 2018

Copy link
Copy Markdown
Contributor Author

もし #483 を重視するのでしたら、Visual C++ や Visual Studio などを冠せず、単に "2017 Update 6" などの記述にするのが良いかもしれませんね。また、Visual C++ 6.0 以前や Windows DDK は削除してしまっても良いかもしれません。

#483 の結果

このサイトでは Visual C++ 2015 Update 5 のように、製品の西暦バージョン + アップデート番号で表記する。

と記載されていますし、その数行上には

このサイトでは Visual C++ と呼ぶ。

もありますから、Visual C++ 2015 Update 5 が基本形で、文脈上Visual C++が自明な場合には省略形として 2015 Update 5 が許されると解釈していました。 @akinomyoga さんの主張としてはVisual Studioで統一した方がよいということでしょうか?

Visual C++ 6.0 以前の削除には反対です。Windows DDKは微妙…どういう意味でこれが挙げられたのか書いた人に聞いてみたいです。

@akinomyoga

Copy link
Copy Markdown
Member

@akinomyoga さんの主張としてはVisual Studioで統一した方がよいということでしょうか? by @sayurin

もし Visual C++ か Visual Studio のどちらかを冠するとしたら、実際に販売されていた製品名 (2005年以降なら Visual Studio) に統一して、それとは別にこのサイト内での表記 (西暦) の列をつけるのが良いかなという考えです。

ただ、他のページから Visual C++: 2010, 2012, 2013 などのように参照されていること、このサイトでの表記として 2017 Update 5 のように Update まで含む場合があることも考え合わせると、今の所は Visual C++ も Visual Studio もつけないのが分かりやすいのではないかという方向に傾いています。わざわざ全ての欄に Visual C++ を冠するのは情報としても冗長ですし、何らかの正式名称という訳でもありません。

Visual C++ 6.0 以前の削除には反対です。

そうですね。当サイトでの表記を今回のこの表で定義してしまうというのも良さそうです。

Windows DDKは微妙…どういう意味でこれが挙げられたのか書いた人に聞いてみたいです。

Windows DDK は元々 @yumetodo 様の _MSC_VERと_MSC_FULL_VERをまとめる - Qiita の記事に対して私が情報提供したものに含まれていました。それをそのままこのサイトに転載したときに入り込んだものです。元のページは 「_MSC_FULL_VER をまとめる」という目的がありましたので、その下で Windows DDK 付属のコンパイラに割り当てられている _MSC_FULL_VER の情報として意味がありました。しかし、このページにおいては目的が異なりますので、Windows DDK を載せることに改めて意味を見いだせるかは分かりません。

@akinomyoga

akinomyoga commented Mar 8, 2018

Copy link
Copy Markdown
Member

#483 の結果

このサイトでは Visual C++ 2015 Update 5 のように、製品の西暦バージョン + アップデート番号で表記する。

と記載されていますし、その数行上には

なるほど。これは看過しておりました。ご指摘ありがとうございます

@sayurin

sayurin commented Mar 8, 2018

Copy link
Copy Markdown
Contributor Author

少なくとも今後は公式からの情報としてVisual Studioという名称で記載されることが多くなると思いますので、Visual C++という表記に統一するようにしていると、新しくVisual StudioでC++をはじめた人にやさしくないかもしれませんね・・・。

製品名としてはVisual Studioですが、それを構成する1コンポーネントとして名前は残っていて Visual C++ ドキュメント、「Visual C++ 再頒布可能パッケージ」、「Visual C++ Team Blog」等、現在もコンテキストに応じてVisual Studio / Visual C++は使い分けられています。
ちょうどここにも画像を張りましたが、インストーラーでもVisual C++やVC++といった項目を選択する必要があります。また例えばVisual Studio 2017 Update6には

  • VC++ 2017 v141 toolset
  • VC++ 2017 version 15.4 v14.11 toolset
  • VC++ 2017 version 15.4 v14.12 toolset
  • VC++ 2015.3 v140 toolset

の4つのコンパイラバージョンが含まれています。これらをひとまとめにVisual Studio 2017 Update6と呼んでしまうのは不正確に思います。

@akinomyoga

Copy link
Copy Markdown
Member

2017 Update 6 などの記述は、"2017 Update 6 を適用した後に既定で選択されるコンパイラ" を表現する便宜上の名前ということなのかと思いますが、もし中に含まれているコンパイラが複数あることを考えますと、そもそも現在の分類方法は正しくないということになりましょうか。現在の 2017 Update 6, etc. 基準の列挙はやめて、v141 や v14.11 などをベースとして表を作り直した方が良いのでしょうかね

@yumetodo

yumetodo commented Mar 8, 2018

Copy link
Copy Markdown
Member
Visual C++ バージョン _MSC_VER _MSC_FULL_VER Visual Studio の製品名 (例) 製品バージョン(例)
14.13 1913 191326128 2017 Update6 15.6

とか?

@sayurin

sayurin commented Mar 9, 2018

Copy link
Copy Markdown
Contributor Author

もし中に含まれているコンパイラが複数あることを考えますと、そもそも現在の分類方法は正しくないということになりましょうか。現在の 2017 Update 6, etc. 基準の列挙はやめて、v141 や v14.11 などをベースとして表を作り直した方が良いのでしょうかね by @akinomyoga

そこも難しく、コンパイラの実装状況ページで参照している一次ソース Visual C++ 言語への準拠 などでは 2017 15.6 とVisual C++バージョンでなくVisual Studioバージョンで表されています。
ある製品に対し、それを表すバージョンが複数存在するため整理することこそが、この表が用意された目的と理解しています。

@yumetodo さんの案、表それ自体は正しいですしシンプルでいいと思うのですが、いくつか気になります。

Visual Studio の製品名列、Visual Studioの名を抜き「2017 Update6」としてしまうと、Visual Studioが軸となってしまいVisual C++ 6.0以前が浮いてしまいます。また縦に長いこともあり全体的に数字の羅列に見えてしまいまい、何を伝える表なのか閲覧者が読み取りづらくなります(googleabilityも低下します)。
Visual C++ バージョン列が先頭にあることでVisual C++ 6.0以前は浮かなくなりますが、数字の羅列の問題は残ります。


改めて書きますが、私からの提案は2点しかありません。

  • RC以前の情報は散発的で漏れもあり、必要性も低いため削除してはどうか?
  • 製品名列に誤りが多数ある。 MSVCのバージョンの書き方を変更したい #483 にて「このサイトでは Visual C++ 2015 Update 5 のように記載する」と決定されているのだから、製品名を修正しつつこの表記に統一してはどうか?

です。他の議論は別Issueとしたり、 #483 をreopenしたりしてはどうでしょうか?

@faithandbrave

Copy link
Copy Markdown
Member

RCの削除については、合意がとれていると思います。
このPull Requestでの「Visual Studio」から「Visual C++」への変更は、現在のルールに則ったものであると理解しましたので、この変更は受け入れられるものだと思います。

Update番号ではなくVisual C++バージョンをベースにするとかVisual Studioバージョンをベースにするとかの話は、 #483 で議論済みのことですので、そちらをreopenするか、それをベースに別のIssueを立てるかするのが適切だと思います。

Visual C++ 6.0やDDKを記載する必要があるかどうかも、別Issueで議論するのがよいと思います。
複数の議題が入り混じっていると、議論がたいへんだから、というのが理由です。

注釈をより正確に修正。
@akinomyoga

Copy link
Copy Markdown
Member

そうですね。現状でマージして、別 Issue で議論するということで異存ありません。

@sayurin

sayurin commented Mar 9, 2018

Copy link
Copy Markdown
Contributor Author

追加修正と注釈の更新をしました。

別Issueに向けて申し送り事項的なものを。
製品バージョン列ですが、タイトル通りであれば Microsoft C/C++ 7.07.0であるべきです。他方、この列はVisual Studioバージョンとして使われつつもあります。その場合、Visual C++ 4.2以前にはVisual Studioが存在しませんし、Visual Studio 97 (Visual C++ 5.0)のVisual Studioバージョンが5.0で正しいかどうかも自信ありません。
Windows DDKをご存じない方向けに説明すると、DDK; Driver Development Kitであり、デバイスドライバー開発用のツールキットです。Visual C++ 2005 Express Editionが登場するまでコンパイラは有償だったため、無償提供されているもので何とかコンパイル環境を構築できないかということで目を付けたのがDDK付属のコンパイラでした。マニアックすぎるとも思いますが、情報を網羅する観点では意義があります。

@yumetodo

yumetodo commented Mar 9, 2018

Copy link
Copy Markdown
Member

とりあえずMargeしてしまいます。この表について議論の余地があるのは確かですが、別のIssueでということで合意が取れたと理解しました。

@yumetodo yumetodo merged commit dcecf33 into cpprefjp:master Mar 9, 2018
@yumetodo yumetodo changed the title Visual C++ 製品名を修正 Visual C++ 製品名を修正、及びRC除去 Mar 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants