[Baypiggies] Frequently Argued Objections

Andrew Toulouse baypiggies at atoulou.se
Sun Jun 22 19:54:39 CEST 2008

No true Scotsman. Even circuit diagrams aren't completely explicit, since
they can be fabricated in any number of arrangements that affect signal
integrity. That's not the point. I like 'explicit is good' because I
absolutely *hate* it when hand-waving magic happens that is either not
extremely well-documented or extremely well-understood.

I've always hated when languages force me to use an implicit 'self' or
'this' because if I don't immediately realize I'm looking at a class method
as opposed to a function I need to reread the whole function with the right
scope in my head. In my opinion, Python doesn't exist directly to express
complexity concisely, but rather to express complexity *clearly*. I don't
think there's any universal purpose to high-level languages, either, beyond
some vague common theme of abstracting out details for either conciseness or
clarity or what have you.


P.S. sorry for those of you who are getting my emails twice; i keep on
forgetting to change which email I send this from.

On Sun, Jun 22, 2008 at 10:25 AM, Warren Stringer <warren at muse.com> wrote:

> [[[snip]]]

> *Is* there a reason to NOT use self? If not, then self is redundant. If the
> reason to use self is to bypass name resolution order, then I would suggest
> making the less common case explicit and the more common one implicit.
> Since we're taIking about Objections, I find the statement "explicit is
> good", without a justification, to be Objectionable.  The only truly
> explicit computer language is a circuit diagram. Even assembly language is
> implicit; anything with op codes is a transformation of an explicit routing
> of electrical charges to an implicit pattern that acts on an operand. Higher
> level languages build upon lower level ones by transforming explicit
> combinations into an implicit pattern.
> IMO, languages evolve by compressing complexity. Just as Morse Code
> compressed symbols tapped by hand over a wire, where the most common symbol
> "E" required a single tap. Python reduces complexity by removing the
> redundancy created by the often unnecessary enforcement of policy with typed
> variables and by removing the redundancy of using begin/end symbols (for the
> compiler) along with whitespace (for the human coders), when simply using
> whitespace would suffice.  As a result, Python is a more concise by making
> coding policy implicit. However, Python is less concise when it enforces a
> policy about making name resolution order explicit. From a statistical
> viewpoint, this is akin to a Morse Code that assigning a single tap, not to
> the letter 'E', where it belongs, but to the letter 'Z'.
> While some people may see "self" as an issue of faith, others see it as a
> statistical anomaly (in an otherwise compact language).
> Cheers,
> \~/
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> http://mail.python.org/mailman/listinfo/baypiggies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20080622/5a245f83/attachment.htm>

More information about the Baypiggies mailing list