6 ms·
Can it be true that the Python coverage on HN is overproportional compared to its real world usage? If I look around the world is full of Ruby and Rails. Sites
by pace 15y ago
Can it be true that the Python coverage on HN is overproportional compared to its real world usage?
If I look around the world is full of Ruby and Rails. Sites, libs, meetups, developers, everything is on Ruby or Ruby on Rails. Python and Django devs are so damn rare in real world -- I just know two of 100.
Not that I don't like Python but I am really wondering why Python gets such a strong coverage on HN. Every second day there's some Python thing on HN. BTW with Clojure it's the same but Clojure is something new, so I understand the visibility there.
Please don't downvote -- it's nothing against Python, I just want to see if the Python base increased or something happend I've missed. Thanks
How can it be?
EDIT: Thanks to all for the replies. What's interesting about this thread: I got tons of downvotes (besides upvotes) for the first comment. So, I assume this Python vs Ruby discussion seems to be a very emotional topic. Thanks to the replies I have now a better understanding that Python is older and dominant in a many non-web environments. My impression is still that especially in web environments we have much more pace and development in Rails than Django (just compare what DHH put in 3.1, Coffee, Sass, etc. -- no flame war just a questions dear downvoters, don't freak out again)--Rails feels just more vibrant regarding web dev. But Rails is not Ruby ;-) It's just that I see all the Python stuff on HN -- which is slightly focussed on online/web/Internet -- and I really considered learning Python for web dev until I checked http://www.google.de/trends?q=python+django%2C+ruby+rails&ctab=0&geo=all&date=all&sort=0 http://www.google.de/trends?q=python+django%2C+ruby+rails...
EDIT2: but there's a new rising star:
http://www.google.de/trends?q=python+django%2C+ruby+rails%2C+node.js&ctab=0&geo=all&date=all&sort=0 http://www.google.de/trends?q=python+django%2C+ruby+rails%2C...
- JanezStupar 15y agoConversely I know 20 Python Django/Pyramid developers and one Rails developer.
- pace 15y agowhere r u located?
- JanezStupar 15y agoLjubljana, Slovenia
- dagw 15y agoSame here. I don't know any Ruby developers here in Sweden, but half the programmers I know use python.
- shantanubala 15y agoPython has a very large community, but it tends to be a lot less vocal (for better or worse) than the Ruby or Rails communities. Python is a widely used language (quite possibly much more popular than Ruby since Python is taught to undergraduates at MIT, Berkeley, and other "top tier" schools).
- TylerE 15y agoIt's pretty much certain, given the widespread acceptance python has in scientific computing, an area where Ruby penetration is minimal-to-nonexistant.
- ronreiter 15y agoIt's kind of the same as node.js hipsters. A whole bunch of people worship concepts that existed long ago, thinking that node.js is the holy grail for having them, and that is why node.js is the best language in the world.
- pace 15y agoI am wondering why you are offending node.js and Ruby users. We all try to get a clue of Pythons real-world usage in this thread and you (the original poster) just brand them as hipsters (btw you could also be labeled as one of those who worship "an aging language which lost track in the web world, again and again on HN", just an example, so keep calm). Imagine some Ruby or node.js folks would offend Python, you and your learnpython site. Through this thread I got again closer to Python and in particular Flask, so use such discussions as opportunity to educate us. Such posts that offend rather scare us that python is used by some intolerant old-school fanboys.
- jteo 15y agoThe plural of anecdote is not data.
- halostatue 15y agoI don't think so. I know mostly Ruby developers, but that's because I'm in the Ruby world. As far as I can tell, the Python community is somewhat larger—and there are certain communities where it will likely stay that way (e.g., scientific computing is a bit of a travesty in Ruby, but substantially better in Python). Ruby makes me happier than Python does, but Python is widely used.
- ippisl 15y agoI did a quick job search in monster.co.uk and got: ruby -160 jobs. python - 356 jobs.
- ronreiter 15y agopwned
- ronreiter 15y agopwned
- draegtun 15y agoDitto and also got this for: Perl - 363 jobs. PHP - 769 jobs. C++ - 814 jobs. Java - 1,000+ jobs C# - 1,000+ jobs
- pace 15y agoI did get same for my region. But the question is: do these figures show the real-world usage or rather a resource lag of aging languages--e.g. you have more PHP jobs than Ruby because PHP devs moved to other languages and there are still tons of legacy systems to maintain. There was also an interesting article (I forgot the author, Spolsky?), who said that there's a reason why resources for aging languages are more expensive than others => The developers have more opportunity costs when developing for aging languages. Don't get me wrong: Java, C#, C++ are maybe not aging but their user base isn't growing anymore or not with the same strong growth rate like newer languages
- draegtun 15y agoAll languages are ageing languages so i think a better term to use would be mature languages. That conjures up a completely different emotion :) > Don't get me wrong: Java, C#, C++ are maybe not aging but their user base isn't growing anymore or not with the same strong growth rate like newer languages Is this anecdotal? Because its very hard to know what is going on with absolute certainty and trends vary from place to place and over time. Just thought I'd take a snapshot of Stackoverflow question metrics: Java 180,637 PHP 167,657 Javascript 151,666 C++ 97,785 Python 82,640 C# 45,493 Ruby 34,497 Perl 14,735 Scala 6,670 Clojure 2,283 Lua 1,616 It's important to not take these figs has gospel outside of Stackoverflow.com. However considering Stackoverflow only started in August 2008 then these figures do suggest that mature languages have been growing at a very healthy rate.
- djb_hackernews 15y agoCome to DC. It's all Python and no Ruby.
- callahad 15y agoAs far as I can tell, Python has a much broader base than Ruby, at least in the english-speaking world, but is generally quieter about it. As a few examples: Thanks to SciPy, NumPy, Sage, and so on, Python is extremely popular in scientific computing and academia in general, drawing hundreds each year to Enthought's Scientific Python conference. Apple's iCal Server is written in Python with the aid of the Twisted async library, the same library used by LucasFilm for communications in its render farm, or Justin.tv's caching engine. Google has found great success with Python: YouTube, for instance, is written in Python. Thousands of undergraduates have their introduction to computer science each year taught in Python, even at MIT. And let's not forget the sizable Django, Pyramid, and Plone web development communities, all of which seem to have surprisingly little overlap. The thing is, Python's been around for a long time -- longer than Java -- and it's been useful for a similarly long time, especially in the same domains that Perl traditionally excelled at. Thus, its growth was bottom-up: Many sysadmins were eventually expected to simply know Python just as they were expected to know Shell and Perl, and thus being functionally proficient in Python wasn't really a defining characteristic. In this way, Python's expansion has been more of a slow burn as it creeps into more and more corners of software development. Rails, by contrast, came coupled with a wonderful promoter in DHH, and brought scores of front-end talent and PHP refugees into the fold from day one. That audience seems to simply be more innately talented at vocalizing the cool things they're doing, and making sure they mention that they did it all "...with Ruby!" So while I'd wager that the Python community is larger than the Ruby community, it certainly seems less concentrated, and less vocal about it. To wit, did you know that Dropbox is primarily written in Python? And that the same goes for Eve Online?
- pace 15y agoThanks for the great overview
- JanezStupar 15y agoAnd this were all the factors that got me into Python when I was pondering whether to go down the Rails or Python road, when I wanted to crossover. And I was carrying quite a torch for Ruby before. But when you realize how much broader Python is - Ruby doesn't look that good any more, no matter the hype.
- rglullis 15y agoIn regards to your second edit: http://www.google.de/trends?q=django%2C+ruby+on+rails%2C+node.js&ctab=0&geo=all&date=all&sort=0 http://www.google.de/trends?q=django%2C+ruby+on+rails%2C+nod...
- pace 15y agogood point but check http://en.wikipedia.org/wiki/Django http://en.wikipedia.org/wiki/Django Django is more than a web framework, thus I searched for "Python Django"
- TillE 15y agohttp://www.google.de/trends?q=python+programming%2C+ruby+programming&ctab=0&geo=all&date=all&sort=1 http://www.google.de/trends?q=python+programming%2C+ruby+pro... http://www.google.de/trends?q=python+language%2C+ruby+language&ctab=0&geo=all&date=all&sort=1 http://www.google.de/trends?q=python+language%2C+ruby+langua... http://www.google.de/trends?q=learn+python%2C+learn+ruby&ctab=0&geo=all&date=all&sort=1 http://www.google.de/trends?q=learn+python%2C+learn+ruby&... You can make the results almost anything you want based on the specific queries you choose. It's not an especially useful measure.
- pace 15y agonice queries
- ak217 15y agoI know many more Python developers than Ruby developers (although Rails is the best MVC framework I know of). My personal opinion, though, is that Python is and will continue to grow in popularity because of its emphasis on what I call "cognitive compatibility" - very strong emphasis on readability and consistency. The Ruby community doesn't have the same commitment.
- Ogre 15y agoAt my workplace (a large game developer), Python is one of three or four primary languages we use for everything. C++ for the games themselves, C# for UI heavy tools (this is relatively recent, C++ is also still used for a lot of tools), and Python for gluing it all together. (Lua would be the fourth, for in-engine scripting only). In my world, Python replaced Perl as the language of choice for anything in a very broad "miscellaneous" category of tools. Mostly that happened 10 years ago, I haven't seen any Perl in a long, long time. Additionally, as it makes more sense to have web-based tools for certain things, Django has found its way in too. Since Python already has a strong foothold, Django makes a lot more sense in our environment than Rails. I can find a smattering of things in other languages in our code bases, including Ruby and Erlang, but for the most part Python is the language of choice for things that aren't actual game code or Windows tools.
- ludwigvan 15y agoPython and Django developer here. So you have met one more! Interestingly, though, I find Ruby more beautiful. Possibly one of the reasons for that is it inherits a lot from the UNIX culture awk, perl roots; and also much more from Lisp and Smalltalk. Also, my observation is that Ruby seems again very popular for OS X / Linux devs, but for Python, developers using Windows is significant. (I am not claiming that Ruby is more popular than Python for Unix users, though, just that the percentage of Windows Python users is more than Windows Ruby users.) Rails community is definitely greater for web development as you said. One of the major differences is 37Signals, and they do a great job in pushing the project forward. The Rails project also includes several important assets which Django leaves to the developer. For example, there is no builtin migrations for Django (though most people use South), no builtin API support (tastypie/piston is commonly used). The upside of Django is probably that things are more clear since there is less convention. This is also in accord with the languages, Python is more explicit, Ruby more magical. One other difference that comes to my mind is that some prominent developers, like the Pragmatic Programmers Dave Thomas, or Thoughtworks' Martin Fowler prefer Ruby, while there doesn't seem to be such prominent vocal authorities speaking for Python.
- pace 15y agogreat comment clarifying the discussion
- gbog 15y agoPeter Norvig is a prominent guy speaking for Python. Sorry but your comment seem weird to me. If you prefer Ruby why don't you go Ruby? Great makers should love their tools.
- ludwigvan 15y agoThanks for your comment. I strive to be a great maker, so I love programming languages! You are right in some sense, though. I think about the parent's and your questions from time to time. The thing is, I actually do love Python too. It's just that, as an outsider, I find the the Ruby community much more vibrant, and I sometimes envy the stuff over there. I have a deep affection to most programming languages in general though, I do not think that I should choose one of them over the others. For example, contrary to general opinion, I find some parts of Perl beautiful too, and even this year have read a few Perl books. As to why I happened to choose Python over Ruby, there are historical reasons. The first reason is that, as a previous academic, I first learned Python for SciPy, considering it as a replacement as MATLAB. Being that Python was backed by Google was a plus at the time. It was when the App Engine was announced with Python support that I started making a few websites with Python, only to discover shortly that Django was the most popular way to go for making websites in Python (I would also highly recommend Flask as an alternative too, now). Now, at this point I was proficient enough in Django, and started looking at Rails. I was immediately struck by some of its aspects, but still web programming was not my full-time job; and I feared that since Rails was moving so fast at the time, and that it relied on convention more than the explicitness of Django, I thought that after a week of not working on my project, I would forget some of that implicit stuff. This, I believe is also the major reason why most people don't like Perl -- a chicken and egg problem. My impression is that those who do not like Perl are not people who code full-time on Perl (surprise!) and so view Perl programs incomprehensible after they maintain the code after a break. It is similar to natural language in that if you do not use it, you tend to forget some of the stuff that makes things very easy; while I would describe Python as more like solving a maths/geometry problem - easier to recall, easier to maintain. So, I love Python, but it's just that I also love most of these languages, and some parts of them more; Smalltalk, amazing in its world concept, Lisp (and now Clojure) beautiful with their flexibility. But where do I find a Clojure job, if I don't create that job opening myself with a personal project? I believe it is a general feeling on HN, most people have an affection for Lisp, but for some reason, do not (or can not) use it in their daily jobs. Regarding your comment about Peter Norvig though, actually, he is a prominent guy speaking for Lisp; it is just that Python is more comprehensible by students (as it is closer to pseudo-code), that he has chosen to use it.
- jrockway 15y agoI would say that the opposite is true; Ruby on Rails is hyped in the startup community, but Python has a lot more real-world traction. Not every programming task is to build a web application, after all. scipy is a particularly popular application of Python. I will agree that the Python culture is very different than the Perl or Ruby cultures. Python is a bunch of scientists and bankers writing private software for themselves and not talking much about it. Ruby is a bunch of designers making open-source projects with pretty logos and talking about them constantly. And Perl is a bunch of people that did all this 10 years ago and wonder why everyone is so excited about fast math libraries or web app frameworks.
- run4yourlives 15y agoYeah, but the difference is both Pythonista's and Rubyist's can read the code after they write it. :)
- Codayus 15y agoMy experience is that Python is everywhere, but Ruby is a tiny niche. I know lots of Python developers, but I don't know a SINGLE Ruby developer. There was recently a Python conference in my (fairly small) city, but I don't think there's ever been a Ruby conference. I attend a monthly meetup of Python devs in my (fairly small) city, but there's no Ruby meetup. I could go on... In fact, I've seriously wondered before why Ruby gets as much notice and buzz as it does. Lots of talk, but it seems like nobody is actually using it (especially commercially) outside a couple of very high profile projects. :) Of course, my experience is by no means typical (any more than yours is). However, do keep in mind that Python is VERY widely used throughout the animation, 3D, VFX, and CGI industries. Most packages have Python APIs or use Python as their scripting language; as far as I know none use Ruby. You also see a lot of Python in the game industry (and little or no Ruby). (Also, you're making the common mistake of conflating Python and Django. Coming from a Rails background this isn't surprising, but Django isn't even the only Python web framework. Searching for "ruby + rails" captures most potential Ruby results, and essentially all potential Ruby web development results. Search for "python + django" results in a much smaller fraction of the total Python or even Python web development results. It's not an apples to apples comparison.)
- tingletech 15y agore: "rising star" demonstrated with google trends search of "python django, ruby rails, node.js" I don't think is quite right; I never hear people say "python django" whereas I do hear "ruby on rails" at least as often as "rails". Note also rails is a general term and django is either the web framework or the jazz artist it is named after. Not that I think this google trends data really mean that much, I think the following queries give context to help interpret the meaning of the parent's link. "python, ruby, javascript" http://www.google.de/trends?q=python%2C+ruby%2C+javascript&ctab=0&geo=all&date=all&sort=0 http://www.google.de/trends?q=python%2C+ruby%2C+javascript&#... "django, ruby rails, node.js" http://www.google.de/trends?q=django%2C+ruby+rails%2C+node.js&ctab=0&geo=all&date=all&sort=0 http://www.google.de/trends?q=django%2C+ruby+rails%2C+node.j... "django, Django Reinhardt" http://www.google.de/trends?q=django%2C+Django+Reinhardt+&ctab=0&geo=all&date=all&sort=1 http://www.google.de/trends?q=django%2C+Django+Reinhardt+... [edit, corrected link] [edit: someone else make the same point several hours ago, and this argument was not persuasive http://news.ycombinator.com/item?id=3277694 http://news.ycombinator.com/item?id=3277694 I just can't see making a serious decisions based on google search trends unless your job is SEO or something like that]
- pace 15y agoOk I must admit that my original G-Trends queries don't help a lot but give a least some tendency. Your queries have also shortcoming in giving a good context: don't forget Django is a very popular word, just check Wikipedia and remember the very popular movie among lots of meanings.
- tsm 15y agoI know Python (and Lisp and Java), and have been looking for a summer internship. There was recently a startup fair in my hometown...and of the five or so internships available, 100% of them require Ruby (and Rails), 0% really care about Python (or any other language I know). I know Python has a huge userbase and has tons of software written in it...but it doesn't seem to be too trendy right now.
- pace 15y agoThat's the point: "but it doesn't seem to be too trendy right now" and still, it's pops up every 2nd day here on HN. I am fine with Clojure, Haskell and the new functional trend but just don't get it with Python.