Live data from Hacker News

Java Developers

nsainsbury.svbtle.com

131–140 of 321 posts

Re: Java Developers

#131
post #41

Earlier quoted context omitted.

> Because languages like Scala and Clojure are rapidly taking over from Java in the enterprise space Let's see how much of the momentum these languages keep after Java 8. Default methods, the new stream API and lamdas provide much what most developers need without introducing baroque features and orthogonal infrastructure.

Doesn't change the point. It's called JAVA but with lazy streams and closures, everything Java culture built prior that will be moot and that's what the article is pointing at. Same thing happened in PHP land, people say PHP is great now, but what is PHP ? PHP5, which is a perlish javaesque thing ? or the regex craze html implicit template system that was PHP4 ? ... OOP is too verbose by it's essence compared to clos…

> OOP is too verbose by it's essence compared to closures.

Could you comment on Smalltalk's blocks?

Re: Java Developers

#132
post #79

Earlier quoted context omitted.

> OOP is too verbose by it's essence compared to closures. Then CLOS is too verbose?

CLOS is a layer on top of CL, it's optional. Also, LISPs are as verbose as you want them too. If you identify boilerplate you macro it away. It's part of the culture. Some systems (php/symfony2, eclipse/emf) go out of their way to generate unnecessary temporary files, templates and such but it's still cumbersome. To be honest, CL shows its age (mapc, mapl, do, dotimes, loop ...), more functional approaches like sml a…

Talk about workarounds.

Re: Java Developers

#133
post #99

Earlier quoted context omitted.

Functional programming has been known and researched for decades. Mostly what happens is the obviously good features filter down into more mainstream languages, hence the new stream extension in Java 8, and the rest (lazy by default?) gets left behind.

The key selling point of functional languages is not lambdas, but immutable state and referential transparency. People read "advantages of functional programming" and think "anonymous functions" and "they're talking about scary Haskell" which is wrong. Although lambdas are a big improvement to Java, they are not helping enough to make the language more functional. Java is built upon mutable state to its very core, an…

> The key selling point of functional languages is not lambdas, but immutable state and referential transparency.

Not everyone agrees, evidently! In his influential paper, Hughes argues that higher-order functions and laziness are key to functional programming.

Re: Java Developers

#134
post #77

Earlier quoted context omitted.

What I find quite amusing is that all these posters bashing OOP, end up using languages that actually do offer some form of OOP, as they seem to lack the understanding that Java OOP is not the only way of doing OOP. As all modern languages, even functional ones, have OOP support.

I never found a way to sense the differences between OOP flavours (NPI). Are you thinking of ST/Ruby where it's object and method all the way down ?

There are many models:

- OO like in Smalltalk

- OO like in SELF

- OO like in BETA

- OO like in CLOS

- OO like in COM

- OO like in Haskell

- OO like in C++

- OO like in Eiffel

- OO like in Ada

- OO like in Sather

A few more models might exist.

Re: Java Developers

#135
post #95
post #77

Earlier quoted context omitted.

What I find quite amusing is that all these posters bashing OOP, end up using languages that actually do offer some form of OOP, as they seem to lack the understanding that Java OOP is not the only way of doing OOP. As all modern languages, even functional ones, have OOP support.

Also I thought the point was Java and not OOP. Java devs are known to over-engineer everything. There are many nicer OOP languages out there, where the devs don't tend to do this.

> There are many nicer OOP languages out there, where the devs don't tend to do this.

Because they aren't used in enterprise applications. Just give them time.

Re: Java Developers

#136
post #75

Java is not the problem, enterprise architects are. If anything, Java allowed the so called architects a much easier path to such crazy skyscrapper designs than any enterprise language before it. So of course they went crazy with Java, and later on C#, because it was so easy to do so, without being caught in core dumps and similar issues. Anyone complaining about enterprise Java, just needs to go back a few decades t…

Ah yes, DCOM. That was truly the domain of the C++ enterprise architect! Today's AbstractProxyFactoryBean was yesterday's IDispatchProxy, IRPCProxyBuffer and so on. What's scary is that big chunks of heavy industry are all standardised on it via OLE for Process Control (OPC).

Thanks to WinRT is it back!

Re: Java Developers

#137

Earlier quoted context omitted.

Most words exist in fairly deep ontologies also, is English an abomination?

Sidestepping much? We are, obviously, not speaking about a natural language here. I think this is an example of an hierarchy without a purpose. Pointless OO, what's not to love here..

There is a clear ontology in the above classes, and it's nice to formalize that in the language rather than just keep it informal in a naming convention. I mean, why not have subtypes if you have subtypes?

Re: Java Developers

#138

> The OO craze has a part to play in this madness as well. More and more developers are stepping back and realising that as a programming paradigm, OO is actually pretty shit. Once real systems (like UI frameworks) are written with FP, we can compare apples to apples. Until then...wtf? OO actually works well for scaling complexity, much better than toy immutable functions do. > Even today you’ll still find a strong b…

> Once real systems (like UI frameworks) are written with FP, we can compare apples to apples. Until then...wtf? OO actually works well for scaling complexity, much better than toy immutable functions do. Seems like we are working on very different kinds of systems. Right now I'm working on Hadoop-based data pipeline. While Hadoop itself is mostly written in Java, many recent tools like Spark or Kafka are created in…

> Python with its main web framework - Django - is really shiny. I would say, it is one of the best web frameworks ever

For small sites, maybe. Once the codebase gets large, it becomes much harder to maintain than a Java webapp of similar complexity written in a sane framework.

Re: Java Developers

#139

Earlier quoted context omitted.

Most of the Googlers I know writing Java code would rather not be writing Java code. They would prefer Python or even Javascript (and a lot of FP enthusiasts also), but Java is what Android needs so Java it is. I would be very surprised if Google was hiring many people who only knew Java or were even very enthusiastic about it. Perhaps the only language more reviled than Java in Google is C++.

I worked at Google for a long time. The most problematic language at Google was (by far) Python. Mostly because tools that would start out as small Python scripts would evolve to become large Python codebases that ended up being unmaintainable. There were several examples of unmanageable Python codebases at Google that got rewritten in C++ or Java. I'm struggling to think of examples of code going in the opposite dir…

What part of Python would you blame that on? Dynamic typing? Multiple inheritance?

Re: Java Developers

#140

Earlier quoted context omitted.

Some of the complaints about the over-formal language is a matter of taste, perhaps, but it does grate and is not a new complaint (see also: the Kingdom of Nouns rant). However Java developers are learning (or migrating to Scala/Groovy/Clojure). And there is hope -- the Play framework, for example, is an example of Java done right (imho). Spring 4 is moving in the right direction.

I don't think it's a matter of taste. TBH I write very little of the code that is checked in to the source control. The IDE does all the boilerplate. I literally design the method signatures, define the access policy for the methods and fill in a few gaps here and there. Play is not Java done right by any means. It's tightly coupled, has really poor documentation, breaking changes galore between major releases, deplo…

Deployment of Play is as simple as copying a JAR file onto a server and starting it.
Post reply on HN