On Thu, Feb 28, 2013 at 4:57 PM, alex23 <wuwe...@gmail.com> wrote: > My biggest regret re Python is that [Ranting Rick] found it more > appealing than Ruby and we got saddled with [him] instead.
Having used Ruby a little this past couple of weeks (trying to install a Rails application), I fully understand Rick's preference for Python; it just proves that he wants to use a language that's actually ready to use. In discussion with my brother about the problems I'd been having with Ruby, he summed up the status in one pithy phrase: Critical lack of polish. Setting up Ruby + Rails + Spree + all the other gems that those three require, instead of being a fairly simple half-hour job, took me over a day. The main issue is that Ruby functions like a niche language, but is trying to be mainstream. Installing a gem requires that code be compiled, and sometimes that code doesn't compile and I need to fetch some development libraries. That's something I'm quite capable of, as a Linux-based developer, but it's not a job for a systems administrator. How are Ruby-based sites supposed to be deployed? Additionally, there are a number of critical-yet-minor problems. The standard way to invoke Rails is 'rails server' which invokes WEBrick on port 3000. You can change that port, but to use one <=1024, you have to be root... and there's no way to have it drop privileges afterwards. So a Ruby on Rails system, accessible on port 80, will have to run everything as root. No thanks. Alternatively, you can set up firewall rules to redirect port 80 to port 3000... or have an Apache load-balancing proxy... or, my personal favorite, set up an SSH tunnel to localhost. All this because there's no standard way to drop privileges after binding (nor a standard way to accept a socket passed from another process, and listen on that - which is possible with Ruby, just not conventional). So, yeah. We're stuck with Rick because we have the better language+library. ChrisA -- http://mail.python.org/mailman/listinfo/python-list