There is a difference between perceived complexity and actual complexity. Some tasks the human mind excels in and we intuitively know the correct answer. Java (mostly) stays in this domain which reduces the perceived complexity, even though the actual complexity (due to baggage and backwards-compatibility) has gone through the roof. On the plus side one does not have to be a rocket scientist to read and write Java code, but when one's intuition of what is right gets confounded, i.e. one stumbles over a Java puzzler, things get hairy.
Scala on the other hand has its complexity in all the right places: Where it helps developers solve complex problems with complex solutions. The issue with that is of course that reading library code[*] requires a lot more than the seemingly simple Java code. On the whole I have to give the edge to Java (complexity-wise) in that anyone can understand it; and that's what is being discussed here, right? [*] When debugging, I tend to step into library code to get a clearer understanding of the overall situation; if I can't understand the code then I'm hosed. PS: As far as fantom goes, I really want to like it, but I just don't see the point of having an unsound type system. With kind regards Ben On 7 Aug., 08:56, JodaStephen <[email protected]> wrote: > The Fantom BNF grammer is 144 lineshttp://fantom.org/doc/docLang/Grammar.html > - Java: 368 lines > - Scala: 257 lines (EBNF) > - Fantom: 144 lines (BNF) > > However, these numbers need normalizing before comparison, as Fantom's > is written in a more compact style than Scala. > > As Charles says, grammer isn't that decisive or useful, but its useful > to go to the next step of defining what are the learning points of the > language. At that point, the optional elements reduce down to far > fewer learning points. > > For example, LanguageX has n concepts to learn. Each concept can then > be given a subjective simple/complex rating 1 to 10, et volia! > OK, its psuedo science, but its better than counting spec pages... > > Stephen > > On Aug 6, 11:07 pm, Kevin Wright <[email protected]> wrote: > > > You can't claim that the numbers I posted are subjective, I counted > > them fair and square! > > *this* post however, will be subjective. > > > The idea that all kids go to "high school" and have a "grade 11" is > > also subjective :) > > I give you... Kojo!http://netbeans.dzone.com/learn-scala-with-kojo > > > It's also subjective to simply discredit any methodology that happens > > to disagree with your gut feelings. > > > Incidentally, the "few object-oriented features" in Scala amount to a > > more complete/purer OO language than the entirety of Java. > > i.e. > > all values are objects (no primitives) > > all members are defined on an *instance* of some class, and are > > capable of inheritance/overriding (no statics) > > > The way I see it is that Scala = Java > > - the non-OO bits > > - other boilerplate > > - frustrating restrictions > > + FP > > + a world class type system > > > and yes, that's subjective. At least until someone comes up with > > measurable criteria for "frustrating restrictions" :) > > > On 06/08/2010, ADRA <[email protected]> wrote: > > > > This whole topic is by its nature subjective. Its not like Scala and > > > Java are exact language fits for one another. As I see it, Scala is a > > > functional language that has some object oriented features. Java is an > > > object oriented language with a few procedural features (baggage) and > > > will eventually have a few functional features. If you want to ask > > > which one is easier, ask yourself if you like Wrox or Head start > > > books. Each book conveys the information to you in the end, but each > > > person reading them will have wildly different takes on each style of > > > presenting the content. > > > > If you really want a quantifiable result, then get a pilot program > > > with two high school grade 11 classes and teach one class Java and the > > > other Scala. Personally, I find Java vastly simpler understand and use > > > vs Scala, but I come from a solid procedural foundation long before I > > > touched java. To forget the educational background of the person in > > > question is a horrible mistake to make in this topic. > > > > -- > > > 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. > > > -- > > Kevin Wright > > > mail/google talk: [email protected] > > wave: [email protected] > > skype: kev.lee.wright > > twitter: @thecoda -- 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.
