4 ms·
I would argue that the lack of a simple installation process to get Rails running makes it inaccessible for a lot of beginners (myself included). Without stacko
by mmackh 15y ago
I would argue that the lack of a simple installation process to get Rails running makes it inaccessible for a lot of beginners (myself included). Without stackoverflow, I wouldn't have known where to start - or what commands I'd have to enter into the terminal. As far as I know, there is no script that automates this process.
Compare this to PHP, where most of today's shared hosts support it right out of the box.
- xyzzyb 15y agoExactly. I do love Rails and it's great for what it does, but it isn't (and never was) designed to help beginners write web applications.
- a-priori 15y agohttp://www.kickstarter.com/projects/1397300529/railsapp http://www.kickstarter.com/projects/1397300529/railsapp
- xyzzyb 15y agoI'm pretty interested in that project. We had a dev on Lion try to get a Ruby 1.9.3 + Rails 3.2 environment up who ran into all kinds of issues: a far cry from the days of locomotive indeed.
- prezjordan 15y agoI've found that rvm makes everything easier. And through OS X development I've also learned that I should avoid port at all costs.
- xyzzyb 15y agoRVM is superb. And, yes, I think a major issue was that he was trying to use macports for installation of things instead of homebrew.
- mattbriggs 15y agofor future reference, step 1 - gcc toolchain (https://github.com/kennethreitz/osx-gcc-installer https://github.com/kennethreitz/osx-gcc-installer or xcode), step 2 - rvm (http://beginrescueend.com/ http://beginrescueend.com/), step 3 - "rvm install 1.9.3 && rvm 1.9.3 --default && gem install rails" (homebrew will also probably be necessary for any dev work on osx, but not really needed to get rails going)
- kiba 15y agoTo me, it's more about "holy shit, several level of abstraction" that I have to learn by heart in order to use rails, rather than learning the commands that does a rails application. It's a lot easier, in my opinion, to start from nothing but a few libraries and then write a toy web application. However, you're left to write everything yourself.
- nateberkopec 15y ago>implying PHP is easy/simple to install on a local dev machine Rails' local dev install process is only just as complex as Django/PHP, and for everything else, there's Heroku.
- bmelton 15y agoWhat platform are you developing on? For me, Django installation on any recent Debian-based distro is as easy as either "sudo apt-get install Django" or, if I want to do things the right way "sudo apt-get install python-virtualenv; virtualenv --no-site-packages project; source project/bin/activate; pip install django;" In all fairness, as I type that last part out, I suppose it's not all that straightforward, but on a fast internet connection, it's something I can do in under a minute.
- thomaslangston 15y agoIt has gotten better. Install - http://railsinstaller.org/ http://railsinstaller.org/ Learn - http://ruby.railstutorial.org http://ruby.railstutorial.org
- mgkimsal 15y agoIf you get a shared host with Rails support, it's installed there to. Getting PHP configured with Apache on localhost is... easy for some people, but not for others.
- moe 15y agoI have complained in the thread about that kickstarter project already and I'll repeat myself from a slightly different angle here. I say: Installation is not the problem. It's just a pre-taste of what you're getting into and if the standard procedure is so broken that it needs artificial padding then we have a much bigger problem here. That bigger and real problem with Rails is wrong abstractions and too much magic, the stuff that you hit right after installation. In terms of discoverability Rails is the poorest of all popular web-frameworks. I'll say Rails has many things right, but just as many deeply wrong. Which is an amplified problem for absolute beginners - for them it's double hard to unlearn bad patterns after struggling to grasp them in first place. To name just a few: It is not right that the default modus-operandi for pretty much everything (e.g. devise) is to inject a bunch of invisible, undiscoverable magic at installation time and leave the user at best with a few hardly discoverable hints about how it actually works (and where to look when it doesn't). It is not right that rails still makes heavy use of code-generators (related to the previous bullet). It is not right to still have no automation for schema migration. I do in fact claim the ActiveRecord pattern has proven a poor choice for the Rails use-case. etc. For teaching I would claim Rails is about the worst possible choice. It's an opaque blob of magic that provides good leverage when massaged in just the right way. But that "right" way is in large parts so undiscoverable and detached from reality that you end up with juniors who may be able to churn out simple rails views - yet are immediately lost when anything diverts from their learned script. So, back on topic. In my experience teaching web-stuff works best bottom up. Start with HTML/CSS, then give them something like sinatra so they get a grasp on what a request is. Even PHP is a valid choice here. Rails is for much later, for when they at least have a remote clue what they're doing.