News for hackers. Stuff that matters.
Re:Go is Google's language, not ours by EtienneK on Wednesday May 22, 2019 @05:26AM (#19979380)
"Java has been ruined by the push to include everyone's pet feature."

Care to expand on this? Java is very careful to release new features.

Re:Go is Google's language, not ours by dullgiulio on Wednesday May 22, 2019 @05:31AM (#19979412)
It's not about being careful (they are--but always with the baggage of backwards compatibility), it's about not having a soul.

Java has made a U-turn in adding streams and related functional features on top of a language that used to be strongly for OOP (actually defining the meaning of OOP for a generation of developers.)

These different paradigms together make for code that does not read the same no matter who writes it.

I love how Go code usually ends up being extremely similar, no matter who write is. (Actually, Kubernetes is a counter example for this: Go should have gone even further in forcing style.)

If you think that "all code reads the same" is detrimental to developers, you are conflating the idea of developer (problem solver) to that of coder (keyboard typist.)

Re:Go is Google's language, not ours by sgift on Wednesday May 22, 2019 @06:04AM (#19979559)
> Java has made a U-turn in adding streams and related functional features on top of a language that used to be strongly for OOP (actually defining the meaning of OOP for a generation of developers.)

So, by adding a feature which works extremely well with OO and enhances the language they have no soul? That doesn't make any sense. Javas soul is being a blue collar language. It leaves the experiments to other (JVM) languages and takes the parts which have been shown in the field to be useful for many cases.

Go on the other hand is a half-finished Java, produced for the sake of saying "We are Google, OF COURSE we have our own language".

Re:Go is Google's language, not ours by 0x445442 on Wednesday May 22, 2019 @09:33AM (#19980962)
I think what dullgiulio is getting at is when working with large, code bases and teams Java's multiple paradigms leads to more difficult code to maintain. I've been experiencing this on my current project and its completely new development.

One package is written in the "new" functional style, another is written in "old" object oriented style, other parts use classes for nothing more than name spaces to house static methods. The reality is it's already a mess.

Re:Go is Google's language, not ours by jeanlucbernard on Wednesday May 22, 2019 @02:57PM (#19984310)
Java is a blue collar language in the eyes of people interested in language design and to be fair, some of them recognize its merits. The majority of programmers care more about their domain in which they are working and less about the language used in that domain.
Re:Go is Google's language, not ours by glangdale on Wednesday May 22, 2019 @07:40AM (#19980047)
"Java, from Bell Labs"
Re:Go is Google's language, not ours by pjmlp on Wednesday May 22, 2019 @07:58AM (#19980170)
That was Limbo actually, so it goes well with Go.
Re:Go is Google's language, not ours by blankaccount on Wednesday May 22, 2019 @08:43AM (#19980513)
How do you feel about streams/lambdas with Java's checked exceptions?
Re:Go is Google's language, not ours by james-mcelwain on Wednesday May 22, 2019 @10:26AM (#19981512)
This is absolutely the biggest wart in modern Java. We now wrap all methods that can throw checked exceptions to rethrow unchecked. This works well for web services that can just retry or rollback and report an error to the client on transient exceptions, but is insufficient for many applications.
Re:Go is Google's language, not ours by usrusr on Wednesday May 22, 2019 @07:07AM (#19979870)
> Java has made a U-turn in adding streams and related functional features on top of a language that used to be strongly for OOP (actually defining the meaning of OOP for a generation of developers.)

But isn't that just an inevitable outcome of aging? The only way to never age is dying young.

And practical use of Java had stopped being textbook OOP (which means using classes to model the world and putting your logic where the data is) long before the streams API etc came along. Actually the shift away from textbook OOP integration between logic and data already started when the beans pattern drowned us in getters and setters, which already happened when Java generics were still the Pizza language sitting as a draft on Odersky's desk. I even suspect that lack of generics was a confounding factor in that shift, because when you look at a pre-generics codebase (which I happened to do just yesterday) you will find that the brave men and women back then spent an enormous amount of boilerplate just for hiding untyped collections behind typed facades which is a form of using OOP features (meant for modeling the world) for program structure, which is basically what post-textbook-OOP Java is all about.

Re:Go is Google's language, not ours by StevePerkins on Wednesday May 22, 2019 @07:45AM (#19980083)
I have no idea what having a "soul" means. But I suspect that my career has been well-served by being dead inside.
Re:Go is Google's language, not ours by reallydude on Wednesday May 22, 2019 @01:31PM (#19983408)
> I have no idea what having a "soul" means

A design philosophy. Some sort of measurable practice that influences design. This is not limited to Java. Design by committee has been destroying the maintainability of many languages.

Re:Go is Google's language, not ours by hackerpacker on Wednesday May 22, 2019 @10:15PM (#19987707)
"Some sort of measurable practice", not anything remotely like a "soul", in fact invoking "you have no soul" usually means you lost the argument and are now desperate enough to say anything.
Re:Go is Google's language, not ours by bunderbunder on Wednesday May 22, 2019 @09:01AM (#19980660)
> streams and related functional features

Streams are inspired by some idioms of functional programming. But they are not functional, and they cannot be made to be functional, because it is impossible to evaluate one without causing a rather glaring side effect.

Re:Go is Google's language, not ours by erik_seaberg on Wednesday May 22, 2019 @01:08PM (#19983185)
> I love how Go code usually ends up being extremely similar, no matter who write is.

I want expert code to be concise and uncluttered. When everything reads like a novice wrote it, that's a problem.