4 ms·
> Java logging is a clusterfuck Care to explain? Logback is easy to configure and extremely efficient > Something as simple as wanting symbolic links in a Mav
by koevet 14y ago
> Java logging is a clusterfuck
Care to explain? Logback is easy to configure and extremely efficient
> Something as simple as wanting symbolic links in a Maven build requires a third party plugin, last updated in 2007 (maven-junction-plugin) that requires something no longer in the central repo;
If you are still using Maven it's your problem. Switch to Gradle and your life will be much better.
> No lambdas yet;
True, but if you really need them use Groovy or Scala. Groovy 2.0 is almost as fast as Java and Scala is fun.
> Type erasure in generics and the consequences thereof (eg inability to create generics of primitive types unlike C#);
True, but doesn't this lack of feature harm framework developers mostly? The same people which the article is critiquing.
> Checked exceptions;
You can just ignore them when you write new code. If you have to deal with code that throws them, just deal with them. Most of the modern frameworks nowadays don't use them.
> No function references, lambdas, etc (still a year+ away);
Groovy, Scala and the favorite kid on the block, Clojure
> Eclipse is a hot mess (IMHO). And, no, for Java at least, vim/emacs simply are no better. IntelliJ is but for some reason they insist on making it hard to make plugins as their API changes every major version. Jetbrains seems to be going out of their way to make it hard;
This is the only point for which I tend to agree. Eclipse is difficult to work with. IntelliJ on the other hand is a valid alternative. These days I mostly code in Sublime Text 2 though.
- mindcrime 14y ago> Care to explain? Logback is easy to configure and extremely efficient Logback != "java logging". "Java logging" is some messy combination of JDK logging, Logback, Log4j, Commons Logging, SLF4J, some cruft that fell out of Avalon or Fortress or whatever it was, etc. And then you try to use a library that uses Commons logging alongside another library that uses log4j directly, alongside your code, which really wants to use SLF4J... or you deploy your code, which uses log4j, into JBoss, which configures it's own hacked version of logj4 before your code loads, and you run into needing to figure out RepositorySelectors... You'd be better off reading from Ludvig Prinn's De Vermis Mysteriis, Friedrich von Junzt's Unaussprechlichen Kulten and the Necronomicon. Ia! Ia! Cthulhu fhtagn! Ph'nglui Mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!
- vorg 14y ago>> No lambdas yet; > True, but if you really need them use Groovy or Scala. Groovy 2.0 is almost as fast as Java and Scala is fun. > Groovy, Scala and the favorite kid on the block, Clojure Java's upcoming lambdas will have lazily-evaluated results from its map, filter, reduce, etc lambdas. Both Scala and Clojure already have their lambdas/functions return lazily-evaluated results, but certainly not Groovy, neither version 1.x nor the just-released version 2.0.4. Groovy's closures only return strictly-evaluated results. In fact, 2.0.4 was released only 2 weeks after 2.0.2 to fix "some important issues with generics with the stub generator, as well as several related to the static type checking and static compilation features". (Version 2.0.3 was skipped because "it was mistakenly built with JDK 6 instead of JDK 7".) It may be "almost as fast as Java and Scala" but it certainly isn't fun or production-ready.