As a new JBang user, I want to understand the basics of writing and running scripts. What do I need to know about using external libraries, specifying Java versions for my scripts, and making my scripts runnable as commands? Additionally, from the FAQ, what is the core purpose of JBang and why might I choose Java for scripting over other languages?
Navigate to 'jbang.dev/documentation/'. Click on the 'Dependencies' link in the navigation menu. Read the content to understand how JBang handles external libraries (dependencies). Click on the 'Java Versions' link in the navigation menu. Read the content to understand how to specify a Java version for a script. Click on the 'Install Apps' link in the navigation menu. Read the content to understand how to install scripts as runnable commands. Click on the 'FAQ' link in the navigation menu. Identify and extract the answers to 'Why the name j’bang?' (for core purpose) and 'Why would I use Java to write scripts ? Java sucks for that…​ Use groovy, kotlin, scala, etc. instead!' (for choosing Java for scripting). Synthesize all collected information into a concise answer.
The agent successfully navigates to the 'Dependencies' page and explains that JBang manages dependencies using `//DEPS` annotations with Gradle-style locators or links to Git sources, and also supports `@Grab`. The agent successfully navigates to the 'Java Versions' page and explains that a specific Java version can be specified using the `//DEPS @Java` annotation (e.g., `//DEPS @Java 11`), and JBang can automatically download and install required JDKs. The agent successfully navigates to the 'Install Apps' page and explains that JBang allows users to install scripts as applications by adding them to the system's `PATH` using `jbang app setup` and `jbang app install`. The agent successfully navigates to the 'FAQ' page and states that JBang is named after 'shebang' and aims to bring similar functionality to Java, and that Java can be a good choice for scripting due to features like streams, static imports, IDE support, and debugging, without needing additional build tools. The synthesized answer is concise and accurately combines all the requested information.