TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Has Python killed Ruby?

28 pointsby Pishkyabout 8 years ago
If chosing to learn one or the other why would anyone choose Ruby?<p>Thanks

26 comments

LyndsySimonabout 8 years ago
I&#x27;ve used Python for about about eight years, and Ruby for right at six months. It took me about a week to feel competent in Ruby, and about a month before I was really comfortable with all of the metaprogramming functionality. Add another month to that before I really grokked ActiveRecord.<p>I much prefer Python. I thought for a long time that this was because I learned most of the fundamentals of computer science and professional development in the language, but I&#x27;m at the point now where I&#x27;m sure that&#x27;s not the case. The Zen of Python really shows the differences between the two of them - &quot;explicit is better than implicit&quot;, versus Ruby&#x27;s &quot;convention over configuration&quot;. I don&#x27;t mind writing some boilerplate in Python, because the boilerplate is itself fairly terse and fully informs you of your system&#x27;s architecture in the process.<p>I hate that functions aren&#x27;t first-class objects in Ruby. Hate it. The subtle distinctions and behavioral differences between blocks, Procs, and lambdas are infuriating.<p>There are many things I would change about Ruby, but there&#x27;s nothing <i>wrong</i> with it. It&#x27;s just not a good fit for my way of thinking.<p>All that said, the question was &quot;Has Python killed Ruby?&quot; No, it hasn&#x27;t. Ruby is still popular, and I think it very much fits the manner of thinking of many developers. For them, thinking in Ruby is natural and wrangling Python into submission would feel like writing Ruby does to me.
评论 #13864480 未加载
评论 #13847905 未加载
评论 #13844440 未加载
josephorjoeabout 8 years ago
I use both fairly regularly, and they are very similar.<p>Where they are different in terms of syntax or capability or philosophy, I nearly always prefer ruby.<p>I find bundler&#x2F;Gemfile&#x2F;rvm to be less headachy for project dependency management than pip&#x2F;requirements.txt&#x2F;venv.<p>For me, ruby code is easier and more pleasant to read.<p>When I need to write a quick bit of temporary code or do some simple data parsing&#x2F;file management, I nearly always use ruby if it doesn&#x27;t matter which language I use.<p>But if I had to choose one of them to learn, I would focus on python -- even with everything I said above and the really long and drawn out (and still unsuccessful) transition to python 3.<p>Python has much stronger non-web app libraries and perfectly adequate web app libraries and is definitely much more widely supported in academia. Ultimately there are more things you can do with python and more python job opportunities.
评论 #13845893 未加载
rudyonrails14about 8 years ago
If going with the web, I&#x27;d go with JavaScript, to a degree you have to learn it anyway. Python and Ruby are both relevant for web as well. Rails vs Flask&#x2F;Django - both will get the job done, plenty of use cases of major corporations using one or the other.<p>If you&#x27;re doing DevOps, you should probably learn both.<p>Everything else, which is more backend, APIs, data, data science, AWS, Google Cloud, Big Data databases, etc - Python over Ruby. You may want to consider Java here tho depending on how much performance is required due to many of those aforementioned Big Data platforms having the JVM underneath the hood.<p>So all things being equal, Python, and then for all things not being equal, Python.
评论 #13846075 未加载
dasdhrub95about 8 years ago
Ruby is commonly used by programmers along with Ruby on Rails for Web Development so it&#x27;s scope is very limited. Python on the other hand has been widely adopted by the academia and has become pretty much essential to startups in the big data&#x2F;AI sector, additionally Python can also be used with Django for web development (Instagram&#x27;s website is built in Django). The pip library is vast and the Django community is on par with the Ruby on Rails community. I dont see any reason to stick with Ruby.
评论 #13843728 未加载
dkarapetyanabout 8 years ago
Ruby is a much simpler and more aesthetically pleasant language. Python has all sorts of sharp corners. You really should learn both but I think Ruby is a much easier starting point.<p>Also, a lot of research on dynamic languages is being done with Ruby, e.g. TruffleRuby, JRuby, RubyOMR, and probably a few more I&#x27;m forgetting. Each of those projects is an impressive body of work in and of itself that points to Ruby being very alive and well. Oh, almost forgot about MRuby. I don&#x27;t think there are similar efforts for Python. In some sense Python is much more stagnant these days in terms of innovation at the language level.
评论 #13843905 未加载
评论 #13843827 未加载
评论 #13845913 未加载
评论 #13847253 未加载
erkoseabout 8 years ago
Actually, Ruby failed to kill Python.
allan_windabout 8 years ago
No.<p>I wrote a small Rails project a while back and along with it small non-Rails utility that made used a couple of generic modules (mail, config). Both the Rails project and the utility bit-rotted faster than anything anything that I ever written. Ruby, the language, is pleasant, and you can write beautiful, terse, expressive code. Functional constructs are nice, etc. Soured me on Ruby, I am afraid. I liked Perl too, and Ruby is not that different.<p>Python... I don&#x27;t care for the significant whites space. lambda is crippled because it has to fit into a single line, tertiary operator is weird, and compressions reads backwards to me. Haskell has the same problem. It is nice how you can start with a class, then wrap attribute access later. Writing a simple new style class is verbose. The version 2 to 3 was rough, not sure if it&#x27;s done by now. There is a lot of libraries, some parts of the standard library are nice.<p>JavaScript to me is mess with classes being bolted on, different ways to build an object, different ways to handle errors, different ways to handle callbacks. The write it once and run it either in browser and server ignores that version differences (i.e. what is the crappiest browser you have to support), and in general that environment is different. node.js with the async is an interesting experiment. To me it becomes difficult to read and reason about. To me, it was surprisingly difficult, to write a small sync util in node.js. There is a metric ton of libraries. I quite like JavaScript, but to me its becoming complex (as in C++) instead of burning off the bad parts (as in C). The language will be around &quot;forever&quot; due to the web, so that is what I use if possible.
评论 #13846019 未加载
thescribeabout 8 years ago
I&#x27;ve never had a language click with me the way ruby has, I use it for basically any task that isn&#x27;t low level. I have never liked python at all despite them being quite similar. Do whatever makes you happiest and most productive.
SwellJoeabout 8 years ago
Either is fine as a learning language. I&#x27;d pick Ruby if I wanted to learn how to make web apps, and Python if I wanted to work on scientific or AI projects. But, either is a very good learning language with excellent resources.
mamcxabout 8 years ago
As a fan of python -and think python is overall better-, but also as someone that have learned (and used professionally) many languages, learn both. Even take a look at erlang&#x2F;elixir or any other you think is interesting.<p>Ruby on Rails was a eye openner (my exposure to web was ASP classic (auch!!!) and ASP.NET (auch!!)) and the tutorial of<p><a href="http:&#x2F;&#x2F;poignant.guide&#x2F;" rel="nofollow">http:&#x2F;&#x2F;poignant.guide&#x2F;</a><p>Was something <i>good</i>. I choose later python just because I think is a better overall language, but I have always read what the other side have to say. I will not hate to work on ruby, in contrast to, let say, js or java.<p>Not hate a language is probably a more nice thing that just like it ;)<p>----<p>You must balance much more that just the superficial aspect of the syntax, despite that I agree syntax MATTER A LOT. With time the superficial syntax will become a more deeper aspect of the experience (when you truly understand the language and see the semantic behind the words), but the ecosystem, the thing you plan to build, how well you absorb the knowledge, etc are also important.<p>Even when 2 languages look &quot;nice&quot; is possible that down the road one be &quot;better&quot; in your mind and other &quot;harder&quot; or the opposite. For example I get lost reading C-like languages and get easy Pascal-like language for the same thing and the same level of difficult.<p>For example, I read<p><a href="http:&#x2F;&#x2F;learnyouahaskell.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;learnyouahaskell.com&#x2F;</a><p>And I loved it, but I can&#x27;t make haskell work for real (to me). The language look nice at first, but it not &quot;connect&quot; to me. Instead I get F#.
jampaabout 8 years ago
Answering directly to the question: no, both languages coexist for so long. I don&#x27;t see &quot;Python killing Ruby&quot;.<p>Learn Ruby if you want to get started in web development, most of Ruby development projects is based on Ruby on Rails, and as a beginner is VERY easy to get started, you will get things done very quickly once you set it up.<p>Learn Python if you want to do... well, between the two of them python is way more popular in everything but web development. There&#x27;s web frameworks with Python but I wouldn&#x27;t recommend them for someone who is starting now (personally, I gave up on Django for Rails).<p>Nowadays it is better to start with javascript. It&#x27;s not &quot;beautiful&quot; like those two languages, but is very forgivable and node.js is all the hype right now.
rudyonrails14about 8 years ago
If going with the web, I&#x27;d go with JavaScript, to a degree you have to learn it anyway. Python and Ruby are both relevant for web as well. Rails vs Flask&#x2F;Django - both will get the job done, plenty of use cases of major corporations using one or the other.<p>If you&#x27;re doing DevOps, you should probably learn both.<p>Everything else, which is more backend, APIs, data, data science, AWS, Google Cloud, Big Data databases, etc - Python over Ruby. You may want to consider Java here tho depending on how much performance is required due to many of those aforementioned Big Data platforms having the JVM underneath the hood.<p>If you know exactly what you want and it&#x27;s web, then Ruby, otherwise, all things being equal, Python, and then for all things not being equal, Python.
ndesaulniersabout 8 years ago
Node.js killed Ruby IMO.
_uhtuabout 8 years ago
Ruby still has significant use in web development due to the huge popularity of Rails. Startups and established companies continue to start and maintain projects in Rails.<p>Beyond that Ruby isn&#x27;t used much. But a language that&#x27;s extensively used for one very common purpose is very very far from dead.
ahmgeekabout 8 years ago
One doesn&#x27;t simply choose a language, language choose person.
评论 #13843737 未加载
athenotabout 8 years ago
From a devops perspective, both may be needed depend on your approach to configuration management.<p>- Ruby is used for Chef.<p>- Python is used for Ansible.
评论 #13843750 未加载
al2o3crabout 8 years ago
Which version of Python? <i>ducks</i>
amerovabout 8 years ago
Ruby created to build a DSL and accordingly allows to patch all that is possible and it sometimes causes a long search for bugs.<p>Python quality libraries seems better. for Example: I have not found a good HTTP client like Python&#x27;s Requests or Guzzle from Php
评论 #13899224 未加载
sairamkunalaabout 8 years ago
Its like Rock, Paper, Scissors. One beats the other all the time. Its like a loop of Programming languages.<p>A programmer chooses a languages which is convenient for the task at hand. Ruby&#x2F;Rails are amazing to lift off projects in hours.
gremlinsincabout 8 years ago
if anything kills python or ruby it&#x27;ll be golang or erlang&#x2F;elixir ..my money is on Phoenix Framework &#x2F; Elixir eclipsing a lot of the ruby on rails environment -- a lot of core rails devs have already begun building all new apps in Phoenix. I haven&#x27;t really grokked elixir yet, but it&#x27;s on my todo list someday when my day job eases up a bit.
Grue3about 8 years ago
Python 3 killed Python. Ruby died by itself.
nnqabout 8 years ago
No, but JS will kill them both :)<p>&lt;&#x2F;not the answer you&#x2F;anyone wanted to hear&gt;
iLemmingabout 8 years ago
No. I think Clojure and Elixir slowly &quot;killing&quot; Ruby.
NoCanDoabout 8 years ago
No, but hopefully soon-ish.
评论 #13847564 未加载
vgy7ujmabout 8 years ago
Between those two Ruby. But always Perl first if using dynamic programming languages. Never Python.
kapauldoabout 8 years ago
Who flagged this?
评论 #13848848 未加载