johnpote at blueyonder.co.uk
Sat Mar 18 02:23:09 CET 2006
If I get time I'll expand my thoughts and experiences but for now,
Don't know what Ruby on Rails is but it's catchy and current high volume of
interest makes me think - I should look into it. Django, skip reading this
thread before and I had not even picked up it was a Python product (still
don't know what it is too little time to look!)
Python seems to concentrate on language development rather than environment
development. Programmer productivity depends much more on the associated
environment - docs, code editor, libraries, wysiwyg GUI designer - than the
language. So far my experience is that the further away from the core
language the worst things get. My principle moan about the standard library
is lack of formal stating of ALL exceptions that can be thrown by a module.
Sometimes the detail is burried in the general text about the module which
makes it difficult to eye ball quickly. httplib does not mention any of the
socket module exceptions that can be thrown. This makes it difficult to
write stable bullet proof code.
Finding myself slowed down too much by hand coding tkinter (and modifying it
weeks later) I've switched to wxPython and Glade. Certainly better but
wxPython docs are not ideal. (only reason for switching is lack of wysiwyg
GUI designer for it)
I get a myApp.pyw working on one machine. Copy to another and maybe forget
something (usually updating my own python library so a header import fails)
and what happens? nothing if tkinter has not yet fired up the gui. and even
if it has and there's an uncaught exception the app just closes. Any error
message and traceback are dumped because there's no dos box.
On the positive side Twisted (I have the docs and book) looks exactly what I
need in all respects.
I think the language has already made Python, the rest is down to its
Best wishes to everyone,
"Douglas Alan" <nessus at mit.edu> wrote in message
news:m2wtesen95.fsf at lexx.mit.edu...
> Andrew Gwozdziewycz <apgwoz at gmail.com> writes:
>> Douglas Alan wrote:
>>> Ruby didn't start catching on until Ruby on Rails came out. If
>>> Python has a naming problem, it's with the name of Django, rather
>>> than Python. Firstly, Django doesn't have "Python" in the name, so
>>> it doesn't popularize the language behind it, even should Django
>>> become very popular. Secondly, Django just doesn't have the ring
>>> of "Ruby on Rails".
>> I'll admit "Ruby on Rails" is a clever name. The fact that you
>> mention it "didn't catch on" is only partially true.
> I'm sorry if I wasn't clear. By "didn't catch on", I only meant that
> it had little mainstream success. At least in the US. I'm certainly
> aware that it has had a significant community of devotees for some
> time now.
>> Rails did however jump start it's new career as the definitive
>> web2.0 language, but who cares? Not me!
> Well, I'm not sure that the threat to Python is being fully
> appreciated here. I have friends who are fully convinced that Python
> is doomed because Ruby has all the buzz now. I think that their
> predictions of doom and gloom for Python are overstated. For one
> thing, I point out to them that Rails is what really has all the buzz,
> not Ruby per se. But such subtle distinctions seem to often get lost
> in the type of buzz that causes technologies to succeed or fail. This
> is an example of how names are indeed very important.
> There *is* a serious worry here. For instance, look how PHP
> completely decimated Perl in its biggest market niche at the time (CGI
> programming) in just a couple of years. PHP couldn't use that
> advantage to threaten the more general scripting niches, but unlike
> PHP, Ruby might certainly be able to leverage that advantage, as it is
> also a perfectly good general-purpose programming language. Ruby's
> domain is not limited to just server-side web scripting.
> For those who don't believe that Ruby on Rails does have an incredible
> amount of buzz going for it right now, I do have a number of personal
> data points that seem to indicate that it is indeed undergoing
> exponential growth at the moment: (1) I'm sitting in on a class at MIT
> on developing web applications. For their projects and assignments,
> the students are allowed to chose whatever programming languages,
> databases (as long as they are ACID-compliant), and development
> environments that they prefer. From what I can tell, more than half
> of the class is using Ruby on Rails. One group is using C# and .NET.
> Another is using JSP. No one is using PHP. No one is using Django.
> One group was doing straight Python CGI, but I think they switched to
> Rails. (2) I've started to see advertisements for web hosting
> services where the ads say, "PHP! MySQL! Rails!". (3) I have
> friends who work in companies that are big Python shops, but they seem
> to be moving to Rails for web development.
>> Hell I like django quite a bit, but anyone writing something for
>> django knows it's written in python.
> Yes, and for Rails, everyone who has never even seen a single line of
> Ruby code knows that it is Ruby-based. The same cannot be said for
>> If some non-programmer decided to create a new web app, and his
>> friend said, 'I hear django is quick and oh, it use's this really
>> cool easy to learn language python,' What's the difference?
> There's a huge difference. Ruby on Rails gives Ruby great brand
> recognition, while Django does nothing at all for Python's brand
> recognition. Just pay attention to TV commercials: a large fraction
> of them have nothing to say whatsoever about the merits of their
> product -- the ads just want to get the brand name into your head.
> For better or worse, this is how human psychology works.
> In any case, it's almost certainly too late for Django to achieve the
> kind of popularity that Rails is achieving; if you Google
> "web-development rails", you get 3 million hits, while if you Google
> "web-development django", you get 82,000 hits. So, unfortunately, how
> to best use Django to help popularize Python is almost certainly moot
> at this point.
More information about the Python-list