It is known that the java.applet package is now obsolete and browsers will no longer support Java applets. There are many suggestions about using HTML5 and JavaScript instead of Applets and I think the HtmlCanvas element, input controls and accessibility using DOM are enough to construct similar functionality.
Addition to this, I really want to have satisfactory answers for these questions:
1 - What is the real reason of removing the Applet support? Is it related to the Java reflection? (because of the possibility of changing security privilages and other things by accessing to objects at runtime)
2 - Is there any Applet virus that uses a kind of vulnerability mentioned in 1? Is there a publicly available source code of an Applet virus?
3 - If the basic reason is vulnerabilities, can we consider the evolution of Java uncontrolled or was under lack of successful design? What would have been if the Java was open sourced before the Java Applets are considered as vulnerable? (After end of the Applet support, Oracle announced that they will continue the similar functionality with Java Web Start technology instead of Applets, however after Java 9, they announced they will remove the support for Java Web Start again.
4 - Embedding external objects such like Flash and Java Applets is another problem in mobile platforms. Is this a reason for removing the support?
Most of us liked Applets and found them useful in many cases including education and maybe we can be careful at design (if it is the problem of design of course) to prevent future problems in programming languages.
Thank you in advance.
Edit: I know, in this stackoverflow entry, there is a similar questions and answers for given in items 1,2, and 4; but I want to extend this issue with regard to design problem, extending the language in an uncontrolled way, importance of opening the code and changing licenses, why does software tests are not enough for a good software especially in programming language design, what kind of processes are needed to add new features in a programming languages without side effects (like vulnerabilities etc) etc.