13
31 Comments

Who wins: Python or Ruby for a startup?

Which one to choose for building a startup? Are there Pros and Cons?

on June 24, 2019
  1. 19

    Doesn't matter much. Use whichever you are comfortable with. Avoid language wars.

    1. 1

      language wars🤔 i like it!

    2. 1

      inserts "thank you" gif from the office

  2. 6

    Which ever let's you build your product fastest? I script heavily in both languages so I can comment a fair bit on them. Every language has its pros and cons, but the reality is that you'll likely find similar gems/libraries that will let you do everything you need. If you have any specific requirements, the availability of a wrapper may make you lean one way or the other.

    For example, one small business I work with has a website. The website is written in Sinatra, frankly, because me and that individual had a product we had worked on previously and not shipped, and the ops were already 90% ready to go for a Rack based project. The rest of the ops for the project has naturally also been Ruby as a result.

    For a different client, with less of a technical background, I have a suite of Python scripts that are automating what used to be a manual data entry task. Python feels easier for a non-technical person to edit and read.

    They both let you iterate quickly and functionally. It's easy to write CLIs with both. I do tend to lean toward Ruby moreso when I want a local "bash++", but to honest, on every computer I own I end up with a scratch folder's worth of one-off scripts in both languages.

  3. 5

    I'd choose not between languages. But between frameworks: Ruby on Rails and Django

    1. 2

      agreed 100%

      at the same time both are good! so it depends on your personal needs

  4. 5

    Boring answer, but: whichever you have the most experience with. They're generalist languages with rich, mature third-party ecosystems.

    1. 2

      Agreed. Postponing your launch to learn a whole new ecosystem isn’t going to help. If you’re successful, go ahead and rewrite it afterwards when you know you’re on to something.

      If you don’t know either of them, python seems to be growing right now.

    2. 1

      Thanks... and if the team is not tech. or equally familiar with both?

  5. 4

    Well, Ruby is a startup language itself.
    First of all because of gems and community

  6. 4

    I'm religious...I'd go for RUBY hah
    unless the project is with AI. But u can combine

  7. 4

    Prototypes? Ruby

    1. 2

      only for prototypes?

      1. 2

        Yeah. Stuff like Github, Coinbase or Stripe. 🤣

  8. 3

    I'm into science, not just web development - so choose Python

  9. 3

    Building a chatbot? or a script? surely python

    1. 2

      I've done pretty extensive unix scripting in Ruby. Other than super terse one-liners, it can do pretty much all the things Perl can. Python is fine as well but doesn't have quite the same conveniences like simply using backticks to execute a system command.

      For chatbots, you can use just about any high-level language you want and both are fine.

  10. 3

    There are definitely some pros and cons. But I am not sure who will win this fight. I am drifting toward Ruby, though.

    Do you have any suggestions?

    1. 1

      Well, some people say Ruby is a startup language and Python is an AI one

      1. 7

        Ruby is a religion ;)

        1. 1

          haha 👍👍😄

      2. 3

        I've worked at three startups that used python, zero we're AI based.

  11. 2

    Guys, cool conversation we had!

    You helped me to finish up my article on Ruby VS Python: https://sloboda-studio.com/blog/ruby-vs-python-which-one-to-choose/

    Your opinion? Did I miss anything there?

    1. 1

      Wow, awesome article! Ruby rules!

  12. 2

    It's really not about the language you use as long as it is built in a way that it works properly and it can scale.

    1. 1

      which one is more scalable - your bet?

      1. 1

        Neither one is particularly scalable. Both have serious limitations around concurrency and both are among the least performant languages. Both are very good for rapid development of an application though, especially Ruby.

        However, as @fusionPT pointed out, it's really about how you use the language. While a low-level language like C might run at 5-50 times as fast as Python (and this is why Python's ML libraries are basically all just wrappers of C/C++ libraries), a poor algorithm can make your app thousands, millions or billions of times slower, more than compensating anything you got for using a "fast" language. You'd also probably need years to build your app if you were writing it in C, too.

        Also keep in mind that, there are known ways of dealing with the concurrency and scaling issues of Python and Ruby and many companies have done it. Especially if you're selling something, you'll have plenty of money to spend on servers and engineering when scaling issues arrive.

        Worrying about how to handle millions of users you don't have is what I call Scalability Arrogance!

      2. 1

        It's not about what language you use, it's how you use it. So considering scale in the beginning is a good start.

  13. 2

    Whatever gets the job done. Literally.

    1. 3

      practical👍 nice