The idea that we can establish some sort of formal complexity measurement for documentation is... interesting. Although I think there's more joy to be had in measuring EBNF, or the size of some other parser grammar considered complete for the language.
I'd also like to briefly explore one of the differences between the two language specs... Consider the `+` operator. In the JLS, this is covered in chapter 15, "expressions" 15.18 - additive operators 15.18.1 - string concatenation 15.18.1.1 - string conversion 15.18.1.2 - optimization of string concatenation 15.18.1.3 - examples of string concatenation 15.18.2 - additive operators for numeric types Spanning pages 496-501 It's a bit different in Scala, which doesn't have operators as quite the same way. They're just methods in infix/operator notation. Everything in Scala is also an object (no primitives). Int, Float, String etc. are still optimised in the compiler, and will often use primitives in the generated bytecode, but within Scala code they are objects. So `+` becomes a method on the String/Int/Float/etc. object. The Scala spec doesn't list API methods any more than the JLS does. What the spec *does* have is section 6.12.3, outlining how methods used in the infix position have a precedence determined by the first character of the operator name. One beauty of thie approach is that it effectively gives you operator overloading, allowing things like this: http://www.scala-lang.org/api/current/scala/math/BigDecimal.html This is sufficient to be able to duplicate Java's behaviour, by building up to it on the basis of a broader (and simpler) concept. So "x" + 2 May look the same as Java, but it's actually achieved via the `+` method on a String instance, and not a dedicated special-case operator with 3 sections in the language spec. On 6 August 2010 00:38, JodaStephen <scolebou...@joda.org> wrote: > Kevin Wright is fond of repeating: > Java (3rd Edition): 649 pages, 7932 KB > Scala (current in trunk): 191 pages, 1312 KB > therefore Scala is less complex. > > But has anyone actually analysed the specs in detail? > > In code coverage terms, how many distinct "code paths" are there in > each spec. That is surely a far better measure than number of pages. > > Volunteers for counting?!! > > Stephen > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to javapo...@googlegroups.com. > To unsubscribe from this group, send email to > javaposse+unsubscr...@googlegroups.com<javaposse%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- Kevin Wright mail/google talk: kev.lee.wri...@gmail.com wave: kev.lee.wri...@googlewave.com 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 javapo...@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.