Slashdot Asks: What Are Your Favorite Java 8 Features? (infoworld.com)
New submitter liveedu shares with us a report from InfoWorld: When Java 8 was released two years ago, the community graciously accepted it, seeing it as a huge step toward making Java better. Its unique selling point is the attention paid to every aspect of the programming language, including JVM (Java Virtual Machine), the compiler, and other help-system improvements. Java is one of the most searched programming languages according to TIOBE index for July 2016, where Java ranks number one. Its popularity is also seen on LiveCoding, a social live coding platform for engineers around the world, where hundreds and thousands of Java projects are broadcasted live. InfoWorld highlights five Java 8 features for developers in their report: lambda expressions, JavaScript Nashorn, date/time APIs, Stream API and concurrent accumulators. But those features only scratch the surface. What makes Java 8 amazing in your opinion? What are your favorite Java 8 features that help you write high quality code? You can view the entire list of changes made to the programming language here.
Arrgghh, no thank you?
Seriously? This is "journalism"? It's just a gushing promotion.
My favorite features are the brutally awful runtime performance and the incompatibility from one JVM/J2EE server to the next. Just awesome.
Runner up "feature" is the litigous vendor behind it all. I just *looooove* Oracle. They are such nice people!
It's the best thing java can do
with it's ugly rat nest of hierarchical imports, and how it was designed to prevent you from having simple, intuitive computational things like 'unsigned integer" and bitwise access to char buffers.
Streams are my new happy place - mostly. I still use the for loops, but it has helped make some hard to understand for loop logic much clearer to understand.
This user's entire submission history consists of 2 stories about Java within an hour of each other. Smells like shill.
Yup that the best option
No more permgen!
And he also seems to have written this story.
The signiture feature is lamdbas for easier functional programming. Other goodies are nice but the lamdbas are the best new feature.
Did I say it first to get the 5?
Democracy Now! - your daily, uncensored, corporate-free
Have they added support for decimal numbers yet? .Net has had support for decimal numbers for quite a few years now (At least since 2003). It comes in really handy for doing applications dealing with money, which quite a lot of applications deal with. Floats and doubles don't work well with currency values as they can't hold exact decimal values for many commonly encountered numbers. There are work arounds like using integers to store the number of cents, and using classes like BigDecimal, but both of those have quite a few drawbacks.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
The biggest news in Java 8, obviously, are lambdas, but they also fit together with functional interfaces and java.util.stream.Stream to really change the way you build stuff in Java.
I'm absolutely loving, after making use of Java 8 streams, just how clean, succinct and compact a lot of my new code has become.
Oh -- and yes -- Java now has monads:
public String getLastFour(Optional employee) {
return employee.flatMap(employee -> employee.getPrimaryAddress())
}
See here
(Now if only they borrowed a bit more heavily from Scala or even C#: stuff like a Try monad, tuples and tuple destructuring and proper pattern matching (like C# is getting) would be awesome. Although given the glacial pace of standardization in Java-land, I'm not holding my breath.)
FileUtils.deleteDirectory("/usr/lib/jvm/");
Fuck Java. It's the Adobe Flash of programming languages.
on the desktop anyway, and on the server it would be the ever increasing ram consumption by misguided java developers.
EOM...
Bye!
n/t
Java is so [Garbage Collecting] much fas [Garbage Collecting]ter then C becu [Garbage Collecting]se of its [Garbage Collecting] GC algorithms.
If y [Garbage Collecting] o [Garbage Collecting] u want raw [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] speed, you h [Garbage Collecting] ave to prog [Garbage Collecting]ram in Java, not C or [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] ASSembler.
With only 16Gb of [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] RAM, I can compile a simple h [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] ello W [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] orld program, and it only takes 15 [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] to run!
Windows should be redone in [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] [Garbage Collecting] ..out of memory, stack trace, garbage here:
Enough said.
... is how easy it is to remove.
Uninstall
Yea, that's about it for Java.... Well that and that cool "Memory leaks are a thing of the past" idea can be nice... Yea, I know, Java still leaks memory from time to time... But they at least tried to rid us of all that malloc and free complications..
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
.... is a bit shit. It's better than the old one but not as easy to used as the Joda Time library it was based off of.
.... No.
Who runs Javascript inside a Java application?
The best thing Java ever had is good marketing, that's it.
The uninstaller....
it downloads node.js, converts the java bytecode to java script and then overwrites itself and calls the node.js entry point.
I wish java would just go away
Its support for high entropy matrices.
Its adhering to best business practices.
Its interoperability with things that interoperate with it.
It's no longer influenced by Oracle.
Its incompatibility with previous versions of Java-based applications... consistency is good.
I mean, it's awesome that security fixes are now separate from feature changes and that they are so easy to install and track! I love being able to so easily manage a single runtime with no compatibility issues on my clients now too. Oracle has saved java!
Be Excellent To Each Other
C'mon we're pretty stupid to be here in the first place, but not that stupid. At least put an effort in to deceive us.
Right, I'm off to drop all my other languages and shift everything to Java...
Best feature is that I can choose not to use it if I want.
They've finally done it! Java is now indisputably the best programming language available! They finally fixed all of the bugs! It's the most secure language available! Best of all, Oracle opened source the whole JVM under a copy-left license! Java 8 is indeed a game changer! These are exciting times indeed!
I love the fact when a non sanctioned language generates a lawsuit on demand when interacting with the APIs
http://saveie6.com/
The best thing about Java 8 is that you only need 73 years' experience with it to land a great job.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
The fact that I still don't need to have Java installed anywhere to enjoy the Weird, Wild Web.
The fact that it is searched a lot does mean we have to use it a lot, but that does not imply we like it!
With better OOP Java wouldn't need stinkin' lambdas. Lambda's just give spaghetti coders more ways to write cryptic "cutesy" code. Flexible methods can usually do that same thing.
For example, if Java blurred the distinction between instances and classes, then one could attach an OnClick() method directly to a UI button object instead of pushing it to a listener doodad, which is silly and unnatural.
If the guts of a button object want to register the button's method(s) in a listener object via instantiantion forwarding (up the tree) or reflection; so be it, but the UI coder shouldn't have to care, that's usually internal UI engine guts that one should only have to study for debugging event handling.
Parent forwarding is when a parent method of the same name could specify BEFORE or AFTER to automatically run before or after the child method. (Without BEFORE or AFTER, the child method just overrides it so that it doesn't run.) Perhaps I'm using the wrong terms.
Table-ized A.I.
is "REMOVE".
Java used to be somewhat useful. Now I consider it a nightmare of dependencies, incompatibilities, insane security restrictions, vuns, and required development forks for our internal stuff.
"Write once, use anywhere" my left testicle. What utter eyewash.
Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
The fuck are you even talking about?
You do realize Oracle lost that case, right? Or are you just too busy jacking off with the rest of the Slashdot circle-jerk crowd to give a shit about silly things like fucking facts?
You're the one who needs to die a horrible death you fucking twat.
that push developers straight off of Unicode and back to 7-bit ASCII, and stable, higher performance languages like raw C.
The best feature by far is the uninstall script.
"Its unique selling point is the attention paid to every aspect of the programming language". Other languages do this so hardly unique.
Tired of my customary (Score:1)
This article when sent to intelligent readers is just asking us to start bashing all the problems with Java 8. Let the Oracle attacks begin....
Does it support unsigned integer (32 and 64 bit) values yet ?
This missing feature means we have to use C# for some of our code. We'd love to port it to Java and run on Linux but without unsigned 64 bit integers it's simply not possible.
Seems a glaring ommision in programming language to me.
Is that no one uses this shit platform anymore
...the Ask toolbar. Who doesn't love that?
Momentarily, the need for the construction of new light will no longer exist.
"...the community graciously accepted it, seeing it as a huge step toward making Java better. Its unique selling point is the attention paid to every aspect of the programming language..."
Java 8 also turns your garbage into gold, serves you pancakes in the morning, and will never give you up. This is ad copy.
#o#
O Moo.
"What are your favorite Java 8 features ?"
Is it a joke ?
are actually about bad programmers.
My favorite Java 8 feature:
java.net.UnknownHostException: slashdot.org: unknown error
Because really, it's impossible to get a better message than "unknown error" from the getaddrinfo call it's making under the hood.
Hrm, I guess that's a bug not a feature.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
I'm afraid, sir, that it is you who are mistaken... about a great many things.
This is how Oracle "lost" the case:
1. They LOST a ruling at trial - the judge (Alsup, I believe) said that APIs cannot be copyrighted;
2. They WON a ruling at the court of appeals (fucking CAFC -- Court of Appeals for the Federal Circuit), that said that Judge Alsup was WRONG, and that APIs CAN be copyrighted;
3. They LOST a jury trial in which a jury said that Google's use of Oracle's APIs was Fair Use.
Here is one thing you may not realize: Fair Use is what's called an "affirmative defense". That means the only way to get out of a copyright claim by Fair Use is to *go* *to* *trial* and convince a judge of a jury to agree that you didn't copy to much of the original AND you're not harming the market for the original work AND etc. etc.
And a second, very important thing that you might not realize: the CAFC's ruling that APIs CAN be copyrighted? That's binding *everywhere* in the entire USA. The jury's decision that Google's use of Oracle's APIs was Fair Use? That's binding for *one* *case* *only*.
So the bottom line-- Are you a developer that would like to build a replacement library for someone else's API? (Like the WINE project?) Or are you a user of such projects? Is the company that owns the API in the US? Are you? Yeah, if the company wants to shut you down, you're fucked, unless you've got the time and money to prove your case of Fair Use in front of a judge or jury. (Are you Google?) ...and all thanks to Oracle.
"Or are you just too busy jacking off with the rest of the Slashdot circle-jerk crowd to give a shit about silly things like fucking facts?"
I don't know... are you? :-)
C/C++ was a joke when first produced long ago. Archaic technology obsolete before it was produced.
JavaScript/Python etc. No static typing. Great until you get over 1000 lines of code. Also, Java compiles to binary, runs as fast (sometimes faster) than C. .Net. Technically better than Java in every way ... as long as you like windows.
There is a need for a light weight, garbage collected language with static typing an efficient compilation, but it does not exist. So Java it is.
Unless you like staying up all night tracking down errors in pointer arithmetic.
If Java is so great... why Mozilla and almost any sane browser ask us to not run anything based on it and block the plug-in?
Personally i use it only 2 times per year when I need to use a dorky system based in java for sign government paperwork. I just install it, do the paperwork, delete it, forget about it.
That I don't have to install it, use it or ever have to deal with it again. That is by far it's best feature.
Anons need not reply. Questions end with a question mark.
Oh wait, it's 2016 and Java doesn't have that.
Here's the thing the very important thing you might not realize:
Fair use of a copyrighted work is *NOT* breaking the law.
File under 'M' for 'Manic ranting'
I'm using Dalvek
Some drink at the fountain of knowledge. Others just gargle.
It has sucked so much lately, with so many security issues, that anything that requires Java has been replaced with something more modern. Just say no to Java!
Java is one of the most searched programming languages according to TIOBE index for July 2016, where Java ranks number one.
Yeah, because people need the most help figuring out all the details.
bitwise access to char buffers
What exactly would you like to achieve with this? A stream reader that converts ASCII to EBCDIC on the fly? A XMLReader that takes an EDI payload as a parameter?
Please give some details. Unless you're trying to show off like a Radio Shack employee complaining that iPads have no serial ports.
lucm, indeed.
There is a non-O.R.A.C.L.E. version...
That it is still controlled by Oracle.
“Common sense is not so common.” — Voltaire
It's clearly a bit of Oracle database shite that belongs in a library not in the language. Looks to be them trying to implement a select statement on memory structures the way their database would do it on a file.
I don't care, I program on Android, what Oracle does at this point has no consequence, they don't provide any of my tools now, the VM is not theirs, the Java language as such, their choices on that are irrelevent. They control the name, but as far as I care, I program on Android not Java.
Did you read my post? Especially this part:
Fair Use is what's called an "affirmative defense". That means the only way to get out of a copyright claim by Fair Use is to *go* *to* *trial* and convince a judge or a jury to agree that you didn't copy to much of the original AND you're not harming the market for the original work AND etc. etc.
Now maybe you know more about copyright law than the IP lawyer running my copyright seminar at Harvard Law, but I'm not holding my breath.
RGBA channels for image processing... access to thousands of protocols with bit-packed fields... You know, extraordinarily common computer stuff.
Is that what constitutes showing off in your mind? Wanting a saw that can cut at the intervals you might need? I mean, gosh ... how elitist.
Christ - look at me, acting like a big-shot and wanting to manipulate data. I bet you take your data the exactly the way it comes and just shrug helplessly. That's what external libraries are for, right?
Probably utter a little defense of Java and then blame the data for being "unfriendly".
At least you're humble tho.
Please stop programming in JAVA. It does not work, it is extremely buggy, there is a patch almost everyday and that patch breaks everything that is working, requiring hundreds of hours rolling back patches and/or begging developers to update their software. Can we please just get a way from this forever!!!
My favorite Java 8 feature is that wonderful Ask Toolbar! You like type words into it and it finds stuff that actually has those words! It's like a personal librarian ... well, with ads glued to her ass.
Table-ized A.I.
...
-pyrrho
I tend to chase the latest trending technologies...they pay more and are more fun. Also, anyone who has been following Oracle lately knows they are circling the drain. There is a huge code base written in Java, but i get the feeling it'll be the next Cobol. Whether that is a good thing or a bad thing will depend on how the market plays out.
The best feature of Java 8 is that I don't have to use Java.
My favorite feature of Java 8 is the uninstaller.
I don't have to scrounge around for Base64 anymore.
Streams were the best surprise when I had to work with Java a couple of months ago after years of other languages. They are good but it's still the worst language with that kind of functionality. I could write in 5 lines what would have taken me a page of code, but it's still a one liner in Ruby or Python. Too much boilerplate, as usual for Java. The problem is that it can't be helped given the nature of the language. Faulty original design.
Ignorance is not a virtue. The "shitty" programmer should look in the mirror some day. Learn the basics of functional programming then come back and tell us who is "shitty".
That there are so many stacks and that its not truly OO since some of the variables are fake objects.
That site actually inserted an ad into a code sample. Seriously, people?!
Java8 has a much more streamlined uninstall routine.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
How did an article attempting to praise Java made it to Slashdot. We may not be great fun at parties. We may live in basements. But one thing we do know is our programming languages enough to dislike Java on grounds of its excessively verbose, bureaucratic style, its bloated feel, its appeal to people wearing suits, and its general mediocre feel. Anyone who has hacked Haskell, Lisp, Perl, Ruby, Rust or a number of great programming languages out there knows that Java is just not fun. Go, C++ and JavaScript can all sit next to Java in the mediocre languages bench.
Seriously if you check the details how TIOBE calculates the popularity of languages. It's like I search for Swift, and count in all Taylor Swift occurences. I guess they are missing a space after Java, so they also count all Javascript occurences. I mean the link https://www.livecoding.tv/ shows like 20k videos for Java (which exists over 10 years) and 40k for JavaScript, and 10k for Swift .. go figure.
Just because people have Java installed, doesn't mean they use it, take a look at Debian users for example:
https://qa.debian.org/popcon-g...
Around 15000 installations, but recently used not even 150, not even 1 %!!!!
From my own empirical evidence, the best feature of J8 seems to be that no one wants to use it.
Lambda expressions: A total brainfart. Lambda notation has no place in an imperative language; mixing paradigms is confusing for the vast majority of Java programmers. Most people just use lambdas as "magic syntax" to simplify things like declaring event handlers. The ugly syntax is a problem, but lambdas are the wrong solution.
Date/time APIs: Yes, finally!
JavaFX: Oddly, the best feature of Java 8 isn't even mentioned in TFA. JavaFX is immensely better than Swing, in every possible way: it looks better, it works more reliably, and it's easier to program.
And the worst feature of Java 8 is the unnecessary complexity throughout the new features. Two examples:
- The Optional class. Instead of checking directly for a null result, you have to unpack every result out of this idiotic wrapper.
- Factory methods instead of constructors. Java is supposed to be an object-oriented language. In OO, you create an instance of a class with a constructor, which has the name of the class. But not in Java 8, no, instead you use a whole stable of factory methods with all sorts of weird names. Look at the new date/time classes for an example.
Enjoy life! This is not a dress rehearsal.
Who said it was? Don't they teach the legal concept of defenses at DeVry?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
wow this is marvelous i like it very much . it help me alot and now i will suggest ma friends here , thanks for a good job here .. Thanks have a good day
http://internetseekho.com/
Not specific to 8, but I just like the huge number of libraries at your disposal, maven/gradle make for great dependency management tools (in fact I don't think C/C++ even have something remotely similar), and Spring just helps you write even less code than you did before. The thing I love most about the JVM is that you don't have to write Java code for it. You can even make an unholy mix of Java, Scala, Kotlyn, Groovy etc.
You can't have a serious, binary network protocol aware language, and not have unsigned integers.
Religion is what happens when nature strikes and groupthink goes wrong.
...but then again, I'm a pen tester
http://www.darkreading.com/informationweek-home/why-the-java-deserialization-bug-is-a-big-deal/d/d-id/1323237
bitwise access to char buffers
What exactly would you like to achieve with this?
Consistent sorting, which has been broken in Java since day one.
You have NIO in Java. https://docs.oracle.com/javase... As for protocols, I would rather use NIO or a library. The cases of unsigned types are really small, so the Java devs made a choice to reduce program bugs by having only signed types.
Uninstall is by far my favorite Java feature. It's only slightly lower on my list than uninstall of Flash.
I'd love a .Net uninstall, but that's unfeasible at the moment because Microsoft makes so many core components out of that .Net horseshit.
Remember when applications were built in C or Delphi or whatever, and all the components were right there in the application directory, and you could simply copy the directory form one machine to another without any hassle and everything just worked? No frameworks, no dependency issues, no container management systems...
Remember when developers weren't lazy fucks pumping out utter shit?
I'm old enough to have programmed in COBOL, and Java is the COBOL of the 1990s, bloated and ugly. The licensing is 'murky' and therefore subject to the current Google/Oracle 'discussions' and probably more of the same later.
However, as a Perl person and increasingly a Python person who 'sometimes' does Java, it makes both look good. I'm expecting some flaming for the mention of Perl, but, when you're used to it, it's nifty, just over-comment. Admittedly APL was probably 'too' expressive, but Java makes one die of boredom before the first finger hits the keyboard.
On y va, qui mal y pense!
I do not have to work with it.
Best Java feature? uninstall.
That’s funny, although unless you’re bumping up against your VM memory limit, it’s not such a problem. When you DO approach your memory limit, performance drops to a crawl. In the 32-bit days, I hated the fact that my colleagues in AI developed in Java instead of C++ for programs that worked on really huge datasets just because of this issue. The programs would be frozen on GC for as much time as they did computation. That doesn’t mean I hate Java; I really like it, but this was the wrong time to use it.
But a bigger problem is that Java VMs are memory-hungry. After a little while, a long-running Java app has grown to its maximum size and stays there tying up system resources that it’s not really using. This can happen in C too, but with Java, you can’t avoid allocating and freeing objects constantly, while you can keep memory allocation well under control in C/C++, keeping your process size small. You can’t keep your Java process size small AND have good performance.
BTW, despite this, I do all kinds of work in Java. Mostly server stuff and some swing. When I need speed, I use C and/or C++. When I want to do something like string processing or just want to hack together a one-off, I use Ruby. When I want to do symbolic math, I am forced to use Python (a language whose syntax I object to on moral grounds) because sympy is the awesomest thing ever.
My FAVORITE language? Probably Verilog. I’m a chip designer, so you can just assume that any piddling arguments you have over programming languages will just make me roll my eyes over how trivial the differences are. That’s like watching a Lutheran and a Methodist try to argue over the infinitessimally trivial differences in their religions. Just to piss people off for fun, I’m going to say that software languages (except maybe Haskell, which is scary for other reasons) are these arbitrary constructions that people argue about like religions. On the other hand, Verilog is grounded in reality and science; it has some rough edges too, but that is the way of science. (Our VHDL bretheren fully recognize that the two languages ultimately have the same semantics.)
Does it finally have support for unsigned numbers? And I am not talking about horrible workarounds but real, POD unsigned types.
Java is a big deal in the world of finance and banking for backend server applications.. We used to use Java for the backend and middle ware and .net for all UI requirements.
It's the only feature I ever use.
...in Scala
Is that a ding I hear? GET BACK IN THE MAGIC HOUSE!!!
Idiots sue people they think they can get money from without just cause all the time... that doesn't mean they are going to win. If anything, this case gives precedent that fair use *IS* a legitimate defense to using an API, and when that defense is presented, an accuser is going to have to be prepared to show exactly why that defense shouldn't apply if they are going to have any significant hope of winning. Yeah, you'd have to go to court to defend yourself in the worst case, but given the circumstances, I'd think that would be about the same situation as X suing Y because Y was doing something X didn't like but wasn't actually illegal or causing any kind of real or financial harm to X. There isn't really a whole lot that Y can do to avoid being sued if X is feeling litigious anyways.
File under 'M' for 'Manic ranting'
Ever since Oracle took over java it has gotten more bloated and filled with unnecessary complexity. I haven't used 8 yet because... why? Most of these new "features" are worthless to a real java person, just some bozos trying to make it more like C. Leave it alone!!!!
Oh and BTW Oracle Sucks Ass!
My favorite feature is being able to write:
private static final long serialVersionUID = 2016_08_31_001L;
Or being able to write this on Raspberry Pi code . . .
private static final int mask = 0b0001011;
I'll see your senator, and I'll raise you two judges.
I would have to say the uninstaller.. I loath java a much as a fat girl loathes a salad
Infoworld has done better articles on the topic. A little dated (2010... Applets? Flash?), but still fun:
The bundled spyware or the uninstaller, it is really a toss up.
Definitely the new and improved uninstaller
The feature that lets me uninstall Java.
I really liked the random unckecking of the "Supress sponsor offers when installing or updating Java" check box in the Java Control Panel after you do updates or before you do the next update (Windows releases). That was definitely my favorite little hidden feature.
Yes, I'm being a smartass, and yes, I'm serious, but not in a good way.
The uninstaller is my favorite.
Portability and compatibility are the key. The features you should expect to be widely used are the ones that were already present in Java 1.0.
What's up with Java 7 still using TLS 1.0?
The best feature is the uninstall feature.
Fair Use is what's called an "affirmative defense". That means the only way to get out of a copyright claim by Fair Use is to *go* *to* *trial* and convince a judge or a jury to agree that you didn't copy to much of the origina
Of course. But then again, you can sue whether or not you have a case.
If Corporation X crunches the numbers and realizes that their case would be tossed out on fair use grounds, then they're a lot less likely to spend the money on a lawsuit in the first place.
I can now afford to sandbox applications by complete physical isolation, and I still see no reason to install a JVM!
âoeIn Java you still have to remember to "free" all your non-RAM resources manually. Every time.â
Nope. Java 7 (not 8!) added AutoCloseable and try-with-resources. That was four years ago.
https://www.mkyong.com/java/try-with-resources-example-in-jdk-7/
I used to work at Google. They have some massive C++ code bases with some of the best code style guidelines, code review, and testing infrastructure anywhere. And you know what? The number of lines of C++ has been steadily dropping for a decade while Java has been increasing rapidly. A lot of the code in C++ is actively being ported over to Java.
Because Java's a lot easier to debug. It's a lot easier to write. It's a lot easier to manage. And it's a lot easier to recover from an errant exception (with a helpful stack trace) than a segfault.
Python's showing up in more and more places too.
Sometimes it's still useful to write assembly language. Most of the time though, the compiler (or JIT) works better in the large and allows your best and brightest to keep moving forward faster instead of boasting about how big their brain is by using a more complex language when you don't need to.
The entire Google front end is written in Java: the templating engine, the authentication pass through, the profile management, the pretty histograms, etc.
The query engine is in C++ with the search results, but once you get past a raw data result, it's 80-90% Java. There's a bunch of JavaScript of course too, but when possible Google computes server-side rather than browser-side; you can't make browsers execute faster, but you can add more and faster servers.
And C++ is a bear to manage via clustered servers compared to Java.
But sure. Believe what you like. "Management made us use Java."
That it isnt installed on my machines.
What do you use for continuous integration? And what language is it written in? And how does that language make it better than Jenkins?
- I don't need to go outside, my CRT tan'll do me just fine.
Worked at GE before my server systems admin job got offshored to India to save pennies.
We made good use of JavaMelody for tuning Java and while I would NOT want to run Java on a server without that tool, we could never get Java tuned to the point where it would not need to be shutdown and restarted to free up resources.
Not just memory, but threads as well. IT was a PITA and resource HOG.
Loved it when one group wanted to let the servers limp along for at least 2 or more hours while the end users (other GE Developers in countries all over the world) suffered with a system that was anything but responsive. They (the other group) kept insisting Java would 'fix itself' and free up resources eventually.
Thankfully a 5 - 7 minute shutdown and restart of the VM would free up those resources for 4 days to a week before you would need to do it again.
Considering when we started those shutdowns were daily, we felt JavaMelody did a great job tuning so the shutdowns were less frequent.
With Java, just as with the book "Soul of a New Machine" engineers will never tune out all the resource hogging, just make it less frequent.
Don't know who 'he' is, but he is not kidding.
Usually Java these days is run on a VM (Virtual Machine) and that VM will slowly use up all available memory, threads and more...you can actually watch it over time with the Java tuning tool Java Melody.
So yes, use Java, restart often. We were able to get restarts from every day to every 4 days to a week, but you still need to restart...hey that is what Maintenance windows are for right!
And anyone who says you can just spin up another VM to fix the problem is in denial to the way Ethernet cards control and validate their sessions. Of course it has been a few years (2-3) since I used it, So perhaps in the Virtual World there is a way to get the application to use a different Ethernet adapter, thereby freeing up the Ethernet adapter it was using without creating a socket error condition. Honestly have not looked into it.