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