Hacker Newsnew | comments | ask | jobs | submitlogin
Ask HN: Python gaining popularity
60 points by ashitvora 3 days ago | 92 comments
These days I see a lot of startup using Python. Earlier it used to be PHP, then came era of Ruby (mainly because of Ruby on Rails) and now it is Python.

Any special reason or everybody is just going with the flow or am I missing something?





33 points by FraaJad 3 days ago | link

When RoR was all the rage (the one-true-rage even!) couple of years back, there were a lot of people in the Python world, who were concerned that Ruby might steal the thunder from Python.

Python people attacked this "problem" in multiple ways. One was the emergence of competing frameworks like Django and Pylons. The other was to work hard on other product lifecycle stories. Some of which were influenced by what was gaining traction elsewhere (automated deployments, TDD). But, some new things also took flight in the Python world, like WSGI, which inspired similar endeavours (Rack, Plack/Perl).

Also, Python has better overall ecosystem. You want libraries for obscure (say HVAC) protocol, you have a better chance of finding it in Python, than in Ruby.

I think more developers relate to "don't be too clever" attitude taken by python than admitted among this crowd.

While RoR was busy redefining the entire Ruby ecosystem in it's own image, Python people were busy building stuff that were truly framework agnostic. Eg: Paste, WSGI, SQLAlchemy, Various templating languages like Jinja2, Mako.

Today, it is very easy choose from many competing python frameworks without drinking any one brand of kool-aid.

reply

11 points by vineetm 2 days ago | link

+1 Python stands tall with its rich library, for a relatively recent convert from java to python it was nice to see such vast applicability of a language and also the support it enjoys outside the typical commercial / "web" worlds.

reply

1 point by barnaby 2 days ago | link

Wow that's a really well thought out answer, I totally agree.

I am always amazed when I find that Python has a library for _X_ whenever I need it... and not just some project on github, a stable project that's in a mature release, and flexable enough to be used in any setting/framework/etc.

reply

19 points by Kaizyn 2 days ago | link

Basically, you're seeing just as much Python as ever. However, because Rubyists aren't making such a spectacle of themselves, you don't hear as much about Ruby/Rails as you used to. And what you do hear doesn't get as much traction as it used to because after several years of ruby news the community has grown more tired of it.

reply

3 points by shadowsun7 2 days ago | link

I think you're right on this one. The idea that Python is suddenly experiencing a reemergence doesn't feel right to me - it makes more sense to talk about this trend in terms of relative activity.

Note: I use and love Python, and I'm doing my startup in Python, but I'll admit that I don't know much about the Ruby community. I will say, however, that we decided early on not to use RoR because of its scaling issues.

reply

0 points by binomial 2 days ago | link

Subtle trolling.

reply

6 points by shadowsun7 2 days ago | link

Was that a self-referential comment? I'm not sure how you're contributing to the discussion here.

reply

1 point by binomial 2 days ago | link

Oops, I did not realize that you are the same person who I had replied to till later. Well, I'll assume you aren't trolling then, but realize that many shared the sentiment for good reason (the comment was at 5 points surprisingly, before I made the last, very stupid reply). The reason would be that there have been thousands of wasted programmer hours due to discussions initiated by someone saying "rails can't scale", when they obviously don't know what they're talking about, so it does come off as trollish.

It became a something many said because of Twitter's scaling problems, which is probably how you heard about it. But later, it became clear and commonly accepted among the community that Twitter's scaling problems did not stem from rails itself, but other parts of its infrastructure. Saying "rails doesn't scale" really doesn't make too much sense, because scaling the application layer is arguably the easiest part of scaling: essentially you add more app servers, and load balance between them. The hard part is scaling the database etc.

In Twitter, at first they had a lot of issues because the queuing software they wrote wasn't great for their workloads and was pretty slow. And there are a ton of other moving parts as well in the application and the team must have kept hitting walls in all the various parts. They may have even had some rails issues at some point, but that's a far cry from saying it can't scale.

And anyways, if you want to keep it light weight, I'd use one of the smaller Ruby frameworks. You really can't go wrong with Sinatra.

reply

1 point by shadowsun7 2 days ago | link

Welcome to HN, binomial. You can assume that we're not trolling (most of the time). Thank you for the clarification.

