Simple is as simple does (JEP draft 8323335)

David Alayachew davidalayachew at gmail.com
Wed Feb 21 19:24:12 UTC 2024


Touche. This class is strictly IO focused, and basic IO at that. And even
within that, the bar should be extremely high for what goes in this class.

But let me ask -- if many things meet that bar, do you feel there should be
a limit for how many enter the class?


On Wed, Feb 21, 2024, 9:41 AM Brian Goetz <brian.goetz at oracle.com> wrote:

> 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/1cd0f25f/attachment.htm>


More information about the amber-dev mailing list