-
Notifications
You must be signed in to change notification settings - Fork 113
The list of required criteria that any private-property proposal must meet. #205
Comments
It seems hard to fit proposals like @rdking's or @zenparsing's into all the criteria above; or can we? Maybe the list can be made more generic. Or maybe those proposals are not concerned enough with all the things in the above list (but could be)? That's what this issue is for, and hoping that a definitive list can be made and added to FAQ. |
Again, please note, I'm not arguing about specific syntax! Obviously there's flaw in my examples, and my examples aren't necessarily consistent (f.e. (Sorry, maybe I should not have put so many syntax examples there, but it seemed like an easy way to explain) |
Yes, the FAQ contains many of the requirements, though as I've been saying in other threads, it's sort of epistemologically impossible for us to fully prove that we should take these requirements and not others. If there's a requirement that's missing, we can discuss that in particular and work on documenting it, but I don't think a list format would be more clear than the Q/A format than we have now (seeing how many objections we're getting from the other end about why something is a requirement).
I don't understand where you get the idea that this has been a strong driving factor. Nevertheless, JavaScript will continue to exist within a culture, and be influenced by culture (whether we make decisions that go with or against the grain). Decisions in programming language design are inherently subjective. It's not productive to continue to reopen issues on topics we are discussing in other threads and post at length. This is not a philosophy debate club; we're trying to work on a project and deliver features to help users. To keep the repository organized and useful, so we can focus on issues like #183, #179 and #176, I'm closing this issue. |
@littledan I think you may be under a false impression. This thread seems to have been yet another attempt to get an itemized list of requirements. The FAQ is more of a rationale document that attempts to explain why certain more popular, more conventional approaches were not taken. While that may encompass the elements of the requirements, it is certainly not a clear list that anyone can look at and understand what must and must not be true for a successful private data proposal. If how I feel is any measure, I doubt there's many if any who feel any further debate will have an effect on the apparently immutable decisions that have been made. We would however, still like to know the points that were considered critical. This would at least help us to understand why other proposals (that to many in the community are simply superior in most ways to the one chosen by TC39) were not considered acceptable. |
@littledan What Ranando describes is what I'm asking for:
@rdking You explained what I wanted very well. Thanks! Dan, if Ranando were to open a new issue explaining this his way, would you also close it? Is the issue here worthy of being closed? By closing an issue early, the issue becomes limited to who will see it and thus who will have less input from the outside. What's your thought on a practice where issues are given some time being being closed? Perhaps a week or two?
|
Is there a concrete list of technical requirements that anyone proposing a proposal can use for reference? (This would be great to add the FAQ, but I don't think the FAQ itself is that list in the fullest form).
If the list doesn't exist, and will soon be made, then what are the required criteria aside those that relate to disambiguating from other languages.
If JavaScript was suddenly going to be the only language and C++/Java/PHP/etc were all suddenly going to disappear and we were free to implement the privacy on top of existing JavaScript in any way we wished, what criteria would make the private property feature be the best it could be?
I'll start making one. The goal is to end with a very concrete list that anyone making any future proposal can use for reference.
a. both
.
and[]
for accessing the properties regardless of visibilityb. object spread
c. destructuring
d. etc
I'll try to explain with examples. They may have issues, but they serve to get the idea of the criteria across. I'll use
!!
andprivate
for private, and#
andprotected
for protected in these examples. The syntax ideas here are only a subset of many possible ideas, but the main point is to get the criteria across, not as much to suggest the specific syntax.!!
can be replaced with@
, and@
can be replaced with##
, etc, if there's any cross-language concerns. But as I've mentioned this criteria should avoid considering outside languages, and focus on the ideal set of criteria for JavaScript as if JavaScript were the last language after the language apocalypse.After the criteria are established, then external languages can be factored in. Some criteria can be considered for a later proposal, but the initial proposal should be designed so that the possible future criteria can fit into the picture instead of being impossible or very hard to add later.
1) already explained well enough in other issues.
2) no example needed
3)
You may think having both sigil and keyword options is as ugly as some people think having just a sigil is, but that's the least of our concerns to be honest. The functionality is what will win long term.
4a)
4b)
4c)
5)
6)
7)
8)
9)
The text was updated successfully, but these errors were encountered: