The Rise and Fall of Java

The Science Elf
13 Jul 201810:37

Summary

TLDRJava, a programming language initially designed for a better TV remote, has become one of the most popular languages, powering everything from mobile apps to Mars rovers. Despite its decline on the web, Java's 'write once, run anywhere' philosophy ensures its continued relevance in Android apps and enterprise servers.

Takeaways

  • 😀 Java is a widely used programming language that has been popular for over 20 years.
  • 🔧 Initially, Java was developed to create a better TV remote control, showing its humble beginnings.
  • 💡 The Java Virtual Machine (JVM) allows Java to run on various processors by translating Java byte code, overcoming the limitations of compiled languages.
  • 🚀 Java's 'Write Once, Run Anywhere' philosophy was a breakthrough, enabling cross-platform compatibility.
  • đŸ“± The language was pivotal in the early days of the internet, powering interactive content through applets in web browsers.
  • 🌐 Java's rise to fame was accelerated when Netscape Navigator decided to incorporate Java technology.
  • 📉 Despite its initial web success, Java's presence on the web has diminished due to security issues and the rise of JavaScript.
  • 📈 Java remains dominant in areas outside the web, including Android app development and enterprise solutions.
  • 🔄 The story of Java exemplifies resilience and adaptability, as it transitioned from a TV remote project to a cornerstone of modern computing.
  • 🌟 Java's impact is far-reaching, from powering Mars rovers to being a staple in educational and professional programming environments.

Q & A

  • What was the initial purpose of Java?

    -Java was initially developed to build a better TV remote control for a project at Sun Microsystems, which aimed to integrate computers into consumer devices.

  • What is the JVM and how does it solve the problem of running code on different processors?

    -The JVM, or Java Virtual Machine, acts like a processor designed to run Java bytecode. It allows the same programs to run on different types of processors by translating Java bytecode into machine code that the specific processor can understand.

  • Why was Java called 'Oak' during its early development?

    -Java was initially called 'Oak' by James Gosling, named after a tree outside his office window. The name was changed to 'Java' later on because 'Oak' was already taken by another company.

  • What was the 'Star7' project and how does it relate to Java?

    -The 'Star7' was a 5-inch tablet created by Sun Microsystems' Green Team. It was designed to act as a remote control with a graphical touchscreen interface and was the first device to use the language that would later become Java.

  • Why did Time Warner Cable choose SGI over Sun Microsystems for their interactive television system?

    -Time Warner Cable opted for SGI's proposal over Sun Microsystems' because the concept of a network for cable television that Sun Microsystems proposed was considered too early for the market at that time.

  • How did the name 'Java' come to be chosen for the programming language?

    -The name 'Java' was proposed by engineer Chris Warth who noticed it on his cup of Pete's Java during a brainstorming session. The team was looking for a name that was inviting, didn't reference the web or net, and was easy to say and spell.

  • What was the significance of Java being incorporated into Netscape Navigator?

    -The incorporation of Java into Netscape Navigator, the world's most popular browser at the time, provided Java with a significant boost in visibility and adoption, as it became a standard for web-based interactive content.

  • Why did Java on the web decline and eventually become obsolete?

    -Java on the web declined due to numerous security flaws and the slow response in patching them. Additionally, JavaScript, which was easier to develop with and gained more functionality over time, eventually replaced Java for web-based applications.

  • In what areas is Java still widely used today?

    -Java is still widely used in Android app development, enterprise servers, and various professional applications where its speed and the large pool of developers familiar with the language are advantageous.

  • What does the phrase 'Write Once, Run Anywhere' mean in the context of Java?

    -The phrase 'Write Once, Run Anywhere' refers to Java's ability to be written once and run on any device that has a JVM, regardless of the underlying hardware or operating system, due to its platform-independent nature.

Outlines

00:00

🌐 The Origin and Evolution of Java

