the types of projects that i do completely eliminate scala as a reasonable
option for anything more than simple testing utilities, and unfortunately
thats the part that people are the proudest of. ive worked on large PHP
projects with its dynamic typing and it was a nightmare among nightmares.
 it actually made me long for the days of VB when i could simply put
"option explicit" on the top of all the files to statically type them and
solve a good 60% of the bugs we were encountering.  ESPECIALLY when it
starts to relate to writing things to the database.  oh god, the horrors we
encountered there, i still wake up in the middle of the night in a cold
sweat.

take the project im wrapping up right now.  im running a team of 8
developers across 3 different companies in 4 different cities in 2 states.
 add to that a starting point of 200,000 lines of extraordinarily badly
designed code with absolutely zero javadocs or any other form of
documentation and you have a typical tuesday morning for me.  even on the
best days its like herding cats to keep on track.  if this were done in a
dynamically typed language like scala, php, or whatever, i most likely
would have told my boss to write it off as a total loss and propose a new
system from the ground up.  but because Java forced the previous developers
to follow the strict typing and coding rules of java itself, my team and i
were able to save it and get it running again with a new database access
layer and security system.  this project would flat out not have been
possible with a dynamic language.  it just couldn't.

you want an improvement that would help me?  how about a JVM that has a
true memory managment system that allows the application to manage its
memory allocation without cryptic settings in config files and reboots.
 how about a JVM that doesn't have a @#$ damn permgen space.  how about a
garbage collection system that actually gives you back what it cleans out
of memory.  oh, how about a garbage collection system that you can trigger
when you want it to actually do something specific, like truely flush this
10 meg variable and return those 10 megs back to the system, not just say
"oh yea, i did that, TRUST ME!!!" how about language features that allow a
dependency management system that doesn't require me to write shell scripts
to delete old versions of files after every build that keep crashing
because class A needs version 10 and class B needs version 9.

that would put a smile on my face

On Wed, Nov 23, 2011 at 12:32 PM, Vince O'Sullivan <[email protected]>wrote:

> On Nov 23, 3:02 pm, Kevin Wright <[email protected]> wrote:
> > What! No Monty Python?
>
> Hopefully not.  Nothing clears a room faster than two programmers
> swapping forty-year-old Monty Python quotes.
>
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
>


-- 
You want it fast, cheap, or right.  Pick two!!

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to