I know this is not the programming languages weblog but I'll still
like to chip in a bit..

I love Scala. I know it's confusing, sometimes (more often than not)
it makes my head hurts. But the language itself is so expressive. I
think it's kinda, well, maybe I'm machoistic, but there's often
instances when I run through a hard to understand Scala code and it
just struck me how concise the language is. I'm a relatively n00b
programmer, probably 5 to 7 years coding and most of them dealing with
c, php and all sorts of c spawn in various shallow degree, and at my
work I deal with Java, JavaScript and ActionScript. For me, the first
impression of Scala is that it far exceeds the awesomeness of JS
coding. I think JavaScript is really a very nice scripting language,
but there are certain quirks that makes it feel inadequate at times.
But Scala eliminates them, and adds in static typing, which is like
awesome. And well, far too many underscores.

I think a good mature language is poetic, which I find Scala kinda do
fit this criteria. When you read through a difficult routine you think
"wow, this is clever", instead of times when I read C code and go like
"wow, this is tedious" because a big portion of code ends up dealing
with lower level problems. I know it's not comparable because the
compiler abstracts out stuff, but speaking on a pure philosophical
level, I just like it how the language allows you to do clever things.
Unlike Java *sigh*.

As for lift, I find some things very interesting, and mainly there is
a big shift from the traditional php based or Java based frameworks (I
worked on Drupal before, while not exactly the same stuff, but). I get
the crux of it already, and am moving along and reading code as I go
along. The use of snippets as opposed to a monolithic C layer struck
me as odd, and xml spewing in snippets does feel a little wrong (oh
the darn mvc brainwashing). But overall I like what I see and hope to
do something useful with it. Will comment as I move in more.

Thanks for the good job guys. I think it's Scala and Lift at this
point of time that keeps my computing life exciting. Keep up the good
work.

regards,
CH

On Oct 23, 6:06 am, Ross Mellgren <dri...@gmail.com> wrote:
> Personally I think that Python is great for small simple things, but  
> as soon as you start to scale the lack of statically checked  
> guarantees starts to bite you. The larger and larger you get the more  
> often and more subtle the bites get. Conversely, with a rigorous  
> statically checked language, you can start to use the static checking  
> in your favor. And, the more you understand the nuances of the type  
> system the more and more you can form it to give you even stronger and  
> stronger guarantees.
>
> Anecdotally, Haskell (which is perhaps one of the most advanced  
> functional programming languages on the planet, particularly in the  
> type system department) has regular reports in the mailing list from  
> newbies that usually go from "wtf" to "whenever I get the compiler to  
> accept my program, it usually just works" in a fairly short time.
>
> The syntax of Scala is an interesting and convoluted beast straddling  
> an unusual line between more typical functional programming languages  
> (Haskell, O'Caml, etc) and Java, and overall I think it ends up doing  
> a fairly good job, though it does have its confusing parts.
>
> The ability to define operators in particular is a very tricky  
> subject. I find, along with implicits, that I treat it as a power tool  
> that should only be used in cases where it really makes quite alot of  
> sense (used extremely frequently, coming from math concepts, etc).  
> Luckily, it is fairly easy to find out where operators are coming from  
> -- if it looks like an operator, then check to see if it has a :  
> (colon), if it does, the thing on the right is where the operator is  
> defined, so look in its doc. Otherwise, it's the thing on the left  
> that has the operator, so look there.
>
> If neither place has the operator, then unfortunately you've just  
> strayed into implicit conversion territory, which is unfortunately  
> tricky to track down in many cases. Sometimes in that situation the  
> scala REPL will help, because it prints out the types of expressions.
>
> Coming from a background of knowing Java and Haskell (along with  
> Python and many other languages, not apropos to this discussion) I  
> found the syntax of Scala to initially be inscrutable but I warmed to  
> it after a month or two and now I think it's pretty good.
>
> Regarding () and {} BTW, you can replace a single-argument argument  
> list with {}, e.g.
>
> def myFunction(a: String): Unit = println(a)
>
> myFunction("foobar")
> myFunction { "foobar" }
>
> The two calls are equivalent. It makes more sense with the latter  
> format with multiple argument lists or DSL-like things. I could write  
> up an example if you're interested, but it might be somewhat involved  
> if you're not familiar with Scala or Lift.
>
> Overall, my suggestion would be to stick with it and ask questions. I  
> think it's worth it, and the people here are really helpful.
>
> -Ross
>
> On Oct 22, 2009, at 5:39 PM, jlist9 wrote:
>
>
>
>
>
> > Just want to add to this. web.py is a Python web development framework
> > that I like a lot, for its simplicity. In about 10 lines of code you  
> > can have
> > a complete, albeit simple, web application. No XML whatsoever.
>
> >http://webpy.org/
>
> > Hope no one is offended by my mentioning a Python web framework on
> > Lift list. Just want to say that things can be short and simple as  
> > well
> > as easy to understand and easy to use.
>
> > Of course the dynamic languages have their known issues, which is
> > what drives me to Scala and Lift.
>
> >> And too few operators leads to a whole lot of words, which leads to  
> >> a whole
> >> lot of typing, or a whole lot of ctrl-space completions.  It's a  
> >> toss up.
> >> The wordy way is definitely noob friendly, while the operator way  
> >> is more
> >> expert friendly.
> >> Which do you design a language for?  Let me know when that particular
> >> religious war dies down please.
> >> As someone who slings code for a living.... the less I type the  
> >> happier I
> >> am..... YMMV

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to