Few people know that Java, the worlds most popular programming language, the one that powers smartphone apps and Mars rovers alike, was the result of a project to build a better TV remote.
@@cyclonic5206 being written in Java isn't the only problem. Java isn't _that_ much slower than CPP, I think it's just because the project was never meant to become the size that it currently is, introducing many, many small performance hits that add up.
Daniel Hendricks Java is fine if it’s used in an appropriate way; prefer composition over inheritance etc. There’s so much garbage code out there though.
@Solve Everything Oracle Java SE Subscription 1 Year Term Subscription that combines Java SE Licensing and Support for use on Desktops, Servers or Cloud deployments. US$150.00 - US$300.00 If you really need commercial support that is.
My relationship with Java started when I was 7 and started playing runescape. Im 20 now and trying to complete my computer science degreee. Thanks java, you have legit shaped my life
This is legit the same for me. I got into coding to make my own Minecraft mods, and now I'm 20 doing internships while finishing my software degree. I can't thank Java enough
Same here! Learned how to write Minecraft server plugins 5 years ago as a hobby and ended up turning it into a job. I wouldn't be where I am now without Java and Minecraft
Yep. Starting posting my Woodcutting bot scripts written in Java on Powerbotorg at 13. 11 years later I'm working as a software engineer writing.. Android apps in Java and PHP webservers. Gang!
@@alienwarex51i3Why aren't you using the recommended programming language for android development: Kotlin? Nevertheless, it is good that you have a job and are being a productive member of society.
Knock Hello Simply Java is nearly completely different in the way you write the code, but also the way it runs on the hardware. Java is actually compiled to machine code that runs on a java virtual machine, while with javascript you actually send the English-like code and it is interpreted on your machine. So you can look at full code that a website runs on your machine, but it is a lot slower than Java. Javascript is one of the simplest languages to learn.
Some old languages as COBOL have a niche utilization in financial applications, so they are slow to die. Java, on the other hand, is a multi-purpose language like many others. Its platform independance is less an advantage as before, now that the gcc compiler series is supported on practically every CPU. Also, other VM-based languages have appeared and evolved much better, while Java has stagnated and can barely keep up after the multiple mistakes it suffered along the few updates. Type erasure, an awkward grammar and poor support for functional programming or asynchronous execution are typical examples; when compared to C#, the Java language and its underlying engine look like dinosaurs. Its only advantage left was the large existing code base, and the fact Dalvik has a similar bytecode so that earlier Java versions could be used as source language for Android apps. But JVM-based modern languages like Scala and Kotlin were recently introduced, they can be compiled on the same VM and are compatible with all the existing code base (besides being compilable to native or JS), while offering at last a power set of features with a comfortable, coherent and clear language. Thankfully Google adopted Kotlin as an alternative to Java (and hopefully, soon as a replacement), which will allow Java to finally retire with what little dignity still remains. A bit sad those key considerations were missing from the video.
It’s not entirely fair to say that Java no longer runs the web as it powers the vast majority of enterprise web servers. While its no longer the king of front end, its still very large on the back end
My thought exactly; Java is still helping to power the web on the server end, just not on the client anymore. It hasn't fallen, but rather evolved from its original purpose.
yeah, I've avoided watching this video for a while but gave in today and the value really is in the comments. I've never gained so much from reading youtube comments, or seen so many intelligible debates on this site
Octoboi77 it is not until 8 min and 30 seconds that he actually addresses the "fall of java" part. The video is only 10 min and 30 seconds long. Almost the entire video is a history lesson. When he finally gets to "the fall of java" he pulls a bull shit tongue and cheek move saying, "I know I said the fall of java in the title but guess what java never fell! Ya isn't that cool" Fucking click bait
I like java. I think it is cool and innovative. That's why I was interested to watch this video...and then was extremely disappointed because it did not say anything interesting and did not deliver on what it advertised
Finally they brought some basic functional programming constructs to Java, making it much more comfortable to work with. I'm surprised that the Science Elf didn't mention that there are also dozens of other languages (e.e. Clojure, Scala, Kotlin, Groovy) that compile into Java bytecode and are run on the Java Virtual Machine, It's pretty impressive on the whole.
Closures (lambda functions) are the first and only functional programming construct that they introduced, and is almost certainly going to be the last unless the language takes a radical new turn this decade
@@jameslawson1 They are trying to be more FP-like, with Optional, for example, and map and forEach on collections, and the vavr library no? It's very awkward, and I think Java is way past its best before date. I can't believe how widely it is used when it is a steaming heap of cruft. I gave up on Java ages ago and far prefer Kotlin with Arrow.
"The Rise and RESILIENCE of Java" is the subject matter of this video, which makes the title sort of clickbait. But it's still a great video. Thanks for posting it.
I started writing Java, somewhere in '95 or so (applet's), exactly for the purpose of creating more interactive web-pages. I was planning to make a 3D browser-based game. But, as it progressed, I found it to become complex to the point that you had to read through a large amount of documentation, in order to get some function to work. Some things, never worked properly, due to lack of control on processes. That made me quit the whole thing and that's what made me turn to javascript and DHTML. I have no experience with the apps for android, but I can imagine that many things have been made easier, to write simple things for a ever-growing consumer market. You don't even call it 'programming' anymore; it is 'software engineering'. It will propably become 'software management', at some point. I am still in doubt if that's a good or bad thing. Ruby Script seems to become an interesting thing for people.
Java has its advantage over say C++. Modding being the big one and easy multiplat-porting to other OSes like Mac and Linux being the second. Heck the modding community has basically decompiled the game to source code already, something that is infinitely harder with the C++ version
Yet a lot of developers try to move away from Java because it is WAAAAY too verbose... (hence the general decrease of Java in the TIOBE index) It's mainly project managers who hold on to Java because "there are plenty of Java developers in the market" (and project managers don't do the coding, so they don't feel the pain of using a verbose language) So yes, Java is falling (it's not dead yet, but it's falling)
Your graphical visualisation of CPU architectures and platforms being different varieties of interlocking, meshing patterns is truly inspired! This is *EXACTLY* how my mind works, and I’ve often used this visual analogy in my mind, and my brain seems to naturally generate mental mnemonics such as this, to break things down so that they’re clear and rational. Thank you! God bless you.
Java will never die. Its simple. Too much runs on it, and there's is a vast wealth of knowledge out there on it. Its incredibly easy to learn, its easy to use, and its widespread. It is basically where C++ was back in the mid-90s. Everyone uses it. And its not a bad language either. You can argue that its verbose. And yes, it is. I think more can be done to improve that.
Verbosity isn't that big of a deal in my opinion. Newbs like it because it makes it look like they're doing more than they are, OGs don't really mind it because they either use shortcuts in Intellij by now or have been doing it for so long they don't even give a shit anymore. Java is too ubiquitous at this point to go anywhere any time soon. Maybe in 20-30 years we will see some real difference, but even then... Hell, FORTRAN and COBOL still have job listings...
I personally just find it's an extremely tedious language to use. It feels almost pompous with it's structure. I can't imagine many cases where it wouldn't be better to use c++ or JavaScript instead.
@@Selsato C++ backend is a nightmare. No package manager is a dealbreaker for almost everyone. C++ is expensive to develop in. C++ is unarguably more verbose for OOP purposes. NodeJs is a solid choice for smaller apps, but isn’t scalable. Same goes for Python. Java scales well, is easy to distribute, uses maven which is much better than npm. It’s cheap to develop in, it’s easy to debug, it’s easy to onboard people, and it’s magnitudes faster than JS. .NET is another solid choice. Java is just easier to get working for backend and middleware purposes. JS is mainly a front end language.
@@gmodrules123456789 Ah y'know what, I can't argue. I honestly didn't consider large scale projects, and you're probably right. I can really see from the appeal of java from the perspective of industry. C++ certainly shows it's age, and JavaScript can struggle to stay cohesive as projects grow in size. Java having strong object oriented features and universal platform support does make it a good choice. That said, my perspective as a developer hasn't much changed. It's just a very dry and overstructured language. It's not beginner friendly at all, and I personally just despise using it.
Yup. Like... pretty much all AWS services are written in Java. People see only a tip of the iceberg when it comes to Java. Like Minecraft. But cases like Google. Oh boy. The use of Java is colossal in their code base.
Oak-based devices failed because Sun didn't really understand the economics of embedded systems at that time. Embedded systems were incredibly cost-sensitive and most devices were either using C or assembly language because of the cost constraint on the hardware used. People were actually arguing over pennies in the HW design. The speed of the code was also a constraint.
Agree. We ran into this where I worked, when Java came out. I was one of the people in our shop who got excited about Java, thinking maybe we could use it for some of our development. We primarily worked in C for both client and server. I didn't see Java as a possibility for our client systems, because we needed software to work in small memory spaces, and it needed to have good performance. Java was boggy on your average hardware. It needed a fast system, with abundant memory to be considered at all. This was before Java's JIT was well-developed. We considered running it on the web, though, as an applet. We had been using thick clients, but we thought maybe we should have a web client. I worked on that project, trying to see how we could use applets. That turned into kind of a nightmare, due to running into sandbox constraints. It turns out to do what we wanted, we needed to sign our applet with a certificate from a certificate authority, which cost some major bucks, and we weren't willing to spend that kind of money to adopt a new technology. I asked, "What about using it on our server," since we didn't have this issue with it, and we'd have more memory and processor resources than on our clients, but the answer was no, I think because we were worried that the performance wouldn't scale well. Our server needed to be able to field thousands of clients, and maintain good performance, and there wasn't confidence that Java would be able to deliver that, at the time. Another thing was despite Sun's claim that Java offered more application and system stability, we ran into more instances than we were comfortable with of Java software that crashed, or even crashed the whole system, sometimes (when running on Windows).
Great video by the way. I do like that a few new languages run on the JVM like Kotlin and Dart. Not as popular as Java but it goes to show how adaptive the JVM is.
Great video! For Android, Kotlin is (in my actually humble opinion) far superior to Java. While Java is unpleasantly verbose and rigid, Kotlin reads like poetry. It has the official support of Google, and any Java file can be replaced with Kotlin without changing the rest of the project. When I recently started making an Android app in Java, I absolutely hated it, but since I changed to Kotlin, it's become fun and satisfying.
Kotlin uses the Java Virtual Machine, it's basically just an alternative syntax with extra features. Although, Kotlin can be compiled to other targets it still is usually targeted at the JVM.
Kotlin is not a separate language, but just one of a bunch of languages built on the top of java virtual machine. So it's not like Kotlin is java replacement, rather it's an enhancement.
Only because they're enterprise and switching over to Node JS is too costly. It'd be like fixing a wing on a plane while you're still in the air. Same reason a lot of enterprises still use IE 9
I wouldn't touch NodeJS for any security/latency stuff. And apps wise, most of the time it's still better to write it straight as a native app than trying to build it via e.g. react as it performs faster, conforms better to the ecosystem and the download size is generally smaller. Anything server side, I'd also stay away from Node and just use e.g. Go, Java/Scala, Python, etc. as they're all faster, scale better and are quite easy to write/maintain. If you want a quick site that pretty much has no traffic, no budget while being on a time constraint, go ahead and go NodeJS. Industry should stop going for buzzwords.
You realize that walmart.com and paypal are all written in node js and gets MILLIONs of concurrent traffic per second right? If you want the best concurrency then you go with Node, if you don't want to scale go with anything else.
@@privateprivate31337 we scaled well with spring boot and we handle 250k requests per second on the cheap.. and we're talking data heavy requests, not those silly clickbait tests. We have nodejs services as well. The only issue we have with them is ramping developers up on em.
I'd like to add the Oracle/Sun JVM isn't used in Android. Android uses ART (previously Dalvik) which is a clean-room implementation of the JVM. At the moment, Android is pushing people to Kotlin which is another language that can run in the JVM (other examples of this are Scala and Clojure). I think the reason for this is that it's a much more "modern" language (Much more concise and simple).
Well art isn't technically a Virtual machine since all it does is compile apps to a binary you device's CPU can understand. It does it one time and then saves the compiled app. Delvick also did this, but did it every time you launched said app since it never saved the compiled version. It doesn't do instruction conversion on the fly...
Claudio Lluberes Actually the only limit really governing what limits are in place in Android is what ART can reliably compile into machine code on your device. Android doesn't really convert instructions on the fly like what you might see with a typical Java application
I don’t know why google didn’t go with a compiled language for Android app development. The resource hungry JVM seems like a poor choice for a resource constrained environment like a mobile phone.
That's not easy tough If they get rid from Java in instants, many apps and games will just not work anymore in last versions of Android But they recently released a new code language for Android, wich is Fuchsia, and they are incentivating developers to use it instead of Java
Java could really use an update that makes it a bit less lengthy to program in, and also have C and C++ level of performance when being compiled while also still being compatible with anything and revertible from any version of java.
Actually it was more like debug the JVM on the system and try using a different approach because what should have worked, didn't. Java was a frustrating environment to work in.
"Java on the web is gone" Embedded Applets are what's gone. Java powers websites, web applications, and APIs en mass. Netflix's entire ecosystem is a tremendously huge array of Java applications (just as one example). It's never been more huge on the web than right now. Also Java was named after the Island, and simply because it's something people also call caffeinated beverages, enjoys whatever moniker that can come from it. JavaScript on the other hand was just an embedded scripting language that webmasters could take advantage of to enhance the runtime functionality of previously static pages. Similarities in name alone, even syntax wise they're so wildly different from eachother
"some compilers just assigned words to each of their machine code functions" That's called an "assembler" NOT a compiler. Please use the correct terminology. A skateboard is not a car.
"numbers represent instructions" No. Sets of electrical switch positions(abstracted as bit sequences and stored in groups of 8) are the actual instructions they are not numbers and they do not represent anything deeper. The unique set is the physical toggling of switches which then causes an electrical cascade of transistors through the processor, that cascade being the actual operation.(physical toggling does not mean mechanical, although it could and did once long long ago)
I've been working with Java since 1997.. and it has been deployed in some very major applications.. runs a lot of grocery stores, server management.. etc.. nice video. ( One minor issue .. you spelled compiler wrong on your first slide.. otherwise.. GREAT!
When I was taking a Java class, during one of the tests I was the only one that answered correctly to a question about Java's original name, Oak. A useless piece of information that shouldn't have been asked on a programming test. I only knew it because I have an obsession about reading any book from cover to over, even the publishing details.... weird, huh. I hated the fact that professor wasted a question on a trivia and so I never looked into its origin (the book didn't go into those details). However, thanks to your video, now I know, heh.
I’m the same way when it comes to books. I feel incomplete unless I’ve read every single word printed in the book. Even now, reading my tenth book on C++, I still can’t make myself skip the beginning where it explains stuff like variables and data types. I feel like if I skipped it, I would miss some tiny detail that wasn’t mentioned in any of my previous books.
ofc I do... it's something designed to draw attention in the form of "clicks" by creating a thumbnail or title that either doesn't pertain in any way to the subject of the content or very loosely describes the content. java and by extension java script is far from dead.
Bacon does sh!t I didn't thought I need to. He apparently knows what clickbait is and he thinks that the title of the video is bait for clicks; I on the other hand think that calling this video clickbait is a stretch.
it is kinda clickbait but I think it's because the guy doesn't quite know what he is talking about. It's true that Java was intended for www but it was a short period and was long ago. Actually Java is still on the rise but he never even mentioned that it's a dominant enterprise language.
I'm surprised he didn't say what I think is the biggest threat to Java in the near future: Oracle. They have threatened some huge lawsuits on Google, creating fear in the community.
Java did not fail on the web, but web BROWSERS. Massive amounts of web based applications are Java based. In addition to that, Google wants people to move away from Java for its apps and move to Kotlin.
>Google wants people to move away from Java for its apps and move to Kotlin. Kotlin generates JVM byte code. Google AFAIK hasn't publicly started they want people to move away from Java. However their crush on Kotlin is for legal reasons; They are getting sued by Oracle. Whether or not you think that APIs are copyright'able there is evidence that Android/Google knew there was an issue.
>1) it runs everything on the client so if the computer runs like shit, How is that different to current JS based code? The only reason it runs well now is because of all the effort put into JS engines. Java had JIT for ages.. >2) secure coding. It is almost impossible to write secure code in Java. Why? Running code in a Java virtual machine isn't much different from running it in a JS interpreter/virtual machine. >while the apps are java, a good many of them are in >different languages. All of the high level UI and services on Android are written in Java. If you write an app that is an Android app and not something generic that's drawing on a surface chances are a lot of your code will be Java or Kotlin. >Candy Crush Saga, for example, is written in C++. Generic app drawing on a surface. >C#. Really? You mean the tiny tiny amount of xamarin apps right? >Java is basically for the consumer grade stuff. AKA most android apps.
Google are also heavily pushing a new framework called Flutter that is written in Dart. Now Dart runs in a virtual machine like Java but I think it's a different one.
web browsers failed to implement the securety scheme that was advised by sun at the time to run applets. As a result a java applet had no securety and could do anything it wanted on the client machine. As such it became unsafe to run applets and webbrowser developers banned java. Bad decision. java is still an excellent language for error prone development and will be around for a long time i hope. Bad implementations of the same ideas are next best so far imho.
Java is huge in The Enterprise today’s. So many backend systems for applications (not like App Store apps, more like apps provided from corporations to their clients) are running via a cluster of jvm’s through IBM’s websphere or other Java hypervisors.
Another thing why Java won't fall any time soon is that it's ease of programming, and the fact that it has a huge prevelence in high school computer science classes making it the gateway of beginner programmers
We studied both Python and Java. Unfortunately we started Java around the time that Minecraft was getting really big so _everyone_ in the class was all "lets make a mod!" and then only like two or three of them managed to get the environment set up properly for it.
True, but sometimes old ideas are forgotten when they should be resurrected. For example, it’s nice to see coroutines making a comeback (async/await in Python and other languages); next I would love to see continuations www.codecodex.com/wiki/Continuations added to some language other than LISP ...
My dumb classmates think that Minecraft Java Edition is a better version of Bedrock or P.E but they don't know that it is actually a programming language: JAVA. **MEME SECTION** Nobody: Me: Mojang, why in the world did you re-write Minecraft in Java?? Now I can use my laptop as a toaster while playing Minecraft User: Java, java? Java: Yes papa? User: Eating R.A.M? Java: No papa. User: Telling lies? Java: No papa! User: Open you mouth... Java: HAHAHA! *millions of bytes of R.A.M fall out from Java's mouth**
How is it better? Because more scriptkiddies made crashing junk for it? Because of the "it kinda works"-mentality, which is infinitely better than the mentality of actually defining that it can not do anything else but function in a correct way?
A well-done and informative oversimplification. Java's bytecode was not a new idea. In the 70's, Pascal was compiled to p-code ("portable code" or "pseudo-code" since it was an instruction set for a fictional pseudo-computer like Java's Virtual Machine (VM)). Pascal's procedure library was fairly basic, so any practical compiler would inevitably extend the language. So the idea was that every computer system (remember that this was before the IBM PC) would have a p-code interpreter, so you could use any Pascal compiler extended in whatever way (eg, compare standard Pascal procedures with Turbo Pascal) to generate the executable object in p-code, then load it on any computer with a p-code interpreter and run it. Just like you do with Java's bytecode. Pascal's p-code scheme never really caught on, especially when the more famous extended compilers ran on PCs (eg, Turbo Pascal, QuickPascal). It took the environment provided by the Internet to make the use of p-code, now called bytecode, both practical and desirable. Pascal's p-code was before its time. The later history I saw was a legal battle over the licensing of Java and what Microsoft was doing with it. It was during that legal battle (which I think came out in Microsoft's favor, but feel free to correct me) that Microsoft started developing C# and the .NET library, a does-everything library rather similar to Java's very extensive library.
Katherine Mitchell “forced” is a pretty strong word. I’m pretty sure that you voluntarily accepted your current job. If I’m wrong, then you must live in a country where slavery still hasn’t been abolished and I hope you seek asylum.
This is mostly misinformation. Contrary to what video says, neither HotJava or Applet ever enjoyed great popularity and Java's current status largely comes from server side of Java or J2EE. Back then in 90s, with dot come bubble, there were huge demand for web programming, with which people wrote C, C++ or perl using CGI. It was slow and less efficient. Server market was shifting from mainframe to Unix-like system. MS Windows NT was still a joke. People turned to UNIX-like system. Java introduced new ideas (or incorporated existing ideas) such as server pages, beans, RMI, distributed beans, server managed beans and other enterprise ideas. Java promised to 'write once and run anywhere', regardless HP-UX, Solaris or IBM AIX. Especially, Java Servlet Container (and its implementation Tomcat) was big success and became de-facto standard. And JSP, server side dynamically generated HTML, web programming opened new possibility. Web programming with Java became easier and more scalable. Java being relatively free from memory leak problem that made C, C++ programmers shudder, seen as most modern language at the time. Now, Java have full portfolio of web technologies spans from front, middle to backend. On front, you use Applet. On server side, you use EJB. In between you use JSP. They have suite of technologies for everything, they even covered mobile(J2ME). Also JVM performance enhancement over time helped Java being popular. During 90s, people mocked 'write once, run anywhere... slowly.' and others would add '...until OOM?' but now JVM is really efficient. As a result, Java became 'THE' language to learn that covers most strata from late 90s for decades. Adding to that popularity, Java became playground for modern programming practices. Design patterns and TDD was more widely adopted than before. Some new ideas J2EE without EJB, namely Spring and other libraries that made Java even more powerful. Well, this is not because of HotJava.
JVM is incredible, Java (before 8) is grandfather era technology and there are millions of programmers who can write the same bulky code. Scala/Closure/Kotlin ftw
In case anyone missed it, Google themselves said many times that KOTLIN language will be taking over Java in the android eco-system just thought I would mention it :D
Nice video, you used a neutral language and a good explanation on what you consider "the fall". Personally I think you should look at the problem and solve it with what you like best. Many people nowadays hate Java just because of Oracle.
I love that the 'Compiler" graphic @ 1:20 says 'Complier' - cause that is essentially what it did... made your code comply with machine code. a great unintentional gaff
Javascript annoys and confuses me for some reason. I've overcome it recently, but another 'easy' language also drove me nuts in the past. (Basic.) In hindsight basic isn't so bad. I mean, what I'm dealing with lacks a few features that would be pleasant, but I AM running a version that effectively comes from 1982. (on period hardware.) As for Java, it annoyed me in more subtle ways, because back then (and sort of still now) I was mostly into game programming. And guess what Java doesn't let you do? (by design), access hardware and OS features directly! That means your only option is to use the available libraries, which in the early 2000's absolutely sucked for doing any kind of realtime graphics. To make matters worse, even with a graphics library providing some approximation of low level hardware features, the language refuses to allow the use of pointers. Which further cripples your ability to write low level (as in fundamental, not hardware specific) graphics code... Nowadays there are more libraries, though it's pretty obvious to me given the headaches I had with it that those libraries can't themselves be written in Java, or they wouldn't be capable of doing anything. In any event, annoyances aside, I managed to write perfectly functional Java almost entirely off the back of knowing C++, which goes to show how similar most of the syntax and commands are...
JavaScript doesn't follow logic very much, is nearly impossible to debug, and is just a giant hash table so it'll basically slow down the more you write. The people that use it usually haven't much of an idea of the fact it's already being interpreted on top of a pile of other technology and have no idea about the trade-offs between memory and cpu since threading and deep-copying and pass-by-value just aren't in the vocabulary of javaScript. Basically, if you're confused by it, then you're trustworthy. If you say you've mastered "random", then something's off. But what I'm trying to say is, Vampire: The Masquerade was coded in Java. Fun little fact you might enjoy to see what people did with it and how they got it to go fast. It wasn't 100%, but it was significantly made with it.
The Star Seven had tactile drag and drop with the item being redrawn as it is moved, in the early 90's? Did that REALLY exist? Is this actually not a fairy tale? Wow...
Correction(-ish) Java is no longer THE official language of Android. It is still supported, but it is being phased out in favor of Kotlin, which also compiles to Java bytecode and also runs on a JVM. The possible argument here that legacy apps written in Java will remain en-masse is also unlikely. Android Studio has an automatic "convert file(s) from Java source code to Kotlin source code" tool, which takes very little work to use.
Java's syntax and code is the one that I know alot, and memorized more than C# or Python. It's still my go-to programming language, and the one I am more familiar and easiest to program with.
It’s simple. Java is that thing that allows me to play Minecraft
and lets me make minecraft mods!
Play Minecraft really slowly even on though it can be run quickly had it not been written in Java*
Ye
@@cyclonic5206 being written in Java isn't the only problem. Java isn't _that_ much slower than CPP, I think it's just because the project was never meant to become the size that it currently is, introducing many, many small performance hits that add up.
@@KingJellyfishII Fair point
Not even Oracle managed to kill Java. That speaks for itself.
Indeed. The fact that people still use Java shows that their's no accounting for poor taste.
Daniel Hendricks People Only still use Java because they want to play Minecraft.
Daniel Hendricks Java is fine if it’s used in an appropriate way; prefer composition over inheritance etc. There’s so much garbage code out there though.
@@WilderPoo like urs
@@Gamebuilder2000 or run android
>fall of Java
Laughs in enterprise
LAUGHES IN MINECRAFT
@Solve Everything Oracle Java SE Subscription
1 Year Term Subscription that combines Java SE Licensing and Support for use on Desktops, Servers or Cloud deployments.
US$150.00 - US$300.00
If you really need commercial support that is.
There will be at least one developer who is going to party like (but no longer code like, since Java will be dead) it's 1999. Me.
@ We have OpenJDK though
OpenJDK has entered the chat
My relationship with Java started when I was 7 and started playing runescape. Im 20 now and trying to complete my computer science degreee. Thanks java, you have legit shaped my life
This is legit the same for me. I got into coding to make my own Minecraft mods, and now I'm 20 doing internships while finishing my software degree. I can't thank Java enough
Same here! Learned how to write Minecraft server plugins 5 years ago as a hobby and ended up turning it into a job. I wouldn't be where I am now without Java and Minecraft
Yep. Starting posting my Woodcutting bot scripts written in Java on Powerbotorg at 13. 11 years later I'm working as a software engineer writing.. Android apps in Java and PHP webservers. Gang!
@@alienwarex51i3Why aren't you using the recommended programming language for android development: Kotlin? Nevertheless, it is good that you have a job and are being a productive member of society.
"Java and Javascript are similar like Car and Carpet are similar."
EnderCrypt Please elaborate.
theres nothing to elaborate, its just a funny quote regarding java/javascript mentioned in the end
"java is to javascript as ham is to hamster"
Carpets can fly while cars drive.
Knock Hello Simply Java is nearly completely different in the way you write the code, but also the way it runs on the hardware. Java is actually compiled to machine code that runs on a java virtual machine, while with javascript you actually send the English-like code and it is interpreted on your machine. So you can look at full code that a website runs on your machine, but it is a lot slower than Java.
Javascript is one of the simplest languages to learn.
Little known fact: Java also runs on your BluRay player, finally fulfilling its original purpose.
So, can i run doom on the bluray player?
Little known fact: Java runs on your SIM card.
@dontclick notgood You can, it's just going to be insanely slow.
@@1d10tcannotmakeusername nope the LWJGL-Binaries only exist for Windows, macOS and Linux.
@@leocat2662 ToasterOS is most likely based on either Linux or FreeBSD, both of which are compatible with LWJGL.
More like 'The Rise and Rise of Java'.
Chizzy Meka exactly!
Read my mind
Chizzy Meka lol true
and the Rise and Rise and Rise some more...
Just like the index of a for loop
If COBOL is not dead, I don't think that Java will die soon.
Some old languages as COBOL have a niche utilization in financial applications, so they are slow to die. Java, on the other hand, is a multi-purpose language like many others. Its platform independance is less an advantage as before, now that the gcc compiler series is supported on practically every CPU. Also, other VM-based languages have appeared and evolved much better, while Java has stagnated and can barely keep up after the multiple mistakes it suffered along the few updates. Type erasure, an awkward grammar and poor support for functional programming or asynchronous execution are typical examples; when compared to C#, the Java language and its underlying engine look like dinosaurs.
Its only advantage left was the large existing code base, and the fact Dalvik has a similar bytecode so that earlier Java versions could be used as source language for Android apps. But JVM-based modern languages like Scala and Kotlin were recently introduced, they can be compiled on the same VM and are compatible with all the existing code base (besides being compilable to native or JS), while offering at last a power set of features with a comfortable, coherent and clear language.
Thankfully Google adopted Kotlin as an alternative to Java (and hopefully, soon as a replacement), which will allow Java to finally retire with what little dignity still remains. A bit sad those key considerations were missing from the video.
@thomas samson Just stating it won't make that true, especially without any argument ;-)
One more step: ruclips.net/video/2qt-3Yjo2IA/видео.html
And that's unfortunate in both cases.
Exactly. Java is the new COBOL.
It’s not entirely fair to say that Java no longer runs the web as it powers the vast majority of enterprise web servers. While its no longer the king of front end, its still very large on the back end
Yeah, Java backends are the most popular for corporations.
-applet-
*S E R V L E T*
Good point
My thought exactly; Java is still helping to power the web on the server end, just not on the client anymore. It hasn't fallen, but rather evolved from its original purpose.
Also there are frameworks that allow writing the front end too with Java eg. Vaadin.
“Fall of the java “ is a click bait for the millions java programmer.
Did not even watch, came to read comments. C++ programmer (but with Java we are stronger lol)
yeah, I've avoided watching this video for a while but gave in today and the value really is in the comments. I've never gained so much from reading youtube comments, or seen so many intelligible debates on this site
It was for me when I first saw it. Learn Kotlin though, it's better.
"the Rise and *fall* of java"
Minecraft: EHEMMM....
@VincentQuerta yea but that's only useful to play with others on other platforms, in terms of PC only the Java edition is easily superior.
if for nothing other than mods and custom servers, Java edition wins hands down
Minecraft 2020: Java is on 1.16!
/
Haha! C++ is the reality
2:23 damn, thats a creative logo
Yeah I like the logo to
This is what I subscribe for.
No cheesy voices,no BS in the background,but straight to the point and that sweet and warm voice....
The ThinkMan
Opposite of the game theory
except the bs where he never delivered on the title and just gave me a history lesson I already knew. fucking click bait.
Octoboi77 it is not until 8 min and 30 seconds that he actually addresses the "fall of java" part. The video is only 10 min and 30 seconds long. Almost the entire video is a history lesson. When he finally gets to "the fall of java" he pulls a bull shit tongue and cheek move saying, "I know I said the fall of java in the title but guess what java never fell! Ya isn't that cool" Fucking click bait
I like java. I think it is cool and innovative. That's why I was interested to watch this video...and then was extremely disappointed because it did not say anything interesting and did not deliver on what it advertised
> and that sweet and warm voice....
You might need a girlfriend. Or a sock.
Every teacher gets a java update notification sitting on their pc. That's a fact.
Finally they brought some basic functional programming constructs to Java, making it much more comfortable to work with.
I'm surprised that the Science Elf didn't mention that there are also dozens of other languages (e.e. Clojure, Scala, Kotlin, Groovy) that compile into Java bytecode and are run on the Java Virtual Machine, It's pretty impressive on the whole.
Closures (lambda functions) are the first and only functional programming construct that they introduced, and is almost certainly going to be the last unless the language takes a radical new turn this decade
@@jameslawson1 They are trying to be more FP-like, with Optional, for example, and map and forEach on collections, and the vavr library no? It's very awkward, and I think Java is way past its best before date. I can't believe how widely it is used when it is a steaming heap of cruft. I gave up on Java ages ago and far prefer Kotlin with Arrow.
"The Rise and RESILIENCE of Java" is the subject matter of this video, which makes the title sort of clickbait. But it's still a great video. Thanks for posting it.
1:24 "Complier"
It complies with everything
Yes. Everytime you code something wrong... it complies.
"You want to run an ObjectiveC app on Android? Go for it. Complied."
It's a shame videos can't be edited for micro-errors like that. I guess there are always on-video comments, though.
Compiles Once... Debug everywhere.
90% of comments say that java is for Minecraft
Acceptable.
That is 99% inaccurate.
But Minecraft.
Also for Starbound though... But mainly for Java as you mostly don't use the official launcher aka you need to get your own Java.
More acceptable than Bedrock Edition.
tvbrowser, Eclipse and Netbeans.
Just got into learning java and love to hear the stories from the past. Very informative vid, thanks!
I started writing Java, somewhere in '95 or so (applet's), exactly for the purpose
of creating more interactive web-pages. I was planning to make a 3D browser-based game.
But, as it progressed, I found it to become complex to the point that you had to read through
a large amount of documentation, in order to get some function to work.
Some things, never worked properly, due to lack of control on processes.
That made me quit the whole thing and that's what made me turn to javascript and DHTML.
I have no experience with the apps for android, but I can imagine that many
things have been made easier, to write simple things for a ever-growing consumer market.
You don't even call it 'programming' anymore; it is 'software engineering'.
It will propably become 'software management', at some point.
I am still in doubt if that's a good or bad thing.
Ruby Script seems to become an interesting thing for people.
for what do i need java if not for minecraft.
Sephy Rune You
Are
Bad at the game
I love Java, but Minecraft should not have been written it. The jvm mixed the the gc makes it ill-suited for games.
Termer then play Bedrock Edition.
Old School Runescape too.
Java has its advantage over say C++. Modding being the big one and easy multiplat-porting to other OSes like Mac and Linux being the second.
Heck the modding community has basically decompiled the game to source code already, something that is infinitely harder with the C++ version
"the Fall of Java"
*intense skepticism*
Ikr
Press X to doubt.
Nullpointer Show me the stack trace, did I forget to define it again"
Yet a lot of developers try to move away from Java because it is WAAAAY too verbose... (hence the general decrease of Java in the TIOBE index)
It's mainly project managers who hold on to Java because "there are plenty of Java developers in the market" (and project managers don't do the coding, so they don't feel the pain of using a verbose language)
So yes, Java is falling (it's not dead yet, but it's falling)
*MULTIPLE PEOPLE ARE TYPING...*
Your graphical visualisation of CPU architectures and platforms being different varieties of interlocking, meshing patterns is truly inspired! This is *EXACTLY* how my mind works, and I’ve often used this visual analogy in my mind, and my brain seems to naturally generate mental mnemonics such as this, to break things down so that they’re clear and rational.
Thank you! God bless you.
nigga it really aint that deep. It just runs bytecode
Java will never die.
Its simple.
Too much runs on it, and there's is a vast wealth of knowledge out there on it. Its incredibly easy to learn, its easy to use, and its widespread.
It is basically where C++ was back in the mid-90s. Everyone uses it.
And its not a bad language either. You can argue that its verbose. And yes, it is. I think more can be done to improve that.
Stuff has already happened for that. Introduction of var for example.
I don't particularly like that aspect tbh but horses for courses.
Verbosity isn't that big of a deal in my opinion. Newbs like it because it makes it look like they're doing more than they are, OGs don't really mind it because they either use shortcuts in Intellij by now or have been doing it for so long they don't even give a shit anymore. Java is too ubiquitous at this point to go anywhere any time soon. Maybe in 20-30 years we will see some real difference, but even then... Hell, FORTRAN and COBOL still have job listings...
I personally just find it's an extremely tedious language to use. It feels almost pompous with it's structure. I can't imagine many cases where it wouldn't be better to use c++ or JavaScript instead.
@@Selsato
C++ backend is a nightmare. No package manager is a dealbreaker for almost everyone. C++ is expensive to develop in. C++ is unarguably more verbose for OOP purposes.
NodeJs is a solid choice for smaller apps, but isn’t scalable. Same goes for Python.
Java scales well, is easy to distribute, uses maven which is much better than npm. It’s cheap to develop in, it’s easy to debug, it’s easy to onboard people, and it’s magnitudes faster than JS.
.NET is another solid choice.
Java is just easier to get working for backend and middleware purposes. JS is mainly a front end language.
@@gmodrules123456789 Ah y'know what, I can't argue. I honestly didn't consider large scale projects, and you're probably right. I can really see from the appeal of java from the perspective of industry.
C++ certainly shows it's age, and JavaScript can struggle to stay cohesive as projects grow in size. Java having strong object oriented features and universal platform support does make it a good choice.
That said, my perspective as a developer hasn't much changed. It's just a very dry and overstructured language. It's not beginner friendly at all, and I personally just despise using it.
Thank you for not using too much technical pharases and jargon - thanks for making your video watchable man your channel is a gem.
Pretty sure I've been hearing that Java is dead/ fallen/ no use/ not cool.. blah blah since the year 2002 when I started programming. Cute video.
To be fair, pronouncing the death of Java is quite a fashionable thing to do.
Now this is a comment underrated up to the point it results offensive to me. Have a thumbs up.
no language is dead
ask cobol
2025: "Java is about to die!"
2037: "Any second now..."
"Java will be still be relevant long after javascript hippies die."
This is the comment that I read somewhere else. lol
This is a true community service creating and posting this video here. thank you for your time and effort
ironic that this was uploaded exactly a month before my Java class started...
No, not really. It might have been...... if the title of the video was correct...
As a systems engineer this video is just not true , jboss, Tomcat and IBM WebSphere are still highly used, Java has just moved to the back end
Yup. Like... pretty much all AWS services are written in Java. People see only a tip of the iceberg when it comes to Java. Like Minecraft. But cases like Google. Oh boy. The use of Java is colossal in their code base.
Lazic B. Java is scalable in web ;)
Java also still renders templates with JSF for multi page applications.
I think he means on the startup scene, in the corporate world Java is still very much a major player
@@tomv3999 as someone getting in to backend development, what exactly is wrong with websphere (not disagreeing just new to it all)?
I wrote C++ compiler in Java
Oak-based devices failed because Sun didn't really understand the economics of embedded systems at that time. Embedded systems were incredibly cost-sensitive and most devices were either using C or assembly language because of the cost constraint on the hardware used. People were actually arguing over pennies in the HW design. The speed of the code was also a constraint.
Agree. We ran into this where I worked, when Java came out. I was one of the people in our shop who got excited about Java, thinking maybe we could use it for some of our development. We primarily worked in C for both client and server. I didn't see Java as a possibility for our client systems, because we needed software to work in small memory spaces, and it needed to have good performance. Java was boggy on your average hardware. It needed a fast system, with abundant memory to be considered at all. This was before Java's JIT was well-developed.
We considered running it on the web, though, as an applet. We had been using thick clients, but we thought maybe we should have a web client. I worked on that project, trying to see how we could use applets. That turned into kind of a nightmare, due to running into sandbox constraints. It turns out to do what we wanted, we needed to sign our applet with a certificate from a certificate authority, which cost some major bucks, and we weren't willing to spend that kind of money to adopt a new technology. I asked, "What about using it on our server," since we didn't have this issue with it, and we'd have more memory and processor resources than on our clients, but the answer was no, I think because we were worried that the performance wouldn't scale well. Our server needed to be able to field thousands of clients, and maintain good performance, and there wasn't confidence that Java would be able to deliver that, at the time.
Another thing was despite Sun's claim that Java offered more application and system stability, we ran into more instances than we were comfortable with of Java software that crashed, or even crashed the whole system, sometimes (when running on Windows).
Great video by the way. I do like that a few new languages run on the JVM like Kotlin and Dart. Not as popular as Java but it goes to show how adaptive the JVM is.
"Fall of Java"
> looks at life-time java projects
Great video!
For Android, Kotlin is (in my actually humble opinion) far superior to Java. While Java is unpleasantly verbose and rigid, Kotlin reads like poetry. It has the official support of Google, and any Java file can be replaced with Kotlin without changing the rest of the project. When I recently started making an Android app in Java, I absolutely hated it, but since I changed to Kotlin, it's become fun and satisfying.
Kotlin uses the Java Virtual Machine, it's basically just an alternative syntax with extra features. Although, Kotlin can be compiled to other targets it still is usually targeted at the JVM.
Kotlin is not a separate language, but just one of a bunch of languages built on the top of java virtual machine. So it's not like Kotlin is java replacement, rather it's an enhancement.
@@tomaszzakrzewski3790 it's more like a copy cat programming language instead
@@Scudmaster11also has a slow compiler as well. I do not like Kotlin's implicit types system, I like strongly typed languages.
@jasonenns5076 so everything about kotlin is worst... slower , copy cat , and many more
Some of Java meaning:
-coffee
-one of island in Indonesia
-java script
-minecraft
You forgot Runescape
Kotlin is now the main competitor to Java on Android. Both are converted into byte code anyway, so they work together.
Kotlin is made with idea "look, it works better than Java". So ironically to start learning Kotlin you must know Java already
No sorry, Java is still heavily used in the enterprise sector (Java EE, Spring...)
Only because they're enterprise and switching over to Node JS is too costly. It'd be like fixing a wing on a plane while you're still in the air. Same reason a lot of enterprises still use IE 9
I wouldn't touch NodeJS for any security/latency stuff. And apps wise, most of the time it's still better to write it straight as a native app than trying to build it via e.g. react as it performs faster, conforms better to the ecosystem and the download size is generally smaller.
Anything server side, I'd also stay away from Node and just use e.g. Go, Java/Scala, Python, etc. as they're all faster, scale better and are quite easy to write/maintain.
If you want a quick site that pretty much has no traffic, no budget while being on a time constraint, go ahead and go NodeJS.
Industry should stop going for buzzwords.
You realize that walmart.com and paypal are all written in node js and gets MILLIONs of concurrent traffic per second right? If you want the best concurrency then you go with Node, if you don't want to scale go with anything else.
@@privateprivate31337 we scaled well with spring boot and we handle 250k requests per second on the cheap.. and we're talking data heavy requests, not those silly clickbait tests.
We have nodejs services as well. The only issue we have with them is ramping developers up on em.
> Java is still heavily used in the enterprise sector (Java EE, Spring...)
Exactly. The world of "waterfall" and "user stories" and India.
Have fun.
I'd like to add the Oracle/Sun JVM isn't used in Android. Android uses ART (previously Dalvik) which is a clean-room implementation of the JVM. At the moment, Android is pushing people to Kotlin which is another language that can run in the JVM (other examples of this are Scala and Clojure). I think the reason for this is that it's a much more "modern" language (Much more concise and simple).
I remember that fun stuff called BASIC and also when you talked about OAK I see it when I load a Win Bootable disk. Cool stuff
Well art isn't technically a Virtual machine since all it does is compile apps to a binary you device's CPU can understand.
It does it one time and then saves the compiled app. Delvick also did this, but did it every time you launched said app since it never saved the compiled version.
It doesn't do instruction conversion on the fly...
Thank god we're moving off from Java in mobile development though :)
It is still Java if Kotlin is running on JVM. It is using all of its features, optimizations, and is being compiled to Java bytecode.
Claudio Lluberes
Actually the only limit really governing what limits are in place in Android is what ART can reliably compile into machine code on your device.
Android doesn't really convert instructions on the fly like what you might see with a typical Java application
Marty, I just got back from 2044...
...they are still trying to kill Java!
@Solve Everything ...so still alive!
You just can't kill Java :)
And you didn't mention Google tries to get away from Java because of crazy patent wars with Oracle.
I'm not sure why they don't just use Microsoft JVM. It is as equally irritating, useless, ancient and slow as any other out there.
I don’t know why google didn’t go with a compiled language for Android app development. The resource hungry JVM seems like a poor choice for a resource constrained environment like a mobile phone.
That's not easy tough
If they get rid from Java in instants, many apps and games will just not work anymore in last versions of Android
But they recently released a new code language for Android, wich is Fuchsia, and they are incentivating developers to use it instead of Java
My experience with Java is great. I still use it for Android programming everytime I can! Lots of resources available. Nice video man!
I remember downloading .jar games and apps on old java based phones
Me too
GreenFlags kids now-a-days won't understand the real fun downloading them
That's J2ME though, which isn't the same as desktop Java. (But probably contributed to the 3 billion devices as well.)
Nokia phones :D
Elmar Gomez indeed
"The rise and fall of Java".
*stares intensly at minecraft*
"Java is dying?"
Java could really use an update that makes it a bit less lengthy to program in, and also have C and C++ level of performance when being compiled while also still being compatible with anything and revertible from any version of java.
cough Kotlin cough
Java 17?
@@rpgamer1002 dog this comment is 3 years old java 17 wasn’t even a thing
'write once, debug everywhere'
Write once, debug in realtime
Java, fuck yeah
Actually it was more like debug the JVM on the system and try using a different approach because what should have worked, didn't. Java was a frustrating environment to work in.
*+Kiyoshi Kirishima* finally someone who knows that phrase as well.
lmao ikr
Most haters of java are ones that can't java.
1:16 *_Complier?_*
It complies to the orders
yeah?
LunarCoffee It's a typo
*_WILL YOU COMPLY?_*
Pugduddly compiler
"Java on the web is gone"
Embedded Applets are what's gone. Java powers websites, web applications, and APIs en mass. Netflix's entire ecosystem is a tremendously huge array of Java applications (just as one example). It's never been more huge on the web than right now.
Also Java was named after the Island, and simply because it's something people also call caffeinated beverages, enjoys whatever moniker that can come from it.
JavaScript on the other hand was just an embedded scripting language that webmasters could take advantage of to enhance the runtime functionality of previously static pages. Similarities in name alone, even syntax wise they're so wildly different from eachother
Whole server halls are managed through Java code lol, people have never heard of Scala/Hadoop/Spark I guess??
JavaScript was developed in a world where Java existed and leaders wanted a "Java like" language on the Browser, hence the name.
Amazing, the JVM is "just" the Adapter design pattern for processors.
That's why they call them " design *patterns* "
(nice observation though)
"some compilers just assigned words to each of their machine code functions" That's called an "assembler" NOT a compiler. Please use the correct terminology. A skateboard is not a car.
"numbers represent instructions"
No. Sets of electrical switch positions(abstracted as bit sequences and stored in groups of 8) are the actual instructions they are not numbers and they do not represent anything deeper. The unique set is the physical toggling of switches which then causes an electrical cascade of transistors through the processor, that cascade being the actual operation.(physical toggling does not mean mechanical, although it could and did once long long ago)
Technically it is a car, though it's better to describe it as a vehicle
@@dethm0r30 u real insite fam
Java did not really fall.
That's exactly what this video says.
That's what he said, it did fall on web but it's still alive in other platforms.
Yeah, some older software and games still require Java RTE to Run.
if you like to work on very old places dealing with crappy enterprise systems, yes, didn't fall...
Jose Carlos "on very old systems" "dealing with crappy enterprise systems". Wtf do you mean?
I've been working with Java since 1997.. and it has been deployed in some very major applications.. runs a lot of grocery stores, server management.. etc.. nice video. ( One minor issue .. you spelled compiler wrong on your first slide.. otherwise.. GREAT!
Even if Java itself may die one day, Kotlin (for Android), groovy (smart home) and other Java derivatives will keep on pushing forward.
Java itself likely will drop in popularity, but with JVM-based languages like Scala and Kotlin on the rise, the JVM should stick around.
That TV remote is Sooooo advanced for it's time. At least to me. Why isn't any comment celebrating that??? I think that remote is lit!
In fact, the Star7 was *too* advanced for its time. As a result, there was no market for it and it failed.
Yes this is the first time I heard about it and i'm shock
Yes, in the iPhone launch, people cheered when Job did a scroll move but that tv remote went unnoticed. It was way ahead of its time.
Title: The Rise and *Fall* of Java
Minecraft Java Edition: *HOLD MY BEER*
When I was taking a Java class, during one of the tests I was the only one that answered correctly to a question about Java's original name, Oak. A useless piece of information that shouldn't have been asked on a programming test. I only knew it because I have an obsession about reading any book from cover to over, even the publishing details.... weird, huh. I hated the fact that professor wasted a question on a trivia and so I never looked into its origin (the book didn't go into those details). However, thanks to your video, now I know, heh.
I’m the same way when it comes to books. I feel incomplete unless I’ve read every single word printed in the book. Even now, reading my tenth book on C++, I still can’t make myself skip the beginning where it explains stuff like variables and data types. I feel like if I skipped it, I would miss some tiny detail that wasn’t mentioned in any of my previous books.
sooooo... clickbait.
I question if you even know what clickbait means.
ofc I do... it's something designed to draw attention in the form of "clicks" by creating a thumbnail or title that either doesn't pertain in any way to the subject of the content or very loosely describes the content.
java and by extension java script is far from dead.
Bacon does sh!t
I didn't thought I need to. He apparently knows what clickbait is and he thinks that the title of the video is bait for clicks; I on the other hand think that calling this video clickbait is a stretch.
it is kinda clickbait but I think it's because the guy doesn't quite know what he is talking about. It's true that Java was intended for www but it was a short period and was long ago. Actually Java is still on the rise but he never even mentioned that it's a dominant enterprise language.
I'm surprised he didn't say what I think is the biggest threat to Java in the near future: Oracle. They have threatened some huge lawsuits on Google, creating fear in the community.
Java did not fail on the web, but web BROWSERS. Massive amounts of web based applications are Java based. In addition to that, Google wants people to move away from Java for its apps and move to Kotlin.
Ari Finkelman Kotlin runs on JRE. So basically it's Java.
>Google wants people to move away from Java for its apps and move to Kotlin.
Kotlin generates JVM byte code. Google AFAIK hasn't publicly started they want people to move away from Java. However their crush on Kotlin is for legal reasons; They are getting sued by Oracle. Whether or not you think that APIs are copyright'able there is evidence that Android/Google knew there was an issue.
>1) it runs everything on the client so if the computer runs like shit,
How is that different to current JS based code? The only reason it runs well now is because of all the effort put into JS engines. Java had JIT for ages..
>2) secure coding. It is almost impossible to write secure code in Java.
Why? Running code in a Java virtual machine isn't much different from running it in a JS interpreter/virtual machine.
>while the apps are java, a good many of them are in
>different languages.
All of the high level UI and services on Android are written in Java. If you write an app that is an Android app and not something generic that's drawing on a surface chances are a lot of your code will be Java or Kotlin.
>Candy Crush Saga, for example, is written in C++.
Generic app drawing on a surface.
>C#.
Really? You mean the tiny tiny amount of xamarin apps right?
>Java is basically for the consumer grade stuff.
AKA most android apps.
Google are also heavily pushing a new framework called Flutter that is written in Dart. Now Dart runs in a virtual machine like Java but I think it's a different one.
web browsers failed to implement the securety scheme that was advised by sun at the time to run applets. As a result a java applet had no securety and could do anything it wanted on the client machine. As such it became unsafe to run applets and webbrowser developers banned java.
Bad decision. java is still an excellent language for error prone development and will be around for a long time i hope. Bad implementations of the same ideas are next best so far imho.
Java is huge in The Enterprise today’s. So many backend systems for applications (not like App Store apps, more like apps provided from corporations to their clients) are running via a cluster of jvm’s through IBM’s websphere or other Java hypervisors.
When I told my friend that I am learning java he laughed and told me to learn python, I said no Java is not dead yet
All banking is on java I am working transa tions server. Payment gateways microservices
same here...whatever happens but we still love java
Another thing why Java won't fall any time soon is that it's ease of programming, and the fact that it has a huge prevelence in high school computer science classes making it the gateway of beginner programmers
TheShadowKing98 school programs are being changed to study python instead so that argument is weak
We studied both Python and Java. Unfortunately we started Java around the time that Minecraft was getting really big so _everyone_ in the class was all "lets make a mod!" and then only like two or three of them managed to get the environment set up properly for it.
You lucky guys...
We learn P a s c a l . N E T
Python is starting to take some ground in early classes. I'd say Python is much better to start out with.
Lol ease of programming? C#, Swift , Ruby, Python and JS are all easier to program in.
2:01 “Virtual machines” aka “bytecode interpreters” were hardly a new idea. UCSD Pascal was doing it about 10-15 years earlier.
No such thing as a new idea in CS lol
True, but sometimes old ideas are forgotten when they should be resurrected. For example, it’s nice to see coroutines making a comeback (async/await in Python and other languages); next I would love to see continuations www.codecodex.com/wiki/Continuations added to some language other than LISP ...
My dumb classmates think that Minecraft Java Edition is a better version of Bedrock or P.E but they don't know that it is actually a programming language: JAVA.
**MEME SECTION**
Nobody:
Me: Mojang, why in the world did you re-write Minecraft in Java?? Now I can use my laptop as a toaster while playing Minecraft
User: Java, java?
Java: Yes papa?
User: Eating R.A.M?
Java: No papa.
User: Telling lies?
Java: No papa!
User: Open you mouth...
Java: HAHAHA!
*millions of bytes of R.A.M fall out from Java's mouth**
Java as a language might not be as impressive anymore, but holy shit the JVM is a work of art.
i was learning java and my dad bought me a book about javascript... i am serious
Can you disown your own dad?
On a more serious note: JavaScript is such a fucking garbage programming language it's hard to put into words. Still slightly better than PHP though
Well, at least not numbers are numbers now.
JS will hey you further.
How is it better? Because more scriptkiddies made crashing junk for it? Because of the "it kinda works"-mentality, which is infinitely better than the mentality of actually defining that it can not do anything else but function in a correct way?
10:23 best programming meme ive seen in my life
Wow, great find boss!
ah ok, so I have seen better now.
@@ArachnidAbby wow one year ago
A well-done and informative oversimplification.
Java's bytecode was not a new idea. In the 70's, Pascal was compiled to p-code ("portable code" or "pseudo-code" since it was an instruction set for a fictional pseudo-computer like Java's Virtual Machine (VM)). Pascal's procedure library was fairly basic, so any practical compiler would inevitably extend the language. So the idea was that every computer system (remember that this was before the IBM PC) would have a p-code interpreter, so you could use any Pascal compiler extended in whatever way (eg, compare standard Pascal procedures with Turbo Pascal) to generate the executable object in p-code, then load it on any computer with a p-code interpreter and run it. Just like you do with Java's bytecode.
Pascal's p-code scheme never really caught on, especially when the more famous extended compilers ran on PCs (eg, Turbo Pascal, QuickPascal). It took the environment provided by the Internet to make the use of p-code, now called bytecode, both practical and desirable. Pascal's p-code was before its time.
The later history I saw was a legal battle over the licensing of Java and what Microsoft was doing with it. It was during that legal battle (which I think came out in Microsoft's favor, but feel free to correct me) that Microsoft started developing C# and the .NET library, a does-everything library rather similar to Java's very extensive library.
Java can never die you fools! If I'm forced to maintain VB6 software in 2018 then who knows how long we'll be in Java hell!
Just like AS400
@Kiril Nizamov i know its not going anywhere soon. i supported it till 3 weeks ago
I feel for you.
Hahaaaa
Katherine Mitchell “forced” is a pretty strong word. I’m pretty sure that you voluntarily accepted your current job. If I’m wrong, then you must live in a country where slavery still hasn’t been abolished and I hope you seek asylum.
The science elf: The gaming historian PC and software counterpart
I have had the pleasure of backpacking Java Indonesia in 2010.
just had to mention that 😀🌏✈️
1:14 - The moment when we realise, we humans make errors even with the word 'Compiler', leave aside the assembly language XD
I "code" in asm in Pokémon red xD
This is mostly misinformation. Contrary to what video says, neither HotJava or Applet ever enjoyed great popularity and Java's current status largely comes from server side of Java or J2EE.
Back then in 90s, with dot come bubble, there were huge demand for web programming, with which people wrote C, C++ or perl using CGI. It was slow and less efficient.
Server market was shifting from mainframe to Unix-like system. MS Windows NT was still a joke. People turned to UNIX-like system.
Java introduced new ideas (or incorporated existing ideas) such as server pages, beans, RMI, distributed beans, server managed beans and other enterprise ideas.
Java promised to 'write once and run anywhere', regardless HP-UX, Solaris or IBM AIX. Especially, Java Servlet Container (and its implementation Tomcat) was big success and became de-facto standard. And JSP, server side dynamically generated HTML, web programming opened new possibility. Web programming with Java became easier and more scalable.
Java being relatively free from memory leak problem that made C, C++ programmers shudder, seen as most modern language at the time.
Now, Java have full portfolio of web technologies spans from front, middle to backend. On front, you use Applet. On server side, you use EJB. In between you use JSP. They have suite of technologies for everything, they even covered mobile(J2ME).
Also JVM performance enhancement over time helped Java being popular. During 90s, people mocked 'write once, run anywhere... slowly.' and others would add '...until OOM?' but now JVM is really efficient.
As a result, Java became 'THE' language to learn that covers most strata from late 90s for decades.
Adding to that popularity, Java became playground for modern programming practices. Design patterns and TDD was more widely adopted than before. Some new ideas J2EE without EJB, namely Spring and other libraries that made Java even more powerful.
Well, this is not because of HotJava.
"The fall of Java"
Java: *Is the second most used language in the world*
it's literally bleeding in every sector it's big in lmao
Java is such a beautiful language. It will never be completely obsolete.
That star 7 I had no idea was such a precursor device! Really cool!
“Nor would something written for ARM run on a 6502”
Nor would something written for a 6502 not run on ARM.
Re-read this.
That brought back memories and made me feel all warm and fuzzy inside.
haaaaaaa the best sounding RUclipsr rises up again
1:14 I'm so glad my dslexiyaer complied with my terms. Normally it's so prevalent.
My favorite part of this video has to be compiler being spelled out as "complier"
no matter what you said, i still think it's misleading and it should have a different title, im sorry😢
JVM is incredible, Java (before 8) is grandfather era technology and there are millions of programmers who can write the same bulky code. Scala/Closure/Kotlin ftw
You were talking about machine code, but shown assembly
It hurts
I haven't heard that Red Sector "Cebit 90" demo music in like 20 years. Takes me back even further than Java does.
In case anyone missed it, Google themselves said many times that KOTLIN language will be taking over Java in the android eco-system
just thought I would mention it :D
Kotlin still uses the Java virtual machine though
Nice video, you used a neutral language and a good explanation on what you consider "the fall". Personally I think you should look at the problem and solve it with what you like best. Many people nowadays hate Java just because of Oracle.
I love that the 'Compiler" graphic @ 1:20 says 'Complier' - cause that is essentially what it did... made your code comply with machine code. a great unintentional gaff
Java is that thing that minecraft needed you to download
YES! Always love watching these videos. Can’t wait to watch this one, it’s sure gonna be good
1:18 "Complier"
FrenchBagel 😂
Is it just my eyes or the "compiler" was really spelled "complier" at 1:14 ?
Java and C# are beautiful languages and I hope Java will never lose high popularity (unless substituted by C#).
Javascript annoys and confuses me for some reason.
I've overcome it recently, but another 'easy' language also drove me nuts in the past. (Basic.)
In hindsight basic isn't so bad. I mean, what I'm dealing with lacks a few features that would be pleasant, but I AM running a version that effectively comes from 1982. (on period hardware.)
As for Java, it annoyed me in more subtle ways, because back then (and sort of still now) I was mostly into game programming.
And guess what Java doesn't let you do? (by design), access hardware and OS features directly!
That means your only option is to use the available libraries, which in the early 2000's absolutely sucked for doing any kind of realtime graphics.
To make matters worse, even with a graphics library providing some approximation of low level hardware features, the language refuses to allow the use of pointers. Which further cripples your ability to write low level (as in fundamental, not hardware specific) graphics code...
Nowadays there are more libraries, though it's pretty obvious to me given the headaches I had with it that those libraries can't themselves be written in Java, or they wouldn't be capable of doing anything.
In any event, annoyances aside, I managed to write perfectly functional Java almost entirely off the back of knowing C++, which goes to show how similar most of the syntax and commands are...
JavaScript: Easy to learn, hard to master
JavaScript doesn't follow logic very much, is nearly impossible to debug, and is just a giant hash table so it'll basically slow down the more you write. The people that use it usually haven't much of an idea of the fact it's already being interpreted on top of a pile of other technology and have no idea about the trade-offs between memory and cpu since threading and deep-copying and pass-by-value just aren't in the vocabulary of javaScript. Basically, if you're confused by it, then you're trustworthy. If you say you've mastered "random", then something's off.
But what I'm trying to say is, Vampire: The Masquerade was coded in Java. Fun little fact you might enjoy to see what people did with it and how they got it to go fast. It wasn't 100%, but it was significantly made with it.
10:22 im crying right now
Containers will be challenging for Java
Minecraft introduced me to Java.
That actually sounds more depressing now that i actually comment it.
Runescape introduced me to it. The old launcher was Java
The Star Seven had tactile drag and drop with the item being redrawn as it is moved, in the early 90's? Did that REALLY exist? Is this actually not a fairy tale? Wow...
Correction(-ish) Java is no longer THE official language of Android. It is still supported, but it is being phased out in favor of Kotlin, which also compiles to Java bytecode and also runs on a JVM.
The possible argument here that legacy apps written in Java will remain en-masse is also unlikely. Android Studio has an automatic "convert file(s) from Java source code to Kotlin source code" tool, which takes very little work to use.
Java's syntax and code is the one that I know alot, and memorized more than C# or Python.
It's still my go-to programming language, and the one I am more familiar and easiest to program with.
The funny thing is, I got an update notification for Java