The paragraph discusses the history and development of Java, a programming language that has become incredibly popular since its inception over 20 years ago. It started as a project named Oak, initiated by James Gosling at Sun Microsystems, aiming to create a more advanced TV remote control. The language was designed to be platform-independent, running on the Java Virtual Machine (JVM), which allowed it to be used across various hardware. Despite its initial purpose being different, Java's adaptability made it suitable for a wide range of applications, from mobile apps to enterprise servers.

05:02

🌟 Java's Rise to Fame and Web Dominance

This paragraph details Java's journey from an obscure project to a widely recognized programming language. The team at Sun Microsystems repurposed the language for the internet, creating a browser named HotJava that could run Java applets. Java's ability to run on any device with a compatible browser made it an instant hit, especially after Netscape Navigator decided to support it. The paragraph also highlights the challenges Java faced on the web, including security issues and competition from JavaScript, which eventually led to its decline in web development.

10:03

đŸ“± Java's Resilience and Continued Relevance

The final paragraph emphasizes Java's resilience and its ability to adapt to new technologies. Despite the decline in its use on the web, Java remains a dominant force in the world of programming, particularly in Android app development and enterprise solutions. The language's 'write once, run anywhere' philosophy has ensured its longevity and widespread use. The story of Java is portrayed as one of innovation, adaptability, and persistence, showing that even as technology evolves, Java continues to find its place.

Mindmap

Keywords

