I've some basic SQL and relational database management knowledge. Which program would you recommend a marketing person to learn? RoR or PHP? Or do you even have another program in mind?
To clarify, would you suggest python to one who has not a lick of experience or prior training also? Codecademy is cool but what language should I learn first - what is mostly used? Needed to get a job in Silicon Valley, etc?
Well if you learn one language enough to get a job in Silicon Valley you will be fine learning other languages. The learnpythonthehardway is for total beginners. Im opinionated for python(favorite) and not so much expert to tell you if it is the best for beginners but you can search quora / stackoverflow and see this: http://udacity.blogspot.com/2012/05/learning-to-program-why-... (Udacity’s courses so far have been using Python because it is overall, the most convenient language for teaching and learning. The natural syntax means students spend less time grokking code than with terser languages.)
Do you have a good source for learning Django? I love (like, seriously) love python. I use it for most things except when I need to do rapid prototyping of a web app ... for that I fall back to RoR. I think it is because Rails has some amazing learning resources like Rails for Zombies, Rails Tutorial by Hartl, videos from peepcode, etc. The only word I can use to describe those are "awesome". Is there anything like that for Django?
Addendum: I've tried using Flask because of its simplicity. Then, had to go back to rails because I missed some features.
PHP is a programming language and is very easy to get started on since every web host in the world has a version of PHP5 running on their servers.
There are many web frameworks available for PHP, my favorite being CakePHP but other notables being Drupal, Zen Framework, and CodeIgniter.
You should first learn to program--I'd use JSFiddle.net and some PHP books to teach you that.
Then, you'll need to learn the frameworks, which all have lots of documentation to get you started.
As another commented pointed out, RoR (Ruby on Rails) is simply another web framework for the programming language Ruby, and you could choose to learn Ruby first and then move to Ruby on Rails in the same way I described, if you wish.
I'd say learn PHP - Ruby is like 2 steps from just typing an essay about what you want your app to do.
Guh, run, run away from PHP. Try ruby or python. And then a framework of your choice on that such as Rails, or whatever the lead framework in Python is these days (Django?).
I would recommend ASP.NET and C#. The .NET framework is fantastic, Visual Studio is a fantastic IDE and C# is a great language to learn and use.
If you don't wish to use ASP.NET then I would highly recommend Python and Django as a platform. It can be a huge pain to install if you're a beginner, but it's a fantastic language and framework.
This is bad advice. In this day in age it is a serious mistake to start learning back-end development on the Microsoft stack. Microsoft technologies are non-existent in every aspect of cloud computing... which is the future of back-end development, and the basis of the future of mobile/web computing. I know a few Windows die hards that are practically unemployable these days because they were either afraid, or technically incapable, of using Linux and command line tools, and now their MCSE point-and-click skills are useless in the new mobile/cloud computing age.
This comment is so wildly inaccurate that I'm calling bullshit. I've never heard of anyone who is "practically unemployable" because they didn't keep up with mobile or cloud computing and I'm willing to bet that you don't know any Windows die-hards. Even the tech hipsters of HN are fully aware of the demand for solid ASP.NET developers in the real world.
I've never seen a job opening for an Azure developer. Sure there might be ASP work, but you almost certainly won't be working on cloud or mobile apps. It's nearly impossible to build a large-scale cloud architecture using Microsoft technology, and Microsoft Windows phone represents such a small portion of the market that it is inconsequential to ignore it completely. These are very strong reasons to avoid Microsoft technologies when choosing something to learn regardless of how employable ASP developers are at the moment.
What do you want to learn this for? Personal development? Employability? Freelancing? For each I would learn: Ruby, C# / Java and PHP respectively. Ruby IMO is a more concise, readable and functional than Python, C# and Java are standard enterprise fodder and PHP is widespread but not really designed but more evolved.
I'm familiar with both, but it's a little difficult to make a recommendation with so little context. Why do you want to learn one of these languages? Is there a specific reason / project or do you just want to "learn to code"?
Sorry, I did not add much detail information. I intend to learning coding to be able to do web development and then later mobile app development. Am a business guy. I don't have the intention of learning to code to get a job, but more to be able to program MVP of product ideas I have. Which one is the most easiest for a rookie Ruby or RoR or PHP or Zend or cakePHP or Yii. My goal is to get results quick, later I can then jump into the nitty gritty.
For a beginner, I'd say learn Rails. The other frameworks are nice in their own ways but Rails has the largest community by far. PHP is, as others have mentioned, just a language, and while there are good frameworks for it (CakePHP as you mentioned, CodeIgniter, Zend), the first point applies: Rails is still the hot thing right now.
PHP is probably more mature than Rails for web apps (please don't hurt me, Rubyists) but strictly for speed of setup of new products Rails is probably faster.
My answer would likely be different if you were looking to learn to program as a professional.
Has anyone had experience with Grails? It looked pretty neat, but I didn't want to start delving into it just to find out that it is something that is not being used or developed all that much.
Grails is an amazing technology founded on two very time tested technologies being Spring and Hibernate. The programming language itself is Groovy which in turn is founded on Java
For those coming from PHP, Python and Rails the thought of using something based on Java frameworks may be a turnoff but I assure you all the boilerplating and configuration complexity is hidden away with the preference being the convention over configuration approach.
The beauty though is if you need to reach down and leverage some specifics you are free to do so, Grails doesn't tie your hands allowing you to have your cake and eat it to.
So in a nutshell, Grails gives you all the things you love with frameworks like Rails while under the Hood you can leverage the power of Java and all the supporting libraries and frameworks developed for it over the years. Anywhere it can go Grails&Groovy can go to (well almost). Oh and in terms of performance, the upcoming version of Groovy 2.0 will provide performance enhancements that will bring it seriously close to Java execution through static type checking and compilation. These two options are once again free to use or ignore as the developer sees fit.
I myself have in mind python(language). Check out http://learnpythonthehardway.org/ (text book) or http://www.udacity.com/overview/Course/cs101/CourseRev/apr20... (video tutorials) or both. Then learn django(framework).