RFC: JEP JDK-8208089: Implement C++14 Language Features
thomas.stuefe at gmail.com
Mon Oct 8 19:42:47 UTC 2018
On Mon, Oct 8, 2018 at 8:32 PM Kim Barrett <kim.barrett at oracle.com> wrote:
> > On Oct 8, 2018, at 6:48 AM, Thomas Stüfe <thomas.stuefe at gmail.com> wrote:
> > Hi Kim,
> > is this JEP only about C++14 features or shall we discuss older
> > features too? The reason I am asking is that I would like us to
> > officially endorse namespaces. Not inline namespaces, just plain old
> > namespaces.
> I would like to keep this JEP focused on C++11/14 usage.
> However, it presently describes a process for recording and updating
> HotSpot usage. I think that process is pretty close to the de facto
> process, which is rarely used successfully because it's not written
> down anywhere.
> We could extract that part of the JEP out, formalize, discuss, agree,
> and record it. Then you could propose a change and there would be a
> process for dealing with the proposal, rather than having it slide
> into oblivion because we don't know how to proceed. And the JEP could
> be made a bit smaller because it could just refer to that process.
Yes, I would like that. It would be really good to have a process in
place to preserve and actually live a consensus about what features we
We have the Hotspot Style Guide, but we let it become woefully
outdated in the face of new developments. I always smile when I read
the "Be sparing with templates." remark - that ship has sailed long
A small remark to the text of your JEP:
"As a rule of thumb, permitting features which simplify writing, and
especially reading, code should be encouraged."
I would like to add to that that simplifying build error analysis
should also be a goal. That directly influences programmer
productivity. We had some cases in the recent past where we spent a
lot of time scratching our heads over walls of template related
(not sure how to reach this goal though, since this seems to be a
problem inherent in using C++ templates).
Best Regards, Thomas
More information about the core-libs-dev