java / devrel Goto Github PK
View Code? Open in Web Editor NEWJava DevRel feedback
Home Page: https://inside.java
Java DevRel feedback
Home Page: https://inside.java
The default imports are a subset of jshell default imports (/imports
), we should document which are the PG default imports.
Other
Other
No response
Leave blank
Hi! I was trying to quickly try something with the playground and stumbled upon the following issue:
When trying to execute the following code snipping in the playgroud, I get an error report stating A string is not properly closed
. However, as probably visisble, all string in the example are properly closed and the code executes just fine a regular jshell:
System.out.println("https://google.de".concat("hello-world?x=y"));
| Welcome to JShell -- Version 22.0.1
| For an introduction type: /help intro
jshell> System.out.println("https://google.de".concat("hello-world?x=y"));
https://google.dehello-world?x=y
This seems to be somehow related to the double slash in the first string, as the following executes just fine:
System.out.println("https:/google.de".concat("hello-world?x=y")); // works
System.out.println("/".concat("hello-world?x=y")); // works
System.out.println("//".concat("hello-world?x=y")); // doesn't work
Windows
Chrome
No response
No response
When viewing the links on https://inside.java/, I can see
However, opening this redirects to JEP 463
Furthermore, JEP 464 (Scoped Values) is current Proposed To Target
and not Targetted
.
Windows, shouldn't matter
Firefox, RSS feed
No response
The following source code
var foo = "😄";
results in the error "Something is wrong!? Please try again." However, trying again produces the same error.
For reference: this is valid Java. Using JShell, I can write:
jshell> var foo = "😄"
foo ==> "😄"
Related is that using an emoji anywhere in code produces the "Something is wrong!?" error message, rather than a more specific error message that might better describe the real problem. Here are some examples of invalid code that have their issues masked by "Something is wrong!?":
var 😄 = "foo";
System.out.😄("Hello world!")
😄
macOS
Firefox
No response
Java Playground makes Java more accessible than ever by running in the browser and supporting code snippets and example templates. This is great for learning, experimenting, demonstrating, sharing - exactly what Java needs to attract and keep users and showcase Java in the best possible light.
However, much of what makes Java compelling is the platform and tools, not just the language. Showing Java via simple JavaScript tools can be self-defeating: it hides much of the platform, shows Java in a limited and less engaging way and implies that the best way to write Java is with another language.
Java Playground needs to add a basic set of 'standard modern IDE features' - and it needs to be implemented in Java itself, so this new site shows Java as powerful, flexible, exciting and makes it easy to write code. After all, modern tooling was invented in Java and it is much of what keeps developers excited.
I'm suggesting that dev.java consider changing the foundation of Java Playground to use SnapCode, a free in-browser code editor, written entirely in Java - running in the browser. It has these modern features already:
- Full code completion
- Support for balancing and highlighting paired chars (quotes, parens, brackets, etc.)
- Support for highlighting instances of selected symbols (variables, method names, etc.)
- Support for inline error reporting
- Support for in-browser UI coding (buttons, sliders, textfields, lists, tables, trees, etc.)
- Support for in-browser command line and chatbot processing (System.in / Scanner)
- Support for advanced charting (line, contour, 3D, etc.)
- Support for turtle/pen graphics, vector graphics and 3D programming in Java
- Support for quick access to documentation and library source
- Support for external library dependencies
- Support for UI building
- Support for debugging
- Support for graphics profiling (frame rate, painted region highlighting, etc.)
- Support for quick share of code snippets with encoded URL
- Support to show code as "Puzzle pieces" for visual drag-and-click code editing
- Ability to run on the desktop
- Much more!
Click to run SnapCode: https://reportmill.com/SnapCode/app/
I know the reaction might be "this is beyond our scope". But it's "Java Playground", not "Java Toy". Playgrounds are expansive, full-featured and inspiring - the limitation should be user imagination, not the tool. And I would love to help out.
Jeff at ReportMill
If you just put the character 😄 in a text prompt and hit Run, the Playground freezes.
For reference: doing this is JShell provides the following:
jshell> 😄
| Error:
| illegal character: '\ud83d\ude04'
| 😄
| ^
| Error:
| reached end of file while parsing
| 😄
| ^
macOS
Firefox
No response
No response
The title says it all: The default character encoding of the Dev.Java Playground’s console pane is US-ASCII. For maximum compatibility, it should be UTF-8.
Run:
System.out.println( System.out.charset() ) ;
US-ASCII
So of course characters in Unicode beyond ASCII are garbled.
Run:
System.out.println( "Kıvanç Aydoğan" ) ;
K?van? Aydo?an
Solution: Default the charset
of the console pane to UTF-8.
macOS
Safari
Leave blank
I have to move my hands from the keyboard, grab the mouse, and click the Run and Clear buttons.
Afterwards I have to click the text area to continue editing.
Consider adding a keyboard shortcut such as Control + Return for launching Run and showing the keyboard shortcut as a tooltip.
Consider moving the keyboard focus back to text area after launching Run and Clear.
Windows
Firefox
No response
Leave blank
This might be a very tall order and out-of-scope of this playground,
but if the playground supports:
it becomes as powerful Java alternative to Python's Jupyter notebook or Kotlin's notebook, making it much easier to teach the Java language to new students.
Linux
No response
No response
Leave blank
In the following snippet:
Collection<String> numbers = List.of("one","two","three");
numbers.remove("two");
System.out.println(numbers);
An unsupported operation exception must be thrown.
Linux
Chrome
Leave blank
The following statements
System.out.println("| " + Runtime.version());
System.out.printf("| %s%n", Runtime.version());
lead to
| 21+35-LTS-2513
java.io.PrintStream@314c508a| 21+35-LTS-2513
which contain an unexpected java.io.PrintStream@314c508a
output (the value returned by System.out.toString()
) start of the second one.
Other
No response
No response
No response
Thanks for the playground, it is quite handy.
I would like to request the ability to persist and generate URLs that link to user-created snippets.
This will make it possible to quickly prototype something and share it with one's colleagues or even on the internet.
The Golang playground offers this functionality e.g. https://go.dev/play/p/-MKUWeDBml7
Other
No response
No response
No response
The RSS feed on inside.java is broken again.
Specifically, there's an error on (currently) column 1 of line 199.
When viewing the content in an editor, I see a unicode special character there.
The article this is happening is JFR View Command - Sip of Java.
The last code block (containing Java Thread Statistics
) has an invalid unicode character.
Go to https://inside.java/feed.xml
Observe that the XML content is not valid
Windows
custom RSS reader, Firefox, Chrome
No response
For some time now blog posts containing links to JEP's and other articles redirect automatically.
Users should decide if they want to open the link after they read the short review.
This prevents Feedly from reading the short review as well.
I'd like to suggest that the playground display what version of Java is being run and if any preview features are enabled.
It was not immediately obvious that Java 21 was what was being used. I had to test whether things like list.reversed()
worked. It would be much better if this were visible to the end user.
Here are two mockups of possible ways to show it.
It's also unclear whether any preview features are enabled. Having a way to show that would also be helpful.
macOS
Firefox
No response
In the "And the constant feature included in all JDK releases: Predictability" section, paragraph two:
"Oracle will not offer long-term support for JDK 22; we will provide updates until September 2023 when it will be superseded by Oracle JDK 23."
Year 2023 is behind us :)
Article Link: https://inside.java/2024/03/19/the-arrival-of-java-22/
Other
No response
No response
Please add a section to the playground page for "More Java Online sites".
SnapCode is a full free Java IDE running on a full Java JVM in the browser, complete with games, graphics, Swing and more. And it could really use the exposure. :-)
It would be nice to have some examples of current Preview features such as JEP 430 String Templates.
Windows
Firefox
No response
Leave blank
When a line of the output is too long, the output dialog can go out of bounds with weird scrolling.
Example code:
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
Output field:
when scrolling a bit to the right:
I would suggest to either add wrapping to the output field or allow horizontal scrolling inside it.
Windows
Firefox, Chrome
No response
Leave blank
When viewing the summary of Model Data Immutably and Transparently - Data Oriented Programming v1.1
, the link Model the data, the whole data, and nothing but the data - DOP v1.1
points to https://inside.java/2024/05/27/dop-v1-1-immutable-transparent-data/(/2024/05/29/DOP-v1-1-model-data) which doesn't exist. Instead, it should point to https://inside.java/2024/05/29/dop-v1-1-model-data/.
This is done correctly in the first article of the series.
Linux
Firefox
No response
I was playing around with the Java Playground, choosing different examples from the list. For some of the examples, it worked fine in my mobile but when I tried again for the same examples it failed throwing an error - "Something went wrong. Please try again". However, the error was occurring erratically with no specific steps to reproduce.
However, I did not encounter this error in the desktop.
Mobile Details
Redmi 9A
Android 10
Chrome
Other
Chrome
When viewing https://inside.java/2024/02/10/voxxxeddaycern-java-21-and-beyond/, I can see an escaped <iframe>
tag missing the text iframe
instead of the actual embedded content.
When curl
ing the site, I see the following HTML:
<p><width=”760” height=”428” src=”https://www.youtube.com/embed/mWs6CXYbI6c” title=”YouTube video player” frameborder=”0” allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen></iframe></p>
The RSS feed is affected as well.
Windows
Firefox, RSS reader
No response
When viewing https://dev.java/community/, I see the following text in the Java 21 Launch
section.
Java 21 is about to be released! Come celebrate it with us on the Java YouTube Channel on September 19th! From 13:00 to 21:00 UTC, we will be hosting an 8-hour live stream covering the launch of Java 21.
Since Java 21 has been released already, this information is outdated.
I am reporting this here since the devjava-content repository seems to not contain that part anyways.
Windows, shouldn't matter
Firefox, Chrome, shouldn't matter
No response
All articles in the DOP v1.1 series on inside.java contain a list of links to the other articles in that series in an "Article Series" or "Summary" section.
In the When to use Data-Oriented Programming v1.1, article, this list is missing at the bottom. Instead, it's present at the very top.
I don't know whether this should be fixed but it's kind of a weird inconsistency. For example, when someone wants to read all the articles sequentially, they might expect the next article to be listed at the end as this is the case with the other articles.
Linux
Firefox
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.