12

Foreword: I am not trying to accomplish a task using this technology but rather asking about the specific use cases of the very first release, out of curiosity.

Was Java used for anything else other than the web in its first release? I am just curious to know whether the very first version of Java was used for anything other than that.

I can't find this sort of information specific to the very first version. I would like to know.

Here is what I have found:

There were five primary goals in the creation of the Java language:

  • It must be simple, object-oriented, and familiar.
  • It must be robust and secure.
  • It must be architecture-neutral and portable.
  • It must execute with high performance.
  • It must be interpreted, threaded, and dynamic.

wikipedia.com does not answer my question

Java was originally designed for embedded network applications running on multiple platforms. It is a portable, object-oriented, interpreted language.

scienceredirect.com

Does this mean it was originally designed for applets and serverlets, and nothing else?

11
  • 9
    Based on your quotes, it was not first used or even intended for web. It seems there was a need for a high level C++ like language for embedded systems like PDAs and cable TV set-top boxes. But being unsuccessful with those products they experimented if a web browser running Java could provide similar interactive medium than a cable TV box. So while prototyping was made earlier, only release 1.0a2 included some browser support.
    – Justme
    Oct 4, 2022 at 9:36
  • 10
    Keep in mind, when looking at the history of Java, that it was the first language with a marketing department. Much of what was said about Java was marketing hype. Oct 5, 2022 at 12:44
  • 6
    @MichaelGraf -- maybe I've been overreacting, being deeply involved with C++ development and seeing the anti-C++ marketing. There was a time when it seemed like every article about Java progamming began with a cheap shot at C++ ("C++ can't have garbage collection because it doesn't run in a virtual machine" -- so many thing wrong there!), and you had to read the second paragraph of the article to find out what it was about. Oct 5, 2022 at 13:08
  • 6
    wikipedia is .org, the .com is a backward compatibility redirect not used since 20 years.
    – ignis
    Oct 6, 2022 at 6:15
  • 4
    The one thing Java doesn't do is execute with high performance. Even on a fast processor, it is extremely slow. It is also not portable. I've had to run 3 separate Java systems because different programs required different features which were deprecated on later versions and not available on earlier versions.
    – cup
    Oct 6, 2022 at 16:53

6 Answers 6

20

Much like today, you could compile your code and run it locally.

The JDK 1.0 starter kit is online at https://archive.org/details/javastarterkitjdk1.0 is you want to give it a try.

The original Java tutorials have somehow survived here. They include build instructions for both applications and applets.

1
  • 3
    The Java tutorials linked is from 1.2 which was the big fix-stuff version so be certain not to use any of those Oct 9, 2022 at 18:38
27

Does this mean it was originally designed for applets and serverlets, and nothing else?

No. Facing competition from the fledgling NeXT, Java originated as a project to improve Sun's workstation "story" and attract developers. Soon, Java was envisioned as an all-purpose development system for building and integrating consumer electronics. With the rise of the Web, Sun pivoted to integrate Java with browsers and, later, HTTP servers.

In December 1995, WIRED published a history of Java up to that point. After casting around for ideas to compete with NeXT, an internal team at Sun was formed to produce a unifying development and runtime environment for consumer devices—TVs, game consoles, CD & DVD players, home security, you name it:

By August 1991, [James] Gosling had the graphics running in his new language, which he called Oak (named for the tree outside his office window); this was the progenitor of Java.

The vision was for "Oak" to execute on a variety of consumer hardware, hence the language should be portable; and since reliability, rather than performance, was more important for consumer electronics, the runtime environment should be stable and guard against fatal failures.

The consumer electronics vision cooled in 1995:

The Web's sudden emergence changed all that. ... In January 1995, Gosling's version of Oak was renamed the more marketable Java. [Patrick] Naughton's killer app was an interpreter for a Web browser, later named HotJava. He wrote the bones of it in a single weekend. Following Joy's dictum, they intended to make it available free on the Web.

From there, applets were born, Netscape licensed Java for their browser, and Java spread onward, leading to the "Java Everywhere" motto.

4
  • 1
    I think grouping applets and servlets together is misleading, both in terms of the timeline, and the surrounding narrative. Applets shipped with the very first version of Java, were widely hyped, but are now a historical curiosity. Servlets were released a couple of years later, as essentially a separate product, and are still around today. The idea of Java for embedded devices is also still around - I'm not sure whether it was never really dropped, or it was revived when applets were found to be a dead end after all.
    – IMSoP
    Oct 4, 2022 at 18:19
  • 2
    I didn't intend for the final sentence to mean "all these things happened at once," but to indicate how Java's use spread and grew over time. (The OP asked specifically about applets and servlets.) I've updated the language to clarify that. As for whether Java was dropped for embedded devices, no, it wasn't (it found a home in Android, after all), but in 1995, Sun was squarely focused on adapting Java to the Web.
    – Jim Nelson
    Oct 4, 2022 at 19:26
  • The competition from next was about selling computers. Software was typically highly proprietary- Sun later was the only one going open source. Oct 9, 2022 at 18:43
  • Also it is hard today to understand how far ahead of the rest of the Unix world the NeXT was at the time, especially when CDE was what Sun had. Nov 18 at 17:10