reply

-3 points by binomial 2 days ago | link

I was trying to see to it that people don't respond to the trolling as if it were a real question. If it was a real question, perhaps the person needs to do some research.

reply

2 points by mikeklaas 2 days ago | link

The situation with writing web apps with Python has changed dramatically over the last 3-4 years and I think you are giving it too little credit.

Back then, there wasn't one obvious place to start with web app development with Python. Frameworks existed, sure, but there were too many and none were as good as rails. Django changed that, arguably helped along by Guido's pronouncement as the "official" way to go.

reply

2 points by Tichy 2 days ago | link

Is Django really good, though? Everytime I look at it I end up thinking "eeeew, why do they do it like that". That it is popular is no indicator - PHP is popular, too.

Trying to remember some examples that I didn't like. The ORM mapper was ugly, and I think the templating system is really inflexible - like you can not use it isolated from Django, or it couldn't do "inheritance", or something like that.

reply

7 points by simonw 2 days ago | link

I think it's good. (Disclaimer: I'm a co-creator of Django)

The ORM is Django's most powerful component, IMO. The syntax can look a bit off-putting at first (the double underscore stuff) but it's amazing how productive it can be at the sort of queries that make up the bulk of any web app. I guess maybe it's an acquired taste.

Inheritance is a key concept of the template system, and one of its most useful features.

You absolutely can use the template system outside of Django, but it's not available as a separate package so you still end up with the rest of Django is a dependency - definitely not ideal. Jinja is a very neat rewrite of Django's template system that is available as a separate package.

reply

1 point by Tichy 2 days ago | link

Thanks for the info. It's been a while since I looked at it, and I certainly only did a very superficial evaluation.

reply

24 points by smoody 3 days ago | link

I thought javascript/node.js is the new hotness. It's so hard to keep up with the latest trends!

reply

5 points by code_duck 2 days ago | link

It's still kind of for early adopters, trendsetters and those who like to live on the edge. It's not well known outside of places like this.

In the mainstream, I definitely have seen a trend where people moving past PHP, or designer types new to web programming, pick either Ruby or Python, and between Ruby and Python, Python is gaining ground.

reply

3 points by jb55 2 days ago | link

Just recently one of my college professors said Python was not a 'production level' language. I just came back from an internship where they wouldn't even install Python on the server and told me to use 'Powershell' instead. The majority of the world is still running mostly on Java and C#, let alone something as 'radical' such as Python or node.js. It's amazing the amount of resistance I came up against in the 'real world' of things which seemed so common place here on hacker news or reddit.

It's possible I just live in the wrong area and I'm going to the wrong schools, but that has been my experience so far.

reply

7 points by simonw 2 days ago | link

Ask your professor if he's heard of the Large Hadron Collider. Or YouTube.

reply

4 points by jb55 2 days ago | link

I was thinking about making a witty comment regarding YouTube or Disqus, but at the time I was so dumbfounded by his statement I ended up just smiling and walking away. Surely Python is not a new concept to most people? Software engineering professors? Come on.

reply

3 points by all 2 days ago | link

Perhaps share these pages with your professor:

http://python.org/about/success/

http://python.about.com/od/gettingstarted/ss/whatispython_3....

I'd say your prof is pretty myopic.

Of the success stories, I particularly like this email about Python on NYSE from 2003:

http://code.activestate.com/lists/python-list/%3COF78FB9C74....

reply

1 point by barnaby 2 days ago | link

"Real world" is an odd concept in college. Python is used A LOT in the real world, including NASA and many fortune 500 companies.

Just because there is still more COBOL code running in the "real world" than there is C# code doesn't mean C# is 'radical'.

Plus HackerNews readers are likely to be less concerned with what people used 5 years ago when they started the projects that are big today (e.g. Java etc.) they're more interested in what people are using _NOW_ to make the projects that will be big tomorrow (e.g. Python)

reply

1 point by nailer 2 days ago | link

If it's a .net shop, get vs2010 or the free as in beer version and install iron python. Bang, every .net classs available via a language that doesn't suck.

reply

1 point by alextingle 2 days ago | link

Powershell? hahaha!

reply

