9 ms·
I've shared your frustration. The Hello World experience is a huge spectrum ranging from the 30 screens of setup you describe to the one-click Visual Studio ins
by swanson 10y ago
I've shared your frustration. The Hello World experience is a huge spectrum ranging from the 30 screens of setup you describe to the one-click Visual Studio installer.
The other thing to consider is what you assume from a reader in a tutorial. If you assume they have a full environment setup (or will be following another tutorial), you can put together a much more concise article.
Imagine the now-classic Rails Blog in 15 minutes screencast. For those at home -- even if you assume a unix-y environment -- you might have tutorial setup that looks like this:
* Install homebrew/update package manager
* Install ruby-build
* Install rbenv
* Install ruby-2.3
* Install git
* Create a git repository
* Install bundler
* Create a Gemfile that includes rails
* bundle install
* Install rails
* Install postgres via homebrew
* Setup postgres database
* Install javascript runtime (nodejs or ruby-racer)
* finally run `rails s` to see the blank hello world page
Sometimes there are a lot of steps involved in a full end-to-end guide. And sometimes we forget all the baked in knowledge and setup we had to do for our preferred tools/stacks that we are having to go through again as part of learning a new technology.
- pbreit 10y agoBut wouldn't it just be: * install rails * run 'rails s'
- bdcravens 10y agoIf you've already setup Ruby, which most haven't if they're going through a similar tutorial for Rails.
- pbreit 10y agoWell, Ruby is pre-installed on Mac OS.
- bdcravens 10y agoI've never come across a single Ruby tutorial or talk or anything that suggests using system Ruby. For many good reasons. https://robots.thoughtbot.com/psa-do-not-use-system-ruby https://robots.thoughtbot.com/psa-do-not-use-system-ruby
- pkd 10y agoThat's an unfair comparison. You are building the whole Ruby dev environment from scratch before coming to Rails. Which is not what is happening in the tutorial. Actually, if you have the typical ruby environment setup already (ruby, rubygems, bundler), then its only gem install rails rails new rails s You don't need postgres or any JS runtime to start off.
- bdcravens 10y agoIf you were trying to learn Rails (which this story ostensibly is doing with React) you wouldn't have Ruby installed. (or you'd be using system Ruby, which you generally shouldn't use: https://robots.thoughtbot.com/psa-do-not-use-system-ruby https://robots.thoughtbot.com/psa-do-not-use-system-ruby)
- pkd 10y ago> If you were trying to learn Rails (which this story ostensibly is doing with React) you wouldn't have Ruby installed Why? I went to Rails after I learnt Ruby. By that time, I already had rvm installed to manage Rubies. I can agree that a lot of users jump to Rails without learning Ruby first, in which case the setup will be 4 commands longer. But that is not the case with React as you can't jump over JavaScript to React directly.
- Klathmon 10y agoAnd you don't need 80% of the stuff in the article to start off either, this is a VERY in depth walkthrough...
- 010a 10y agoI really feel like this isn't a general problem, but rather a problem with a subset of development environments. Node (backend) definitely doesn't have a similar problem. Want an express app? Install node -> npm i express --save -> node app.js. Go doesn't have it either, whether you're using the base tool or GVM. Python requires a minuscule setup in virtualenv, but beyond that its straightforward. Elixir and Rust are straight-forward. In fact, the only environments where I've ever thought "wow this is a configuration nightmare" are front-end web dev, Ruby, and in really complex python apps, obviously notwithstanding less common app environments like C/C++.
- csallen 10y agoTo be fair, the parent to your comment included lots of steps that assumed the user was starting from scratch. If we assume the same for the user making an Express app, the steps are much more complex: * Install a C++ compiler (XCode or libssl-dev packages) * Run the NVM install script * Use NVM to install Node.js * npm install express-generator -g * express myapp * cd myapp; npm install * Install or update Homebrew * Install git * git init * Install Mongo (or your db of choice) * Install Mongo packages via npm * npm start
- wale 10y agoReally? This steps you just listed are similarly complex to what's in that React article? No No bruh.... 30 screens -- down-button-presses down and we're still seting up for a frontend sample app. This is so so an issue, Node(backend), Go and Rails and Py aint got.
- csallen 10y agoI'm not comparing my steps to the React article. I'm comparing them to the steps in the comment I was responding to. Anyway, measuring steps in terms of "screens" is woefully inaccurate. For example, the author of the post uses more than one screen on simply running `npm init`, because he includes unnecessary paragraphs and screenshots. Many other parts of his post are even more verbose. I could rewrite the first 30 "screens" of his post in 1-2 "screens". Would that mean that the process is suddenly 30x easier?