I use Guava extensively and it has helped me quite significantly to reduce some of the code normally Java developers wrote.
I use Rails for CRUD app and I use Spring MVC too.
I used Python a lot a few years ago from writing tools (testing, scripting, automation), to small web-apps.
Saying that 100k can be cut to 10k (or 1k) is like pulling number out of thin air, that's what I find... "magical". It's like some CEO of a startup giving a deadline to the developer to write Hadoop in 4 hours; pulling the number out of thin air.
Compiler => helped syntax errors and types (95%, 5% consist of reflection hackery that might bite).
Static code analysis => One level up from syntax errors, focused on common pitfalls and bug patterns
One step, two step, three step, doesn't matter, it helps, that's the bottom line.
What I refer to "except that happens as well in dynamic language" is to the business logics, the app logics, not syntax and whatnot, you _got it wrong_. We all got business logics bugs that can't be caught by anything other than testing the app themselves (QA, automation, whatever).
So we agree that dynamic languages requires you to write more testing code because there's no compiler? Gotcha.
I never say anywhere that using a static language requires NO testing.
What I found is that a bunch of old-timers who wrote Java back in 98-2003 and didn't use more modern Java frameworks and tools but already jumped the band-wagon to Rails or Node.js keep singing the same tune.
When I use Rails, then Spring MVC + Spring Data, I noticed that the amount of business logics that I have to write is more or less the same. 10x is again out of thin-air. I admit writing code in Java requires more typing albeit Eclipse helps a lot (and please don't bring the old argument of "But You need an IDE!", who cares what I need as long as it helps me to do my job).
Picking one example to refute the epidemic that occurs in the ecosystem is probably not a strong argument (Rails is well maintained, I give you that, although it takes Rails up to version 3.x to realize that they need to cool down and stabilize but I give you that, but that doesn't mean the other plugins and libraries are held the same level of quality and commitment with Rails).
> So we agree that dynamic languages requires you to write more testing code because there's no compiler? Gotcha.
No, we don't. I never said that. Since there is less code structured in simpler ways, there can be less tests (there are less code paths). Since the tests themselves are written more concisely, the tests themselves are smaller. The syntax errors will be caught in the tests because most dynamic languages actually compile the code. They just do it as needed.
Again, the 10x number is not out of thin air - we keep a lot of Java applications here and, more than once, we rewrote them in dynamic languages. We saw better than 10x ratios, although with the more recent, nicer Java code is more like 5x.
> Picking one example to refute the epidemic that occurs in the ecosystem is probably not a strong argument
I am not very familiar with the Rails ecosystem, but if most of the libraries someone picks tend to be abandoned, maybe the problem isn't in the libraries, but in the selection process.
I use Rails for CRUD app and I use Spring MVC too.
I used Python a lot a few years ago from writing tools (testing, scripting, automation), to small web-apps.
Saying that 100k can be cut to 10k (or 1k) is like pulling number out of thin air, that's what I find... "magical". It's like some CEO of a startup giving a deadline to the developer to write Hadoop in 4 hours; pulling the number out of thin air.
Compiler => helped syntax errors and types (95%, 5% consist of reflection hackery that might bite).
Static code analysis => One level up from syntax errors, focused on common pitfalls and bug patterns
One step, two step, three step, doesn't matter, it helps, that's the bottom line.
What I refer to "except that happens as well in dynamic language" is to the business logics, the app logics, not syntax and whatnot, you _got it wrong_. We all got business logics bugs that can't be caught by anything other than testing the app themselves (QA, automation, whatever).
So we agree that dynamic languages requires you to write more testing code because there's no compiler? Gotcha.
I never say anywhere that using a static language requires NO testing.
What I found is that a bunch of old-timers who wrote Java back in 98-2003 and didn't use more modern Java frameworks and tools but already jumped the band-wagon to Rails or Node.js keep singing the same tune.
When I use Rails, then Spring MVC + Spring Data, I noticed that the amount of business logics that I have to write is more or less the same. 10x is again out of thin-air. I admit writing code in Java requires more typing albeit Eclipse helps a lot (and please don't bring the old argument of "But You need an IDE!", who cares what I need as long as it helps me to do my job).
Picking one example to refute the epidemic that occurs in the ecosystem is probably not a strong argument (Rails is well maintained, I give you that, although it takes Rails up to version 3.x to realize that they need to cool down and stabilize but I give you that, but that doesn't mean the other plugins and libraries are held the same level of quality and commitment with Rails).