JEP proposed to target JDK 11: 330: Launch Single-File Source-Code Programs (original) (raw)
Andrew Dinn adinn at redhat.com
Tue May 22 13:42:24 UTC 2018
- Previous message: JEP proposed to target JDK 11: 330: Launch Single-File Source-Code Programs
- Next message: JEP proposed to target JDK 11: 330: Launch Single-File Source-Code Programs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 21/05/18 16:41, Brian Goetz wrote:
I think this is mostly a "glass 5% empty" argument. Let's retrace our steps.
Before we 'retrace' may I ask: was that meant to be 5% or 50%?
The primary purpose is providing a reduced-ceremony path for developing and running simple programs. This streamlines learning (no need to learn about compilers before you can run your first Hello World), prototyping (the edit-run cycle is streamlined), and distribution (simple programs can be distributed and without additional packaging or tooling.) And all of this is accomplished without shebang support.
Is that comment offered as specification by diktat or does it reflect something that was previously discussed and justifiably concluded in the drawing up of this specification? I ask because, unfortunately, it comes across -- to me at least -- as the former. It certainly is not what I was expecting and hoping to hear given your use of the word 'retrace'.
Of course, whatever answer you give to that last question I would also suggest that the specification process is not really over until the JEP has been fully discussed by members of the project, that being what is happening in this thread, I believe.
Shebang support is an additional feature provided for deploying script-like programs -- which is necessarily at the end of their development phase. This allows you to drop a Java source in the file system, as part of the package installation process, as an executable. That's great, but at this point, the program is now a deployment artifact, not a development artifact. Adding the shebang line is the "packaging" step. But shebang is surely secondary to the main goals of this feature.
Once again, this comes across more as the necessity of /your/ diktat than one driven by actual logic. Logically, you cannot legitimately dismiss the concerns of those who disagree with you simply by stating that it's a necessity -- or even a well-known fact -- that your perception of things is valid and theirs is invalid. Tautology or contingent truth really need to be backed with reason and/or evidence.
Indeed, when it comes to your specific assumption here it seems to me a fairly routine matter to observe that much -- perhaps most -- software does not manifest a clear, one-off lifecycle change from development to deployment. Could you provide a reasoned justification as to why the assumption behind this JEP is that this is how users will actually employ the proposed capability?
I agree than in an alternate world, we could have made different choices around the goals, but I see no new evidence that we chose the wrong design center. If pressed, I'd be more inclined towards dropping shebang completely than infecting the language with it, but I think the present position is a more pragmatic compromise.
I am afraid that adopting pejorative terms like 'infecting' doesn't really make your case stronger. If anything it looks like rhetoric picked precisely to mask weak or non-existent argument. As, indeed, does emphasising that from this point over here -- where you happen to stand -- the view looks rosy when in fact the issue in question is whether there are grounds for adopting a different perspective.
I am happy to take Volker's suggestion and add an explicit non-goal to characterize the intended limits of shebang support. Well, yes, clearly you are happy to formalize your own conclusion. However, I recall Volker himself was not actually so, having offered this option as a last resort in face of your unwillingness to consider his preferred alternatives (I don't remember a lot of reasoned justification that time round either, but I acknowledge that may just be my bad recall). Clearly, given this thread, neither are some others happy with this conclusion. Your statement above, magnanimously conceding what amounts to little or nothing, looks yet again more like a rhetorical dodge than a legitimate justification for your position.
Could you please retrace your steps as initially promised and refer those reading this thread to whatever prior discussion and/or reasoning justifies your conclusion and invalidates that of those who oppose it?
n.b. Just to clarify why I am asking: I'm not particularly committed to having shebang support or otherwise. However, I am very strongly committed to having a clear and fair discussion of why it might or might not be supported.
regards,
Andrew Dinn
Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander
- Previous message: JEP proposed to target JDK 11: 330: Launch Single-File Source-Code Programs
- Next message: JEP proposed to target JDK 11: 330: Launch Single-File Source-Code Programs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]