💡Java

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let application developers 'write once, run anywhere' (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. In the video, Java is highlighted as a language that started from a simple project to create a better TV remote and evolved into a widely used programming language for various applications, including Android app development.

💡Machine Code

Machine code is a computer program written in the low-level language of a computer's CPU, which is the native language of the CPU. It is a series of binary digits (bits) that are directly executed by the CPU. In the video, machine code is mentioned as the language that computers understand at their most basic level, and it is the foundation upon which higher-level programming languages like Java are built.

💡Compiler

A compiler is a special program that translates code written in a high-level programming language into machine code that a computer's processor uses. The video explains that compilers were developed to make programming more accessible by allowing developers to write in a language that resembles English rather than having to use the CPU's machine code directly.

💡JVM (Java Virtual Machine)

The Java Virtual Machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is an implementation of the Java Virtual Machine Specification. In the video, the JVM is described as a key innovation that allows Java programs to be platform-independent, meaning they can run on any device that has a JVM, regardless of the underlying hardware or operating system.

💡Bytecode

Java bytecode is the binary format of the Java Virtual Machine (JVM). It is the intermediate representation of a Java program that has been compiled from Java source code (.java files). Bytecode is platform-independent and can be run on any device that has a JVM. The video mentions Java bytecode as the intermediate form of Java programs that the JVM can execute, which is a key part of Java's 'write once, run anywhere' capability.

💡Sun Microsystems

Sun Microsystems was an American company that developed computers, computer components, and a computer network server appliance software. It was founded in 1982 and was responsible for the development of Java. In the video, Sun Microsystems is highlighted as the company where the Java language was initially conceived, starting with a project to create a better TV remote control.

💡Green Team

The Green Team was a group within Sun Microsystems that focused on integrating computers into consumer devices. They were responsible for the development of the Star7, a precursor to modern tablets. The video describes how the Green Team's work on the Star7 and its associated Oak language (which later became Java) laid the groundwork for Java's development.

💡Applets

Java applets are small applications that can be embedded in a webpage and executed by a Java-enabled web browser. They were a significant feature of Java in the early days of the web. The video discusses how applets allowed for interactive content on the web, which was a major innovation at the time, and how they were eventually overshadowed by JavaScript.

💡JavaScript

JavaScript is a high-level, interpreted programming language that is widely used in the creation of interactive effects within web browsers. Despite its name, JavaScript is not related to Java; it was developed independently by Netscape and was initially called Mocha, then LiveScript, before being renamed to JavaScript. The video explains how JavaScript, which was designed to be easier to use for simple web interactivity, eventually replaced Java for web applications due to various factors, including security concerns with Java applets.

💡Android

Android is a mobile operating system developed by Google. It is based on a modified version of the Linux kernel and other open-source software, and it is designed primarily for touchscreen mobile devices. The video mentions Android as a platform where Java is extensively used, particularly for developing apps, which demonstrates Java's continued relevance and adaptability in the mobile development space.

💡Write Once, Run Anywhere (WORA)

Write Once, Run Anywhere (WORA) is a slogan for software development indicating that the same code can run on different platforms without needing to be rewritten or recompiled. This is a core feature of Java, as highlighted in the video, which allows developers to create applications that can run on any device with a JVM, regardless of the underlying hardware or operating system.

Highlights

Java is a popular programming language that has been used in various applications from mobile apps to machines on other planets.

Java was originally developed to build a better TV remote control.

Computers process commands in machine code, which is a series of numbers associated with functions.

Early programming was tedious and prone to error due to the need to write in machine code.

Compilers were created to translate high-level languages into machine code, making programming more accessible.

Java introduced the JVM (Java Virtual Machine) to solve the problem of compatibility across different processors.

The JVM allows Java byte code to run on various processors, ensuring 'write once, run anywhere' capability.

Sun Microsystems, in the 1990s, aimed to integrate computers into consumer devices, leading to the creation of the Star7 tablet.

The Star7 tablet was designed to act as a remote control with a graphical touchscreen interface.

James Gosling created the Oak language, which later became Java, for the Star7 tablet.

Java was almost chosen for interactive television systems by Time Warner but was deemed too early.

The team behind Java realized its potential for the internet, leading to the development of the Web Runner browser.

Java's name was changed from Oak to avoid conflicts with an existing company, and 'Java' was chosen for its appeal and ease of use.

HotJava, the Java-based browser, allowed for interactive applets to be embedded in web pages.

Java gained significant attention at TED 6 when it demonstrated interactive content in a browser.

Java's popularity grew rapidly, with downloads increasing from single digits to thousands within months.

Netscape Navigator's decision to incorporate Java technology was a major boost for Java's adoption.

Java has been ported to billions of devices, from small tokens to Mars rovers, showcasing its versatility.

Despite its fall from grace on the web, Java remains one of the most popular programming languages for various applications.

Java's 'write once, run anywhere' philosophy made it ideal for Android app development.

Java's resilience and adaptability have kept it relevant despite the rise of JavaScript and other languages.

Transcripts

play00:01

Java the language some people love some

play00:05

people hate and some love to hate over

play00:07

20 years since its introduction it's

play00:09

risen to be one of the most popular

play00:10

programming languages in current use

play00:12

provided you download the latest updates

play00:14

but would you believe it if I were to

play00:16

tell you that this omnipresent language

play00:18

the one that powers everything from apps

play00:20

on your phone to machines on other

play00:22

planets arose from a need to build a

play00:24

better TV remote

play00:25

perhaps the best place to start is just

play00:27

explaining what exactly Java is it goes

play00:30

a little something like this

play00:32

computers at their core only process

play00:34

commands in a program in what's known as

play00:36

machine code basically a number is

play00:38

associated with a function and when that

play00:40

number is put into the CPU the CPU does

play00:43

that operation

play00:44

most of these operations are simple like

play00:46

adding two numbers together or saving

play00:48

data to memory now of course you could

play00:50

write programs for the processor using

play00:52

just machine code in fact in the early

play00:54

days that's what people would do the

play00:56

problem was that writing code is a

play00:58

series of numbers for simple operations

play01:00

was not only unintuitive requiring an

play01:02

intimate knowledge of the hardware but

play01:04

it was also really tedious for writing

play01:06

anything other than small programs since

play01:08

every function would need to be built

play01:09

from the ground up as a result of this

play01:11

it was highly prone to error

play01:13

the solution from very early on was to

play01:16

write a program called a compiler which

play01:17

could generate the appropriate machine

play01:19

code from a more english-like language

play01:21

some compilers just assigned words for

play01:23

each of the machine code functions so

play01:25

programmers wouldn't need to remember

play01:26

their specific numerical codes however

play01:29

more advanced compilers began to include

play01:31

more advanced compound functions into

play01:32

their keywords forming some of the

play01:34

modern languages used today like C plus

play01:37

there is a catch with compiled languages

play01:39

though you can't take code compiled for

play01:42

One processor and run it on a different

play01:43

one there is no Universal standard for

play01:46

how CPU instructions are laid out

play01:48

meaning that a program compiled for an

play01:50

Intel processor wouldn't work on a power

play01:52

PC processor nor would something written

play01:54

for arm run on a 6502

play01:56

Java offers a solution for this through

play01:58

a program called the jvm or Java virtual

play02:01

machine

play02:02

the jvm acts like a processor designed

play02:04

specifically to run Java byte code while

play02:06

sitting on top of all sorts of different

play02:08

processors that way even though the

play02:10

processors on two computers are

play02:12

different they can both run the same

play02:13

programs the funny thing is you'd think

play02:16

Java was developed specifically for this

play02:18

purpose but in actuality was just an

play02:20

afterthought from another project going

play02:21

on at some Microsystems

play02:24

Sun Microsystems was a company that had

play02:26

it big in the 80s with their high-end

play02:27

workstations however going into the 90s

play02:30

Focus began to shift in the direction of

play02:32

producing servers for the newly born web

play02:34

with their success Sun pulled the Xerox

play02:36

and a 1990 set up a team of 13 people

play02:39

with the goal of finding what they

play02:40

believed to be the next wave in

play02:42

Computing

play02:43

the green team as it was called focused

play02:45

primarily on implementing computers into

play02:47

other consumer devices very quickly

play02:50

after starting they moved to a separate

play02:51

office and over the course of 18 months

play02:53

created a 5-inch tablet called the star

play02:55

7. the star7 had everything in terms of

play02:58

Hardware a 16-bit color touch screen

play03:01

display pcmcia card slots Wireless

play03:03

networking and more

play03:05

naturally matching the team's vision of

play03:07

computer integration and appliances a

play03:09

system of different wirelessly

play03:10

communicating devices specifically

play03:12

television equipment was produced with

play03:14

the star 7 acting as the heart

play03:16

the star7 also acted as a remote control

play03:19

with a graphical touchscreen interface

play03:20

that even included an agent character

play03:22

the neat trick that allowed the star7 to

play03:25

work with so many devices was a new

play03:27

language written for it by James Gosling

play03:29

called Oak named after a tree outside

play03:31

his office window

play03:32

with a workable demo for their device

play03:34

the Green Team moved to a larger office

play03:36

and became first person intent on

play03:38

becoming the underlying technology for

play03:40

set-top boxes and video on demand

play03:42

services in response to Time Warner

play03:44

Cable's request for proposals for

play03:46

interactive television systems first

play03:48

person created the concept of a network

play03:49

for cable television that would allow

play03:51

individual users to write and read data

play03:53

into the system

play03:54

1992 though the idea was just too early

play03:57

Time Warner opted for the proposal from

play03:59

SGI instead

play04:01

what first person had developed was

play04:03

incredible but without a market their

play04:04

new Computing concept was destined to

play04:06

collect dust and be written up as old

play04:08

boss the team had a meeting where they

play04:10

and I quote had to figure out what to do

play04:12

with this technology or what to do with

play04:14

our lives

play04:15

but after a few days of consideration

play04:17

the team came to a realization actually

play04:19

a pretty common one for tech companies

play04:21

during the 90s why not the internet

play04:24

and you know what it wasn't that bad of

play04:25

an idea the entire concept of the star 7

play04:28

system was to build a network centered

play04:30

around multimedia and as web browsers

play04:32

continued to evolve the World Wide Web

play04:34

itself was beginning to become a network

play04:35

centered around multimedia with

play04:37

formatted text pictures sound and

play04:39

eventually even video why not add

play04:41

interactive content to the list the Real

play04:43

Genius of this idea though is that Oak

play04:45

had already solved the largest problem

play04:47

with this plan

play04:48

normally since the internet is populated

play04:50

with computers of all sorts of different

play04:52

architectures operating systems and

play04:54

browsers any web-based program would

play04:56

need to be released in different

play04:57

versions to support all of them lest it

play04:59

be inaccessible to certain people with

play05:02

Oak though the website would only need

play05:03

to include one version of the program

play05:05

and as long as you used a browser that

play05:07

supported Oak you could run the program

play05:09

and so in 1994 the team got to work on

play05:12

making their own oak-based browser

play05:14

called Web Runner well actually they

play05:16

didn't call it Oak anymore since the

play05:18

name was already taken by Oak

play05:19

Technologies so after the lengthy

play05:21

process of trying to find a name that

play05:22

sounded inviting didn't reference the

play05:24

web or net and was easy to say in spell

play05:26

the team finally settled on Java

play05:28

actually Legend has it that the name

play05:30

Java was originally proposed by engineer

play05:33

Chris worth who read it off his cup of

play05:35

Pete's Java while trying to recover from

play05:36

a hacking Marathon session while riding

play05:38

the web running browser Web Runner soon

play05:41

renamed to hot Java so as to match the

play05:43

caffeinated language it was written on

play05:44

was an entire Mosaic clone with the

play05:47

added bonus of being able to run little

play05:48

Java programs embedded in a page called

play05:50

applets the next year John Gage caught

play05:53

Gosling by surprise Gage had been

play05:56

invited to present at the Ted 6 talk in

play05:58

Monterey to a group of entertainment and

play06:00

internet professionals and wanted to

play06:01

demonstrate the not yet finished hot

play06:03

Java browser Panic ensued over the still

play06:06

rough program crashing at its first

play06:07

public demonstration but fortunately

play06:09

that wasn't the case at first the

play06:12

audience appeared to have little

play06:13

interest in watching a clone of an

play06:14

existing browser but the moment that

play06:16

something in a browser window moved Gage

play06:18

had everyone's attention

play06:20

you have to remember that at the time

play06:21

the web was nothing but static Pages

play06:23

static images and to see something even

play06:25

as simple as Lines Moving and

play06:27

automatically sorting themselves right

play06:28

in a browser window was unheard of

play06:31

the demo worked flawlessly and the

play06:33

crowd's Applause indicated that Java

play06:35

hype was sure to grow

play06:36

after a few private demos Java was ready

play06:39

to be released to the world and in March

play06:41

of 1995 the team set up a public

play06:43

download they watched as the number of

play06:45

downloads increased from single digits

play06:47

to a few dozens James garzling had set

play06:49

the threshold for Success at 10 000

play06:51

downloads and within a few months sooner

play06:53

than anyone had expected it download 10

play06:55

000 had happened thanks in part to being

play06:58

a front page news story the popularity

play07:00

of java was growing so large that the

play07:02

team was constantly scrambling for more

play07:03

bandwidth to handle the number of

play07:05

downloads they needed to serve the

play07:07

moment the Java team knew they had made

play07:08

it though was that that Year's Sun World

play07:10

Conference Java had been chosen as an

play07:13

item to mention in the keynote speech

play07:14

but what few had known was that Marca

play07:16

Andresen the creator of the Mosaic

play07:18

browser and founder of Netscape had

play07:20

agreed to incorporate Java technology

play07:22

into Netscape Navigator Andreessen

play07:24

walking on the stage was a surprise for

play07:26

nearly everyone in the room but for Java

play07:28

now with the backing of the world's most

play07:30

popular browser one with a history of

play07:32

establishing standards the future looked

play07:34

bright since that day the jvm has been

play07:37

ported to billions of devices from tiny

play07:39

little Rings given out of the Java 1

play07:41

conference in 1998 to the two Mars

play07:43

rovers Spirit an opportunity in 2004 the

play07:47

same language that let the world watch

play07:48

Gary Kasparov loose to deep blue live in

play07:50

their web browser Powers Enterprise

play07:52

servers and mobile phones alike yes it

play07:55

seems that the right ones Run Anywhere

play07:57

philosophy of java has grown to mean

play07:59

literally anywhere

play08:01

but wait I hear you cry the

play08:03

it's called the rise and fall of java

play08:06

is still really used in all those things

play08:08

and still ranks is one of the most

play08:09

popular programming languages in the

play08:11

world is it really Fallen to that I

play08:13

answer no not in the slightest

play08:15

well actually no for pretty much all

play08:18

areas except for the platform that

play08:19

brought it notoriety to begin with the

play08:21

internet ironically enough Java on the

play08:24

web is basically dead with the most

play08:26

popular browsers no longer supporting it

play08:28

in favor of a different little language

play08:29

called JavaScript

play08:31

JavaScript JavaScript isn't that the

play08:34

same as Java though despite the fact

play08:36

that an effort was made to make the

play08:37

syntax look similar between the two

play08:39

languages both are fundamentally

play08:40

different under the hood JavaScript

play08:43

Harkens all the way back to 1995. the

play08:45

same year that Mark Andreessen of

play08:46

Netscape had officially announced the

play08:48

browser's support of java the original

play08:50

idea was to create a companion scripting

play08:52

language named mocha to continue the

play08:54

whole coffee thing that will work

play08:56

alongside Java applets JavaScript was

play08:58

intended to be an easier to learn

play09:00

scripting language for simple

play09:01

interactivity in a web browser while

play09:03

Java was intended to be the professional

play09:05

language for larger development projects

play09:07

as it turned out though between the

play09:09

numerous security flaws in Java with

play09:11

patching coming too little too late and

play09:13

the relative ease of development in

play09:15

JavaScript after a bumpy road with

play09:17

competing standards and implementations

play09:19

of the language JavaScript would end up

play09:21

gaining greater functionality to the

play09:23

point where it was able to supplant Java

play09:24

entirely

play09:26

Java may not exist on the web anymore

play09:28

but if it's still the top ranked

play09:30

language in the world then it must be

play09:31

somewhere right look no further than the

play09:34

nearest Android device

play09:35

unlike iPhones which are produced solely

play09:37

by Apple devices from all sorts of

play09:39

different companies running on all sorts

play09:41

of different Hardware on Android making

play09:43

Java with its right ones Run Anywhere

play09:45

philosophy a perfect candidate for

play09:47

writing apps Java can also be found in

play09:49

plenty of professional and Enterprise

play09:51

applications simply for its speed and

play09:53

the number of people who know it

play09:54

popularity wise Java may have seen some

play09:57

better days and despite some valid

play09:59

criticisms it's not likely to be going

play10:00

anywhere Java may not run the web

play10:03

anymore but get one stid but it

play10:04

certainly hasn't died like flash has

play10:06

either the story of java is one of

play10:08

resilience and adaptability the same

play10:11

language originally designed to build a

play10:12

better TV remote managed to evolve into

play10:14

the one that brought interactive content

play10:16

to the web and when weeded out of that

play10:18

space moved on to be the basis for

play10:20

nearly every app available today if

play10:22

that's not adaptability I don't know

play10:24

what is

play10:26

[Music]

play10:32

thank you

play10:35

[Music]

Rate This
★
★
★
★
★

5.0 / 5 (0 votes)

Étiquettes Connexes
Java HistoryProgramming LanguageSun MicrosystemsInternet EvolutionWeb DevelopmentMultimedia ContentApp DevelopmentEnterprise SolutionsInteractive TVTech Resilience
Besoin d'un résumé en anglais ?