[Lift] Re: Becoming a Scala/Lift Guru
Hi Eric, Here are a few comments and suggestions. - Honestly, I don't think that lift and scala are the right places for you to start out. The systems are very powerful, but relatively new, and so they are still geared towards more experienced programmers. - You'll need more than a month to become comfortable with an entirely new programming environment. - The java toolset can be confusing. Try NetBeans; it's easier to understand than Eclipse. - An e-commerce program would take years to get right, but if that's what inspires you, you might want to focus on just small parts of such a program instead. Cheers, Ellis On Jul 6, 5:13 am, eric cs eeri...@gmail.com 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. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Lift] Re: Becoming a Scala/Lift Guru
I say: Go Eric go! Nothing is impossible with the right attitude! On Mon, Jul 6, 2009 at 12:17 PM, Timothy Perrett timo...@getintheloop.euwrote: Ellis, Im afraid I disagree with you - Eric does not state what type of eComerce application he wants to create... IMO, this is very subjective. Lift ships out of the box with PayPal integration - one could say that a site which allows a user to pay via paypal is eCommerce... would you disagree? If Eric takes on advice from the Lift Book and perhaps a learning scala book like DPP's, then asks lift related questions on here when he needs specific help im sure he'll be fine... everyone has to start somewhere and saying Lift is only appropriate for hardcore programmers because its a new framework is wrong IMHO. Eric, good luck to you - the lift community is a great place to start your programming endeavors; you probably have a slightly steeper learning curve than most, but provided you have grit and determination there is nothing to say you will not reach your goals. Think positive. Cheers, Tim On Jul 6, 10:13 am, Ellis ellis.whiteh...@gmail.com wrote: Hi Eric, Here are a few comments and suggestions. - Honestly, I don't think that lift and scala are the right places for you to start out. The systems are very powerful, but relatively new, and so they are still geared towards more experienced programmers. - You'll need more than a month to become comfortable with an entirely new programming environment. - The java toolset can be confusing. Try NetBeans; it's easier to understand than Eclipse. - An e-commerce program would take years to get right, but if that's what inspires you, you might want to focus on just small parts of such a program instead. Cheers, Ellis On Jul 6, 5:13 am, eric cs eeri...@gmail.com 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. -- Viktor Klang Scala Loudmouth --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Lift] Re: Becoming a Scala/Lift Guru
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 cseeri...@gmail.com 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 ebow...@boboco.ie http://www.boboco.ie/ebowman/pubkey.pgp +35318394189/+353872801532 --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Lift] Re: Becoming a Scala/Lift Guru
Ellis, Im afraid I disagree with you - Eric does not state what type of eComerce application he wants to create... IMO, this is very subjective. Lift ships out of the box with PayPal integration - one could say that a site which allows a user to pay via paypal is eCommerce... would you disagree? If Eric takes on advice from the Lift Book and perhaps a learning scala book like DPP's, then asks lift related questions on here when he needs specific help im sure he'll be fine... everyone has to start somewhere and saying Lift is only appropriate for hardcore programmers because its a new framework is wrong IMHO. Eric, good luck to you - the lift community is a great place to start your programming endeavors; you probably have a slightly steeper learning curve than most, but provided you have grit and determination there is nothing to say you will not reach your goals. Think positive. Cheers, Tim On Jul 6, 10:13 am, Ellis ellis.whiteh...@gmail.com wrote: Hi Eric, Here are a few comments and suggestions. - Honestly, I don't think that lift and scala are the right places for you to start out. The systems are very powerful, but relatively new, and so they are still geared towards more experienced programmers. - You'll need more than a month to become comfortable with an entirely new programming environment. - The java toolset can be confusing. Try NetBeans; it's easier to understand than Eclipse. - An e-commerce program would take years to get right, but if that's what inspires you, you might want to focus on just small parts of such a program instead. Cheers, Ellis On Jul 6, 5:13 am, eric cs eeri...@gmail.com 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. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Lift] Re: Becoming a Scala/Lift Guru
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 ebow...@boboco.ie 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 cseeri...@gmail.com 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
[Lift] Re: Becoming a Scala/Lift Guru
Eric, It seems that you want to hike the Appalachain Trail http://www.appalachiantrail.org/site/c.mqLTIYOwGlF/b.4805859/k.BFA3/Home.htmat 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 eeri...@gmail.com 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 ebow...@boboco.ie 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
[Lift] Re: Becoming a Scala/Lift Guru
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 Pollakfeeder.of.the.be...@gmail.com 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 eeri...@gmail.com 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 ebow...@boboco.ie wrote: To this I would add: The way to
[Lift] Re: Becoming a Scala/Lift Guru
David, awesome ideas you got there,thanks, about posting my improvements and stuff, pretty unique really and it will helps for future programers as well specially coming raw into Scala. I totally agree with you, maybe Scala is too much for a new guy who doesn't know some basic and advanced concepts or doesn't know how to put everything together? Totally agree there, but please tell a way, a book who will teach that foundation that has some examples in practice as well. I could install Scala do all that you mention but I don't know where to go from there which itens/classes/objects should I add to start building a app from scratch. I am looking for some book right now, like Code Complete 2,Clean Code: A Handbook of Agile Software Craftsmanship. I know what a method/function is what it does, I know what a class is, an Interface,Object,inheritance, but I can't put everything together yet, I know some of the theory and concepts, I think I need a good book that teaches how o put everything together. If you guys know some...please let me know. What's more, after that I will need to learn why scala is so diferent,powerfull,improved from Java or Ruby in concepts,theory,way to program and do things, in case you know a book about that too would be awesome. Is like a person who know what a cement is, water,tools, but doesn't know how to construct something, with pavers some people knows what it is but doesn't know how to pave and how some paver patterns with help with that, he can just put random pavers on the ground because is gonna be a mess, same thing with coding I think..hehe Thanks. On Jul 6, 12:00 pm, Wilson MacGyver wmacgy...@gmail.com wrote: 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 Pollakfeeder.of.the.be...@gmail.com 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 eeri...@gmail.com 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
[Lift] Re: Becoming a Scala/Lift Guru
I would like to suggest David's Beginning Scala book. It's written for new comer. And has lots of examples that you can play with using Scala's REPL. On Mon, Jul 6, 2009 at 1:22 PM, eric cseeri...@gmail.com wrote: David, awesome ideas you got there,thanks, about posting my improvements and stuff, pretty unique really and it will helps for future programers as well specially coming raw into Scala. I totally agree with you, maybe Scala is too much for a new guy who doesn't know some basic and advanced concepts or doesn't know how to put everything together? Totally agree there, but please tell a way, a book who will teach that foundation that has some examples in practice as well. I could install Scala do all that you mention but I don't know where to go from there which itens/classes/objects should I add to start building a app from scratch. I am looking for some book right now, like Code Complete 2,Clean Code: A Handbook of Agile Software Craftsmanship. I know what a method/function is what it does, I know what a class is, an Interface,Object,inheritance, but I can't put everything together yet, I know some of the theory and concepts, I think I need a good book that teaches how o put everything together. If you guys know some...please let me know. What's more, after that I will need to learn why scala is so diferent,powerfull,improved from Java or Ruby in concepts,theory,way to program and do things, in case you know a book about that too would be awesome. Is like a person who know what a cement is, water,tools, but doesn't know how to construct something, with pavers some people knows what it is but doesn't know how to pave and how some paver patterns with help with that, he can just put random pavers on the ground because is gonna be a mess, same thing with coding I think..hehe Thanks. On Jul 6, 12:00 pm, Wilson MacGyver wmacgy...@gmail.com wrote: 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 Pollakfeeder.of.the.be...@gmail.com 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 eeri...@gmail.com 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
[Lift] Re: Becoming a Scala/Lift Guru
On Mon, Jul 6, 2009 at 10:41 AM, Wilson MacGyver wmacgy...@gmail.comwrote: I would like to suggest David's Beginning Scala book. It's written for new comer. And has lots of examples that you can play with using Scala's REPL. Heh... you beat me to the suggestion... ;-) Chapters 2-5 of *Beginning Scala* should give you some grounding in Scala syntax and how to do cool things with Scala. Whatever you do, stay away from Chapter 7... it's a big nasty scary thing and is not needed for the kind of code you're writing. Once you get through BegSca 2-5, go on to http://liftweb.net/docs/getting_started.html There may be gaps between the two, but if you point out the gaps, we'll fill them in both online and in the Getting Started document. On Mon, Jul 6, 2009 at 1:22 PM, eric cseeri...@gmail.com wrote: David, awesome ideas you got there,thanks, about posting my improvements and stuff, pretty unique really and it will helps for future programers as well specially coming raw into Scala. I totally agree with you, maybe Scala is too much for a new guy who doesn't know some basic and advanced concepts or doesn't know how to put everything together? Totally agree there, but please tell a way, a book who will teach that foundation that has some examples in practice as well. I could install Scala do all that you mention but I don't know where to go from there which itens/classes/objects should I add to start building a app from scratch. I am looking for some book right now, like Code Complete 2,Clean Code: A Handbook of Agile Software Craftsmanship. I know what a method/function is what it does, I know what a class is, an Interface,Object,inheritance, but I can't put everything together yet, I know some of the theory and concepts, I think I need a good book that teaches how o put everything together. If you guys know some...please let me know. What's more, after that I will need to learn why scala is so diferent,powerfull,improved from Java or Ruby in concepts,theory,way to program and do things, in case you know a book about that too would be awesome. Is like a person who know what a cement is, water,tools, but doesn't know how to construct something, with pavers some people knows what it is but doesn't know how to pave and how some paver patterns with help with that, he can just put random pavers on the ground because is gonna be a mess, same thing with coding I think..hehe Thanks. On Jul 6, 12:00 pm, Wilson MacGyver wmacgy...@gmail.com wrote: 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 Pollakfeeder.of.the.be...@gmail.com 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(1http://wiki.liftweb.net/index.php/HowTo_start_a_new_liftwebapp%281to 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
[Lift] Re: Becoming a Scala/Lift Guru
Wouldn't Ch6 on actors be useful too? But yea, Ch7 would be too much. On Mon, Jul 6, 2009 at 1:59 PM, David Pollakfeeder.of.the.be...@gmail.com wrote: On Mon, Jul 6, 2009 at 10:41 AM, Wilson MacGyver wmacgy...@gmail.com wrote: I would like to suggest David's Beginning Scala book. It's written for new comer. And has lots of examples that you can play with using Scala's REPL. Heh... you beat me to the suggestion... ;-) Chapters 2-5 of Beginning Scala should give you some grounding in Scala syntax and how to do cool things with Scala. Whatever you do, stay away from Chapter 7... it's a big nasty scary thing and is not needed for the kind of code you're writing. Once you get through BegSca 2-5, go on to http://liftweb.net/docs/getting_started.html There may be gaps between the two, but if you point out the gaps, we'll fill them in both online and in the Getting Started document. On Mon, Jul 6, 2009 at 1:22 PM, eric cseeri...@gmail.com wrote: David, awesome ideas you got there,thanks, about posting my improvements and stuff, pretty unique really and it will helps for future programers as well specially coming raw into Scala. I totally agree with you, maybe Scala is too much for a new guy who doesn't know some basic and advanced concepts or doesn't know how to put everything together? Totally agree there, but please tell a way, a book who will teach that foundation that has some examples in practice as well. I could install Scala do all that you mention but I don't know where to go from there which itens/classes/objects should I add to start building a app from scratch. I am looking for some book right now, like Code Complete 2,Clean Code: A Handbook of Agile Software Craftsmanship. I know what a method/function is what it does, I know what a class is, an Interface,Object,inheritance, but I can't put everything together yet, I know some of the theory and concepts, I think I need a good book that teaches how o put everything together. If you guys know some...please let me know. What's more, after that I will need to learn why scala is so diferent,powerfull,improved from Java or Ruby in concepts,theory,way to program and do things, in case you know a book about that too would be awesome. Is like a person who know what a cement is, water,tools, but doesn't know how to construct something, with pavers some people knows what it is but doesn't know how to pave and how some paver patterns with help with that, he can just put random pavers on the ground because is gonna be a mess, same thing with coding I think..hehe Thanks. On Jul 6, 12:00 pm, Wilson MacGyver wmacgy...@gmail.com wrote: 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 Pollakfeeder.of.the.be...@gmail.com 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
[Lift] Re: Becoming a Scala/Lift Guru
On Mon, Jul 6, 2009 at 11:03 AM, Wilson MacGyver wmacgy...@gmail.comwrote: Wouldn't Ch6 on actors be useful too? Not for getting to the To Do app. In this case, I think less is more... learn enough Scala to understand how to do basic Lift stuff. Get success with building a Lift app. Go back to Chapter 6, learn Actors. Go back to Lift and do Comet stuff. Do victory dance. But yea, Ch7 would be too much. On Mon, Jul 6, 2009 at 1:59 PM, David Pollakfeeder.of.the.be...@gmail.com wrote: On Mon, Jul 6, 2009 at 10:41 AM, Wilson MacGyver wmacgy...@gmail.com wrote: I would like to suggest David's Beginning Scala book. It's written for new comer. And has lots of examples that you can play with using Scala's REPL. Heh... you beat me to the suggestion... ;-) Chapters 2-5 of Beginning Scala should give you some grounding in Scala syntax and how to do cool things with Scala. Whatever you do, stay away from Chapter 7... it's a big nasty scary thing and is not needed for the kind of code you're writing. Once you get through BegSca 2-5, go on to http://liftweb.net/docs/getting_started.html There may be gaps between the two, but if you point out the gaps, we'll fill them in both online and in the Getting Started document. On Mon, Jul 6, 2009 at 1:22 PM, eric cseeri...@gmail.com wrote: David, awesome ideas you got there,thanks, about posting my improvements and stuff, pretty unique really and it will helps for future programers as well specially coming raw into Scala. I totally agree with you, maybe Scala is too much for a new guy who doesn't know some basic and advanced concepts or doesn't know how to put everything together? Totally agree there, but please tell a way, a book who will teach that foundation that has some examples in practice as well. I could install Scala do all that you mention but I don't know where to go from there which itens/classes/objects should I add to start building a app from scratch. I am looking for some book right now, like Code Complete 2,Clean Code: A Handbook of Agile Software Craftsmanship. I know what a method/function is what it does, I know what a class is, an Interface,Object,inheritance, but I can't put everything together yet, I know some of the theory and concepts, I think I need a good book that teaches how o put everything together. If you guys know some...please let me know. What's more, after that I will need to learn why scala is so diferent,powerfull,improved from Java or Ruby in concepts,theory,way to program and do things, in case you know a book about that too would be awesome. Is like a person who know what a cement is, water,tools, but doesn't know how to construct something, with pavers some people knows what it is but doesn't know how to pave and how some paver patterns with help with that, he can just put random pavers on the ground because is gonna be a mess, same thing with coding I think..hehe Thanks. On Jul 6, 12:00 pm, Wilson MacGyver wmacgy...@gmail.com wrote: 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 Pollakfeeder.of.the.be...@gmail.com 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(1http://wiki.liftweb.net/index.php/HowTo_start_a_new_liftwebapp%281to 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
[Lift] Re: Becoming a Scala/Lift Guru
Tim, Eric, @Tim: everyone has to start somewhere and saying Lift is only appropriate for hardcore programmers because its a new framework is wrong IMHO. Compared to certain other starting points, there are a lot of extra hurdles to overcome if you're going to attempt lift as your intro to programming. For example, contrasted to a simple non-lift project, the person would have to become familiar with: - maven - command line - many advanced aspects of scala - deal with less reliable IDE tools and sometimes forgo their benefits entirely A new programmer shouldn't try to deal with more than one of those at a time, or he'll get stuck on lots of fruitless problems (sometimes for days), and likely have to go back to a simpler environment anyway. It's better to start programming by: 1) *programming* rather than learning tools, and 2) having the full support of an IDE. @Eric: I'd also echo the sentiment which has already been expressed here a few times: just start working with code and don't worry about getting the architecture right. Architecture is a medium-to-advanced topic, btw, that requires you to judge the value of choosing among multi-factored tradeoffs. That kind of knowledge mostly comes from *experience* with all the patterns in various contexts. Best regards, Ellis On Jul 6, 12:17 pm, Timothy Perrett timo...@getintheloop.eu wrote: Ellis, Im afraid I disagree with you - Eric does not state what type of eComerce application he wants to create... IMO, this is very subjective. Lift ships out of the box with PayPal integration - one could say that a site which allows a user to pay via paypal is eCommerce... would you disagree? If Eric takes on advice from the Lift Book and perhaps a learning scala book like DPP's, then asks lift related questions on here when he needs specific help im sure he'll be fine... everyone has to start somewhere and saying Lift is only appropriate for hardcore programmers because its a new framework is wrong IMHO. Eric, good luck to you - the lift community is a great place to start your programming endeavors; you probably have a slightly steeper learning curve than most, but provided you have grit and determination there is nothing to say you will not reach your goals. Think positive. Cheers, Tim On Jul 6, 10:13 am, Ellis ellis.whiteh...@gmail.com wrote: Hi Eric, Here are a few comments and suggestions. - Honestly, I don't think that lift and scala are the right places for you to start out. The systems are very powerful, but relatively new, and so they are still geared towards more experienced programmers. - You'll need more than a month to become comfortable with an entirely new programming environment. - The java toolset can be confusing. Try NetBeans; it's easier to understand than Eclipse. - An e-commerce program would take years to get right, but if that's what inspires you, you might want to focus on just small parts of such a program instead. Cheers, Ellis On Jul 6, 5:13 am, eric cs eeri...@gmail.com 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. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[Lift] Re: Becoming a Scala/Lift Guru
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 cseeri...@gmail.com 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. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---