Live data from Hacker News

An Opinionated Guide to Modern Java Development, Part 1

blog.paralleluniverse.co

391–400 of 402 posts

Re: An Opinionated Guide to Modern Java Development, Part 1

#391
post #390

Earlier quoted context omitted.

> I'm just disappointed because this slightly breaks the Option type, that's all. I have never ever seen this happening. The complaint feels a lot like "well, someone could use reflection and change the cached values of Integer, why don't you check that every time something returns an Integer?" to me. null is the sad fact of running on the JVM, but pretending that it doesn't exist works 99.9999% of the time in Scala.

I know I'm beginning to sound like a broken record, but "I have never seen this happening" is a poor argument when discussing type systems. Please realize that "I've never seen a type bug like this happen" is exactly what proponents of dynamic typing will say when dismissing the burden of static typing: "I've never seen a bug caused by incorrect types. It sounds nice in theory and in your contrived examples, but in p…

> Your remark that "null is the sad fact of running on the JVM" was what I was saying all along. Am I allowed to express disappointment that Scala's type system is compromised because of this fact?

What I'm saying is that you are barking up the wrong tree. You need to go to Oracle and complain there if you are unhappy about nulls.

Re: An Opinionated Guide to Modern Java Development, Part 1

#392
post #102

Earlier quoted context omitted.

Back when I was initially impressed by Go before the 1.0 release, I created a ticket for Go on Android, which is still open. I doubt it will ever happen.

There are a bunch of rumors that Google will announce expanded GoLang support on Android at IO. What that means I'm not sure and I can't find the link for it now. It was a somewhat credible source but not one I'd bet the farm on or anything. I suspect if anything is announced it would be GoLang ndk support but we can dream and hope for more. A python to Davlik compiler would be a very interesting move also.

> A python to Davlik compiler would be a very interesting move also.

Dalvik is dead. It has been already fully replaced on the latest AOSP code drops. Plus SL4A was left to rotten.

As for Go, lets see. My ticket is now two years old.

Re: An Opinionated Guide to Modern Java Development, Part 1

#393
post #380
post #298

Earlier quoted context omitted.

I understood the post I replied to as if the author wanted to configure something custom and thus needs to write code. I didn't assume that the original argument was supposed to address the configuration of a standard build. Because you'll always have to learn a new syntax for the tool. Use Make-> Learn make syntax. Use Maven-> Learn POM syntax. Use Gradle -> learn the DSL syntax. Want to extend Gradle -> learn Groov…

I'd submit that the POM "syntax" is much simpler than a full programming language.

You don't have to learn the complete XML syntax to write a POM. Think about it.

Re: An Opinionated Guide to Modern Java Development, Part 1

#394
post #393
post #380

Earlier quoted context omitted.

I'd submit that the POM "syntax" is much simpler than a full programming language.

You don't have to learn the complete XML syntax to write a POM. Think about it.

I think anyone programming Java is going to have to learn XML pretty soon; not so Groovy.

Re: An Opinionated Guide to Modern Java Development, Part 1

#395
post #394
post #393

Earlier quoted context omitted.

You don't have to learn the complete XML syntax to write a POM. Think about it.

I think anyone programming Java is going to have to learn XML pretty soon; not so Groovy.

Modern Java is usually 100% XML free. Even new servlet containers/standeard REST frameworks (Dropwizarrd, embedded Jetty etc.) require no XML whatsoever.

You only need XML if you're deploying to heavyweight servlet containers (standalone Tomcat, e.g.). Even embedded Tomcat doesn't use XML.

Re: An Opinionated Guide to Modern Java Development, Part 1

#397
post #394
post #393

Earlier quoted context omitted.

You don't have to learn the complete XML syntax to write a POM. Think about it.

I think anyone programming Java is going to have to learn XML pretty soon; not so Groovy.

That's not what I wanted to point out. To write a POM, you don't need to know the XML specification. If you want to write a Gradle script, you don't have to know Groovy. You just have to use the Gradle DSL which is fairly compact for most plugins. You make it sound as if you have to learn a whole new programming language, and if that was the case I would agree that Gradle sucks! If you want to do something more specific, then yes you will have to learn Groovy, but at that point the time will be spent well. Also, most of the time Groovy is weakly typed Java with lambdas and no semicolons. I think you've already spent more time arguing about not wanting to learn Groovy than time you would've needed to learn said amount of Groovy.

Re: An Opinionated Guide to Modern Java Development, Part 1

#398

Why do people seem to think "opinionated" is a virtue these days?

Its better to have one opinion then ten conflicting ones. Its also easier to learn how to do something from an opinionated source then one that tells you to do "whatever you want", without providing you with good ways of evaluating the choices and intelligent defaults.

Re: An Opinionated Guide to Modern Java Development, Part 1

#399
post #397
post #394

Earlier quoted context omitted.

I think anyone programming Java is going to have to learn XML pretty soon; not so Groovy.

That's not what I wanted to point out. To write a POM, you don't need to know the XML specification. If you want to write a Gradle script, you don't have to know Groovy. You just have to use the Gradle DSL which is fairly compact for most plugins. You make it sound as if you have to learn a whole new programming language, and if that was the case I would agree that Gradle sucks! If you want to do something more speci…

The "Gradle DSL" and Groovy's grammar are the same thing, mixed together in one Antlr file, and probably the largest programming language grammar I've ever seen. Here it is for Groovy 1.8, the version that shipped the paren-less parameters that Gradle uses:

http://svn.codehaus.org/groovy/eclipse/trunk/base/org.codeha...

Re: An Opinionated Guide to Modern Java Development, Part 1

#400
post #399
post #397

Earlier quoted context omitted.

That's not what I wanted to point out. To write a POM, you don't need to know the XML specification. If you want to write a Gradle script, you don't have to know Groovy. You just have to use the Gradle DSL which is fairly compact for most plugins. You make it sound as if you have to learn a whole new programming language, and if that was the case I would agree that Gradle sucks! If you want to do something more speci…

The "Gradle DSL" and Groovy's grammar are the same thing, mixed together in one Antlr file, and probably the largest programming language grammar I've ever seen. Here it is for Groovy 1.8, the version that shipped the paren-less parameters that Gradle uses: http://svn.codehaus.org/groovy/eclipse/trunk/base/org.codeha...

I accept that argument if you prove my preceeding argument, that you don't need all of Groovy to use Gradle, to be wrong.
Post reply on HN