Live data from Hacker News

Java Developers

nsainsbury.svbtle.com

171–180 of 321 posts

Re: Java Developers

#171

Earlier quoted context omitted.

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…

> 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 ? ... Get the facts straight please. As much as I don't like everything about PHP, PHP means PHP5 and it has been like that for a few years.

I'm talking about languages evolution. PHP5 got a Javaesque Object System, closures, generators. The idioms that will emerge will be close to other language with similar features, and what made php php is becoming less and less so.

Re: Java Developers

#172

> 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…

What about OOP in Django? Controllers are just functions on module level, models are just "poor" records for storing data (no behaviour), ORM is singleton-based. So I would say it's procedural, not object-oriented, at least, not in Java sense.

Strongly disagree. The internals of Django are full of inheritance and mixins (a form of multiple inheritance), and so are the class-based views and the forms.

The CBV class hierarchy is complex enough that someone had to make this site to help everyone keep them straight: http://ccbv.co.uk/

If you only write FBVs and implement your own views and forms from scratch you can keep your code fairly procedural, but I would say that Django heavily [ab]uses the OOP features of Python.

Re: Java Developers

#173
post #126

Earlier quoted context omitted.

Bootstrapping any tool is going to look that way. To compile gcc you need a C compiler don't you?

Yes, but gcc requires gcc and THAT is. gcc does not require KDE and apache to build (which is like Maven dependency chain looks like).

You probably are angry at the "length" of the dependency chain, but I see no conceptual difference between the two bootstrapped tools.

Of course, I am looking at this far from the battle-field, so maybe I am being too non-chalant.

Re: Java Developers

#174
post #107
post #33

Earlier quoted context omitted.

Assembly, and Low Level Coding is the exact opposite of solving 'real' problems. Your going low level to create problems that didn't exist, as opposed to working on the core issue(often business related) your software is trying to solve. Languages should allow you to focus on creating software that fixes a real world problem, as fast and cleanly as you can. That doesn't include bit flipping, or bit operators or anyth…

Writing low-level code is important for writing the underlying libraries for those high-level languages, e.g. the run-time systems or the big integer routines.

It's also important due to it helping one understand everything that's going on under the hood in whatever high level language one's using

Re: Java Developers

#175

I agree with much of the article (also as being a java developer for the last 17 years). However, I don't think the problem ie necessarily Java Developers - I think they were just early adopters of the larger problem: Frameworks. Too much software these days relies on frameworks in order to 'get things done'. The knock on effect is that developers don't have to think as much about how things work (technical debt is a…

Unless you're writing something very simple, you're going to end up re-inventing portions of a framework in order to do what you need to do anyway. In which case you're going to be wasting time. If you're trying to write a complex web application it isn't a good use of your time to implement templating/declarative views/JSON serializers/etc in a low-level language. It's not laziness - it's efficiency. Low level syste…

You can use libraries instead of frameworks to avoid reimplementing/reinventing functionality.

Re: Java Developers

#176
I agree with the general sentiment of the article. I have used Java since the beginning and I have written many books using Java for the examples in the books.

I mostly use Haskell and Clojure (with little text utilities in Ruby) now, but I still do find that Java is sometimes the best language for some projects. Off topic, but Java 8 streams and inline functions made the language better.

That said, I no longer use Java in any sort of "standard" way. I stopped using getters/setters years ago in favor of public instance variables. I also write a lot of static methods ("functions"). Basically, I try to make my Java code as concise as possible.

I also have turned my back on large server side frameworks. For web services, embedded Jetty and a JSON library is often all the library support that I need.

Re: Java Developers

#177
I actually have a different problem. Java developers that are IDE jocks and dont have any kind of understanding of what is happening underneath the API. Take these guys outside of the IDE and they dont even know how to compile the code.

Re: Java Developers

#178
The language has some very poor design decisions baked into it (read: no functions) but the biggest problem with Java is that it's the lowest common denominator enterprise programming language, and managers have used it to lower the bar in their attempt to commoditize programmers. As a result there are lots of Java programmers on the market, with low salary expectations, and the code they produce is of commensurately low quality. As Paul Graham put it, Java is a language you learn to get a job. Do you want all your company's code to be written in a language that your programmers only learned because they needed a job?

Re: Java Developers

#180

Earlier quoted context omitted.

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?

It seems that you argue for subtyping for the sake of subtyping.

Up to you man. Peace.

Post reply on HN