2 points by Raphael_Amiard 2 days ago | link

Powershell is a very powerful language. It has every features python has, and then some.

Of course it has many drawbacks too - Closed source, off-putting syntax for some people, dependency on .net - but it's quite impossible to find an equivalent on linux (python doesn't even come close for scripting and piping stuff), and i find myself missing it sometimes.

reply

1 point by nailer 2 days ago | link

Well it's probably the best modern shell (since it's objects being piped, you don't need regexs everywhere like currrent gen unix shells), but it really depends if he was attempting something command-linish or not.

reply

1 point by fauigerzigerk 2 days ago | link

It may be the best modern shell if you like OO and if you can tell me what's the difference to, say, an interactive Python session.

I think the most flexible kind of interfacing between independent apps will always be text based. It makes no sense to impose some typed object model onto those interfaces. That just causes more dependencies which is exactly what you want to avoid for that type of integration.

reply

3 points by Raphael_Amiard 2 days ago | link

Well, first, the object-orientedness of powershell is just one more layer. You can work on a text-based basis in powershell, just send out strings :P

On the other hand, this very feature of powershell is amazingly powerfull, and allows you to lay out some things fare more logically than you could/would do in a text based shell, not to mention purely interface with more complex applications written in .net flawlessly (like doing a small GUI for your script in five seconds for example).

When you work with text, you're basically reinventing parsing at every pipe, and that, too makes no sense at all, for certain applications.

EDIT: What you said just reminded me of something on dadgum http://prog21.dadgum.com/74.html.

reply

2 points by fauigerzigerk 2 days ago | link

If all programs I'm connecting are .NET based and hence share a common type system, why would I need a shell script at all? I don't see the point of inventing yet another programming language for that purpose. I could just as well use any existing .NET based language to do the same thing.

Apart from that, the power of the Unix shell isn't primarily the shell scripting language itself. It is the design of the programs it connects. You need small programs that do one thing. Windows software isn't built like that (neither is Java software by the way), so it doesn't matter much what the quality of the shell is I think.

reply

2 points by Raphael_Amiard 2 days ago | link

>If all programs I'm connecting are .NET based and hence share a common type system

Well to set it apart from C#/F#, Powershell is dynamically typed, so you don't have to bother with the types of your objects.

To set it apart from Ironpython/ruby, or any other dynamic languages on the CLR, Powershell is made to be a shell scripting language. It means that tasks common in system administration are made to be simplified, that command to deal with the filesystem, processes, services and anything else on the system are builtins, and that it interacts very well with other apps, all things that are definitely not true with python or ruby. ipython brings you an inch closer, but with powershell you have the full thing.

> Apart from that, the power of the Unix shell isn't primarily the shell scripting language itself. It is the design of the programs it connects. You need small programs that do one thing.

Well those programs (grep, awk, sed, cat, and many others) are meant to be used in a shell environnement. With powershell, most if not all of the utility of those commands is replicated in equivalent commands. Those are not binary executables, but built-ins commands. But you can add new ones very easily, by coding them in powershell itself and adding them to your environnement in a way that has been thought out for that very purpose. I see no diminution in power, quite the contrary.

But i see no real interrest in preaching to somebody who has already made up his mind. All i can say is, if you have the occasion to try it extensively, you really might change your mind on the subject :)

reply

1 point by nailer 2 days ago | link

Your compare shell apps to cmdlets, which indeed are single function apps (like get-proces aka ps).

reply

2 points by nailer 2 days ago | link

ps myprocess | kill

Notice the lack of reg exs - no grep or cut. Its also far shorter than the equivalent python session. You'd know that if you spent about 10 seconds on wikipedia, but im happy to reproduce. There are object pipeline shells on unix but many of the projects are dead.

reply

5 points by carbon8 3 days ago | link

Since you are comparing it to PHP and Ruby, it appears that your comment refers to their use in web development. I can't say much about the broader use of the languages, but here is some perspective regarding the web development side.

