Is Ruby really the best start to teach programming/web?


I was wondering why ruby/ ruby-on-rails was chosen as introduction? I’m not an expert by any means just a student but I think that ruby has alot of disadvantages compared to other languages like Python.

  1. As you said in the beginning Ruby does not run well on Windows so beginners are forced to use a different operating system (installing a VM/dualboot), which is a valuble skill for sure, but also can be a “wall” for some people. It also slows down the point where you really start to learn programming.
    Python on the other hand can be installed on all operating systems with ease and you can use the IDEs or git-bash unix-commandline functionality even on windows.

  2. Sources. Python has a mutch bigger community and demand on the jobmarket then ruby. The result is that student will find alot more guides/tutorials and help if they have a problem.

  3. Ruby is mainly known for its ruby-on-rails web-framework. I rarely see it used for other things while python has soooo many librarys/frameworks (web, data science, ai, web-scraping, picture/video editing, IOT, …) which are mostly super easy to install and use (VENV).

Django would be the alternative for rails. In the end you will learn other languages anyway but for someone who wants to “try” out programming the first time the complexity and frustration they may encounter can be overwhelming. (Even tho the tutorials are VERY well written and cover most if not all error cases)
I think the overall value of python as first language is mutch higher then rubys.

Edit: After reading through my post I noticed that it sounds harsher than I meant it. The tutorial and website/forum are of incredible quality. The way how everything is structured and explained, the use of external sources, assignments, exercises, knowlage-tests is the best I ever saw.

I hear ya!
NOW I remember why I have such disdain for Ruby on Rails.
Just pushed, finally pushed, my_first_rails_app to heroku after following along with no less than 6 different tutorial/blog posts concerning the various aspects of create app, push to git repo, deploy on Heroku. What I thought would take a few hours has taken me days.

Oh, here it is My First Hello World Rails App
will leave it up for only a day or two, free tier doesn’t give you as much as you’d like :grinning:

The last few days have almost been traumatizing :scream:
Thought I was starting ahead of the game:

  1. Git account - check
  2. Heroku account - months ago
  3. Passing familiarity with popular scripting langs (Ruby, Python, Bash) – check
  4. Can deploy code into Docker containers so can afford many many mistakes w/o
    fudging up any of my computing devices – check

Now back to coding. Still need to put a link on the Welcome page pointing to the cars app itself. Oops!

Hey @henryfoster and @PhroggDev

Odin Mod here :wave:

This seems to be a common question that we get often. Why are we teaching Ruby/RoR instead of Python/Django/Flask

Simple answer is that we believe RoR is easier to get started with than Django. What Ruby on Rails can do in one command takes Django 3 or 4 edits to files plus other various commands to accomplish. RoR is still alive an active, but isn’t the hottest framework around. There are still TONS of apps that run on rails.

Secondly, once you know the foundation of using CRUD apps moving from Rails to Django is a cinch. Knowing ruby also allows you to write Python. We’re not teaching Ruby per-say, but rather the fundamentals of good coding. Conditionals, loops, making code readable, etc. I first learned Ruby and now I write Python at work almost every day. Knowing the concepts is that’s key about TOP.

Phrogg - I’m sorry to hear you had so much trouble with deploying your first rails app to Heroku. Debugging and figuring stuff out is key to becoming a good programmer. Knowing how to read error logs and find the important details is key. By struggling so much I really think it made you a better programmer. You’re learning the ways of Google-FU

I’d also like to recommend to you that if you’re struggling with something to stop by our Discord chat room and ask for help or to ask a question here on the Fourm. Either way we know all the common issues with pushing to heroku and are more than happy to help. The community is what makes TOP such a great resource.

We’re all here to see you succeed in your programming journey. We love helping people and are passionate about this project.


Thanks for the answer this makes sense to me.