i went to school, then was sick then came back and yapped here ![]()
I’ve played all four, and Undertale and Deltarune aren’t really my type of game. I like both of the Hollow Knights though, and put Silksong above HK because of the expansive toolset and that I like more difficult games. Not to mention the improvement of the art and audio! Also, Hornet’s the freakin’ goat.
PREFACE
Alright, as I am currently typing out the preface, it has been 16+ days since I posted the previous Tech Essay (Programming Language C) on the forums. However, I am happy to announce I am back in business with this sort of thing. As you can see, for the 11th installment in the “Marvel-of-Software-Engineering” series, I am doing another essay about an influential programming language. This’ll probably be the last time I’ll be doing a topic like this for the series, I also change my mind a lot.
Anyways, as classes start to ramp up in University, I’ll probably have less and less time to devote for this time of thing, so you’ll probably expect new essays to be consistently finished in 2 - 4 weeks at best. In the meantime, I’m also writing up another essay about a late genius multibillionaire (try to guess who it is), so you can expect that specific essay to come out by next week or something.
Without further ado, let’s get into this large essay of 1600+ words.
AN ESSAY ABOUT JAVA
The massive field of Software Engineering used to be a very niche one. Today, the amount of Software Engineers out there is astoundingly high. Granted, this rise in demand is understandable. After all, software is currently the backbone of every company. It’s not just Tech Companies like Google or Meta. Investment Banks, Hedge Funds, State Governments, Federal Governments, Michelin Starred Restaurants, General Hospitals all have software applications running on their computing devices. A lot of this software is likely to have decades-old codebases. To this day, a lot of these codebases are written with the same programming language that they started with. That specific language is called Java.
Before I get into the history behind this programming language, let me set down some foreground first. In the 1980s and 1990s, most software was written in a language called C. Very few programming languages out there could match C’s low latency and closeness to the hardware level that it provided. There was also C++ and that was also amongst the most popular programming languages the tech industry used at that time. Now I did write a previous post yapping about C, so check that out if you want ( Chatting Area! Have fun! - #9283 by Taser ). I’m probably going to reference C and C++ a lot in this essay, so please bear with me here.
Remember in the previous essay about C where I mentioned that 2 Computer Scientists created the language in Bell Labs? For the case of Java, it all started not in a research lab, but in a corporate setting called Sun Microsystems. The company was a technology company. The company primarily sold computers, hardware, and software. Meanwhile, personal computers (e.g., MicroSoft) were starting to quickly rise in demand. However the company’s legacy would change through an effort started in 1991 called “Green Project.” The Green Team was initially composed of 3 programmers: James Gosling, Patrick Naughton, and Mike Sheridan. The team size would later expand to a peak of 13 people.
The Green Project was initially started with the goal to create the software for consumer-facing technological appliances (e.g., TV sets). Now, the project quickly found a massive roadblock. They were primarily using C and C++ (industry standard at that time) for creating the software. Technology included many different chips and hardware. This required a lot of complex configuration work, C and C++ were just too inconvenient to bear with. However, there wasn’t really any other industry standard language that fixed the issues that C and C++ had. As a result, the project would shift its focus to inventing a new programming language that would lessen the burden.
The Green Team would develop a new language, initially named “Oak.” It got its name from an oak tree outside Gosling’s office. However, the name was trademarked by another tech company called “Oak Technologies.” The name would then be changed to Java, inspired by coffee. Creating a programming language is extremely difficult and complicated, especially when you’re trying to create a language to compete with C and C++. The team had to stay up late programming for many nights, as a result, they drank a ton of coffee to remain focused on their work. The newest technology from Sun Microsystems, Java was announced in 1995, before being released to the general public in 1996.
In 1995 when Java was first introduced to the world, Sun Microsystems created the official slogan for Java, called “Write Once, Run Anywhere” (WORA). This is essentially a testament to how well Java handles portability (also probably the most famous feature of the programming language). If you wrote a perfectly-fine Java codebase for a type of operating system, then that exact same codebase should work perfectly for all the other operating systems out there. Before the release of Java, people had to manually rewrite entire codebases or change/configure compilers for tailoring towards different systems. There were 2 important parts that allowed Java to fulfill their WORA slogan: the compiler and the Java Virtual Machine (JVM).
I mentioned this in the previous essay about C, but computers are unable to understand English characters on the surface level. Typically for most programming languages, a compiler will be used to convert every last line into raw Binary/Machine code (1s and 0s). The computer’s processor (CPU) will then read all that binary code to give you your output. Now, Java does use a compiler for conversion purposes, but it doesn’t actually translate everything into Machine Code, rather it translates everything into something else called ByteCode. Unlike Machine Code, ByteCode is not directly read by the computer’s hardware, rather it is read by a separate software called the Java Virtual Machine (JVM).
(The entire process from the native Java Codebase to Machine Code that the computer’s CPU can actually read)
Java ByteCode is also not locked to any particular pieces of hardware or operating system, it is universal. The Java ByteCode for one Operating System (e.g., Unix) should look identical to another Operating System (e.g., Windows). I think this is where the WORA and portability idea really comes from. Anyways, the JVM will then read the ByteCode and convert it all to raw Machine Code for a specific hardware that you are running the codebase on. The Computer’s CPU will then read all those 1s and 0s to actually give you the output. Also, the JVM is sort-of the core engine behind all of Java’s features.
Now, for the better or for the worse, Java automates one of the most annoying parts prevalent in its predecessors like C, which is Memory Allocation. The gist of it is that when you run a program, all the data (e.g., variables) are stored in RAM temporarily, the CPU will then quickly access the RAM to actually read your code. However, you don’t want useless data cluttering up your RAM storage, so you would have to remove it from the RAM as soon as it finished all its use cases. In C, it’s an entire manual process, you would need to write multiple lines of code that adds and removes data from your device’s RAM storage. There is very little margin of error when doing this.
Java basically lets the user skip the entire memory-allocation process with a JVM built-in feature called Garbage Collection. The idea is that the GC will detect objects that have no further use in the program and then remove them from memory. To put this as simply as possible, the algorithm will first traverse through a series of special objects called Roots, any Java objects where a path from a Root does not exist is deemed as garbage. The next step is just snipping all the garbage-classified objects out of the memory.
Speaking of Objects… One of the larger parts of Java’s identity other than its WORA slogan is the Object-Oriented Programming (OOP) philosophy that it uses for the syntax. I don’t want to turn this essay into a full-on College CS lecture, so I’ll give you all the gist. In the industry, Java codebases are divided into multiple files that end with “.java”, each file being called a Class. Classes contain localized variables and methods (this is what Java calls “Functions”), and classes can actually access/call methods from other distinct classes (under some circumstances). You can use these specific Class names to make an object which allows you to actually call those methods in other classes (also under some circumstances). Everything else like Polymorphism builds onto these fundamentals.
(Example of Java OOP. VS Code and its built-in copilot chatbot annoyed me a lot when trying to manually program on my own. Might need to zoom in on the image a bit to properly read it, sorry about that)
(…)
Today we don’t hear the name “Sun Microsystems” thrown around much anymore in comparison to other Big Tech (e.g., Google) companies. You’d think that with them inventing a language used in the majority of GitHub Repos and production codebases, they would get an overwhelming amount of clout. Now, in the 1990s, Sun Microsystems was seen as a tech giant for their Java language and other hardware appliances. However, all this glory would eventually come to an end.
In the 2000s, Sun Microsystems took massive hits. For one, they faced the Dot-Com crash (caused by an absurd amount of hype) in 2000-2001 which was a catastrophic recession for the Tech industry and suffered massive financial losses. Years later, the 2008 Great Recession (caused by a very greed-driven Wall Street) came along and plummeted their stock prices further. The company also failed to adapt to new competitors like Linux and Intel. Really, a lot of these destructive factors are due to poor management on the executives’ parts. Another Big Tech company called Oracle (a lot of work on databases) would acquire a near-dead Sun Microsystems for $7,400,000,000 in 2010, officially marking the end of the legendary tech company.
However, even after almost 2 decades since Sun Microsystems went away, Java still remains as one of the most popular programming languages that is used to make software out there. The usage of the Java language is so widespread that a completely-different language would try to piggyback on the success by calling their language “JavaScript” (which is also very famous). So far, it seems like Oracle isn’t mishandling Java that much, so the language is probably safe for now. It’s now been over 30 years since Sun Microsystems first announced the programming language that would change everything. The motivation wasn’t really anything too complicated though, the team just found a problem and they fixed it. That’s how most revolutionary things are created, and Java is no different.
THE END
Hello!
how did you do a post with less than 5 character???
Time for a new one person studio
BALLOONDEV
take a look at my pfp for an explaination
No I don’t know how that happened I only noticed after I did it
I think that’s becuase when mantle 3 came out, they had to switch consoles for the king of screens to look how they wanted it too. Silly reason, but without it we wouldn’t have Gold’s voice lines.
youre missing iut
Well I don’t say ‘‘good’’ but ![]()
do this <sentence>
uuuuhhhhhhhhhhhhhhhhhhh me late but my mom eats at 9 ![]()
Lightbulb project anyone?
The main purpose of this project was to practice using implements, extends, and implements + extends.
Oh man I remember when that mean guy assaulted me and cut me into 2 and then I had a child @themoon
Cool lightbulb!
love it
Just ate breakfast but now I’m hungry again.
I’ve never played Silksong, but I saw @darkcloak (my friend) play it though and that is why I picked it, even though I’ve played through (some) of Hollow Knight, and made a demake of Hollow Knight.







