Simple is as simple does (JEP draft 8323335)

Brian Goetz brian.goetz at oracle.com
Wed Feb 21 14:41:10 UTC 2024


Agree this is a better name.

As to the "bucket of what" question, we had a very deliberate target in 
mind: we did *not* want this to become the catch-all "statically 
imported" bucket (which would rapidly become an attractive nuisance), so 
we chose a targeted name to make it clear that this was about a narrow 
set of things that are useful to the specific situation of IO from 
simple programs.

> SystemIO is the best suggestion thus far. If you ever do add anything 
> to this class, you don't tie yourself down to the beginner-like name. 
> If one day a useful primitive comes to light that is not so Simple, 
> this class might still be the best place to put it. Really, this class 
> is at it's best when it's a bucket of useful primitives, especially 
> ones that complement each other. Not opening the can of worms for 
> "what", as we've gone fairly off topic from the original threads intent.
>
> On Wed, Feb 21, 2024, 3:47 AM Stephen Colebourne 
> <scolebourne at joda.org> wrote:
>
>     I do agree that "Simple" isn't the best prefix here, and "Basic" is a
>     bit better,
>
>     But I personally prefer SystemIO, as it
>     (a) links the concept to the existing System class, which they will
>     likely see or have seen by Googling
>     (b) introduces the concept of the "system" that the code is running on
>
>     ie. I think "System" is a better on-ramp name as it actually leads to
>     the "real thing"
>
>     Yours bikeshedderly,
>     Stephen
>
>
>     On Tue, 20 Feb 2024 at 21:01, Brian Goetz <brian.goetz at oracle.com>
>     wrote:
>     >
>     > I was all ready to dismiss this as just bikeshedding, but your
>     clever up-front disclaimer convinced me to hang with you :)
>     >
>     > I think what you are saying here is that we've set a trap for
>     ourselves by claiming the word "simple", which, as we've seen, is
>     subject to "everyone interprets it in a way to support their own
>     preference."  Fair point; naming matters, especially when setting
>     direction.
>     >
>     > I am not as optimistic as you that if we called this "BasicIO",
>     whether we wouldn't get the same arguments, but your point is
>     taken: the goal here is not simplicity, it is about putting in
>     place some very basic IO primitives which can be built upon, which
>     do not depend on either other library abstractions (Scanner,
>     Console, StringTokenizer), which are reasonably symmetric with
>     respect to input and output, and which do not require explanation
>     of static fields in order to use for the first time.
>     >
>     > These characteristics serve both students and "scripts", in that
>     they address the most basic console IO needs without ancillary
>     abstractions.
>     >
>     >
>     >
>     > On 2/20/2024 12:39 PM, Eirik Bjørsnøs wrote:
>     >
>     > Hi,
>     >
>     > I acknowledge the following is easy to dismiss as just
>     bikeshedding, but please hang with me:
>     >
>     > Is labeling something as "simple" an effective naming practice,
>     especially in a pedagogical context like we are faced with in this
>     JEP?
>     >
>     >> simple: adjective
>     >> 1. easily understood or done; presenting no difficulty.
>     >> "a simple solution"
>     >
>     >
>     > First, let me be bold and claim that nothing in programming is
>     "easily understood or done; presenting no difficulty". Anyone
>     claiming so has clearly lost empathy with the beginning learner! ;-)
>     >
>     > Second, the lable "simple" suggest something about the things
>     not fitting into the "simple" bucket. If not simple, what are
>     those things? Difficult?
>     >
>     > Third, "easily understood" very much depends on who is trying to
>     understand. It may change over time as the learner gains
>     understanding and experience. Simple to Alice might not be simple
>     to Bob.
>     >
>     > ...
>     >
>     > As any complainer, I'm also too lazy to do the work to find a
>     better alternative. But perhaps "basic" could be a starting point:
>     >
>     >> basic: adjective
>     >> 1. forming an essential foundation or starting point; fundamental.
>     >
>     >
>     > This seems more stable to time, context and experience.
>     Something fundamental can be trusted to stay fundamental for a while.
>     >
>     > Thanks (any sorry!),
>     > Eirik.
>     >
>     >
>     >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-dev/attachments/20240221/2f5f5331/attachment-0001.htm>


More information about the amber-dev mailing list