[HN Gopher] Netscape and Sun Announce JavaScript (1995) ___________________________________________________________________ Netscape and Sun Announce JavaScript (1995) Author : brandrick Score : 597 points Date : 2020-12-04 12:12 UTC (10 hours ago) (HTM) web link (web.archive.org) (TXT) w3m dump (web.archive.org) | Aeolun wrote: | Damn, I was 7 at the time. And by the time I was 17, and just | starting to build websites, it still felt like Javascript was | barely a baby. | k__ wrote: | I was 10 when it came out and wrote my first line of JS with 18 | or something. It already felt dated to me at that time. | hnlmorg wrote: | I was....older....when it came out and so wrote my first | Javascript code around 96. Actually back then it felt like a | breath of fresh air. A way to run logic in the browser that | interacted with HTML. Nobody saw it as a replacement to Java | applets, Flash, Shockwave (anyone remember that plugin and | Macromedia Director?), etc but it did open the door to make | basic web pages a little more dynamic. | | Some time before 2000 (though I forget which year precisely) | I even submitted some Javascript to Planet Source Code | (anyone remember that website?) that simulated a Windows 95 | desktop; complete with interactive start menu and task bar. | That submission was the highest rated for that month and was | awarded some free software as a prize -- though I never | claimed that prize in the end. | | It's true that the early days of Javascript was rather | lacklustre (not helped with the the IE/Netscape wars) and | thus few people took it seriously as something that could | displace Java applets nor Flash. But it was still widely used | as something to make traditional web design a little more | flexible (eg Javascript refreshes). | | Part of my actually misses those days. Web design was simpler | in some ways (it was predominantly backend generated* HTML | with JS sprinkled about sparsely). Though I don't miss | browser incompatibilities -- even basic things like | displaying a table (not a grid of divs, a literal <table>) | was fraught with different browsers rendering the table | differently. | | * and in fairness, I was always more of a backend engineer | rather than frontend designer anyway | Orthw2020 wrote: | What bothers me is that they actually never apologised. A simple | statement of acknowledging the damage caused would do! | mabbo wrote: | I think they understand the repercussions. | | Imagine if you said that the pain and suffering of every | developer for the last 25 years was largely your fault. There | would be lawsuits. Class action. We'd all travel to come | testify. | krapp wrote: | >Imagine if you said that the pain and suffering of every | developer for the last 25 years was largely your fault. | | Hyperbole and nonsense. No one was "suffering" under | Javascript until Node and compile-to-js languages and the | Byzantine nightmare of a development environment that they | created came along. No one was shouting "Javascript Delenda | Est" when all you needed was an FTP account and a text editor | to configure a JQuery plugin. | | I mean, Javascript development used to be reasonably simple, | straightforward and fun. It's Silicon Valley's fault that it | no longer is, not the language. | ethbr0 wrote: | > _Silicon Valley 's fault_ | | Personally, I'd lay this at the "copy & paste, boot camp- | trained" webdevs community's feet, along with their | customers. | | Js has an unfortunate ecosystem dynamic where its primary | customers (I want to X on the web) don't understand it, so | its primary developers don't have any standardization | pressure (fragmentation / spaghetti at the wall), browsers | are forced to enable this behavior via monkey patching | standardization in presentation, so its end users (browser | users) are oblivious to everything under the hood. | | It's like the perfect storm of hidden sausage-making. | Gunax wrote: | Do you think it would be better if they did understand | it? | | You can be a Java dev for years (forever really) without | understanding how the JVM works. I don't see why the web | has to be any different. | ethbr0 wrote: | "They" was intended to be the customers: the clients | paying for development. | | Ime, the less visibility and knowledge customers have | into an implementation, the more opportunity there is for | developers (especially contract) to go off the rails. | | When the code behind "it works in my browser" is | completely opaque... that doesn't set up the best | technical incentives in the market. Past "minimize time- | to-deliver". | jp555 wrote: | Struggle sessions were still horrible Maoist actions back then, | not the "progressive" thing some call for them to be today. :P | netdur wrote: | For what? Imagine a world without Javascript? You have mini | extension in browser to just auto refresh gmail | 0xbadcafebee wrote: | Web browsers were not invented to be application platforms. | They were intended to view documents and click through them. | | Server-side applications (CGI) started the trend of the web | browser becoming an application interface. Javascript made | the web browser the application _platform_. But of course it | was not designed for this, so a million hacks have been added | to shore it up. To the point of literally including a | standard to ship arbitrary binary executable programs into | it. There used to be another tool and language which allowed | you to ship arbitrary binary executable programs to remote | systems... it was called Java. | | The Web is the best example in history of how successful turd | polishing can be. The global economy now rests on it. | wayneftw wrote: | > ...not invented to be application platforms. | | Phones were invented to only make phone calls. | | Coca-Cola was originally created as a way to counter | morphine addiction. | | Listerine was originally a floor cleaner. | | None of those were turds and neither is the web as an | application platform. Quite the opposite- Native apps suck | compared to web apps. The only native apps I personally use | besides the browser on my phone are Maps, Messages, Slack, | Camera/Photos and those are only because there's no other | choice. Imagine having to use an app instead of popping | open the web browser to order from Amazon? Yeesh | grishka wrote: | > Imagine a world without Javascript? | | That would've been a better world. Imagine the web that isn't | an application platform. (it still isn't, but it's being | actively shoehorned into becoming one) | [deleted] | cesarb wrote: | > You have mini extension in browser to just auto refresh | gmail | | That existed without JavaScript (and IIRC it was somewhat | common back when JavaScript was a novelty): <meta http- | equiv="Refresh: 60"> | ptx wrote: | Periodically tearing down the entire UI while the user is | in the middle of using it is a terrible user experience. | TomGullen wrote: | That's not how it was usually implemented though, you'd | have frameless iframes that refreshed - eg for chat rooms | etc | ptx wrote: | Did it preserve the scroll position when refreshing? If | so, that might be OK for a chat room. But an email inbox | is more interactive, so I think it would be jarring to | have that refresh as you're poking at it. | tonyedgecombe wrote: | _Imagine a world without Javascript?_ | | What a dream. | RobAley wrote: | Be the change you want to see. Your personal website linked | to from your HN profile consists solely of a Javascript | game ... :) | Jean-Philipe wrote: | I'd be afraid flash would come back. Ah, those | flashbacks... | grishka wrote: | Flash is better than JS to be honest. JS still hasn't | caught up with ActionScript. The only bad part about | Flash is that it's proprietary. | stolenmerch wrote: | I would agree that Actionscript 3 as an implementation of | ECMAscript is more of a delight than JavaScript as a | language which conforms to whatever version of | ECMAscript. But compiling to VMs in the browser? Never | again. | recursive wrote: | When flash was focused, my keyboard shortcuts didn't | work. I hated it just for that. | hutzlibu wrote: | Out of curiosity, what language would have replaced | Javascript in you dream? | untog wrote: | This notion always makes me laugh. Which is better, Google | Maps or the old MapQuest pages that had arrows and reloaded | the entire page when you wanted to move the map? I know | which one I prefer. | _fat_santa wrote: | If we had a world without Javascript it would probably be | some nightmare with SaaS companies building their apps in | Flash or something. | simias wrote: | That was called an IMAP client. It was fine. | anoncake wrote: | It's still fine. | [deleted] | gspr wrote: | > You have mini extension in browser to just auto refresh | gmail | | Why would I ever want to touch a webmail interface with a 3 m | pole? | Wowfunhappy wrote: | I'm pretty sure the GP was joking. | ddevault wrote: | >For what? Imagine a world without Javascript? | | What a pleasant way to begin my day. Thank you for this | moment of bliss. | viktorcode wrote: | It was supposed to be Scheme in the browser, not an | inconsistent typeless error-prone mess. | PopeDotNinja wrote: | Development would be so much faster without JS. It could be | done in a Flash. | dang wrote: | Please don't post unsubstantive and/or flamebait comments to | HN. | | https://news.ycombinator.com/newsguidelines.html | logicchains wrote: | Its created got fired from his job as CEO for creating it, | isn't that punishment enough? | paulryanrogers wrote: | Eich wasn't fired for making JS. He was fired because of some | political donations and opposing same sex marriage. | DonHopkins wrote: | Mozilla didn't fire Brendan Eich. He resigned of his own | free will, against the Mozilla board's request that he | stay. His own words and the Mozilla FAQ quoted below, I'm | not just making this up. | | Down the following thread, Brendan suggested googling | "constructive separation" -- but I'm not sure if he meant | for that euphemism to apply to how he left his job at | Mozilla, or to how he wanted to cancel and destroy existing | happy same sex marriages in California against their | consent. All of the google results have to do with | marriage, not employment. Brendan, care to clarify? | | As JavaScript proves, Brendan Eich never really understood | the concept of equality: | https://dorey.github.io/JavaScript-Equality-Table/ | | https://news.ycombinator.com/item?id=24127716 | | DonHopkins 3 months ago | on: Mozilla lays off 250 | employees while it refocuses ... | | Eich was not forced out or fired. In fact, just the | opposite: the board actually tried to get Eich to stay, but | he decided to leave all on his own. Don't try to rewrite | history to make an ideological point. It's all very well | and unambiguously documented what really happened, and | there's no excuse for you spreading that misinformation. | | https://blog.mozilla.org/blog/2014/04/05/faq-on-ceo- | resignat... | | Q: Was Brendan Eich fired? | | A: No, Brendan Eich resigned. Brendan himself said: | | "I have decided to resign as CEO effective April 3rd, and | leave Mozilla. Our mission is bigger than any one of us, | and under the present circumstances, I cannot be an | effective leader. I will be taking time before I decide | what to do next." | | Brendan Eich also blogged on this topic. | | Q: Was Brendan Eich asked to resign by the Board? | | A: No. It was Brendan's idea to resign, and in fact, once | he submitted his resignation, Board members tried to get | Brendan to stay at Mozilla in another C-level role. | paulryanrogers wrote: | Thanks for clarifying. That said the impression I got at | the time is that his motivation to leave appeared closely | tied to controversy around his past donations and | personal beliefs. Hence the "under present circumstances" | statement. | DonHopkins wrote: | No problem -- it's a common misconception which is a key | part of the narrative that Brendan's Alt-Right GamerGate | supporters were doing their best to spread at the time | (GamerGate was in full swing when he resigned, and the | Alt-Right jumped on the issue at the expense of Mozilla), | in order to help Brendan play the victim (instead of | respecting Brendan's own victims and co-workers whose | marriages he wanted to terminate) and make him a martyr. | (Not that I think you're one of them, but they | unfortunately succeeded at spreading the misconception | that Brendan was fired far and wide, in the service of | their cultural war.) | bananaface wrote: | From a utilitarian perspective, probably not. | _pmf_ wrote: | The mother of all sunken costs. | agumonkey wrote: | the surface is wide to carry | _greim_ wrote: | Apologized because a scripting language is inherently a bad | idea for the browser, or because it was imperfect? | [deleted] | draw_down wrote: | Almost nothing in this world brings me joy like HN's hatred of | JavaScript. You all even came around on PHP in the end, which | just makes it funnier. | | Stay mad, guys! :) | tjansen wrote: | I assume you have never used VBScript, which was the major | alternative back then. | toyg wrote: | VBScript is actually a later development, in reaction to JS | (or "DHTML", as we called it back then). But yeah, it was | pretty bad too. | icedchai wrote: | Not by much. VBScript was available with Internet Explorer | 3.0, which was released in 1996. It was only a little later | than early JS. | bdcravens wrote: | I worked at a computer store/ISP - the owner was a VB guy, | and coded up some stuff on our intranet in it. I recall his | shock that it didn't work in Netscape. | duxup wrote: | I have trouble imagining all the things folks don't like about | JavaScript ... not still being a thing if there was something | else. | arendtio wrote: | I wonder how many people rue that day (especially in the HN | community) ;-) | lta wrote: | I cannot express how much I rue this day. | edub wrote: | it is interesting that the archive.org version of this press | release has a semi-colon after AT&T; | | i can't remember if in 1995 we would write the code to be | AT&T or if that came a bit later. | | perhaps the scraper thought it was an HTML entity starting with | the & followed by the T and it added the semi-colon. | | or maybe it originally was posted in 1995 without the semi-colon | and before it got indexed in 2002 by archive.org someone ran a | regex style replacement on old static html files at netscape to | "fix" html entities. | | it just doesn't seem likely that a static html file from 1995 | would have had AT&T; in it, it seems more likely that it was | transformed either by the scraper or some internal script run | after it was originally posted. | | i found an old email version of the press release on Lunds | University website that does not have the semi-colon. | http://www2.ldc.lu.se/temadag95/javascript.txt | | and what looks like an archive of the 1995 version of the java | website hosted at University of Oviedo: | http://www6.uniovi.es/java-http/pr951204-03.html | hcs wrote: | In the raw version of the archived page, found by adding "id_" | after the URL[1], there is no semicolon. | | The link to netscape.com at the end is mysteriously missing | still, "Additional information on Netscape Communications | Corporation is available on the Internet at ," | | [1] | https://web.archive.org/web/20020606002913id_/http://wp.nets... | ignoranceprior wrote: | Does this mean the Wayback Machine has a bug relating to how | it handles HTML entities? | jamesdhutton wrote: | Interesting to read the list of companies in the announcement, | and to contemplate that JavaScript has outlived most of them. | Tade0 wrote: | I wrote my first actually-doing-something lines of code back in | 2001 in JS, because unlike e.g. Pascal, JS (or actually JScirpt) | would just run and not ask stupid questions about types or | missing semicolons and required only a browser. | | 12-year-old me was very happy with such a low barrier to entry | language, especially given that I didn't have an internet | connection until years later, so I had to learn mostly via trial | and error. | tomhoward wrote: | I didn't realise JS only appeared in late '95. | | I first used the web in early-mid '95; it must've been around | April-May of that year. | | I'm no JS-hater, but it's still nice to think I had a brief few | months of script-free web use before the JS era dawned. | didip wrote: | Javascript was such a misopportunity to use Scheme instead. | | All three HTML, JS, and CSS could have used one Lisp-like | dialect. | | Also, I remembered that JS was horribly misunderstood for a long | time because people weren't used to the prototypical inheritance. | And this is where jQuery comes in and took JS to the next level. | krapp wrote: | >All three HTML, JS, and CSS could have used one Lisp-like | dialect. | | Other than being aesthetically pleasing to a demographic of | programmers, what would be the benefit? Modern sites already | have a problem with JS being used to generate CSS and HTML, and | separation of concerns being completely abandoned, and that's | just created a mess where three separate, more explicit | languages were simpler. | Wilem82 wrote: | Lol god forbid. Browser side programming is shitty enough | without lisp nonsense. | jzer0cool wrote: | My first browser I was accustomed to using was Netscape on a Mac. | Search engines were Hotbot and Webcrawler after Yahoo. Cannot | recall the others. | | When I think back IE browser was the top browser and there were | all sorts of workarounds to get it html compliant (or rather IE | compliant). Easy to learn html, but hard to get it working right. | Then adding in javascript for the added dynamic flair. | | I wanted to learn javascript & I ended up learning first java not | knowing the difference at the time. Fun times were also spent at | Barnes & Nobles / Borders (bookstore in U.S.) - checking out | technical books and eventually I toiled through learning VBScript | / Windows IIS to extend out a simple ecommerce site and possibly | paving my way into the technical field. | | Didn't Netscape also have email integration? I can't recall | anymore as I went through multiple internet providers like Aol. | godot wrote: | I find the fragmentation interesting. In the mid to late 90s | when I was first on the internet, the "prominent search | engines" ranked (given to me by my ISP and some other sites) | was something like AltaVista, Yahoo, InfoSeek, with Webcrawler | and Hotbot down at the bottom. I believe my ISP distributed IE | (3 at the time) with whatever internet software cd they | included, and it was my first and default browser. Later on I | tried installing Netscape Navigator, but it felt slow and | clumsy compared to IE3 at the time, so I never understood why | anyone used it. It's quite interesting how our internet | experiences were so different! | | What is the same between us however is I also learned coding | practically by first starting to make HTML pages, and some | Javascript, and that was also my way into the technical field | (decade and a half of working as a software engineer now). | Like, sure, there were computer programming classes in school | and every class used Pascal at the time (Quick or Turbo). It | didn't feel like creating anything useful for the real world | though; whereas with the web, I was immediately creating | something for the world to see. I'd say learning to make web | pages on my own was 99% of the reasons I became a software | engineer later. The programming classes in high school, not so | much. | mixmastamyk wrote: | Thunderbird debuted as Netscape mail and was combined in | Netscape Communicator suite I believe. Memory fuzzy. | cxr wrote: | Thunderbird came out of the Netscape 6 rewrite by way of the | Mozilla Application Suite, not either of the Netscape 3 or | Netscape 4 mail clients. | smt1 wrote: | I used Netscape 0.99 on a Mac. It was on a BMUG CD from 1994 | that I would get a lot of freeware/shareware. Used it download | SPRY Mosaic, which Microsoft licensed to create IE on Win95 | soon after (I had already seen Mosaic running on CDE on HP/UX | at my mom's scanning electron lab. she was getting a physics | ph.d). Then I got a Mac clone from Metroworks. It had a pretty | innovative C++ engine for its' time (PowerPlant), but I ended | up booting into mkLinux (a mach-based linux) just in time for | linux 2.0.0, discovering kde, then spending a while trying to | emulate hacking at khtml/konqueror just to reverse engineer IE | behavior "quirks" (5+ was a disaster) just to get websites to | behave. Eventually both Apple and Chromium adopted khtml | (webkit) instead of Gecko, before Firefox itself revived via | Netscape and Mozilla (after it escaped the AOL/Time Warner | fiasco). The funny thing is I use Firefox, chrome (on my | android), and safari (on my Mac) much more than I use linux | anymore. I'm pretty luckily to not have been just slightly too | young (I'm mid 30s) to go after the original .com boom. | | I enjoy Rust the days. Modern C++ certainly ain't bad, but | nostdlib Rust is also the first serious threat to full spectrum | C in a long time. | optimalsolver wrote: | It doesn't have to be this way. | | Hopefully Brython[0] which lets you do client-side Python | scripting takes off. | | Imagine doing full stack web dev without seeing a single line of | JS. | | [0] https://brython.info/ | speedgoose wrote: | I very much prefer modern JavaScript compared to Python. It's | faster, has a better async support, as powerful, and I don't | have to care about white space. | niek_pas wrote: | Brython has been around for _years_ now and AFAIK has not shown | any signs of taking off. | | I think you're better off placing your bets on newer ECMAscript | features and full-conversion libraries like React. | jfoster wrote: | I love the idea. From experience, though, this type of thing | becomes a bit painful when you realise that you actually want | to use some of the tools & code from the javascript world. | The_Colonel wrote: | That's just replacing one passable scripting language with | another passable scripting language, just with worse | performance. | | I don't see the point. | bdcravens wrote: | I think building apps in Rails/Opal is just as likely. | | Seriously though, I'm putting a lot of hope in the | LiveView/Stimulus Reflex/etc approach. | Kye wrote: | Think of how the web would be different if Microsoft leaned its | monopoly power on XMLHttpRequest. Would it have been the test | case for API ownership instead of Java? | | https://en.wikipedia.org/wiki/XMLHttpRequest | toyg wrote: | XHR is possibly Microsoft's "Xerox PARC" moment. They held the | future in their hands and it just went through their fingers. | bdcravens wrote: | They also had VBScript and ActiveX in IE. I think had they | held onto XHR it would have gone the same route, and a | comparable alternative would have been developed. | victor106 wrote: | > today announced JavaScript, an open, cross-platform object | scripting language | | Those words "open source" and "cross platform" are still in vogue | today. | | That's just amazing for an industry that changes every year and | in the land of JS every month. | evan_ wrote: | In the beginning JavaScript was created. This has made a lot of | people very angry and has been widely regarded as a bad move. | colejohnson66 wrote: | > widely regarded as a bad move. | | By who? You? Because there's tens (hundreds) of thousands of | programmers and thousands of companies working on JavaScript. | Just because many here consider JavaScript bad doesn't mean | everyone does. JavaScript has many problems, but it's not | "widely regarded" as bad. | evan_ wrote: | I love JavaScript, I spend 40 hours a week elbow-deep in the | stuff, I'm just having some fun. | abruzzi wrote: | the OP is referencing a line from The Hitchhiker's Guide to | the Galaxy: | | "In the beginning the Universe was created. This has made a | lot of people very angry and has been widely regarded as a | bad move." | colejohnson66 wrote: | I'm an idiot. I should've picked that out... | Arnavion wrote: | (It's a quote from a popular book.) | [deleted] | atum47 wrote: | I bought a book, when I was about 12-15 years old, called DHTML | (Dynamic HTML). It blew my mind to see things moving across the | screen with just code. | | Keep in mind that I learned pure html when I was 10, my websites | were all very static (apart from a animated GIF here and there). | The only way you could do a cool menu, effect or animation, was | with Java Applet (which I learned after purchasing a online Java | course that was taught over ICQ - it doesn't get more 90's than | that). | | I have this love relationship with javascript ever since I wrote | my first "alert('hello')" and I wish it a happy birthday with | many more years to come. | arendtio wrote: | It still bothers me when people talk about dynamic HTML these | days. Just two weeks ago some team lead said it and I thought | 'dude, that is so 90s'. | flomo wrote: | Reminded me of the MS "DHTML Dude" blog. (no longer online, | it appears.) | lostcolony wrote: | It's also probably incorrect; DHTML didn't involve loading | data via AJAX after the page loaded, but instead configuring | the webpage on the client side after loading it. | | That said, ask them if they'd prefer the backend in PHP or | Coldfusion. | WorldMaker wrote: | 1999 saw the release of XMLHttpRequest as an ActiveX | control for IE 5. There certainly were IE-focused | developers still referring to most of what they were doing | as DHTML and yet doing the earliest AJAX stuff, back when | the X still made sense that it stood for XML and | XMLHttpRequest was the first and at the time only AJAX tool | available in a web developer's toolbelt. | z3t4 wrote: | Also don't forget about long-polling (long running | request), or an iframe that refresh itself. | MentallyRetired wrote: | As someone who's been making websites since 1993, | everything you said here has made me twitch in one way or | another. I've been a ColdFusion team lead, a PHP developer | and I used to write DHTML scripts. | | Also RIP to separation of concerns on the frontend | (document [html], style [css] and behavior [js]) since it's | all buried in javascript nowadays. | Mountain_Skies wrote: | Sigh. Working in cybersecurity, it makes me sad to see how | much ColdFusion is still in use, full of security holes | that no one will fix because the original developers have | long since moved on and current developers don't want to | touch anything CF related with a ten foot pole. | bdcravens wrote: | Given that Wordpress can be targeted as an API for a SPA | and Laravel is pretty hot, I'd say PHP isn't a bad choice. | | ColdFusion of course is pretty out of vogue, but places | like Invision like it still. | | A better comparison would be with ASP 3 or Perl. | tehlike wrote: | This is very similar to my exact experience, with ages probably | shifted by a year or two, given my site from 1999 shows a | javascript alert prompt lol. | bdcravens wrote: | In the late 90s/early 2000s you'd search (probably with | Altavista) for a DHTML script that did a given thing (and often | it wouldn't even be that dynamic, and might be something as | simple as form validation; "DHTML" was kind of a catch-all | phrase) | bdickason wrote: | I remember this book! I think it was red with a yellow font | maybe? Agree with you on the alert('hello') :) | atum47 wrote: | Turns out I still have my copy[1]. I remember this guy[2] | blowing my mind. He would move his arms to a menu, where your | mouse hover. This whole book was a thrill for me. | | 1 - https://imgur.com/a/qMsw11C | | 2 - https://imgur.com/a/kZKyhok | nonesuchluck wrote: | Not being on the web until the late 90s, the part I've never | figured out is, what could you actually _do_ with JavaScript in | the initial versions? | | The way I understand it, early JavaScript could only address HTML | forms, links, and images. Can't modify HTML tags. Can't insert | new elements. Can't update the page and re-render until DHTML in | the version 4 browsers. Can't query the network until XHR. | | Ok, so now what? | | Do you just pop up an alert() when someone types 4 digits for a | Zip code instead of 5? Image rollovers? Is that it? | petercooper wrote: | Check out the JavaScript newsgroup from 1996 to see what people | were discussing and trying to achieve :-) | https://groups.google.com/g/comp.lang.javascript/search?q=af... | commandlinefan wrote: | One of the big things back then was form validation. Web pages | in the late 90's were necessarily very form driven (no AJAX | back then), and users were frustrated to submit a form, wait | for a response, only to be told that they were missing a | required input (or as you suggest, 4 digits for zip code). So | there were complex frameworks to let Javascript validate the | form before it was submitted - the Struts framework would even | generate the Javascript for you and keep it synchronized with | the backend. | | But yeah, there wasn't really a whole lot of functionality. You | _could_ do fancier things with the Layer API in Netscape, but | it only worked in Netscape. | duxup wrote: | Yeah wiithout validation form validation still is wonky if | you want to do it on the browser / client end. | | I see so many "you don't need JS" articles that mention some | of the basic HTML type form field validations and they're | nice-ish... they're never enough. | commandlinefan wrote: | Yeah - OTOH, it was a double-edged sword, since you had to | re-run the same validation on the server side, and you had | to be careful to make sure they were in sync. | | Of course, this brings back painful memories of multiple | occasions where somebody said, "this is dumb, we already | validated it on the client side, we don't have to re- | validate it on the server side" and took out the server- | side validation (even after I tried in vain to explain to | them why that was a security hole...) | duxup wrote: | It's just hard to avoid the whole two pronged validation | situation. You just have to accept you're going to do it | on both ends. | | If at all possible I think of client side as "active" | validation with lots of feedback and such built in. Back | end is "passive / defensive" where validation is more | 'nope just not gonna do that'. | | Every time I think "let's see how much I can do this on | the back end" it ends up being kinda wonky, I'm sure it | is possible but just human interaction type stuff, I like | it on the front. Security, detailed rules, etc, back. | cygx wrote: | You could output HTML via document.write(). | sodapopcan wrote: | ...and don't forget pre-loading images! We didn't have CSS | :hover back then and had to resort to image swaps for fancy | hover effects in menus :) | gmac wrote: | As I recall you could do what felt like quite a lot by abusing | image swapping and frames + document.write. | Zelphyr wrote: | JavaScript was quite limited at that point but then, so was | everything else. So by comparison, it actually gave a developer | a lot of relative control and power over a page. | _zamorano_ wrote: | Remainder of how hard is realizing you're witnessing history. | lr4444lr wrote: | ... and still looks like it hasn't aged a day in some ways. | | https://www.jwz.org/blog/2010/10/every-day-i-learn-something... | severak_cz wrote: | opening via right click to private window works | hrafn wrote: | Note that the above link cannot be opened by clicking on it, | the site redirects away request with a HackerNews referrer. Can | still be opened by copying-and-pasting. | [deleted] | echeese wrote: | https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... | cies wrote: | Not my fav announcement. This funny (I think) video shows why: | https://www.destroyallsoftware.com/talks/wat | | Disclaimer: I like types, I hate automatic casting. | th0ma5 wrote: | It is wild to revisit some of the inspiration of the kind of | weaponized cynicism that hopefully we're getting away from. | This talk was funny for sure, but it started a large amount of | "computers are awful, look at what this stupid thing did" which | was very harmful. Not because it isn't true, but because | understanding why and how these things happen, dealing with and | educated people surrounding these things, and trying to make | things better is the goal (perhaps misplaced) of many in the | industry. It is incredibly easy to just shit on things. | | Still a pretty funny talk for sure. | brk wrote: | I recall being at a local (Detroit) IT seminar around the time | Javascript was announced, and some guy from Sun with an English | accent going on and on about how safe javascript would be, since | it couldn't access local resources and they had purposefully left | out a lot of functions that could compromise the user. It's | changed a bit since then, I'd say. | Dangeranger wrote: | Being limited but safe may be the reason that JavaScript has | won out over Java. As I recall, applets turned out to be a | security nightmare. | krapp wrote: | Also, Javascript didn't require a compiler, and Java applets | were notoriously slow. | tonyedgecombe wrote: | I'm not sure JavaScript was any faster than Java at the | time. | | I blame the failure of Java applets on Microsoft who | deliberately undermined them. | toyg wrote: | JS was definitely faster, but it wasn't really used it in | a modern sense anyway - just simple animations. | | MS definitely had a lot to do with Java applets failing | though; after SUN fought to avoid being | embraced/extinguished by VisualJ++, MS just pushed their | own ActiveX tech to do the same thing, which was | inevitably more performant (because it was based on COM+ | and other Windows-specific innards). | cesarb wrote: | It was faster. A page with JavaScript loaded instantly, a | page with Java locked up the whole browser for around a | minute while the JVM started. (That was probably also the | start of the "Java is slow" meme: anyone who had ever | visited a page with a Java applet immediately learned to | associate "Java" with "slow".) | meed2000 wrote: | Applets suffered a spin up of the mini VM time. And | applets couldn't affect the rendering of the html page, | they had their own 'canvas'. | | I rather think JS was more appropriate as dev found more | use in dynamically altering the very html markup that | users saw, and after it was actually rendered. | toyg wrote: | Nah, Java applets lost because of the deployment nightmare | they had become after MS was blocked in their attempt to | coopt the language (they were barred from shipping | incompatible JVMs, so they stopped shipping JVMs and Java | IDEs altogether). | | ActiveX was winning, but _that_ really was a security | nightmare. | | Eventually enough of the useful parts of ActiveX crept into | JS enough to build real stuff with it. | specialist wrote: | 20/20: Java applets needed better integration, access to | the host browser's runtime. Like accessing the current | page's DOM, being able to hook the event loop. | | I didn't care at the time. I hated all things HTML, CSS, | JS. Such a downgrade from state of the art. I regarded the | browser as terrible means to deliver, bootstrap applets. | Just like Flash. | | One thing I didn't appreciate at the time was the genius of | HTTP and URLs. | | I'm still completely baffled by the "worse is better" | thesis. I just can't understand why JavaScript was created, | much less why it succeeded. | | One can understand how mistakes like \0 terminated strings | and SQL's NULL happen, become hard to undo. But JavaScript | is the original sin that just keeps poisoning. Other | platforms, ecosystems learn and grow and mature. JavaScript | stubbornly refuses to acknowledge truth and goodness, and | is all the more successful for it's belligerence. | | Amazing. | xtracto wrote: | And Flash... I think a lot of the _commercial_ use cases | that Java was supposed to enable were actually filled by | Flash. | fuoqi wrote: | I wonder in how many billions of dollars future generations will | apprise this mistake. | Reedx wrote: | Enough billions to make up trillions. | hokumguru wrote: | Apparently this project was started the week that I was born, | nice. | DonHopkins wrote: | I love how the company contacts at the end include so many phone | numbers, only a few email addresses, and zero urls. | samstave wrote: | in 1997 Iworked at the first firm that adopted XML | | Was on a conf call with VPs from Sun, and i said, and I quote | myself: | | "So youre telling me that you have this shitty b2b system that | youre not happy with and you want us to implement XML to | accomodate" | | and this VP was nixing it the whole time iwth "hand cut across | the neck" manurisms... | | later I hired Dave Sifry - and had his team implement a b2b FTP | between us and sun... | | I later went to him and stated " You should really make a linux | support company" | | Linuxcare was founded, worth unicorn. | | I got nothing | sradman wrote: | > JavaScript is an easy-to-use object scripting language designed | for creating live online applications that link together objects | and resources on both clients and servers. | | This one document certainly captures the state of the software | industry before it was transformed by the Web (then Mobile then | Cloud). The vision of JavaScript being both server-side and | "isomorphic" is clearly articulated but it was a convoluted road | getting there. | | Let's credit Google's V8 and Node.js for making performant and | concurrent/evented JavaScript ubiquitous. Netscape/Sun, | Microsoft, and Sybase abandoned their server-side JavaScript | efforts for Java/.net bytecode. Microsoft was the only relevant | browser until Firefox rose from the flames like a phoenix. Linux | and OSS software killed or maimed most of the companies | mentioned. | rodolphoarruda wrote: | Precisely the same time I used to think JS was a lighter version | of the Java language. | flohofwoe wrote: | Nothing technically wrong with Java and JS of course, but this | terrible PR piece which desperately tries to pitch Java as an | integral part of the web, going even as far as naming an innocent | scripting language for web browsers _JAVA_ script truly | demonstrates that the mid-to-end-90's were the dark age of | computing (at least the corporate side). | Kototama wrote: | For a starter, having no integer types and non-symmetric | comparison operators looks technically wrong to me. | codeulike wrote: | Java was the most buzzwordy thing imaginable back then. | Everything was Java Java Java | bluedino wrote: | "By installing Java, you will be able to experience the power | of Java" | | https://www.joelonsoftware.com/2009/01/12/by-installing- | java... | chromanoid wrote: | Well I don't know if you are joking, but back then it was the | other way around. They put Java into JavaScript to pitch | JavaScript... I guess it worked almost too good... | toyg wrote: | It was actually a fairly exciting time...? OOP had really just | broken into the mainstream (with Java, the first OOP to really | take off) and would go on to become ubiquitous, spawning tons | of little new languages (including Python). There were multiple | vendors pushing VB-like products, some arguably better than MS | itself, giving high levels of productivity (who some argue have | never been achieved since). PCs had dramatically democratized | access, now anyone could build their own tools without having | to beg for server time, and sysadmin on Windows was so loose | that one could typically get away with anything (yes, virus bad | etc etc, but it was still a fun ride). Desktops had just become | a standard feature of every white-collar job and everyone was | busy trying to make sense of them; the smart folks made | millions selling line-of-business apps. And then the internet | arrived and everything had to be re-done as web-based (hello | Perl and ASP), _plus_ tons of intranet portals that were | horrible to use but fun to make, so to speak. | | Maybe it's because I was 20 back then, but there was a sense of | fun and exploration in most computing that is somewhat missing | in this age of smart-everything, JS-everywhere, and total | surveillance. | blakesterz wrote: | I agree with you, it really was exciting. It was almost like | the opposite of the "Everything is awesome and no one is | happy" time we're living in now? | | Everything was awful, and everyone was happy. Remember being | super excited the first time you saw an animated GIF!? Or you | could mouse-over a picture and there would be a popup that | said "hey don't touch my face"! Everything was slow and | crashed all the time, but it was new and really interesting | and fun. People were just figuring things out, and the new | stuff that was coming out was amazing at the time. Everything | was getting faster and better, but damn, it was hard to get | anything done. | anentropic wrote: | > Everything was awful, and everyone was happy. | | Totally this! | | Not sure if times were actually different, or it's just | that I was young then... | krapp wrote: | I literally remember the day in my school library when I | found out framesets were a thing and it blew my mind that | _this part_ of the webpage could move independently from | _that part._ And no one even uses framesets anymore. | | And you're right - nowadays we can stream video, audio, | games, compile and run code from numerous languages right | in the browser, and the web has more interesting and rich | content than ever, but everyone is mad because that means | the web has moved beyond their childhoods and gotten | complicated with time. | toyg wrote: | _> everyone is mad because that means the web has moved | beyond their childhoods_ | | There is a bit of that, but there is also a realization | that we probably did not really _need_ most of these | "advancements". | krapp wrote: | Arguably, the web doesn't _need_ to be anything but a | simulation of paper documents connected with hyperlinks, | but if it had stayed that way, the world would have been | denied a great deal of creative and cultural expression | in other media (including code.) For all its faults, both | in the language and the ways that it 's been implemented, | Javascript on the web launched a revolution in writing | and publishing code akin to what the Gutenberg press did | for text. | bluedino wrote: | Java is like 3-4 years older than Python. | toyg wrote: | Python actually was first released in 1991, as James | Gosling and friends had just started working on Java, but I | can't even remember if python 1.x had classes _at all_. | | Java was everywhere pretty much as soon as it landed in | 1995, because SUN pushed it like crazy and loads of shops | were actually looking for something better than C/C++ for a | large number of apps. By the time Python 2.0 was released | in 2000, OOP was pretty much a requirement for anything, | and I'm pretty sure that had classes. Python didn't reach | popularity in the mainstream until the late '00s anyway. | bluedino wrote: | Python had objects in Python 1.4, according to | documentation released on 25 October 1996. Python.org | doesn't have anything older than that on their site. | icedchai wrote: | You may have that backwards. The first releases of Python | happened in the early 90's. | bluedino wrote: | Ah - that's what I meant to post. | flohofwoe wrote: | Ok granted, it was not all bad :) For me the mid-90's were | traumatic because it was a transition from Amiga to PC (just | before Win95 arrived), which was like being thrown from a | bright Star Trek future back into the stone age. Also the | dream of building applications from reusable components led | to horrors like CORBA, COM and DDE. | pmarin wrote: | web _ASSEMBLY_ is not much better name. | k__ wrote: | Maybe we get WASM CPUs in the future, haha. | x86ARMsRace wrote: | Well, HTML5 super computers are the future. | usrusr wrote: | Well, the next regularly scheduled Apple ISA switch is | expected to be finished no later than 2035... | saagarjha wrote: | Why wait when you can bring back Jazelle for WebAssembly? | mrlala wrote: | Eh, the thing is until you said that it _never_ occurred to | me. However before I started to ever really code in the web | world I was always wondering if javascript was really like a | semi-java hack on the web or whatever. | | Everyone knows that we are so far removed from assembly that | it creates zero confusion in reality.. javascript caused real | confusion. | pmarin wrote: | I allways though the name was an intended pun. | flohofwoe wrote: | Haha indeed, it could be worse though: JavaAssembly ;) | skocznymroczny wrote: | http://www.coboloncogs.org/HOME.HTM | tootie wrote: | In ye olden dayes, building big, interactive experiences on the | web wasn't possible without Java (or ActiveX). Even the first | iteration of JavaScript couldn't interact with the live DOM and | CSS hadn't come into being yet. It was a sincerely held belief | by technology professionals (myself included) that a desktop UI | platform was the only way to deliver rich experiences over the | internet. And honestly it may have to come to pass if the early | versions of Swing weren't so slow and ugly. | Dangeranger wrote: | My preference is still for something akin to the original | LiveScript or HyperScript. | overkill28 wrote: | I still don't know why they stuck the "Java" name on JavaScript. | Very confusing when the two languages are completely unrelated. | | > Java programs and JavaScript scripts are designed to run on | both clients and servers, with JavaScript scripts used to modify | the properties and behavior of Java objects, so the range of live | online applications that dynamically present information to and | interact with users over enterprise networks or the Internet is | virtually unlimited. | | Was this level of integration ever achieved? Did Java applets | actually have a JS API? Or is this just corporate double speak. | makecheck wrote: | There is a JavaScript interpreter built in to Java (or more | than one, in that you could choose at least one older one at | the time I tried it). I used this for a fairly complex app and | found it surprisingly easy to let it parse JavaScript and | affect the Java program, moving data back and forth. | dragonwriter wrote: | > There is a JavaScript interpreter built in to Java | | Are you referring to Nashorn? If so, wouldn't "was" be the | correct verb, not "is"? | | https://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine) | valw wrote: | When you're in the business of sneaking in a Scheme-inspired | language into the universal programming platform in a world of | object-oriented dogma, you'd better add some camouflage ;) | | And so the language was compromised in its name, and arguably | in its syntax and (lack of) macro system. | hathym wrote: | That is why it was renamed to ECMAScript | [deleted] | acdha wrote: | Marketing. Java was The Next Big thing and they wanted to jump | on board that bandwagon. The direct integration wasn't very | common but a lot of the JavaScript objects had similar names | (toString, etc.) and JS was commonly explained as a sort of | junior relationship. | | Edit: expanding my not very common claim -- I first started | using JavaScript when it was called LiveScript in Netscape | betas, the second non-static website I built was Java (using | DB/2 on OS/2 -- I sure could pick winners!), and I worked at a | web development company until 2001. During that time, you'd | commonly hear about Java (along with Perl, PHP, Cold Fusion, | and even C++) and we used JavaScript heavily but I never once | met a client who was actually using server-side JavaScript | although they certainly existed. | ChrisRR wrote: | It's very odd, if someone nowadays called their language | CSharpScript, they'd get slapped with a C&D | m_st wrote: | According to the interview with Eich linked above: "Bill | Joy at Sun was the champion of it, which was very helpful | because that's how we got the name." Sure helps :-) | astura wrote: | Netscape had permission from Sun to use the "Java" name, it | was a partnership. | | This press release itself even says it in the first | sentence | | >Netscape Communications Corporation (NASDAQ: NSCP) and Sun | Microsystems, Inc. (NASDAQ:SUNW), today announced | JavaScript | acdha wrote: | This was voluntary. You have to remember that at the time | the residing hype kings were the so-called 4GLs (e.g. | Clarion, Clipper, PowerBuilder) and things like Visual | Basic, Pascal (Delphi), etc. so Sun and Netscape were | trying to present this as the pair of languages which you | used to build the web, which was already emerging as the | white-hot new thing starting to transform the world. | ajuc wrote: | Such a shame Clipper and Delphi didn't worked out. | | In early 90s my uncle (now 60 years old electrical | engineer) taught himself clipper from 0 (no programming | background whatsoever, and no English language) and wrote | a software for capturing and analysing temperature curves | of polymer ovens at a factory where he works that is | still used to this day. They keep a DOS PC just to run it | :) | | I don't think it's possible to do this with modern | programming technology, there's too many layers of | abstraction and unrelated asides blocking people from | "just making it work". | pjmlp wrote: | Delphi is still around, and there is a striving community | in Germany, big enough to keep conferences and magazines | going. | | But yeah, Borland really messed up. | 725686 wrote: | My older brother still maintains clipper code that is | used in production. | hajile wrote: | Everything was fine because Sun owned the Javascript | trademark. | | Oracle now owns that trademark today | | https://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL | _... | | For what it's worth, Microsoft lost a lawsuit over their | Java clone called J. Their Javascript clone was called | JScript. | | They made .net and C# instead and probably would have tried | to make a new web language except that there was no room. | One could argue that that VB.net was that language to some | degree. | ojosilva wrote: | In fact Microsoft had their own browser scripting | language, called VBScript. It was released in 1996 and | only ran (runs) on Internet Explorer browsers (client- | side) and Windows as an interpreter (Wscript.exe). | | I ended-up using it extensively for a period of time from | 1998 to 2002 to automate webpages that only ran in the | intranet. I also used Wscript to run certain OLE or ODBC | based automation (ie. grab data from Excel and write to a | file) that was clunky to write in Perl. | | https://en.wikipedia.org/wiki/VBScript | DonHopkins wrote: | Now look at what's become of Sun's trademarked logo: | | Zuckerberg's not-so-subtle message to Facebook employees: | Don't end up like Sun Microsystems | | Facebook CEO Mark Zuckerberg has put a pretty hefty | reminder for Facebook employees to keep striving for | relevancy right outside the front door. An aging Sun | Microsystems sign, on the back side of the Facebook sign, | is a well-placed message to them. | | https://www.geekwire.com/2014/zuckerbergs-not-subtle- | message... | bluedino wrote: | Nobody outside of developers knows what C# is, though. | | Java was one of the biggest buzzwords of the late 90's. | identity0 wrote: | That's true, it's more like naming your language | "BlockchainScript". I could totally see someone doing | that today. | JackFr wrote: | "Scrypto" | cozzyd wrote: | I just checked and bitcoinscript.org seems to be owned by | a domain parker. | Arnavion wrote: | Bitcoin already has a script (it's what transactions are | made of) so that's not unexpected. | jen20 wrote: | scripts [1] suggests this has not been the case! | | [1]: https://github.com/scriptcs/scriptcs | flowerlad wrote: | Remember, Sun needed Netscape to make Java successful. | Today Java is a server-side technology, but that's not how | it started its life. Java started its life as a technology | to build more powerful web pages (using embedded applets). | Sun needed Netscape to bundle Java into its browser. So if | Netscape wanted to leverage the hype that existed around | Java at that time then Sun had to let them. | pjmlp wrote: | They also needed Oracle and IBM, their two major partners | in the early Java days. | alasdair_ wrote: | >Java started its life as a technology to build more | powerful web pages | | I'm pretty sure Java came from the work James Gosling did | on Oak, which was mostly used for embedded systems. I | remember a lot of the early documentation being OO | designs for devices like microwaves and CD players. | flowerlad wrote: | > _I 'm pretty sure Java came from the work James Gosling | did on Oak, which was mostly used for embedded systems._ | | Yes, when it was conceived it was indeed intended for | embedded systems but when it was released it was intended | as a tech for building client-side smarts into web pages. | | Java was originally conceived as Sun's response to | General Magic's intelligent agent technology. Microsoft's | response to General Magic was Microsoft Bob, because they | saw General Magic's social interface as a threat to | Windows. | codetrotter wrote: | Sun was literally in on it though? | | So it'd be like if whoever was announcing this hypothetical | C#Script was doing so together with Microsoft.. | nickbauman wrote: | Yeah it was called Live Connect and it was pretty amazing. It's | long since gone though. | | https://developer.mozilla.org/en-US/docs/Archive/Web/LiveCon... | | FWIW as a Clojure/Script developer this technology would have | been kind of mind-bending if it still existed. | astura wrote: | Brendan Eich addresses that topic in this interview. The whole | interview is (very much!) worth a read but here's some key | parts about the name | | https://www.infoworld.com/article/2653798/javascript-creator... | | >It was all within six months from May till December (1995) | that it was Mocha and then LiveScript. And then in early | December, Netscape and Sun did a license agreement and it | became JavaScript. And the idea was to make it a complementary | scripting language to go with Java, with the compiled language. | | >[The idea of an accessable scripting language] was very | strongly held by Marc Andreessen and myself. Bill Joy at Sun | was the champion of it, which was very helpful because that's | how we got the name. And we were pushing it as a little brother | to Java, as a complementary language like Visual Basic was to | C++ in Microsoft's language families at the time. | derefr wrote: | So, basically, JavaScript was originally annointed to serve | the function within the JVM ecosystem, that ended up being | served by Groovy? | | Why didn't that happen? And why did it take so long before we | got Groovy instead, if Sun wanted was imagining something | like it way back in 1995? | smt1 wrote: | It's too bad JVM happened. Solaris was innovative before | Java, which became monetized primarily by the fees. They | released Self, SmallTalk, and Squeak before that. I think | the latter is still very innovative today, because of it's | Morphic interface (it's category theoretic). I think you | could teach kids the computational equivalent of pretty | high level mathematical physics, which is pretty | interesting relative to other standard CS101 intros (like | python, etc). TeleScript, which was basically inverse JVM | was also made around this time, it would have been | interesting if the Newton hadn't been discontinued: | | https://en.wikipedia.org/wiki/Telescript_(programming_langu | a... | | These days, ironically, Telescript is a model for how | distributed computation works in the 3rd world, and even in | the first world. But Telescript basically would have made | the lattice structures more hybridizable to project | information and jobs within the context of already existent | social networks and maybe provided a better nexus for | useful work done vs power given up (it was made on a very | astute observation about the energy, work, power, time, | information, transmission nexus) before anyone named a | "peer to peer network", a distributed consensus protocol, | or introduced money into the picture. | ojosilva wrote: | No. JavaScript was a web language for web developers to be | able to automate forms, etc, client-side. AFAIK, originally | it was never intended to run on the JVM server-side like | Groovy does. | | Netscape did try to position server-side JavaScript as part | of its Enterprise Server package though, but it was not | JVM-based. But the environment was proprietary and not | compelling enough for a myriad of reasons. It ran server | JavaScript in CGI mode. | | JavaScript took a long time to actually make it server- | side. First with standalone interpreters (ie. Spidermonkey) | and later with a full-fledged runtime and development | environment (NodeJS). | derefr wrote: | > No. JavaScript was a web language for web developers to | be able to automate forms, etc, client-side. AFAIK, | originally it was never intended to run on the JVM | server-side like Groovy does. | | Sure, but that's not an argument against JavaScript | having potentially been a planned part of the JVM | ecosystem (or, at least, a language playing a _role_ in | the JVM ecosystem, without itself being hosted on the | JVM, instead maybe interacting with the JVM through some | kind of IPC or FFI bridge.) | | Remember, Sun used to be trying to squeeze the JVM into | web browsers as well, in the form of Java applets. But we | never saw any real ability to script against these | applets. "Java applet 'engines' under JavaScript | control", could have been the portable equivalent to | "ActiveX components under JavaScript control." | | You know how modern games involve 1. a self-contained | game engine written in C++ or C#, plus 2. the game itself | being mostly Lua scripting? If Sun had pushed harder, we | could have seen something like that in 1995, with web | browsers running JavaScript-scripted games calling into | Java game engines; long before we got equivalent HTML5 | APIs like Canvas. | | Probably, if the world had gone down that path, we would | have seen JavaScript gradually moving "into" the JVM; and | the JVM gradually coming to take the position that the | JavaScript engine takes in modern web browsers. | zepto wrote: | You actually could script against applets, it was just | incredibly clunky and slow, and so not worth it. | [deleted] | alisonkisk wrote: | Sun had some great people and some good ideas and products, | but as a coherent business it was a rolling train wreck. | Mountain_Skies wrote: | Sun had an unhealthy Microsoft obsession. When I was a | senior in college, Microsoft came to campus and gave a | two hour presentation on why we should work at Microsoft. | About a month later Sun came to campus and gave a two | hour presentation on why we should not work at Microsoft. | Sun workstations were very common in our engineering | program so we were ripe for the picking but Sun never | explained to us what was so great about working for them. | Well, except for one absolutely ridiculous video clip of | Scott McNealy standing on the roof of Sun HQ, playing the | electric guitar. Eyes were rolling out of everyone's | heads upon seeing that. | | Looking back at interviews and industry articles from | that era, there is a common theme of Sun hating | Microsoft. Lots of companies and people hated Microsoft | but Sun seemed to make it their central ideology. As a | result, they took their eye off of making great | technology that customers could use to solve their | problems. It's a pity because they were so far ahead of | the game at that point that they could have developed | into something wonderful instead of being absorbed by | Oracle, with little trace left besides Java sleepwalking | through the modern era. | munificent wrote: | _> Sun had an unhealthy Microsoft obsession._ | | I think basically everyone did back then. There was a | pervasive understanding that if you were small enough, | Microsoft would use underhanded business practices to | crush you if you became a threat. If you made a | compelling product, Microsoft would clone it and use | their might to make it win. | | It felt like taking a pottery class with a grizzly bear | in the room. Really hard to be like, "I should just make | the prettiest bowl I can" when you know at a moment's | notice your head might be swiped off. | hutzlibu wrote: | Which why they sadly ended up digested by Oracle. | pjmlp wrote: | Only after Google sent a couple of torpedoes and then | went as if it wasn't their business. | hutzlibu wrote: | What torpedoes do you mean? | pjmlp wrote: | Android and ripping Sun off. | | Then they were hoping that no one would buy them, not | even themselves cared to own Java after their trick. | | So now they push Kotlin, while researching Fuchsia, and | keep a bunch of lawyers quite happy. | hutzlibu wrote: | So implementing and pushing Java in Android was a torpedo | against Sun? | | Interesting logic. | pjmlp wrote: | Android Java is not Java, and yes when I take someone's | product and don't pay what the license specifies, while | introducing an incomplete implementation, that is 100% | ripping off. | | Thankfully we are going to have that settled in the near | future, and then Android folks can party all night long | with their Kotlin implementation and rename ART into KVM. | UncleEntity wrote: | > Sun Microsystems, Inc. (SUN) hereby grants to you a | fully-paid, nonexclusive, nontransferable, perpetual, | worldwide limited license (without the right to | sublicense) under SUN's intellectual property rights that | are essential to practice this specification. This | license allows and is limited to the creation and | distribution of clean room implementations of this | specification that...[list of requirements] | | AFAICT the whole fight is over API's and not "don't pay | what the license specifies" as they give you the ability | to do a clean-room implementation without paying | royalties. | hutzlibu wrote: | Despite dalvic and co. it still pushed the Java | ecosystem, right? | | Not what I would call a tornado in the meaning pf | destruction. | | And about the license, well, it is disputed, right? I | only read about it tangential, but the case seemed far | from crystal clear to me. | pjmlp wrote: | As much as Microsoft did with J++. | | No one needs Android Java slowing down the Java ecosystem | by imposing additional burdens on Java library authors | that also want to target Android. | | Besides Google that is. | WorldMaker wrote: | Implementing it from scratch as a skunkworks reverse | engineering project designed to never need to pay license | fees upstream. | colejohnson66 wrote: | Despite the license allowing clean room reverse | engineering? Sun kindof shot themselves in the foot with | those words. | pjmlp wrote: | Where on the license? Please. | | It explicitly only allowed the use of JavaSE on desktop | deployments, OpenJDK was yet to be made available. | ezekiel68 wrote: | I mean... if we took this version of the narrative at | face value, I guess we'd all have been better off with no | Compaq and hence no commodity PC clones. | pjmlp wrote: | Definitely, I miss Amiga, Atari, Acorn and friends, which | Apple is the only surviving one. | | I was the only PC guy on my gang, and that was just due | to other factors not commodity. | alasdair_ wrote: | >Sun had some great people and some good ideas and | products, but as a coherent business it was a rolling | train wreck. | | I had an internship at Sun in 2002. I distinctly remember | a town-hall meeting hosted by Johnathan Schwartz (CTO at | the time, later to be CEO) where an engineer asked | something to the effect of "this all sounds great, but | how does this actually make us money?" The engineer was | told in no uncertain terms that he shouldn't ask such | questions, that he should focus on engineering and that | he should trust that other people would handle the money | side. | fiddlerwoaroof wrote: | I think part of the original goal was for apps to be | written as Java applets and JavaScript use to bridge | between HTML and the applets. | calibas wrote: | I think if you combined the two "different" answers to why | it's named JavaScript, you get the truth. Yes, it was | promoted as a companion scripting language for Java, but that | was in part because Java was so hot at the moment, so | marketing had something to do with the decision to name it | JavaScript. | JxLS-cpgbe0 wrote: | Why "script" though? Aren't Java and JavaScript both | script(ing languages)? | | Why not call it e-Java or Java XYZ or something? | calibas wrote: | This is all semantics, but the idea was that Java is a | "real" language for serious use and JavaScript is a | "script" that's much easier to use and doesn't involve | all the complications of a "real" programming language. | | It was only kind of true back then, and not even remotely | true now. There really isn't a solid line you can draw | between a "script" and a "programming language". To me, | something like Python is right in between. | mlyle wrote: | To me, if something acts logically like it is run from | top to bottom, it's a scripting language. Python scripts | and JavaScript are in this category; Java isn't. | | Additionally, explicit compilation/linking/assembly | shouldn't be required for a scripting language, even if | the interpreter does stuff kind of like this behind the | scenes for performance. | zepto wrote: | That makes Ocaml and Haskel into scripting languages. | kccqzy wrote: | You can't just put `putStrLn "Hello"` in the top level of | a Haskell program and expect it to work. You can do it in | a REPL, but that's besides the point. | zepto wrote: | Sure. I was responding to this: | | "To me, if something acts logically like it is run from | top to bottom, it's a scripting language." | sdenton4 wrote: | I feel like "requires compilation" is a good first order | differentiator. And "has a somewhat sane type system" is | another. | kevin_thibedeau wrote: | tcc is fast enough to run C code (or langs targeting C) | as scripts. | cozzyd wrote: | Well, C++ can be interpreted (sort of, see CINT) and can | certainly be semi-transparently jitted (see cling). | Although it's certainly not designed for that! | wwright wrote: | Templates are turing complete and universally interpreted | AFAIK (I don't think any implementation compiles them | before evaluation?). There's also features like constexpr | these days. | colejohnson66 wrote: | C# 9 added "top level statements" which seems to be the | first steps towards usage in a script environment. | | https://docs.microsoft.com/en-us/dotnet/csharp/whats- | new/csh... | vlunkr wrote: | > There really isn't a solid line you can draw between a | "script" and a "programming language" | | I think it's easier to draw the line if you have the | requirements right. That's not the line that was being | drawn. it was scripting vs compiled languages. It was | very clear then which sides Java and Javascript fell on. | There are some weird cases now like compiling scripts | into different scripts, but in general it's pretty clear, | and Python is definitely a scripting language. | calibas wrote: | The great "script vs programming language debate". The | difference is clear to you because you have a clear | definition in your mind. The problem is that the | definition changes depending on who you talk to, which | invites endless debate. | vlunkr wrote: | Well it's a pretty bad debate if people aren't agreeing | on definitions. Hence this whole chain of comments. | mlyle wrote: | How could one consider Java a scripting language? It's | compiled to .class files, has no reasonable | interactivity, strict structure enforced upon the code, | etc. E.g. the antithesis of what makes us call something | a scripting language in basically every category. | JxLS-cpgbe0 wrote: | So Java _Script_ meant "complement to Java, but | converted to machine language in the browser, instead of | compiled?" | | (Thank you, genuine question) | mlyle wrote: | JavaScript is "logically" run line by line from the | beginning of the script. This may not be exactly true | anymore for performance reasons, but it's the logical | model behind it. A single set of expressions to run in | order "a=1+1;" is a conformant JavaScript script; hence, | it's a scripting language. It doesn't take much | imagination about how to have a JavaScript console that | operates interactively from user input. | | Java code has lots of structure required to write a | minimal program. Java is transformed by compilation into | a set of .class files. Then, in turn, a loader loads, | resolves all the classes, and begins transforming and | executing code. | | These distinctions can be muddy sometimes. | gpvos wrote: | More like interpreted rather than compiled. (I'm pretty | sure a google search on "interpreted versus compiled" | will get you up to speed with the basics on this point.) | This is generally seen as one of the main differences | between "scripting" and "serious" languages. | | The twist is that the JVM (Java Virtual Machine) is also | a kind of interpreter, but can do on-the-spot ("just-in- | time") compilation of parts of the code as well. | pan69 wrote: | > So JavaScript meant "complement to Java | | The whole JavaScript thing was just marketing. In 1995, | Java was THE hottest thing so associating it with Java | might fuel adoption/acception. | | There is an old saying; Java is to JavaScript what Car is | to to Carpet. | | Re. your compiled question. It's up to the browser on how | to execute JavaScript. E.g. Chrome has the V8 engine. | This is the VM that compiles and executes JavaScript | within Chrome. Other browsers might have different | engines. | | https://en.wikipedia.org/wiki/V8_(JavaScript_engine) | hi41 wrote: | Sorry I am not an expert in Java, but doesn't the jvm | execute the .class files like bash would execute the .sh | scripts. | layer8 wrote: | Class files contain compiled bytecode, not source code | like shell scripts do. "Script" implies human-readable | source code. Java bytecode is binary, a kind of portable | machine language. | hi41 wrote: | Does this mean java .class falls in the middle of scripts | and native executables? Is this analogy correct? For | example, I think of native executable as Microsoft Word | where you can doubleclick and launch it. Whereas with | .class you have to run it on top of a jvm. | mlyle wrote: | Often even a "native" executable is opened by something | like the ELF interpreter, relocated, etc. Yes, a JVM is a | lot more heavyweight than these services, but... | pwdisswordfish4 wrote: | No. If you must insist on thinking of them as distinct | from native executables, then consider them foreign | executable instead--object files written for a different | machine architecture and a different loader convention. | There's really no middle ground they're occupying. | mlyle wrote: | This is a very good way to put it. | | The super pedant in me, of course, would say they're a | sliver in the middle because they're targeted at running | in a software-implemented VM instead of on a real machine | architecture, and that this isn't all that different from | in-memory interpreter bytecode or something like a .pyc | written to disk... | | But then something like the more complicated loaders for | native executables is a sliver in the middle, too. And | then you look at something like the AS/400 with super- | high level "instructions" and these distinctions get | super, super muddy. | layer8 wrote: | Not exactly. For one, class files are just components of | a program, so more akin to .o or .so files, not | executables. That set aside, they are binaries for a | virtual machine, the JVM. One difference to real machines | is that the bytecode doesn't have access to untyped | memory and to the hardware (not even "virtual" hardware), | and some instructions have more complex semantics than | you usually have in real hardware, but otherwise it's not | so much different from actual machine code. Overall it's | closer to native than to script, and therefore I wouldn't | quite say that it's in the "middle". | mlyle wrote: | Of course, there's murky things like Python which make | bytecode compiled forms behind the scene. | | But there's a lot of magic involved in transforming Java | to class files, and then there's a lot of further magic | in resolving, loading, and eventually executing classes. | colejohnson66 wrote: | PHP does the same. It's compiled to a bytecode before | execution. But I don't think it's cached anywhere like | Python (but that may have changed in the decade since | I've used it) | meibo wrote: | PHP has had an OPCache as an add-on since 5.1.0(around | 2004), and by default since 5.5.0: | https://www.php.net/manual/en/intro.opcache.php | cubano wrote: | It better be cached or else that would be a total | tradegy... why wouldn't you automatically want to cache | the prerendered pages whenever possible? | | It's not like writing a basic cache is very hard...or | just "borrow" one from an OS implementation. | nostoc wrote: | A scripting language is generally thought as a language | suitable for quick easy project, less so for large scale | software engineering. Verbosity of syntax, compilation, | presence of boilerplate code, static typing are all | things that make java unattractive as a scripting | language. | | Java is great at what it does, which is not scripting. | Scarblac wrote: | I've never seen Java called a scripting language before, | actually. | dr-detroit wrote: | Not supposed to talk about Bill Joy hes not a gazillionaire | eCeleb | blakesterz wrote: | Interesting! | | "JavaScript would have been the ideal name because that's | what everyone called it and that's what the books call it. | Microsoft couldn't get a license from Sun so they called | their implementation JScript. So ECMA wanted to call it | something and they couldn't get anybody to donate or they | couldn't get everybody to agree to a donation of the | trademark, so they ended up inventing ECMAScript, which | sounds a little like a skin disease. Nobody really wants it. | " | hi41 wrote: | As a new developer in early 2000, I couldn't tell the | difference between Java and JavaScript. I felt very ashamed of | that. | andi999 wrote: | Especially when you couldnt even google it (the other search | engines never found anything related to my keywords...) | reaperducer wrote: | _Very confusing when the two languages are completely | unrelated._ | | I once had a boss who thought I could write Java Android apps | because I knew Javascript from web development. "They're the | same thing, right?" | | Lifting a line from somewhere deep in the bowels of the | internet, I told him that, "Java is to Javascript as ham is to | hamster." | | Got fired shortly after that. Company folded a couple of weeks | later. Life moves on. | Rompect wrote: | I always use "Java is to Javascript as a car is to carpet" | but yours is also good. | Azleur wrote: | Marketing move. Same reason they shoehorned constructors into a | prototype based language. Java was all the rage in '95. | everlost wrote: | The biggest irony is that they believed Javascript | "complemented" Java! | stephenhuey wrote: | As others in this discussion have pointed out, Sun intended | this because they wanted people to see Java as the server | side language so even though applets could run Java in the | browser they never did much to improve performance because | they expected people to rely on JavaScript in the browser | (and buy their expensive servers to run Java). | robbrown451 wrote: | They aren't really unrelated as they explicitly made JavaScript | syntax "look like Java" which in turn "looked like C and C++". | | This also helped with their LiveConnect stuff which allowed the | two to talk to each other. I think it was a huge selling point | that the languages felt similar, and felt comfortable to those | who already knew C and/or C++. | | In those days I was doing a lot of pasting from one language to | the other, and editing "int" into "var" etc. Java and | JavaScript were similar in that, compared to C and C++, you | just sort of forgot about pointers and pointer syntax. (even | though they still sort of existed). | | They sure seemed to me to be related. This is obviously most | true for light use of the languages (JavaScript especially was | designed for very light use) | bobince wrote: | > Did Java applets actually have a JS API? | | Sure. LiveConnect was commonly used as glue to invoke and | interact with applets from JS. | | I wouldn't necessarily say that it enabled a virtually | unlimited blah blah enterprise parp, but it had its uses. A | common hack was to put some shared storage in an applet so | multiple documents could use it to persist and communicate | cross-document data, back before browsers could do that | natively. | | There was some really tedious bug in IE with the Sun VM that | occasionally allowed JS events to fire concurrently whilst | LiveConnect was waiting for a response from a method called on | an applet, which we never quite figured out. This was one of | many things that made JS+applet development unreliable and | unpleasant. | Yaggo wrote: | Not only the name, but also the C-like syntax was borrowed from | Java because of marketing reasons, despite the semantics were | inspired by quite different languages such as Scheme and Self. | What a pity! | Tade0 wrote: | > Did Java applets actually have a JS API? | | It was possible to expose _something_ : | | https://www.codejava.net/java-se/applet/liveconnect-the-api-... | ahlschwede wrote: | Before Ajax one way to do Web 2.0 style interactions was to | hide a Java applet in an invisible iFrame and feed data back | and forth from the page using JavaScript. | | I think people forget that the early web had a proliferation of | plug-ins. JavaScript was most often used as glue between HTML | and plug-ins which had fewer platform incompatibilities than | the browsers. One of the reasons Flash became the dominant | plug-in was because it was universal enough to duplicate the | features of other plug-ins, including asynchronous | communication via Java applet. | moron4hire wrote: | IFrames were invented later (and initially, only in IE). You | also didn't ever need to put the applet in a separate frame. | You could just put the applet on the page. Indeed, putting it | in a frame would have defeated the purpose, because there was | no way to communicate across frames at the time. | bawolff wrote: | Yes, there was an api. https://developer.mozilla.org/en- | US/docs/Archive/Web/LiveCon... | | That said, the nomenclature was pure marketng bs. | Supermancho wrote: | Some of the JS api (method names) matched the uniquely Java | api. | tbranyen wrote: | Definitely, HTML has several tags to help work with external | types. You can interface with java, vbscript, flash, pdf, etc. | You could absolutely expose top level methods and invoke them | in JS. | coliveira wrote: | It was just a marketing ploy based on the cooperation between | Netscape and Sun. Sun would provide interoperability between JS | and Java in the browser. Netscape would get the public support | of a major corporation at a strategic time in its fight against | MS. | AndrewStephens wrote: | Partly marketing but the integration certainly existed. As I | recall, public methods in the main applet class are exposed to | JavaScript. It was a little slow and clunky but it worked. | | The idea was similar to how web components are used today. Your | web page would contain custom applets for a fancy input field, | a calendar control date picker, and whatever other controls | html didn't provide, all implemented as Applets. | | It could have worked out and the web today would have looked | very different except that Java applets always performed | terribly on first load. Nobody wanted to have their customers | wait 30 seconds for the custom controls to initialize. | | I sometimes wonder what might have been if Sun had actually | fixed the initialization of Applets. In many ways Applets were | nicer to develop than today's web components. | ethbr0 wrote: | Technically, why are / were Java applets so slow? I never dug | into the ecosystem deeply enough to understand (plus a bit | before my time). | | Was it JVM startup time, Java xfactory-begat-y-begat-z code | init time, what? | | Also, applets run outside the browser, correct? I.e. on the | browser's host system in a separate JVM process? | hajile wrote: | Java apps didn't integrate with regular HTML. They were | more like Flash apps with all those downsides. | | Even today JS is interpreted before compiling to bytecode | because the startup latency is much lower (JIT only kicks | in once the background parsing is complete). Back in those | days, the extent of JS was a few click handlers or similar. | The JS interpreter would be done long before the JVM was | even loaded into memory. | mikro2nd wrote: | Oh, but they did. The DOM API was there from about 1.3 | (iirc). | bitwize wrote: | The browser had an embedded JVM and applets ran right on | the page. It was very similar to WebAssembly today, just a | fair bit chuggier. | | Two things caused people to backpedal from the applet | strategy: | | 1) Because there was a large hiring pool of millions of | fresh grads leaving college with a little Java under their | belts, it having displaced C++ and Pascal as an | introductory language, companies began Java projects and | Java came to be seen as an enterprise language. | | 2) The JVM that Microsoft implemented inside IE had | proprietary Microsoft extensions for greater Windows | integration. Sun sued Microsoft over this, and won. After | this, Sun pivoted to having Java be a browser plug-in in | order to provide a consistent cross-browser experience, | rather than having each browser vendor provide their own | implementation. The browser plug-in was way clunkier even | than the original embedded JVM was. | Mountain_Skies wrote: | The death of Microsoft's JVM is when I lost most of my | interest in Java. I understand why Sun didn't want | Microsoft's JVM to exist. They could see Embrace, Extend, | Extinguish coming for them but wow, did Microsoft's | version ever work better. I did go on to create a good | bit of Java code professionally but never touched it for | hobby work. | | It really hurt Java in the browser when Microsoft refused | to ship Sun's code with Windows. Not sure why Sun assumed | that after suing Microsoft about the JVM, they'd be | willing to distribute Sun's bits for them. They really | seemed surprised and angry when this happened and were | unprepared for it. Maybe pivoting to browser plug-ins was | the only way forward they could see. Seems like the | actual path forward would have been to make the Sun JVM | better. | ethbr0 wrote: | It was a weird time. | | Now, there's a straightforward business case and examples | of the many strategic and financial benefits of owning | development and guidance of an open platform. | | Then... you either owned a platform completely (closed) | or didn't (someone else owned it). Vis: all the bs | machinations around proprietary Unix distributions. | | Sun + Microsoft was likely seen more in the context of | "ceding ownership to Microsoft" than "growing the | platform, that we still have majority ownership of." | | Ultimately, hardware vs platforms thinking. Or my-share- | of-zero-sum vs growing-the-market. Unfortunate. | kalleboo wrote: | My memory of the time (as a Mac user) was that the JVM | startup time was the big killer. It took like 30-60 | seconds, during which it completely froze the | (cooperatively-multitasked) OS. Of course it ate up a big | chunk of memory at a time when our Mac had 16-24 MB of RAM | total. And Netscape 3 was unstable enough that in a decent | browsing session you'd have to relaunch it 2-3 times (each | time unloading the JVM). Lowering the available memory of | course worsened the stability. | | The applets themselves performed alright. They took a few | seconds to initialize but we were used to waiting for JPEGs | and hover effects to load over a 14.4 modem so that wasn't | too bad relatively. | AndrewStephens wrote: | Sun seemed to have a real mental block when it came to | applets - people screamed at them for years about | performance and they refused to do anything about it. | Indeed, in 1995 the simpliest applet would take several | seconds to appear. In 2005 (about the time everyone stopped | caring), the same applet would take ... several seconds to | appear. They never got faster even as CPUs improved by | several hundred percent. | | The Applets ran fast enough (even on 1995 machines) once | loaded, at least fast enough to be useful. But that delay | at startup when your CPU went to 100% and your hard drive | buzzed away, freezing everything else you machine was | doing, just killed any interest the public had in using | applets. | | Part of the problem is that they JIT'ed everything without | caching it and that included the standard Java libraries. | So every applet started to execute, called some standard | API, the API was JIT'ed, that called some other part of the | API which was JIT'ed, etc, etc. I could never understand | why they didn't compile at least the standard libraries on | install or first use and save the result. | lolive wrote: | I think they still have the problem today. Which makes | any JVM language to be slow to run in elastic | environments (where hardware instances and server runs | quickly come and go depending on the load). | ethbr0 wrote: | From everything I've touched Sun was always very... Unix | in regards to UX. | | As in "Well, just learn to deal with it. And be grateful | you have a graphical interface at all." | | Making things better, or pushing the state of graphical | presentation art never seemed to even be a core interest, | much less competency. | | Which is ironic, because a lot of that organizational | choice seems reflected in Java, e.g. having to boil the | ocean and re-implement everything for major arch changes. | smm11 wrote: | Sun briefly toyed with OpenStep, or essentially the UI of | the NeXT machines that morphed into today Apple's OS X | interface. | | Anything would have been better than CDE or OpenWindows | at the time, and the NeXT GUI was quite innovative in the | 90s. | lenkite wrote: | This was deliberate - they were afraid Java would become | too popular on the browser side and people would stop | buying their heavyweight servers. They always pushed Java | as the server side language. If they wanted Java at the | client side - they wanted pure Java clients (webstart, | etc) not browsers hosting Java applets. Browsers hosting | Java applets were sneered upon. | | JS eventually won the game here after IE advanced Web 1.0 | with great support for AJAX, etc. | | The funny thing is that if Sun was on the ball and didn't | abandon HotJava, your modern day browser would have been | a Java app. | pram wrote: | Yeah I dunno about that. HotJava was aggressively awful | to use. | AndrewStephens wrote: | I agree. One of the many, many, many areas where Sun | dropped the ball was the failure to implement a good HTML | control in Java. HotJava was very basic. | DonHopkins wrote: | I always thought JIT should be spelled JATWPT, for Just | At The Worst Possible Time (when the user's waiting for | the app to start up). | dtech wrote: | A combination of needing a heavyweight VM separately from | the browser and being either interpreted or having to wait | for a slow JIT. | | Remember Javascript was slow as ass too until the late | 2000's when browsers were implementing efficient JS | engines. If web pages would've been build like common JPAs | they would've been as bad as applets. | other_herbert wrote: | They didn't have to be slow and you can communicate between | the two with a parameter in the applet tag " mayscript" | with that methods in the applet could be called from | JavaScript. I used that for an invisible applet that would | handle communication and drawing HTML to the browser.. | kind. Spa like way back in the Wild West days when applets | could nearly do anything. | commandlinefan wrote: | > the integration certainly existed. | | Definitely. Even the fourth edition of Javascript: The | Definitive Guide (published in 2002) still had an entire | chapter on Java/Javascript compatibility. | forgotmypw17 wrote: | It's because you could integrate a Java applet with JavaScript | in the page and have it all interoperate. | | Pretty cool, too bad Java was so heavy... | pqb wrote: | > I still don't know why they stuck the "Java" name on | JavaScript. | | It is still funny to see a job offer with a mistaken Java and | JavaScript posted in a title or in requirements section. | jfb wrote: | A date that will live in infamy. | thought_alarm wrote: | 8 months later, Microsoft would release VBScript. | greenkey wrote: | Which became dominant for a while, but cgi scripts on the | server-side were also hot. | | Enter Perl and PhP server-side. | | Then there was JSP, ASP, and ColdFusion, all server-side. | | Rails! Also server-side. | | Then back to JS. | toyg wrote: | Rails is like 10 years later tho... everything else you | mentioned was already around by 2000. | greenkey wrote: | Rails 1 was released in 2004. | shmerl wrote: | They should have used the name LiveScript. Java in the name was a | complete disaster. | brightball wrote: | It's funny seeing this. Yesterday I had to demo my 20 year old | built in desk and found a Netscape Navigator CD inside. | aproductguy wrote: | I legit miss Sun. Worked there for two years in 2002/03, and the | level of talent there was astounding. | joe_momma wrote: | Google where is your doodle honoring 25 years of javascript | greenkey wrote: | I wish Matz had been there with Rubyscript. JS wasn't as powerful | back then; it took over a decade for it to evolve enough where | people would really use it for much other than client-side | validation and neat UI tricks. In comparison, Ruby was a great | language to use, and it would've grown more quickly. | dan-robertson wrote: | I wish they'd just used scheme | colordrops wrote: | Exactly - rubyscript would have been just as hated as | javascript; something like scheme or some other well designed | language would have been better. | greenkey wrote: | That's kind of harsh. Ruby was a great language and | especially great syntax. Except for some duplication of | methods and early misspelling of one or two methods, it | would've been much easier for people to learn and do cool | things with that didn't happen in JS until years later. | | Scheme's not bad, but I think if you compare The uptake of | both, Ruby did better? (Not counting Lisp.) It was a cool | language though; a lot of problems that would've been | avoided, if people could type all the braces in | correctly... for Lisp at least. | speedgoose wrote: | I think we would just have got more Java applets. The idea | of a programming language accessible to everyone did | contribute a lot to its success. | [deleted] | toyg wrote: | Ruby was first released on the same year. Python had been | around for 4 years already. What could have been, eh... | ptx wrote: | There was (in 1995) a Python-based web browser called | Grail[1] that could run client-side Python applets[2]. | | [1] https://en.wikipedia.org/wiki/Grail_(web_browser) | | [2] http://grail.sourceforge.net/info/papers/restofus.html#ap | ple... | tacotacotacos wrote: | Complements Java?!? | | I guess it also complements Erlang. | bangtoyib wrote: | nice | lioeters wrote: | Related - A project posted earlier today: | | Mocha1995 - The world's first JavaScript engine written in 1995 | by Brendan Eich, now compiled back to JS and WASM | | https://github.com/doodlewind/mocha1995/blob/main/blog/about... | | https://news.ycombinator.com/item?id=25300698 | DonHopkins wrote: | Reminds me of one of Microsoft's first Dynamic HTML demos: | | There were two buttons, one labeled "Our Web Site", the other | labeled "Our Competitor's Web Site". | | When you moved the mouse over the "Our Competitor's Web Site" | button, it would quickly slide out from under your cursor before | you could click it! | | Then when you stopped moving your mouse, the "Our Web Site" | button would slyly slide right underneath your mouse! | | Dammit Microsoft!!! ;) | thrower123 wrote: | What a disastrous day for the world. | brundolf wrote: | What stands out to me is how much more foresight they had than | I'd thought about the ways JS would be used: | | > With JavaScript, an HTML page might contain an intelligent form | that performs loan payment or currency exchange calculations | right on the client in response to user input. A multimedia | weather forecast applet written in Java can be scripted by | JavaScript to display appropriate images and sounds based on the | current weather readings in a region. A server-side JavaScript | script might pull data out of a relational database and format it | in HTML on the fly. A page might contain JavaScript scripts that | run on both the client and the server. | | We tend to think of JS as having started out as just a way to | dynamically show/hide elements, maybe add an animation or two, on | top of fundamentally HTML-based web pages. But I see here | described what we now think of as "web apps", and even web | _servers_ (!) written in JS. They even talk about code-sharing on | the front and back ends, a la React in hybrid-mode. I had no idea | those things were in people 's minds at its inception. | | Edit: Apparently they already ran JS on the server! I had no idea | | > Netscape LiveWire enables JavaScript programs to be installed, | run and managed on Netscape servers | deft wrote: | ASP, the original one before .net, had a language called | jscript that ran the ie js engine on the server. | https://en.wikipedia.org/wiki/JScript | NegativeLatency wrote: | Didn't visual basic support some kind of client side code? | aidos wrote: | IE (3? 4?) let you specify vbscript instead of JavaScript as | the language in your script tags. | | Edit: introduced in IE3 (1996) apparently. | https://en.m.wikipedia.org/wiki/Internet_Explorer_3 | drblast wrote: | The industry is cyclical and to be forward thinking all you | have to do is describe what's already happened and assume it | will happen again. ;-) | | The things being done with JavaScript today are not new, nor is | the idea that a server and client would coordinate to run | interactive apps. That fundamental concept has been | reimplemented in many different ways until we've landed on the | current rube goldbergian monstrosity that are web apps. | | It shows that the desire to have users interact with a service | in particular ways will not go away. The technology used to do | that is mostly irrelevant. | brundolf wrote: | I'm not surprised that the architecture isn't new, I'm | surprised that web apps were already being talked about this | way using JS specifically. JS's early design flaws are often | written off as, "well it was never intended to be a _real_ | programming language like it is today ". But from reading | this, that doesn't sound to be the case. | ChrisSD wrote: | I think JS' early design flaws were a result of being | written in a day more than anything to do with a specific | purpose (I exaggerate but not by much). Though it is true | that most people at the time used JS (if they used it) for | much simpler tasks than described in the article. | tracker1 wrote: | I don't so much think of them as flaws... the first use | case was form validation, and most of the fuzzy type | coercion makes a ton of sense through that lens, where ''. | 0, etc. coercion to falsy is easy for dealing with user | input. It's also why it's one of my favorite options for | ETL workloads. | | It's just a matter of understanding the langauge. That | said, it's been my favorite language since well before the | "good parts" book. | ezekiel68 wrote: | I agree with your basic premise. However, in this particular | instance, what would have been the historical equivalent | ("already happened") of scripts sent by the server to the | client during the request response cycle, which could perform | layout and logic in the client? | | If you're simply referring to code that could run on both | client and server, your point is clearer to me. | [deleted] | cubano wrote: | AJAX is part of the request response cycle? | | Let's face facts...AJAX is the real secret sauce with JS | and what makes it truly useful. | smnrchrds wrote: | > already happened and assume it will happen again | | So say we all! | osullip wrote: | Under appreciated BSG reference. Well done! | cubano wrote: | Yes for sure..I worked as a corporate contractor for AT&T in | 1990's and I was doing client/server apps using MSVC++ that | are basically identical to React-type wideweb dev... | | Indeed, your absolutely correct in saying it was obvious | where webapps had to go, and that HTML and CSS just wasn't | going to get us there. | amenod wrote: | Nitpick: "...and that HTML just wasn't going to get us | there" (CSS came out in 1996). | AntiRush wrote: | Philip Greenspun has a great review of Netscape LiveWire from | the time. | | https://philip.greenspun.com/wtr/livewire.html | | You can see that the current JavaScript tooling complains are | nothing new under the sun: So what used to be a | few keystrokes in Emacs or Netscape Gold now | requires three steps: edit the .html file | recompile the .web file restart the LiveWire app from | the appmgr | Lammy wrote: | This quote is adorable considering the size of most pages | today: | | "This approach has several disadvantages, the first of which | is speed. You are gratuitously transporting potentially many | kilobytes of data back and forth across the network." | pmontra wrote: | I was there, kB were an issue. We had 56 kb/s modems vs | (let's say) 56 Mb/s fiber now. We gained a x1000 factor and | we're dealing with many MB now instead of many kB back | then. Page size grew x1000 too. | | But loading pages was really slow, mainly because browsers | were slow. No parallel loading of images, no progressive | rendering. Those were the first optimizations. | giovannibonetti wrote: | Running the same logic and the same technology in the server | and the client was mandatory for realtime multiplayer games | since the 1990s. See this article from Valve [1] for a briew | overview of how client side prediction works. You should also | have the server process the data to avoid cheating by | modificating the client app. | | [1] | https://developer.valvesoftware.com/wiki/Latency_Compensatin... | cubano wrote: | Wait a minute here...I was writing realtime multiplayer games | for Galacticomm's MajorBBS in thr late 80's and we just | pushed ANSI and made VERY interactive games without the need | for a rich client...altho we did envy AOL's bitmapped graphic | capabilities at times... | Zelphyr wrote: | I was just thinking the other day about how in late '95 I had | just bought my first PC and was teaching myself web development | and discovered JavaScript. I remember submitting bug reports to | Sun. I hadn't realized until the other day, after calculating the | timeline, just how new JavaScript really was at that point in | time. | Zelphyr wrote: | Correction: Submitting bug reports to Netscape. | Rochus wrote: | Wow, 25 years. Feels like yesterday, but several technological | revolutions happened in these years. | forinti wrote: | Such a shame that they didn't pick Scheme. | spamizbad wrote: | Anyone know what ever came of this? | divan wrote: | Such a sad day for an industry! | | In a slightly different turn of events, web software ecosystem | perhaps could be different from the pile of hacks on top of hacks | it is now. | bdcravens wrote: | Java applets? Flash? | divan wrote: | I'm thinking mostly on a scenario where browsers could have a | competition of existing languages (C, C++, Java, Lua, etc). | ibraheemdev wrote: | Hopefully a few years/decades from now, we will be remembering | the day WebAssembly was announced. [1] | | 1: https://github.com/WebAssembly/design/issues/150 | sturza wrote: | We have to go back Marty! | toyg wrote: | "Hey you, take your damn javascript off her..." | siggi_pop wrote: | That's funny cause I announced a poo in pot that day. | newyorker2 wrote: | > JavaScript is analogous to Visual Basic in that it can be used | by people with little or no programming experience to quickly | construct complex applications. | | >JavaScript scripts are designed to run on both clients and | servers, with JavaScript scripts used to modify the properties | and behavior of Java objects, so the range of live online | applications that dynamically present information to and interact | with users over enterprise networks or the Internet is virtually | unlimited. | | JS has come a long way in 25 years :-) | [deleted] | syncsynchalt wrote: | > JavaScript scripts are designed to run on both clients and | servers, | | Funny how long it took node.js to appear and make this bit of | press release a common reality. | ethbr0 wrote: | >> _can be used by people with little or no programming | experience to quickly construct complex applications_ | | ... has it? ;-) | | (Note: joke with deference to the huge pool of incredibly | talented js developers! But there are still a lot of mind | bogglingly _terrible_ js devs too) | lostcolony wrote: | I think that's something JS also shares with Java, no. A huge | number of the people focusing in it are terrible devs. | ethbr0 wrote: | The relative trajectories of Java and JavaScript over the | years are fascinating. | | Java became a language that you can toss a 100-developers | onto a project for, and incrementally grind out something | that has a mostly-consistent architecture. Aka the perfect | IBM Services language. | | JavaScript became a language you can toss up a SPA in a day | from boilerplate glueing together frameworks and only | writing the use-specific bits. Aka the perfect web | developer language. | | As other commenter said, bad developers are probably a | consequence of demand > supply for any language. | snazz wrote: | It's popular and taught in schools, so I don't think this | is really surprising. | hutzlibu wrote: | There are lots of terrible js devs, because js is easy to | start with. | | I bet most js devs would not be able to make a "hello world" | in C. And pointers? What is that? | | So for those people(not meant in a negative way) it is good | that they can use a language to get things done, even if they | have no academic background. | johannes1234321 wrote: | Even great JavaScript developers don't have to be able to | do C and pointer stuff. This has value, but there are many | other things which bring more applicable value. | | However there are toooo many "jQuery developers" with no | understanding of the underlying things, while JS+libraries | enabled them to do quite fancy things. | hutzlibu wrote: | Yes, but my point was, if you know about pointers, you | are likely a better js dev than average as you have some | background knowledge about the computer. And know what | memory is and why it is not unlimited. And why some | operations are expensive and others not. | | Also, it did help me recently, working with wasm. Not | compiling it yet, but using a libary. | johannes1234321 wrote: | For that I have seen too much code from C hackers, who | consider _each_ abstraction bad and try to outsmart the | compiler, while seeing great architectures in JavaScript | from people who have no idea what a pointer might be. | | Being capable of two different languages (TS and JS | doesn't count ;)) however is a useful indicator. | hutzlibu wrote: | "while seeing great architectures in JavaScript from | people who have no idea what a pointer might be." | | Those people have to be naturals, though. Or really just | focused on javascript and only javascript if they know | about software architecture but nothing about compilers | or pointers. | | But sure, you definitely can write bad JS, if you are | forced to use JS, when you wanted to use C (++) ... which | probably happened to a lot of people, which is why we see | the hate of JS in that intensity. | duxup wrote: | Presumably anything popular enough has a good chunk of | terrible devs? | | I'm guessing there are some very unpopular languages out | there that the % of highly skilled devs is pretty high, but I | don't know if that means much ;) | ethbr0 wrote: | Curious about the relative areas of esoterica... | | Are there bad COBOL developers still practicing? FORTRAN? | | What about Ada? Erlang? Smalltalk? | | The mainframe families? | johannes1234321 wrote: | Certainly. Depending on your definition of terrible. | There are people who can keep the things running, but | only do patch on patch to keep things together, but no | architectural work, making more and more mess and we'll | knowing they are unreplacable. (Partially encouraged by | bad management direction) | Aperocky wrote: | There could be bad developer in COBOL but you would never | hear about them. | coldtea wrote: | No algebraic types. Less speed than Smalltalk. Lame. | bisRepetita wrote: | >Oracle Corporation Mark Benioff: (415) 506-7000 | forgotmypw17 wrote: | I remember this, when the HTML chats didn't need to be manually | refreshed anymore... | | I still test with Netscape 2.0 out of respect, and some JS | features work with it on my site. | | The Web is just amazing, I can write across 25 years of platforms | from a dozen different vendors, totally unrelated, and it works | in all of them! | mseepgood wrote: | > A server-side JavaScript script might pull data out of a | relational database and format it in HTML on the fly | | I didn't know that server-side JS was a thing back then. | rbg246 wrote: | Think it was this (I am sure someone here will know better): | | https://en.wikipedia.org/wiki/Rhino_(JavaScript_engine) | | Albeit it was two years after the announcement. | philo23 wrote: | Yeah, I remember people talking about Rhino when node.js | originally came out, saying things like it's been tried | before and wouldn't catch on. | k__ wrote: | There were a few backend products that used server-side JS | before Node.js | | The Netscape Server had JS in 1998. | | https://docs.oracle.com/cd/E19957-01/816-6411-10/contents.ht... | [deleted] | based2 wrote: | http://www.internetnews.com/dev-news/article.php/55431/Broad... | timw4mail wrote: | Classic ASP had JScript, I once had the dubious pleasure of | using JScript instead of VB on an ASP website. | TomGullen wrote: | Ugh, did some freelance work when I was younger in classic | asp, got a project do work on an asp site and day one turned | up it was all jscript! Nightmare! | sradman wrote: | Netscape had LiveWire, Microsoft had ASP, and Sybase had | PowerDynamo. The first version of ASP was interpreted and | supported pluggable scripting engines including JScript and | VBScript. The Netscape and Sybase DynaScript interpreters ran | on various flavors of Unix and RISC chips and were used much | like PHP, Rails, and Django; web interface to relational | databases. | vesinisa wrote: | It wasn't. They basically predicted Node.js 15 years before its | inception. | | EDIT: Okay, server-side JS indeed long predates Node.js. See | below. | BigFatGuy wrote: | Netscape Enterprise Server executed server-side JavaScript | ("SSJS") | | https://docs.oracle.com/cd/E19957-01/816-5653-10/816-5653-10. | .. | peteri wrote: | It was also an option for IIS as well as vbscript in classic | ASP pages. | icedchai wrote: | It was. I developed sites using Netscape Livewire, the server | side JS in Netscape Enterprise Server. It was probably closer | to ASP and PHP scripting, mixing HTML, client-side JS, and | server-side JS in the same file. | tootie wrote: | This was later but there was an entire server-side JS stack | called Helma back in 2008: | https://blog.astithas.com/2008/04/javascript-on-server-with-... | BasDirks wrote: | This is an important document, because it disproves the prevalent | notion that Java and JavaScript have nothing to do with each | other. | | JavaScript has come a long way, to where the shame of any self- | respecting engineer has been reduced to a bearable minimum! | DonHopkins wrote: | No, it actually proves the notion that Java and JavaScript | having something to do with each other was just marketing | bullshit. | pluc wrote: | I wouldn't say bare minimum, JS still is all stupid about | types. | annadane wrote: | This has made a lot of people very angry and is widely regarded | as a bad move | blablabla123 wrote: | > complementary to and integrated with Java | | That didn't go so well. It's well integrated with Webkit at least | ;) | [deleted] | cicero wrote: | I remember being very excited about this announcement. I had been | learning about Java, but I only had an HP workstation, which ran | HP-UX Unix at work, and a Macintosh at home. Neither of them had | a Java implementation yet, but I could run Netscape Navigator | with JavaScript. I gave an enthusiastic talk on JavaScript at the | next meeting of our local Java Users Group. | | However, as I got to know the language better, my enthusiasm | dwindled due to what I thought to be a strange type system. Also, | I got access to Java implementations on HP-UX and Macintosh, so I | never went back to JS. This has always limited my ability to do | web front-ends, but now I'm looking to using Blazor for that. | supernova87a wrote: | I'm glad they added all the individual contact information at the | bottom -- I'm going call up Mark Benioff at Oracle (415) 506-7000 | to ask him how to download the source! | mattl wrote: | That's just the main Oracle number I'm sure | supernova87a wrote: | I'm not sure, but I think he's no longer at Oracle. | mattl wrote: | Probably not | kkotak wrote: | Yep, before the Paypal mafia, there was the Oracle mafia :) | xtracto wrote: | I think technology-wise, the Sun mafia were the cool kids. Or | the Silicon Graphic mafia and even Microsoft. | | I was born in 1981, and the "cool" technology places to be | when I was growing up were Microsoft, Sun and | SiliconGraphics. | desmap wrote: | OT: I recently learned C++ after doing JS/TS for years. This was | an eye-opener because there were so many similarities which JS | inherited from C/C++. Plus stuff I've seen in other languages and | environments. | | After this, I thought that everybody should learn C/C++ at | school, it's like Latin to other languages (I learned Turbo | Pascal at school and didn't like how it handled pointers and its | overall elaborative style). | vips7L wrote: | C/C++ isn't a language! They're completely separate. | desmap wrote: | I know this very well, still both have similarities to JS and | eventually, C++ evolved from C. No need to be snarky. | xtanx wrote: | FYI the internet archive is currently having a 2-to-1 matching | campaign. | | https://archive.org/donate/ | doublerabbit wrote: | It's a shame too that TCL wasn't chosen to be the script of | choice. | DonHopkins wrote: | There was a whole war about that, in which Sun originally | supported TCL (having hired John Ousterhout), that was started | by RMS firing the first shot ("Why you should not use TCL"), | but which TCL eventually lost. | | The Tcl War (1994) (vanderburg.org) | | https://news.ycombinator.com/item?id=12025218 | | https://vanderburg.org/old_pages/Tcl/war/ | | Why you should not use Tcl. Richard Stallman | (rms@gnu.ai.mit.edu). Fri, 23 Sep 94 19:14:52 -0400 | | https://vanderburg.org/old_pages/Tcl/war/0000.html | | John Ousterhout's classy reply: | | https://vanderburg.org/old_pages/Tcl/war/0009.html | | Personally, I was on the side of ScriptX at the time | (essentially object oriented scheme with a more traditional | syntax and a nice multimedia class library including | QuickTime), but it wasn't mature or open enough at the time, | and we lost too: | | ScriptX and the World Wide Web. "Link Globally, Interact | Locally". By Don Hopkins, Kaleida Labs. | | http://www.art.net/~hopkins/Don/lang/scriptx/scriptx-www.htm... | | https://en.wikipedia.org/wiki/ScriptX | | The real tragedy is that the script of choice for the web was't | Lua: | | https://news.ycombinator.com/item?id=12027092 | | by DonHopkins on July 3, 2016 [-] | | Around the time leading up to the TCL war, Lua was peacefully | and quietly born in a manger at the Pontifical Catholic | University of Rio de Janeiro, Brazil: | | "In 1993, the only real contender was Tcl, which had been | explicitly designed to be embedded into applications. However, | Tcl had unfamiliar syntax, did not offer good support for data | description, and ran only on Unix platforms. We did not | consider LISP or Scheme because of their unfriendly syntax. | Python was still in its infancy. In the free, do-it-yourself | atmosphere that then reigned in Tecgraf, it was quite natural | that we should try to develop our own scripting language ... | Because many potential users of the language were not | professional programmers, the language should avoid cryptic | syntax and semantics. The implementation of the new language | should be highly portable, because Tecgraf's clients had a very | diverse collection of computer platforms. Finally, since we | expected that other Tecgraf products would also need to embed a | scripting language, the new language should follow the example | of SOL and be provided as a library with a C API." | | http://www.lua.org/doc/hopl.pdf | doublerabbit wrote: | Awesome read. Thank you. ___________________________________________________________________ (page generated 2020-12-04 23:00 UTC)