I was researching and answering as a Java Developer. Following to the abilities you want to discuss: Java has them ALL.
- A language that works cross platform (desktop and mobile)
Java is the most Cross Platform Language on the Market.
- Allows use of declares since no language will have 100% customization of all methods and controls
allows.
- Can create dll’s, so, etc.
Can create DLL with Ahead of time compiler
- Allows implementation of future libraries. An example is the Vulkan graphics library has been created for quite a while, and has not been converted to many other languages. Should conversion be needed?
every Java Library can be implemented, every C/C++ Lib can be wrapped
- Drag-and-drop control interface.
Java Swing and JavaFX both supporting Drag and Drop
- Allow mostly full control customization from IDE
Customization of all of the IDE is extremely flexible more than for all other Languages
- Allow use of interrupts
Java allows it
- multi core, processor execution
Threading works like a charm with Java
- The structure of the language will need to be simple
Java is simple
- Have a context-sensitive online/offline help system
All IDE have it (IntelliJIdea, Netbeans, Eclipse)
- Have an intellisense system to complete commands at the current location
All IDE have it
- Allow easier implementation with Microsoft’s Component Object Model (COM)
Works with Java without problems.
- Have the code allowed to be modified by contributors, while maintaining a ‘gatekeeper’. An example is someone can create code for the language and the ‘language gatekeeper’ will be allowed to check and implement the code or run tests and show that the code is ‘too buggy’. No individual person or team can create all the code needed for the many applications in the wild anymore.
Java and JavaFX are Open Source
- Have a high speed-of-execution.
Java reaches the Speed of Execution of C++ and is highly optimized
- The ability to execute machine code
Depends: do you want to load the machine Code at startup or dynamically within runtime, for both you’ll find Java libraries
- The language should be verbose and human-readable
It is a point to discuss: Java is human readable if Xojo Code is. And Xojo Code is. You should take out this question more precise to make it more directed for me to answer.
- Once an internal method has been created, it is not deprecated. Overloading can be implemented.
One of the Java Specialities
- Will create native executables (eg: .exe on Windows, etc)
With Ahead of Time Compiler Java can compile native executables.
- Allowed to create websites which execute programs quickly. No long delays between starting and loading webpages
Using Java and Wicket or Java and Play or Java and Vaadin makes this more then possible. Fast and reliable. Google GWT generates Javascript and is even more performant.
- The language can be implemented to control other languages (example: VBA in Excel, Word, etc.)
Java can be implemented in every situation you want to implement. Also there are ways for implementation of Python and PHP.
- Ability to report bugs, and 1) contribute to make the code work, or 2) allow the database to record and keep the data for fixing/reporting bugs
Both is given with Java.
- Uses 32 and 64 bit programming (There is soooo much code for 32-bit programming that is used and can be converted to 64-bit, and this can’t be ignored.)
Depends on what you are doing.
- Easy to install the IDE (doesn’t need to install 15 supporting libraries/programs to be installed)
Installing JFormdesigner, IntelliJIdea and Java JDK. ready.
- Easy to install the final completed program (possibly an internal innosetup-ish-like program?)
In both Cases, ahead of time and Compiled with Runtime installation is easy on all platforms. Using jar Files is even more easy cause they are Platform independent.
- Have one large line of code that can be saved in text (similar to the VB6-type code). Having multiple areas of code (press pushbutton action event will only show code in the action event is poor in my personal opinion)
Depends on the settings of the IDE and has nothing to do with the Language itself.
- Debugging data shown in hexadecimal format.
If you want you can get it.
- The development team will need to use each of the operating systems (creating the language on one operating system and porting it to others has MANY issues for native OS users)
We are developing with MacOS, Linux and Windows Systems from all platforms for all platforms. With simple jar Files the programs are running on all platforms as is. No issues no effort no timeless.
- Low startup time for the IDE (not waiting 2 minutes to load a large program)
IntelliJIdea needs for Startup on macOS on M1 MacBook Air 10 seconds.
- Allow updates to the program, as updates to the IDE/programming language can break existing code
Java allows Updating of the Applications. I had in the last 20 years only a few changes which even made changes in application code affordable.
- Ability to support/create plugins
Load every Lib and Plugin you find.
- Allows code to be organized, and clearly maintained (Ability to make modules, classes, etc)
Java delivers this on Delight. Better is not really possible.
- Did I say backward compatibility yet? If I did, its worth saying it twice
My Database Application for Patient Management for a Hospital division is written in Java 15 and backward compatible to Java 11. Changing 5 Lines of Code made it running on Java 8.
- Allows creation of reports
Jasper Reports are genius
- Allows the ability to use creation templates for making programs (possibly wizards or making custom templates)
Possible and used in my Software Development every day.
- Code highlighting and syntax colouring
All IDE have it (IntelliJIdea, Netbeans and Eclipse)
- Low memory and size of final program
My Autorouter has a size of 6 MB.
- Must execute graphics fast
Java Graphics System is fast and furious
- Allow the use of code examples (VB6 still has billions of code examples)
Look on the Java Forums and you will find much more Code examples than for VB6
There is more that I can add, and this is a good start. I hope this helps further the discussion