A little over a year ago I compared the jobs available for PHP, Django and Rails (http://news.ycombinator.com/item?id=805931). I did the same again 3 months ago (http://news.ycombinator.com/item?id=1459119). A quick glance now shows the same trend and ratios (eg, simply hired has 20,125 PHP jobs, a 25% increase in 3 months; 5,334 Rails jobs, a 39% increase in 3 months; and 1,153 Django jobs, a 25% increase in 3 months).

TL;DR: PHP, Django and Rails jobs are all on the rise, there are vastly more PHP jobs than either Rails or Django jobs and there are many more Rails jobs than Django jobs, and this applies to startups, too.

reply

2 points by barnaby 2 days ago | link

Wait, that makes no sense. Why compare a language like PHP with a framework like Rails or Django. Shouldn't you compare CakePHP, Symfony, or Zend, instead of PHP? Or compare PHP against Python and Ruby?

reply

2 points by carbon8 2 days ago | link

Python is used extensively outside of web development, PHP is not. Django is far more prevalant than other Python web frameworks, eg, Django 1168 vs Pylons 143 on SimplyHired.

Also, if you follow my links you'll see that the subjects of the comparison originally came from a poll.

reply

2 points by stevenwei 2 days ago | link

Practical considerations I would assume: Django dominates the large majority of Python jobs, while Rails dominates the large majority of Ruby jobs out there. PHP has a much more divided split.

reply

3 points by fauigerzigerk 2 days ago | link

Django does not dominate Python jobs at all. Just look at this:

Python 19,381 jobs http://www.indeed.com/jobs?q=python&l=

Django 1,057 jobs http://www.indeed.com/jobs?q=Django&l=

Django doesn't even dominate Python web related jobs if you accept "Python JavaScript" as a proxy for Python web related jobs: http://www.indeed.com/jobs?q=Python+Javascript&l= gives you 4,671 jobs. Granted for many of them Python is not the main skill asked for.

Python is used by sysadmins and by scientists and even in financial services combined with C++. The combination of Python and C++ is requested 7,165 times. Compare that with "PHP C++" 3,051, "Ruby C++" 2,277, "Java C++" 25,675 and "C# C++" 13,045.

So Python has become a language that is very broadly used in all kinds of development jobs.

reply

3 points by carbon8 2 days ago | link

Django does not dominate Python jobs at all.

We are discussing web development jobs in this particular thread.

Django doesn't even dominate Python web related jobs

Yes, it does. SimplyHired: Django 1168, Pylons 143, TurboGears 18, Zope 96, web.py 5.

"Python JavaScript"...Granted for many of them Python is not the main skill asked for

Exactly the problem with that approach. It's relatively common to list a bunch of languages including Javascript, Ruby and Python in desired experience for any non-MS web development job, but pretty uncommon to list specific frameworks unless that's what the job is for.

reply

1 point by fauigerzigerk 2 days ago | link

That Django dominates among Python web frameworks is undisputed. But you can't just count all Python web dev jobs towards Django even though it isn't mentioned in most of the adverts. Many employers might not care about the framework or leave that to the developer they hire.

reply

5 points by staunch 3 days ago | link

                                  /-> Ruby on Rails
    C++ -> Java -> Perl -> PHP -> 
                                  \--> Python

reply

6 points by julian37 2 days ago | link

What is this diagram supposed to mean? Apparently it's not "X evolved from Y" as, say, Perl is not derived from Java. It also can't be "X was popular (for web applications) after Y" as surely Perl was more popular prior to Java and C++ was never really popular in this area (and continues to be popular in others). "X is superior to Y" would be comparing apples to oranges. What am I missing?

reply

2 points by po 2 days ago | link

I think he's trying to show the progression of the popular consensus of "the new web framework". Either that or he's showing what he thinks is the average developer's progression through frameworks.

My alternate one is showing what I think is the popular consensus of which framework to use. It branches out at the end because we don't have consensus yet.

reply

3 points by julian37 2 days ago | link

Yours is more like it, but I think there's little point in including C++ in the lot. It hasn't ever really been used for web application development, at least not nearly to the same extent as the other languages in the original diagram.

By the time the Internet took off in the early 90s, Perl was already around and much more popular for this purpose.

If you're going for rather exotic languages (in the context of web application development) I think it would make more sense to include Common Lisp.

reply

1 point by AndyKelley 2 days ago | link

Apparently okcupid is coded in C++, and they're proud of that fact. It blows my mind.

reply

1 point by buro9 2 days ago | link

My guess is that he was trying for the programmers hierarchy in ASCII: http://i.imgur.com/G7WyP.gif

reply

2 points by po 2 days ago | link

    C++ --> Java --> Java
                 \--> Ruby on Rails
                  \--> Python/Django,etc…
                   \--> Javascript/Node.js/Sammy, etc…
                    \--> Scala/Lift                     
    PHP ----------------> (still going…)
    Perl -----> (???)

reply

11 points by SwellJoe 2 days ago | link

This is kind of nonsensical.

Ruby and PHP are direct descendants of Perl (which is still going). Ruby merged Perl with Smalltalk, roughly, and PHP merged Perl with a box of hammers (nevermind that not all problems involve nails), while removing a number of "hard" features in Perl, like first-class functions and closures.

Python is not on the C++/Java timeline, either, coming from ABC and others.

JavaScript is a descendant of Scheme (with C-like syntax).

Scala/Lift is not popular enough to really deserve mention among the rest of this bunch of languages, all the rest of which have been extraordinarily popular and used by millions of programmers.

reply

1 point by po 2 days ago | link

I explained what I thought the OP was here:

http://news.ycombinator.com/item?id=1749696

I interpreted the OP as trying to portray the progression of the "popular framework." I mean, the original Ask HN question was about what they see a lot of people choosing. I didn't like how this chart was portraying it as Ruby vs. Python.

My point is that it used to be PHP, Perl or Java and I think a lot of Java people have moved into Ruby, Python, Scala, etc... Meanwhile, there are still tons of people using PHP (unlike the OP's portrayal that that has stopped somehow). The question marks is to indicate that I don't know what's happened with Perl. I don't know if people still use it for web programming or not.

I totally get how it could be hard to read. What is interesting is that it got voted up until you called it nonsensical and then it got voted down to 1 again. That means some people got it and agreed and some people didn't (which is totally understandable).

reply

2 points by SwellJoe 2 days ago | link

I think yours confused people because you left out the box of hammers. It's important for clarity.

reply

2 points by scalyweb 2 days ago | link

I read this as the progression of the poster's use of languages and not a table of heritage.

reply

2 points by SwellJoe 2 days ago | link

How does the Perl "???" fit into that theory? Wouldn't the poster know whether he's still using Perl or not?

reply

2 points by bmelton 2 days ago | link

I think he means that he has no idea what former perl users have converted to using.

reply

1 point by draegtun 1 day ago | link

Most of them would have moved onto Perl web frameworks. Rough timeline would be:

    Perl --> cgi
         \--> mod_perl
          \--> Mason
           \--> CGI::Application
            \--> Maypole --> Catalyst
                         \--> Jifty
                          \--> Mojolicious
                           \--> Dancer
                            \--> Squatting
                  \--> Continuity         
                   \--> PSGI / Plack [works with all the above]

reply

1 point by scalyweb 2 days ago | link

I've used Perl off and on since 97. If that were similar to him how would you display it in the text chart? And it's not meant to be a snarky reply.

reply

8 points by vaksel 3 days ago | link

I think the main reason is because Google uses Python, so many of the top programmers learn it.

reply

12 points by beambot 2 days ago | link

Personally, I attribute its use (at least in science / engineering) to the numpy, scipy, matplotlib combo. It makes prototyping fast, flexible, and rivals (surpasses IMO) Matlab.

reply

6 points by daniel02216 2 days ago | link

Anything is better than Matlab.

reply

12 points by hugh3 2 days ago | link

Spoken like someone who hasn't written nearly enough Fortran.

reply

4 points by trustfundbaby 2 days ago | link

.. or COBOL

reply

1 point by sunqiang 2 days ago | link

and IPython, it's a import part of NumPy/SciPy/MatplotLib family, offers a great many convenience features, such as tab-completion of python functions and a good help system. not to mention the new ZeroMQ messaging design(http://ipython.scipy.org/doc/nightly/html/development/messag...).

reply

2 points by alextingle 2 days ago | link

I disagree. I use Python because when I was forced reluctantly to use it, I found that I already knew it! I was simply amazed how far I could get by simply guessing the syntax.

"import flight" indeed.

That was all long before Google started to aggressively adopt it.

reply

2 points by chc 2 days ago | link

This is the real reason AFAICT. Anybody who tries to pin it on Python's obvious superiority to Ruby is just not paying attention. They're not the same, but not so different that one has a clear advantage over another in most people's minds.

reply

1 point by swolchok 2 days ago | link

Speaking as a Python person who recently had to dig through a Ruby project, I can see why people like Ruby and RoR (lack of explicit return statements make your code look functional, lack of parens makes your code look minimal, it's nice to have "unless"), but it is not for me.

(I will not go into Ruby's disadvantages nor direct language comparison because I don't want this thread to devolve into a language flamewar.)

reply

4 points by chc 2 days ago | link

Oh, absolutely. I'm much the same, only leaning toward Ruby's side. What I mean is that the differences are very much matters of taste — they both have warts, but neither so glaring that it makes the language obviously worse. To an impartial observer (i.e. sonebody who is looking from outside and hasn't "bought into" either language or its philosophy), they look very similar, because they are.

reply

8 points by enko 2 days ago | link

I think that "bad technology" can kill a startup, but slightly different variations of good technology don't have much effect. Choose what you know/like best. And Ruby and Python are both in this latter category.

I think it's just that Ruby enjoyed a brief surge of hype which pushed it to the forefront of the startup founders' mind; this has now ebbed a bit and Python use rises up to its natural level.

I wonder if Ruby will come back a bit, though. There hasn't been much hype, but in the last few months the Ruby community has really gone for broke, with rails 3, ruby 1.9.2, rvm reaching maturity and bundler to handle dependencies. Things are changing so fast I think the magnitude of the changes haven't sunk in for most people but it's a whole new environment and really impressive IMO.

reply

2 points by FlemishBeeCycle 2 days ago | link

As a person who uses Ruby as their primary language, I regularly take a look at Python, hoping that something really draws me in - but nothing ever does. Not because I have an issue with Python, but rather because it's just too similar to Ruby (or Ruby too similar to Python, take your pick). I feel that my time would be better spent learning a language that will expand my mind more.

reply

1 point by stesch 2 days ago | link

I used Ruby and switched to Python. Most of the answers to my questions got answered with links to Python solutions and code.

At some time I decided to give it a try and wasn't disappointed.

reply

2 points by FlemishBeeCycle 2 days ago | link

Any comments on the experience? Anything you like more/less in Python/Ruby?

reply

6 points by nivertech 2 days ago | link

4 reasons, why Python more popular than Ruby:

1. Google App Engine

2. Good webdev ecosystem (Django,etc.)

3. Science/Engineering and Machine Learning libraries - replacement to Matlab

4. Good support for system scripting

reply

1 point by gjm11 2 days ago | link

It seems immensely unlikely that Python is more popular than Ruby because it has a good web development ecosystem, given that the one thing everyone knows about Ruby is that it has a good web development ecosystem.

(Note that this applies even if, contrary to conventional wisdom, Rails is really no good at all; and even if Django is spectacularly good. As long as "everyone knows" that Rails is a superb web development framework, Python is not going to be more popular than Ruby for having a good web development framework. For the avoidance of doubt, I have no particular view on the merits of RoR and Django; I haven't used either.)

reply

1 point by FooBarWidget 2 days ago | link

Ruby has good support for system scripting as well. Heck, it has great support for system scripting; I've switch from shell scripting to Ruby and never looked back since. String manipulation and piping are extremely easy to do in Ruby, in my opinion more so than in Python because of e.g. language support for regular expressions. Python requires regexps to be constructed from strings, unfortunately.

Rake is exactly like Make, except better. It retains Make's simplicity while providing all of Make's power in a turing-complete language that allows me to do whatever I want.

reply

13 points by Kilimanjaro 2 days ago | link

I started using Python because of Google AppEngine.

reply

2 points by waleedka 2 days ago | link

Same here. I learned Python out of curiosity, but started using it for real work only after the Google App Engine launched. I hear similar anecdotes from others as well.

reply

2 points by rtra 2 days ago | link

Yeah. I wish heroku offered more than 5MB on its' freebie plan.

reply

1 point by znt 2 days ago | link

Same here, but then I learned that there're projects focused on running Ruby on AppEngine.

http://code.google.com/p/appengine-jruby/wiki/GettingStarted

reply

1 point by Tichy 2 days ago | link

What's the status, though? Last time I looked (several months ago), sloooow startup time was a real problem for that approach.

reply

11 points by wahnfrieden 3 days ago | link

A large part of it is that Django is maturing and gaining traction as a great alternative to frameworks like Rails. Many of the complaints of Rails, such as extensive magic and monkeypatching, are less of a problem with Django, so to many it's a fresh breath of air.

reply

4 points by aberkowitz 2 days ago | link

There is something about Python that everybody likes, whether it's the syntax, functional programming features, NumPy or one of the other numerous libraries. This quiet support allows Python to remain potent while fads die down.

reply

1 point by AndyKelley 2 days ago | link

Or the readability.

reply

7 points by SriniK 2 days ago | link

Pesonally, I like Python because it is simple, oo, lot simpler to debug and goes well with javascript/json(utf-8 by default).

I am big fan of Tornado - tornadoweb.org

Almost free hosting by google appengine is not bad either!

reply

2 points by inovica 2 days ago | link

I think what you must be referring to is the adoption of Python for web-based startups. Python has always been popular in certain industries/niches.

From our perspective we use what we feel is best and we use more than one language on some of our projects. For example, we have a LOAD of legacy code in PHP and we use it still quite extensively for some of our sites. We use Python on some of the same sites for parsing and anything requiring heavy lifting.

Ultimately - use what you feel is best for the job at hand

reply

3 points by atomical 3 days ago | link

Could this be seen as a correction in the market? Is the market reacting to technologies (i.e. Django and ROR) that are speeding up development times as well as improving productivity?

reply

0 points by trustfundbaby 2 days ago | link

I'd like to think this was the case, but I think they're just going with the hot new thing.

If Python on Skates took off tomorrow, every startup would start using it ...

reply

1 point by ideamonk 2 days ago | link

Many reasons from my PoV.

Recently, I could kick off writing Cocoa apps in PyObjC with very little bit of learning to do. Within a day I feel confident on how to build my app.

I know a few profs who find it easy to train their students in Python and get them productive within a week. Even if its an electronics course. http://pykata.appspot.com/statements/

Besides prototyping/experimenting in Python is much easier. It was zillions of options for whatever you wish to do - webapps, scientific computing, visualization, network apps, interfacing hardware, and what not.

reply

3 points by clyfe 2 days ago | link

http://github.com/languages

reply

2 points by scalyweb 2 days ago | link

Thanks for the link and for those that aren't aware Github was written in ROR. No idea if it is still based on ROR. The Rails repository moved to Github when Github launched.

http://weblog.rubyonrails.org/2008/4/11/rails-premieres-on-g....

I'm sure Bitbucket would probably show a slightly different breakdown of language use by it's customers. Anyone have links for that?

reply

1 point by simonw 2 days ago | link

GitHub is still Rails for the frontend, but they have a fascinating combination of bits and pieces of Ruby, Erlang, Node.js and even some Python running the backend.

reply

1 point by draegtun 1 day ago | link

And also C, Bourne Shell & Perl because git depends on them.

reply

1 point by ashleyw 2 days ago | link

Definitely. GitHub is the de-facto home for rubyists, so it's no surprise to me that it's the most popular language there.

reply

1 point by sunqiang 2 days ago | link

http://stackoverflow.com/questions/tagged/python http://stackoverflow.com/questions/tagged/ruby

look at the "question tagged" and "Related Tags". maybe ruby is still focus "too much" on rails, on the other side, python has better overall ecosystem.

reply

1 point by letflow 2 days ago | link

The available jobs data suggests that Ruby is growing faster (note that the absolute numbers are still in favor of python)

http://www.indeed.com/jobtrends?q=python,ruby,java&l=...

reply

1 point by aaronblohowiak 2 days ago | link

Also, Python's lead is getting larger over time: http://www.indeed.com/jobtrends?q=python,ruby&l=

reply

1 point by jpspeno 2 days ago | link

It's the whitespace. It makes the code more beautiful, and that does matter.

reply




Lists | RSS | Search | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Analytics by Mixpanel