inclusive-lower-bound, exclusive-upper-bound (was Re: Range Operation pre-PEP)

Andrew Maizels andrew at one.net.au
Thu May 17 06:11:42 EDT 2001


greg jorgensen wrote:

> Since you're designing your own language I'm going to get a little
> pedantic on you.

Well, hey, this is Usenet.  Pedant away!

[snip points correcting my off-hand dismissal of C's array handling] 

> That's an understatement. The installed base of working C code is vast,
> and C is among a handful of languages still in use thirty years after it
> was first implemented. As for fun, well, that's a matter of taste. I like
> C, and I like Python. They are complementary tools, both well-designed and
> expressive.

What's C done for us?

OK, apart from Unix, Windows, Python, Perl, Photoshop, Acid, Progress,
Oracle... ...MacOS X, Netscape, Apache and Sendmail, what's C done for
us?

The right tool for the right task.
 
> Another common misstatement about C that you repeated is "C is too
> low-level." Considering that C has been ported to practically every
> computer architecture ever devised, I think the language is a bit higher
> level than it gets credit for. Sure, C's data types map directly to
> "natural" structures on the host platform, but why is that a bad thing? In
> fact for the kinds of programming C is best for, that kind of closeness to
> the underlying architecture is what you want.

I didn't mean to say that C was "too low level".  It's a pretty
meaningless statement anyway.  I'm writing the runtime engine for Pixy
in C.  It's the right language for it.  I could ask for syntactic sugar
more to my liking, but that's a relatively minor issue.  I need the
closeness to the architecture to efficiently control what I'm doing at
the bits-and-bytes level.  The other option is assembly; C gives me more
productivity and I get portable code more-or-less free.

What I meant to say was that writing an operating system kernel in C, or
a run-time engine for a byte-code compiled language, or a high
performance graphics library: these can be fun.  These are good uses for
C.  Writing (say) an Accounts Receivable module, that's not fun, and not
a good use for C.

I still wish that C's strings were length-counted rather than null
delimited, though.

What I really want is a very high level language supporting
multi-paradigm programming with a clean but familiar syntax (curly
brackets and semi-colons need not apply), a full set of data structures,
a built-in object-relational database and a vast standard library, and
an open source implementation of that language with a fast,
highly-optimising native-code compiler supporting every hardware
platform and operating system available now or in living memory.

And for dessert I'd like a cross platform GUI that supports consistent
look-and-feel across platforms and native look-and-feel *at the same
time*.

And a yacht.  I've always wanted a yacht.

Andrew.
-- 
There's only one game in town.
You can't win.
You can't break even.
You can't quit the game.          -- The four laws of thermodynamics.



More information about the Python-list mailing list