On Nov 23, 2011 7:09 PM, "Steel City Phantom" <[email protected]> wrote: > the types of projects that i do completely eliminate scala as a reasonable > option for anything more than simple testing utilities
Many people start with Scala there, the DSL capabilities make it a *very* good fit for writing specifications that read almost exactly like user stories. > 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. So you have bigger problems than language choice. But have you considered that your programming language is the main source (no pun intended) of communication between those teams. As a communication channel, is it expressive enough, what's the signal/noise ration? > 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. Scala is anything but dynamically typed! One of the criticisms of that article was that the type system is too imposing. Which is is, if you only try and understand it by reading the language specs and not by e.g. actually trying to program something in Scala. In practice, it gets out of your way very nicely. > 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. So if the static typing of Java helped, then presumably the more complete type system of Scala would help even more. As a trival example, it makes it easy to express the idea of optional or uninitialised values via the Option class. Using nulls in Java just isn't as effective! In general, the issues you've raised so far make it sound as though Scala could actually be a very good fit. > 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. Scheduled For (I believe) Java 10 > 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!!!" Permgen space is on the roadmap to be dropped, probably alongside Java 9, with G1GC being made the default garbage collector > 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. Project Jigsaw, a High priority on the Java 8 roadmap. > that would put a smile on my face Quite :) -- 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.