11

How was the first release of Java (JDK 1.0) used?

TL; DR: scarcily


Longer answer

I was there, so I can answer from my point of view.
Back then, I was a student, and there was a lot of talk about this new language. It was something like C++, for people who didn't like C++.
So I bought a book that contains a CDROM with a JDK on it. Then, I learned / relearned /mislearned the first notions of Object Oriented Programming (it was very badly described in this book), I wrote my first classes with the notepad, and compiled them with the JDK that was supplied on a CD with this book. It was very primitive, but hey!, it ran.
I bought an other book and learned to make some clock applets that would make SVG and Flash people laugh but hey!, it ran.
I bought an other book and learned AWT. I didn't know anything about modal dialogs, but hey!, it ran.
At this time, it was already 1.1 and 1.2 was looming around, so I won't bother you with the details.
From what I learned, and what I found out people around me knew, Java 1.0 was not heavily used, except for colleges, proofs of concept, and some french nerds who were young back then.

It would take a few years and several versions for Java to become the behemoth we know today.

3
  • 5
    Anecdotal, in early 1995 I was hanging out in the CS computer lab when a grad student mentioned Java and went on about how much better it was than C/C++. He also said it was being used "for business applications". The reason this conversation was so memorable is that a few months later I got a job as a C++ developer and got to experience first-hand all the problems the dude in the lab had told me were fixed by Java. I would remember it every time I had to debug another segmentation fault. And yet Java didn't seem to me like a viable career choice until around the time 1.2 or 1.3 came out.
    – Alex R
    Oct 6, 2022 at 5:47
  • 3
    I'm a professional C++ developer, and I've never had to debug a segmentation fault in any code that I've written. If you're experiencing problems like segmentation faults in C++, then you're writing C++ incorrectly. (Probably, you're writing it like it's Java, using new. It's not Java.) Meanwhile, I have colleagues who work with Java that have no end of issues with it. There are no "problems" with C++ that are "fixed" by Java, except possibly that the program runs too fast or that there aren't enough objects. (JavaScript "fixed" both of those two things compared to Java, too.) Oct 6, 2022 at 23:52
  • 1
    @CodyGray-onstrike to be fair, in 1995 there were no smart pointers and the original free version of the STL had debuted possibly as little as four months earlier, not yet being standardised or obviously the future. So I think most C++ programmers were using new widely even if actively minimising the amount kept on the heap.
    – Tommy
    Nov 13 at 3:16
10

There was at least one serious desktop software application originally developed for Java 1.0: Corel Office for Java. While it was not very popular, it did exist. Although the documentation I found does not explicitly specify Java 1.0 (and why would it? There was only one version then), the initial preview release was in 1996 and Java 1.1 was not available until 1997, so we know it worked with Java 1.0.

In practice, Java 1.0 was not very popular. It was pretty slow (Java would not escape its reputation of being slow for over a decade), lacked many features that are today taken for granted, prone to memory leaks, and did not really live up to its claim of "write once run anywhere" until version 1.2.

The primary focus of 1.0 was applets because Sun was able to get support for applets into the Netscape browser, but Java 1.0 was also intended for desktop applications running in a standalone virtual machine. Servlets were an early concept, but did not really see a usable implementation until 1997, by which point Java 1.1 was being used.

2
  • 5
    Java has escaped its reputation of being slow and having memory leaks? Oct 6, 2022 at 23:53
  • The Java 1.1 JVM that Microsoft created (the one that got them in trouble) had two very interesting features for the XSLT work I was doing around 2000. It could use all the memory available in the machine and it was very, very fast. Jan 11 at 7:22
4

In 1997 I was on a Java team in a fairly large company writing software for internal use.

This would have been on Java 1.1, which was fairly new at the time.  I don't remember all the details (and probably wouldn't be free to tell them anyway), but I think we were writing both front-end desktop apps (using AWT) for our own staff, and some server-side programs too.  (I think we also used CORBA to talk to stuff written in C/C++.)

None of this was anything to do with applets, or the web; even as early as that, Java was clearly a good choice for general application programming.  Being able to run on both Unix and Windows was an advantage, too.

0
3

I wrote a desktop e-mail client using Java 1.x. I can't recall if it was Java 1.0 or 1.1 - it was be 1997.

I was languishing in a dead-end software job and had no degree so was having trouble getting anything interesting. I read about this new language called Java that was being hyped up so bought a book with a CD with the hope if I could be an early adopter of the language it might give me an in somewhere.

Through that and some other luck I was able to demo my e-mail client to a company willing to take a bet on an outsider who were writing a SSL library in Java and got the job. It was great fun! I had done a few years of C programming for Windows and UNIX and thought Java was like C but better.

So Java 1 was used for some things, I was writing commercial software with it. Pretty sure 1.2 had come around by the time we released anything.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .