11 ms·
James Gosling, the ‘Father of Java,’ joins Amazon Web Services
- acdha 9y agoPreviously: https://news.ycombinator.com/item?id=14396055 https://news.ycombinator.com/item?id=14396055
- xyzzy_plugh 9y agoAmazon has been a huge user of Java, and I can't see them moving away from it in my lifetime. I wonder what they'll have him do.
- forgottenacc57 9y agoMaybe AWS will move to Kotlin.
- forgottenacc57 9y agoSeriously not trolling, but can someone please explain why java would be a great choice of language for a modern project? What's the sell, these days for java?
- NikolaeVarius 9y agoThere is nothing to sell. Its a modern language that many people know and are experienced in and many extremely large scale and modern projects are written in it. Why does anyone need to sell anything? So we can all go ahead and spend 5 years getting good at clojure and haskell?
- buahahaha 9y agoAs not a java guy: very good concurrency support, the memory consumption isn't really a big deal anymore and the tooling connected to the jvm for introspection are very valuable and relatively easy to set up, strong user base of programmers relatively speaking, the language updates have kept it relatively fresh and useable - much cleaner than what you remember for 5-8 years ago - and it runs easily on many systems. It has good inertia: once some of your projects are already in java, it's easy to just add onto that. It has solved many of the day-to-day problems that younger languages haven't reached yet (distributed packaging, metrics). And everything supports it.
- jhall1468 9y agoEnterprise support. But the reality is, most Java shops continue to use it because that's what all of their engineers know. There's literally nothing that Java (the language) provides me that other languages don't (and better). If I were to start a project today, I'd pick from a more modern list of language (Go, Python, Rust, C#). Java would never make the list.
- kodfodrasz 9y agoJava is also nice. I like it very much. (I'm a C# guy.) Java is pretty modern, has quirks, but you can be pretty productive, not a particularly bad language. Helps you get stuff done. Awesome tools, pretty good concurency support. It is very hish performance. It is a proven tool, just don't buy into the IBM/RedHat enterprise stuff. There are nice microframeworks available. Java is a good choice to start a project in.
- jhall1468 9y agoIt's not a bad language, it's just alternatives are vastly better for a typical startup. Java is the language that's "Good at everything", while these days we have languages that are "Great at some things", and often, whatever the use case, there's simply a better language for it. What makes Java powerful is that it's good at everything. That's incredibly valuable for Amazon and Google, because they have an insane amount of code. So whether they need concurrency, or tooling, or whatever they can throw any 4-5 engineers at the problem and they'll be able to get it done. For a startup, they aren't going to need the greatest General Purpose language ever made. They generally have specific problems. And there are simply better languages out there for almost all of them.
- pvg 9y agoWhat are the specific problems that are so radically different than the specific problems somewhat bigger companies might have? What does "For a startup, they aren't going to need the greatest General Purpose language ever made" mean?
- deleted 9y ago[deleted]
- klodolph 9y agoAll the libraries you need. Fantastic runtime environment. Easy to hire programmers and admins who work with it. It's $HOT_NEW_THING which really needs to be sold.
- songshu 9y agoExactly. You're not choosing a language, you're choosing a platform. If people chose "languages" then yes, Java would be a hard sell, but so would C++ and much of the rest of the top ten.
- soulnothing 9y agoOkay I buy this, and say the thing about python. It's more the ecosystem than the language. But java has so many great languages on the JVM. That inter op flawlessly with it. Kotlin is my favorite, and allows both java and kotlin files in the same project. The language is palpable. But I feel that there are higher level features, that can ease development and improve readability. Yes, yes the IDE can generate boiler plate. But that shouldn't be necessary.
- amyjess 9y agoI love Python to death, and it's my favorite language, but packaging and deploying Python apps have always been the ecosystem's Achilles heel. It's not hard to send a Java app to a Windows user and expect them to be able to run it, which is more than I can say for Python. And Java also has Maven, which is by far the best dependency management system I've used. It's extensible too... aside from managing dependencies, you can also have Maven perform code generation (which is wonderful if you're working with Avro) and other things (such as handling OSGi bundle metadata).
- soulnothing 9y agoI'm mostly a python dev. But yes deployment is such a pain.
- joncampbelldev 9y ago
- maxxxxx 9y agoI don't use Java but from what I know it's a very mature environment with excellent tooling and library support. I am not convinced that the same people who mess up Java code will do any better with other languages.
- srdev 9y agoGreat performance, a massive community, top tier support by partners and vendors, deep talent pool, and a huge ecosystem of libraries and products. Nothing else even comes close. People have a tendency to trash talk it for being verbose, but writing the code is a vanishingly small portion of the engineering effort, and if you're hand wringing about whether it's fun to write then you're optimizing for the wrong things.
- maxlybbert 9y ago> if you're hand wringing about whether it's fun to write then you're optimizing for the wrong things It's hard to imagine what kind of career that attitude would lead to. I very much worry about whether things are fun to write. And I've been lucky that, so far, I've had jobs that were very fun. Not necessarily easy, but fun.
- srdev 9y agoI guess it depends on how much writing the actual code factors into your enjoyment. Most people I know enjoy building systems. Working with a boilerplate-heavy language is a minor annoyance in the grand scheme of things, and is balanced out by having a robust ecosystem to build their product in.
- bebop 9y agoIf you have not recently looked at what is happening within the Spring Framework, I would highly suggest taking a look. There are some really great tools that are baked in. Also if you are planning on writing containerized microservices, Spring offers a really nice environment to do that. And if you do not want to use Java the language, there is always Kotlin (and Scala).
- api 9y agoPros: Fast, stable, mature, excellent tooling, big ecosystem, and easy to hire programmers. Cons: Oracle's shadow of semi-legitimate FUD, higher memory consumption, ecosystem is rife with over-engineering and the language seems to almost encourage it.
- matwood 9y agoJava 8 is great. Java 8 + Spring boot + JOOQ is a complete, easy to setup web service backend. It has great tooling, is very fast, and has an enormous amount of libraries available. I actually question why anyone would use Node except in a few cases (like backend for front end), but maybe I'm just old school :)
- raverbashing 9y agoHow many XML files have to be configured for this "easy to setup" backend? Node is "simple" but today you need 3 package managers to install the dozens of small libraries needed for even a simple project Really. When I found out express.js needs an extra library to read POST data I was stumped
- asdf1234 9y ago> How many XML files have to be configured for this "easy to setup" backend? None.
- amyjess 9y agoHave a look at Spark: http://sparkjava.com/ http://sparkjava.com/ It's a Flask clone for Java. No XML configuration needed.
- sabareesh 9y agoZero xml files.
- deleted 9y ago[deleted]
- matwood 9y ago> How many XML files have to be configured for this "easy to setup" backend? As the others mentioned, Spring has not required XML config files in a long time. Spring boot requires nearly zero configuration, although it's a good idea to move out environment specific configurations out of the app. Speaking of, out of the box Spring works with yaml, properties, environment vars, command line vars, and the list goes on. It really is a nice environment to work in, and if you don't like Java there is Kotlin which has worked fine within the stack IME. So many people only remember Java 5 and Spring where beans had to be wired up through XML configs.
- gefh 9y agoBored of underwater robots I guess?
- donretag 9y agoI wonder if he had to do whiteboard coding and if the in house recruiter blindly placed him on a team.
- pavement 9y agoThey had him invert a binary tree on a whiteboard.
- foo101 9y agoSource?
- rekwah 9y agoIt's a reference to https://news.ycombinator.com/item?id=9695102 https://news.ycombinator.com/item?id=9695102
- mathnode 9y agoIt's a little in-joke https://twitter.com/mxcl/status/608682016205344768?lang=en-gb https://twitter.com/mxcl/status/608682016205344768?lang=en-g... Even spoofed on a recent Silicon Valley episode.
- geodel 9y agoAt least they did not ask him to implement unsigned integers in Java.
- eternalcode 9y agoSorry, that question is only reserved to the author of homebrew. :D
- yeukhon 9y agoPerhaps he shared his dismay at Oracle and one of his Amazon connection came to him with an offer. He probably did have a few interviews to make sure his future manager and his peers are comfortable. More of a cultural fit.
- foo101 9y agoI hope he finds Amazon to be a much better place than he found Oracle to be. The experiences he shared while leaving Oracle were unpleasant. "As to why I left, it's difficult to answer: Just about anything I could say that would be accurate and honest would do more harm than good." "For the privilege of working for Oracle, they wanted me to take a big pay cut." "In my job offer, they had me at a fairly significant grade level down." "Oracle is an extremely micromanaged company. So myself and my peers in the Java area were not allowed to decide anything. All of our authority to decide anything evaporated." "The word came down that Oracle does not do employee appreciation events. So she forced the thing to be cancelled. But they didn't save any money because the money had been spent - so we ended up giving the tickets to charities. We were forced to give it up because it wasn't the Oracle Way.' On the other hand, Oracle sponsors this sailboat for about $200 million." Source: http://www.eweek.com/development/java-creator-james-gosling-why-i-quit-oracle http://www.eweek.com/development/java-creator-james-gosling-...
- datatan 9y agoThe more I hear about Oracle the less respect I have for them. My company is already working hard at dropping all things Oracle. I really can't wait for the day when we can wash our hands of them completely. Its not that far off really.
- throwaway170523 9y agoI realize people like to hate on Oracle, and some hate justified, but there's also a reason why Oracle is one of the extremely few tech companies that have survived the test of time. Gosling is complaining about about pay and management oversight. Has anyone wonder if overpay and no oversight is what contributed to Sun's failure. Speaking as an insider, I can say with 100% certainty it was. Sun had this hardware business that was printing money and then the music stopped. I wonder if Google might suffer a similar fate like Sun. As soon as ad-revenue slows down, will they need to grow up and be managed like a real company by putting restrictions on pay and enforce management oversight.
- nickbauman 9y ago
- g12mcgov 9y agoMaybe he'll help make Java more performant on AWS Lambda and cut down the initial startup times for the JVM!
- Pxtl 9y agoNow, I'm sure Gosling is a much smarter man than me, and I couldn't be a 10th the language designer he was, but I'm going to say something terrible: Java was badly designed, as a language. The things that made it good came far, far too late in its lifetime. The thing that made it successful was not a good design, but big corporate backing, a free compiler, a batteries-included approach to libraries, good marketing, and good platform support. But the language itself was bad. No custom copy-by-value objects, static typing without generics or macros to make reusable collections, a GUI library that was widely considered a bad joke, a null hole big enough to drive a truck through, checked exceptions, the frustrating inconsistency between .Equals and ==... So many bad decisions. Many of these were mitigated over time, but it took a long time to get there. It's hard to say that "designed Java" is really a good feather in the cap.
- nosefouratyou 9y ago"We were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele, Java spec co-author
- Pxtl 9y agoDragged them out to an ocean halfway between two islands, imho. Custom collections in a statically-typed language without macros or generics or templates is masochism. I was very disappointed back in 2005 that it took competition from Microsoft with .NET 2.0 to force the Java leadership's hand to finally provide that missing feature. Why even bother with static typing if coders are constantly having to type-cast and null-check everything?
- nickbauman 9y agoOne word: Clojure.
- Pxtl 9y agoAbsolutely. The JVM is great, and JVM languages like Kotlin and Clojure. Even modern Java is a good language. I'm not arguing that Java hasn't come into its own as a good language. My point is that the Java I cut my teeth on? "Java 2"? That was bad.
- Twirrim 9y agoBill Vass, also formerly of Liquid Robotics is a VP at AWS, maybe had something to do with the hiring. He had James come do at least one talk while I was working at AWS, talking about the things Liquid Robotics are up to. The prohibitive cost of satellite data is just astonishing. It really emphasised to me just how much livestreaming of SpaceX rockets landing on a barge is a PR move.
- hossbeast 9y agoGreat, now we'll never get rid of java
- smithsmith 9y agoI hate oracle because in the past you need to register to download jvm. I am glad android moved to open jdk.