Prothon gets Major Facelift in Vers 0.1.0 [Prothon]

Ville Vainio ville at spammers.com
Mon May 24 11:54:45 EDT 2004


>>>>> "Ryan" == Ryan Paul <segphault at sbcglobal.net> writes:

    Ryan> check out ruby. It is very similar to python, but one of the
    Ryan> many benefits it has over python, is ability to distinguish
    Ryan> 'real' private, public, and protected
    Ryan> variables/methods. Ruby does not allow multiple inheritance,
    Ryan> and

Python has private methods too:

class C:
  def stuff(self):
    _privatestuff(self,2)
    print "val is",self.val

def _privatestuff(self, arg):
  self.val = arg

Though I would expect the people that read/use my code to understand
that if I prepended a _ on attribute name, they would have the brain
to not use it as a part of the "official" API. If they absolutely need
to use something private (it happens - world has seen several badly
designed APIs), they can. At least they don't need to resort to
various horrible hacks to do it.

I tend to think that emphasizing private/protected access restrictions
is an artifact of not understanding modern programming realities and
dynamics properly. School teaches access labels as an essential
feature of OO (encapsulation), and it takes some real world experience
implementing something of lasting value *fast* to unlearn it.

    Ryan> it supports a very powerful mixin system- it's OO mechanisms
    Ryan> and syntax generally seem better than pythons.

Not to mention that it's much closer to Smalltalk. And it's much
better than Perl too. Python OO is a hack! It's an add-on, not
built-in like in Ruby!

etc, ad infinitum.

Inter-newsgroup advocacy efforts are rather pointless and mostly serve
to create yet more flamewars. Ruby and Python are within the same 10%
productivity-wise (which one is winning depends on the programmer),
but Python is massively more mature and popular (e.g. going to be
shipping with Nokia S60 smartphones RSN hopefully [1]). You do the
math.

[1] http://www.guardian.co.uk/online/story/0,3605,1182803,00.html

    Ryan> I dont understand why everybody seems to want a machinecode
    Ryan> compiler. It wont make a high-level, dynamically typed
    Ryan> language run any faster.

It could make the language run much faster.

-- 
Ville Vainio   http://tinyurl.com/2prnb



More information about the Python-list mailing list