I would echo David's comment. Scala is a powerful language with high complexity budget. I think it's important to learn the fundamentals of Scala first and build on top of it.
On Mon, Jul 6, 2009 at 11:52 AM, David Pollak<[email protected]> wrote: > Eric, > > It seems that you want to hike the Appalachain Trail at marathon speeds. > I'm not sure it can be done. It took me 18 months with Scala before I felt > comfortable with it and my learning curve with new languages is pretty good > (it took 2 weeks to get comfortable with Ruby and 3 months before I felt > that I had mastered it.) I do not yet consider myself a Scala guru, > although I consider myself very skilled with it. > > All of us have different learning styles, but I'm not sure that your goal of > understanding object hierarchies before sitting down to code is one that I'd > recommend. > > I'd suggest playing with small pieces and getting them to work for you. > Perhaps the following order might be a starting place: > > Install Scala 2.7.5 and just play with the REPL (the interactive > interpreter.) This will give you a good feeling of what can be done with > Scala. See how data can be manipulated. (3 or 4 days... perhaps assisted by > Beginning Scala.) > Install Maven on your machine and create the Lift hello world app: > http://wiki.liftweb.net/index.php/HowTo_start_a_new_liftwebapp (1 to 2 > days... also use a normal text editor, not an IDE... installing IDEs can be > a rats nest of problems... TextMate for the Mac is the best choice, but vi > or emacs are also good if you already know them.) > Run through the ToDo example in Lift (5 or 6 days) > > By this point, you should have a bucket full of questions. Ask them. Ask > them as your going. Ask them when you get to breaking points. > > As you're spending your two weeks touring through Scala and Lift, start > thinking about what you want to build. Think from the UI back (that tends > to be the easiest for most people... then think about how to interact with > something and then go backward from it.) Scala allows for better > "composition" of application (using smaller parts to make bigger > functionality rather than thinking about gross level object abstractions). > So, draw your UI on a piece of paper and then start writing down what pieces > each UI component needs. You should be able to build a simple, piece by > piece screen that does what you want it to. Once you've got it working, > think about how to combine and normalize pieces of functionality. > > As always, we're here for you. The Lift community will help you, but we ask > that you document your learning (perhaps via blog or wiki or Twitter) so > others have the benefit of the work you've done. > > Thanks, > > David > > On Mon, Jul 6, 2009 at 6:14 AM, eric cs <[email protected]> wrote: >> >> Guys, >> Thank you very much for all your answers. >> Having a community like that, I know is half way there for anyone. >> I am very very very eager to learn, that's my number one priorite >> right now and the e-commerce is an example to work with some real >> application and apply logic and a database to learn how put the >> classes together. >> It's not a hobbie I found another passion in my life besides my wife, >> my dog, my music and it's web programming. >> I like it all since css,ajax to actionscript to back side languages >> and the logic behind it.That's why I quit Civil Engineering and move >> to Computer Science years ago, but some stuff happens yada,yada.yada, >> here I am several years later trying to learn again. >> I feel better and more prepared than before and without distractions. >> I said a month but I have all the time in my hands right now so it >> could be until 2010 if necessary, full time. I wish I could work doing >> something like this sometime. >> Before I even learn scala, I have to get the logic how to create an >> app first in my head, like which items would an object and they will >> related to each other then to a database,it's not about create a >> simple program only,abstract,it's about how to put all little >> programns together to create something, in this case could be an e- >> commerce.Then I could learn the advanced concepts of Scala, functional >> programming and stuff like that. >> Maybe an e-commerce has a lot of logic involved is a good start to get >> my head around programming web apps with that example. >> I don't know if you guys understand what I meant,what I need to learn >> first, but even a book that explains that would be good, I read some >> books about design patterns and stuff but none of them applied in a >> real application. >> It's not even regular regular programming logic, I need to learn like >> how a put a app in a modular way, one thing on top of eachother, I >> don't know it that's the way to think about that, how classes will >> interact with eachother,Interfaces. >> Anyway, keep your advices coming and in case you know a book that >> explains that would be awesome. >> Thanks again. >> >> >> >> wat >> On Jul 6, 6:01 am, Eric Bowman <[email protected]> wrote: >> > To this I would add: >> > >> > The way to learn to program, is to program. It takes a lot of time, and >> > a lot of hard work. Reading books is good, and necessary, but it's not >> > enough. >> > >> > Also, Lift really uses Scala to the max, so if you only have 30 days, I >> > would plan to spend the first half just becoming good at Scala. Which >> > will take longer than 15 days! >> > >> > Anyhow, being a "guru" is a life ambition. It takes time, time, time >> > and more time. All your time. A history of "unfinished" is going to >> > work against you -- this will take serious dedication and >> > stick-to-it-ness. >> > >> > An insightful view from Google's Director of >> > Research:http://norvig.com/21-days.html >> > >> > >> > >> > >> > >> > Naftoli Gugenhem wrote: >> > > I would say that the main advantage knowledge of Java over a similar >> > > language gives you is knowledge of the Java environment and system, but >> > > you >> > > can pick that up via scala too. >> > > As far as turning theory into actual programming, my personal advice >> > > is to take one small sample, get it running, and then ask yourself >> > > questions >> > > like "Why does it do this?" and "What if I change this." Once you have a >> > > thorough understanding of how the sample accomplishes what it was >> > > supposed >> > > to accomplish, and how all the parts contribute to that, repeat with >> > > another >> > > one. Along the way ask yourself, "What if I want the computer to do xyz >> > > (similar to sample x)?" Also, play around in the interpreter trying >> > > different permutations. >> > > Of course, it goes without saying to read the books and articles, not >> > > to mention to ask all your questions on the scala-user list. >> > > Enjoy! >> > >> > > ------------------------------------- >> > > eric cs<[email protected]> wrote: >> > >> > > Hi guys, >> > >> > > I saw some posts on Scala website about helping newcomers and I was >> > > wondering if some of you would be kind enough to help me out to start >> > > with Scala/Lift. >> > > My main problem is I am not a programmer yet but I really really want >> > > to be, I've been studying Ruby/Rails, Php/Zend/Symfony,Mvc,Design >> > > Patterns,Uml,Sql and some Java. I read some books but I don't get my >> > > head to think like a programer. >> > > I really like OO,Design Patterns, Uml but I don't know how to apply >> > > that to a full application, how to link everything together, >> > > classes,objects(books about that?Not about those items but how to put >> > > everything together)...I know a lot of the theory and concepts but no >> > > practice. >> > > I have all july available to learn that 12 hours a day or more if >> > > necessary I just need a push, someone to teach/help me out. >> > > What's more, I saw a post saying that I could learn Scala from scratch >> > > without learning Java, it's possible, not so much with Groovy. If it's >> > > not what parts of Java do I need to know, in case some of you tell me >> > > learn Java first(the easy answer).Do I need a lot of experience in >> > > Java to jump in in Scala? I know it helps but I would like to finish >> > > my first e-commerce in august, 100% opensource in Scala if possible. >> > >> > > P.s:I did 2 years of Computer Science C++ and 2 years of Civil >> > > Engineering over 12 years ago both unfinished. >> > >> > -- >> > Eric Bowman >> > Boboco Ltd >> > [email protected]http://www.boboco.ie/ebowman/pubkey.pgp >> > +35318394189/+353872801532- Hide quoted text - >> > >> > - Show quoted text - >> >> > > > > -- > Lift, the simply functional web framework http://liftweb.net > Beginning Scala http://www.apress.com/book/view/1430219890 > Follow me: http://twitter.com/dpp > Git some: http://github.com/dpp > > > > -- Omnem crede diem tibi diluxisse supremum. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
