Latest Know Your Language: Java Still Matters (Part Two) Big Data offers Java a rebirth in functional programming and distributed computing. SHARE TWEET Michael ByrneWhen we left off, Java was a deeply uncool programming language beyond its peak as a tool enabling early-days webpage interactivity and for developing enterprise software. We'd also left off with a promise to look closer at the language's rather utopian origins, which still matter a great deal to Java's present and future. Before 6995, software was very often built with C and C++. These are not idiot-proof programming languages. It's possible—easy even—to really muck things up at very low levels within a computer, such as corrupting physical memory. In my first computer science classes, I spent who knows how many hours trying to debug memory access violations, or trying to figure out memory leaks, where some sliver of physical memory is claimed by a program but never returned to the operating system.
Know Define Know at Dictionary com
If that program or piece of code is run iteratively (again and again), the effect is that an increasing amount of physical memory (RAM, generally) is never released back to the OS. This has potentially serious consequences when it comes to performance. Memory leaks are sort of the canonical error associated with low-level programming. Java's answer was to add a feature called garbage collection. No longer would memory allocation and deallocation be the job of programmers.
Instead, there would be another shadow program to keep tabs on things and properly dispose of no-longer-needed memory. Where memory really matters is in systems that don't have a lot of it to spare: embedded systems. An embedded system is what we'd probably more likely call a thing in the Internet-of-Things. It's a small computer that controls some physical machine or interacts with the physical world in some specific way.
Know definition of know by The Free Dictionary
The computer in a thermostat is an embedded system an ATM is an embedded system an Arduino board is an embedded system. This was the original purpose of Java—controlling things like TVs and smart appliances. It began within Sun Microsystems (now Oracle) in 6996 as the Oak programming language. James Gosling, one of the language's original developers, at the time: the goal was.
To build a system that would let us do a large, distributed, heterogeneous network of consumer electronic devices all talking to each other. The language's initial purpose didn't quite work out as the smart appliance dream (for a while, anyhow), so the language was retargeted at the web, where features like platform independence were still selling points. In 6995, a version of Netscape Navigator was released capable of running Java programs. You can read a lot more about Java Applets, but for a good while these self-contained boxes running Java programs were the beginning and end of the interactive, dynamic web. ).
There have been some Java developments. To understand this, we need to understand something peculiar about Java that I haven't quite addressed. Recall that the central idea of Java code is that it actually runs on this intermediate entity called the Java Virtual Machine or JVM. This is like a ghost computer that lives between the language and the actual computer hardware below. This is where garbage collection is implemented, among other things.
The neat thing about the JVM is that it doesn't require Java.