3 ms·
Well I was 9 years old in 1995, didn't get the internet until 1999, and only started programming in 2001 (and even then it was Perl + C) so that was an honest q
by smcl 3y ago
Well I was 9 years old in 1995, didn't get the internet until 1999, and only started programming in 2001 (and even then it was Perl + C) so that was an honest question from someone who didn't experience any of this first-hand.
If one of its original use-cases was to facilitate some kind of browser/applet integration then fair enough. But in the linked article there are only vague references to this that sound a bit weird or confused, like "the scripts would glue together an assortment of Java applets" or like "JavaScript will allow us to easily create personalized applets for the Excite service".
I found some docs @ Oracle from ~2013 that demonstrate calling some applet methods, but I can't tell if that is a later addition or was present from the start: https://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html https://docs.oracle.com/javase/tutorial/deployment/applet/in...
edit: looks like Bill Joy himself said "JavaScript will be the most effective method to connect HTML-based content to Java applets" in the article, but I'm still curious how deep this connection is, or if it's just hand-wavy "our new tech is great and I have to tie it to another currently-popular tech somehow"
- skrebbel 3y agoFwiw if you really are asking an honest question, consider not calling things a little far-fetched, esp if said things were true. Anyway, I’m your age so I’m not 100% sure either but my understanding is that applets, for quite a while, were considered the software delivery platform of the future. Just open a webpage and get an entire end-user program running right there, no downloading or installing, nothing. It turned Netscape into something of a universal app store and people were very excited. JavaScript very much was intended to let the rest of the web page interface with the software program (the applet) running on it. Your excite quote shows a key use case: ship a generic compile applet in a site which contains user-specific data, write a little JavaScript to send the data to the applet and poof, it’s personalized! Magic. That success never happened though (and I’m not sure why), and most uses of applets I saw were of slow, ugly navigation menus with hover effects and stuff like that.
- smcl 3y agoThis isn't debate club or a courtroom, there aren't rules on how we can share how something sounds to us in an informal setting like this. If you want a nice discussion consider being a bit more polite, less confrontational and assuming good faith.
- bazoom42 3y agoThe intention was that Java components could be combined and scripted through JavaScript. Such a component-based development model had proven succesful in Visual Basic, and Netscape hoped to create something similar for client-side web development.
- smcl 3y agoI think where I was confused is that the applets were already programmable and interactive, so I'm just not sure what throwing JS into the mix brings. But it could be that there's some functionality it gained (XHR, perhaps?) in the intervening period that it lacked at the time.
- bazoom42 3y agoThe thinking was that JavaScript was a scripting language and therefore much simpler to use than Java. So web designers who were not professional programmers could combine a few predesigned Java applets and script them using JavaScript. Of course these days with package managers and build systems and TypeScript, JavaScript is a lot more complex than Java ever was.
- genezeta 3y agoYes, applets were already interactive and programmable. But they sort of ran "in a box", like Flash. So you have this particular rectangle in the page, inside of it something runs and works and does its thing... but outside of it, the rest of the page knows nothing of that. What JavaScript was supposed to bring into the mix was that you might have a Java applet doing some "heavy-lift" stuff and then, you'd use the results of that to operate on other elements in the page. Like maybe you'd update a form, or some data in the HTML, or whatever. Also, obviously, the other way around. You might have some HTML controls that would then feed user data into the applet. Yes, you could do everything inside the applet, but this offered an additional option.