Thanks Greg. Your points on the compiler are well taken. A compiled language with higher order functions, general functional programming paradigms and all the rest that Scala has is great. I also like Haskell, but like you, I think the JVM and surrounding Java Culture, to the extent that it is useful for us is very valuable.
On Sun, Aug 23, 2009 at 1:33 PM, Meredith Gregory <[email protected]>wrote: > Jack, > > For my money Rails is somewhat more mature than lift, but lift is on a > trajectory to overtake Rails feature-wise and is certainly already there > performance-wise. The real issue, to me, is Scala vs Ruby. Quite apart from > being more slightly more performant and equally expressive, the real win of > Scala is its types allow you scale the code over time. What i mean by that > is that a type system like Scala's allows you to > > - navigate code > - substitute and refactor code while preserving properties > - design for abstraction > > One of the biggest problems of Ruby code -- and seasoned Ruby devs will > tell you this -- is that in a code block of 10 lines -- that is part of say > a 100K line project -- if i point to a line of code, you can't tell me what > it is doing. This is compounded by the fact that with monkey-patching, even > if you thought you knew, with the next check-in in some other part of the > codebase, you don't. > > In the same situation in Scala any given expression has a type that the > compiler may infer. So, i don't need to know Joe Bloggs who wrote that > block. i reason about what it does through the types. This gives better > separation of *dev team*s -- not just code blocks. This is good if you > want to scale up your efforts organizationally -- either by spreading it out > over different groups working at approximately the same time, or by > spreading development out over time. i'm not saying this is a silver bullet. > Software is hard and there are always non-linear or cyclical dependencies, > but types really help with practical development. After a while, you get to > the point where you can design using types, and then cutting the code is > like falling off a log. At this point designing for highly leveraged > abstractions that significantly reduce the amount of code and increase the > applicability of code is within your grasp. > > The guy who makes these points in a much less zealous and much more > reasoned, dispassionate way with lots of practical examples is Bill Venners. > His recent talk for JavaOne -- which is on video (i'll look for the link) -- > is quite powerful in this regard. Heck, even Charles Nutter, in his own blog > acknowledges that Scala is the heir apparent of Java for the JVM. > > Don't get me wrong -- i'm not a Scala biggot. There are a lot of corners of > this language i don't like. For my money, Haskell is a better language. But, > Haskell doesn't run on the JVM. You can't ship Haskell apps as jars or wars > and smoothly hook them into maven repos, and you can't very easily build > Haskell apps using standard JVM libs. So, that's why Scala, and that's why > lift. > > Well... there's also the fact that the Scala and lift communities are > populated by very impressive people who are very open and incredibly > responsive. > > Best wishes, > > --greg > > On Sun, Aug 23, 2009 at 7:45 AM, jack <[email protected]> wrote: > >> >> I am doing a startup company that involves both a lot of processing on >> the backend (in the code) and a decent amount of comet/ajax in the >> frontend.It is very important that the code quickly on the server. I >> have seen the light with respect to Scala and Lift looks terrific. My >> only concern is how new it is and the availability of resources >> (programmers, books etc). >> >> I really do want to use Lift instead of Rails. Could somebody please >> convince me? :) >> >> >> > > > -- > L.G. Meredith > Managing Partner > Biosimilarity LLC > 1219 NW 83rd St > Seattle, WA 98117 > > +1 206.650.3740 > > http://biosimilarity.blogspot.com > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" 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/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
