New to Python - Compiled Language?
relee_s at hotmail.com
Wed Nov 5 00:58:08 CET 2003
--- In python-list at yahoogroups.com, "Francis Avila"
<francisgavila at y...> wrote:
> "Relee Squirrel" <relee_s at h...> wrote in message
> news:mailman.410.1067915526.702.python-list at p...
> > Please reply both here and directly to my email address
> > relee_s at h...
> > I just found out about Python today and it sounds very
> > but I'm having trouble finding solid information about my main
> > question. Is Python a compiled language, or merely a sequence of
> > commands fed into a seperate program?
> I'm not sure how this distinction names corelatives, or even why
> Python is a bytecode compiled language (as opposed to machine-code
> but see Psycho http://psyco.sourceforge.net/introduction.html (et
> which compile Python to native machine code like a JIT compiler).
> Python is also an interpreted language. It interprets the
> is, presumably, your "sequence of commands fed into a seperate
> Python is also interactive:
> Read:eval:print :: code:bytecode:interpreting bytecode.
> > Is Python a language which can be compiled into an executable
> Um, what do you mean by "executable"? You can execute Python code,
> given a Python interpreter. Python will simply compile it before
> the generated bytecode (compilation is transparent and fast enough
> ignore it, for all practical purposes). You can also only give
> bytecode, and it'll use that (these are *.pyc files).
> Or, you can use Psycho. (I think there's something out there that
> Python to C code, too?)
> Or, you can bind up the Python code with a Python interpreter,
> or workalikes.
> Or, you can write C that uses the CPython libraries, but doesn't
> Python interpreter. It's arguable whether this is still Python,
> But what computer language is there that doesn't produce--at least
> theoretically--an executable program?
> I simply don't understand your categories. Python is a real-life
> computer programming language. You write code, give it to the
> (whatever you want to call it), and it makes the computer do
> any language.
> Python isn't a "scripting" language any more than lisp is. It's
not a very
> good shell-script replacement (see perl for that); it's a general-
> language. Does "scripting" mean "does not compile to machine
> maybe it means "no pointers"? "Scripting" names a problem domain,
> language species (except insofar as that problem domain is a given
> language's strength. Even then, Python isn't a scripting language!)
> I think you're probably going about this the wrong way. Pythonistas
> generally extend Python with C(++) for one of two reasons:
> 1) Because native Python simply isn't fast enough (rare)
> 2) To wrap libraries that aren't in Python (very common, so common
> there is boilerplate code in the distribution to speed you along.)
> Otherwise, they program everything in Python! So when I read this:
> > the tools and utilities referred to existing in Python
> > would increase the development time of my projects.
> I think, "Well, just using Python would increase it even *more*!"
> Then I read this:
> > However, what I'm
> > creating are programs, not just scripts.
> I think, "What the?! Only C++ programs are 'real' programs?!"
> Look, I know you said you just heard about Python, so I'm being far
> than I should be. I'm sorry. I can't say anything specific
> weren't very specific about how you think Python can serve your
> may be entirely off base. However, there are only three ways *I*
> of as to how Python could possibly help you:
> 1) Prototype your code in Python, then write it in C++.
> 2) Embed Python into an existing C++ application, as a "scripting
> for that application.
> 3) Just write the whole darned thing in Python!
> Try this: download Python, follow the included Python tutorial, and
> some small non-trivial application that duplicates part of the
> of something you already have some C++ code doing in the
> for which you want to use Python's "tools and utilities". I
> that even if you code in a very un-Pythonic fashion, the Python
code will be
> simpler, shorter, clearer, more robust and powerful, have fewer
> more fun to write, and 9 times out of 10, fast *enough*. Repeat
this a few
> times, and you'll probably want to stop using C++ altogether.
> But that's just me. Explore the www.python.org site a bit more, and
> find many faqs, commercial success stories, tutorials, HOWTOs,
> Python-related sites, the entire documentation for present, past,
> language and library versions, tutorials, Package Index, etc, etc,
> can learn more.
> Francis Avila
More information about the Python-list