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.
