My turn to surprise you then, because I agree with pretty much everything you say below.
Yes, Scala is versatile and scalable. It covers functional and OO programming. It has pattern matching, implicits, support for DSL's and a powerful type system. Now, can you see how all these features combined in one language can make such a language complicated? -- Cédric On Sun, Aug 29, 2010 at 12:29 PM, Kevin Wright <[email protected]>wrote: > I'm goin to surprise you now, and come out in total whole-hearted > agreement. > You have rather elegantly captured one of Scala's core philosophies. > > > The subset of Scala to which you refer is, in fact Scala itself. The name > of the language is a reduction of "Scalable", which applies on a number of > levels. One such is that it can be used for programming "in the small" > (Kojo, scripts, etc.) as well as programming "in the large" (polymorphism, > dependency injection, etc.). > > Another interpretation of being "scalable" is that Scala can be used for > conceptually simple work, possibly aided by a DSL (as with Kojo), or it can > be used for building a large, rich, and arguably complex framework such as > lift, or scalaz. > > > What most Scala developers have now come to appreciate is that using a > library or DSL is often a trivial matter, and that the more advanced you > make it, the easier it becomes to use. When programming in Scala, you > really do tend to work in one of two distinct modes: producer and consumer. > > > One of Scala's biggest problems now is that most examples online are > written by people wanting to demonstrate their competence, and this is often > done by leveraging the full power of the language. What we need now are far > more examples of Scala in normal use :) > > > On 29 August 2010 20:10, Fabrizio Giudici > <[email protected]>wrote: > >> >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On 8/29/10 20:32 , Kevin Wright wrote: >> > >> > >> > ... bottom line is that using Kojo and reading the Kojo doc teaches >> > you nothing about Scala. >> > >> > >> > >> > and this is the fundamental point of disagreement. >> > >> > Actually, it not only teaches you some Scala, but also come of the >> > Java API as well: >> > >> http://wiki.kogics.net/forum/t-229555/another-example-with-sq-and-dist-methods >> > >> I >> > >> must say I'm pretty much with Cedric. But indeed it's not that >> Cedric and others are right and Kevin and others are wrong. You're >> mostly discussing on different things. I've read the pdf about Kojo. >> Pretty neat. Indeed the DSL capabilities of Scala are a great thing, >> pretty neat and powerful, and I regret that Java can't do that much >> more than closures. >> >> Given that, I think that the only correct statements that can be done are: >> >> 1. Students using Kojo are learning a subset of Scala. So it's not >> wrong that they are not learning Scala. But it's a subset. For >> instance, I don't see any trace of "pattern matching" in the whole PDF >> document. >> 2. I think we can assume they are enjoying Kojo >> 3. Surely, since they are using a subset of Scala they could be pushed >> to learn more of Scala. Kojo is a pretty smart idea to evangelize >> Scala, indeed. >> >> I think that we can all agree on these three points. >> >> Now, there's some implicit inferencing by Kevin: that those students >> that will go on expanding their knowledge of Scala will keep on liking >> it as they expand their knowledge of it. Consider this example: >> playing chess. I'm able to play chess in the sense that as I child I >> learned the basic rules (how the different pieces move). This is a >> subset of the game domain. Further parts of the game domain are >> strategies to win. Indeed "playing chess" does include at least some >> level of strategy - serious players will poo poo at you if you only >> can move pieces (and indeed, I don't think that I can really say "I >> can play chess"). I was saying that I can't deal with chess >> strategies: It's not the kind of thing that I've fun with: too >> cerebral. I really can't improve there. Thus, the fact that I found >> easy and even amusing to learn the basics of a thing did not imply >> that I liked the whole of it. >> >> Of course, I'm not asserting that all students will _not_ enjoy Scala >> as they learn more of it. That's why I'm not saying that Kevin is >> wrong. Give me a proof of that, and I'll believe that. If I understand >> well, nobody has got yet enough statistics to figure out, right? We'll >> wait and see. Personally, I think that only a minority of students >> will still enjoy keep on learning Scala - perhaps even Kevin, in his >> subconscious, as in his previous post he wrote "the more advanced >> students". :-) >> >> This objection of mine is perfectly coherent with my judgment of Scala >> being "powerful" and "complex". This means that if you only use a >> subset of Scala, you might be satisfied by the reduced power that you >> get, and you're not facing with all the complexity. In fact, I seem to >> have said in the past that I'd be curious to see a stripped down >> version of Scala. >> >> >> - -- >> Fabrizio Giudici - Java Architect, Project Manager >> Tidalwave s.a.s. - "We make Java work. Everywhere." >> java.net/blog/fabriziogiudici - www.tidalwave.it/people >> [email protected] >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG/MacGPG2 v2.0.14 (Darwin) >> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ >> >> iEYEARECAAYFAkx6sMMACgkQeDweFqgUGxfUQQCgkDD/qvES9PFzT67+/S5OStbE >> TkkAn0UVeaYLiE64HxPXIC4ilKy5w93f >> =H/1M >> -----END PGP SIGNATURE----- >> >> -- >> 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]<javaposse%[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]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- Cédric -- 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.
