[python-advocacy] Python vs Ruby on Apple site

Ronald Oussoren ronaldoussoren at mac.com
Thu Nov 29 08:18:44 CET 2007


On 29 Nov, 2007, at 4:20, Bjørn Stabell wrote:

> On Nov 28, 2007, at 14:25, Ronald Oussoren wrote:
>>> I've also cc'd Ronald Oussoren, who is probably the best bridge  
>>> between the Python community and Apple (being the person who did  
>>> all the work:-), and I'd also like to know whether he sees any  
>>> bias here,
>>
>> I don't see any bias there, the article seems carefully balanced.
>>
>> BTW. the best way to get more documentation is writing it. That's  
>> one thing the Ruby folks have gotten right and we haven't: a nice  
>> website with current information.
>
> Lack of documentation used to be Ruby and Rails's biggest weakness.   
> Glad to hear it's changed.

I hadn't noticed this e-mail was to the advocacy list,  I meant to  
write about mac-specific things only. RubyCocoa's documention seems to  
be much nicer than PyObjC's documentation.

>
>
>
> Here are some of the issues I have with the article.  I'm not a  
> language expert, so perhaps someone could correct me on the points  
> I'm wrong.
>
>
> [ What Are Ruby and Python? ]
>> [ ... ]
>>
>> Although their similarities are striking, these scripting languages  
>> do have some differences. While Python code can contain both  
>> objects and built-in types, in Ruby everything is an object. There  
>> are no primitive or built-in types, such as integers. Thus anything  
>> in Ruby code can accept messages.
>>
> I thought the type/class unification in 2.2 did away with the big  
> "built in types" issue?

There are some differences even now, such as being able to modify user  
classes but not built-in types.  The phrasing here is unfortunate and  
not 100% correct, but there still are differences.

>
>
>> And you don’t have to declare variables to be of specific object  
>> types.
>>
> I don't think you have to do this with Python, or any other  
> dynamically types language either?
>
>> To distinguish variables as global, local, instance, and class,  
>> Ruby uses naming conventions.
>>
> (... like Perl, whereas Python has other scoping rules.)

The original statement is 100% correct isn't it? Ruby's naming  
conventions, like those in Perl, are a reason for not using Ruby ;-)
>
>
>> Ruby also has mix-in by modules and blocks, language features  
>> absent in Python.
>>
> ... but alas no mention of the features Python has that are missing  
> from Ruby, e.g., generator expressions.
>
> I guess the biggest difference is in the way Python uses indentation  
> for scoping, whereas Ruby uses begin/end or {}.
>
>
>
> [ The Standard Ruby Package + Standard Python Package ]
>
> The Python packages that are included (except for numpy) are Mac or  
> PyObjC packages.  The Ruby list is more complete with web framework  
> packages and their dependents.  I can understand this is a marketing  
> issue (it's nice to bundle Rails and all) but it just makes Python  
> look like it can't be used for web development.  I guess it could be  
> good to mention Zope, Plone, TurboGears/Pylons, and Django as  
> alternatives.

My guess is that this is due to customer demand. That is, more  
developers/customers have asked for Ruby on Rails than one of the  
Python web frameworks. The rapid development of multiple Python web  
frameworks also doesn't help here (remember that Apple picks a release  
and then basicly sticks with it for the entire lifetime of a major  
release).

>
>
> NumPy's description might be better updated to "scientific  
> computing: N-dimensional arrays, linear algebra, Fourier transforms,  
> integration with Fortran" or just "scientific computing libraries".   
> Just saying  "Array processing for numbers, strings, records, and  
> objects" doesn't do it justice.
>
>
>
> [ RubyOSA vs py-appscript ]
>
> I'm sure it's true that RubyOSA is more complete than py-appscript,  
> and this kind-of shines through with a more colorful language and  
> additional examples missing from py-appscript.  At least, perhaps  
> the py-appscript section could get an example too, similar to the  
> "elegant" RubyOSA one :)

"Has" (the developer of py-appscript doesn't agree with you  
assumption. py-appscript is more mature and works better than RubyOSA.  
He's even developing a ruby version of appscript because he thinks  
RubyOSA sucks :-)

BTW. A major reason why I don't think there is a major Ruby bias  
within Apple is that both Python and Ruby are used by Apple in  
shipping products (for example, Ruby is used in the Podcast creating  
client in Leopard, Python in the calendar server).  The Ruby folks are  
better at PR though, but I IMHO that is true in the wider world as well.

Ronald


Ronald

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2224 bytes
Desc: not available
Url : http://mail.python.org/pipermail/advocacy/attachments/20071129/2a9c0183/attachment.bin 


More information about the Advocacy mailing list